This lesson is being piloted (Beta version)

CMS DAS Luminosity Short Exercise

Introduction

Overview

Teaching: 30 min
Exercises: 10 min
Questions
  • What is luminosity?

  • What is the difference between instantaneous and integrated luminosity?

  • Why is knowing the luminosity important?

  • How is luminosity measured?

Objectives
  • Know what luminosity is and why it is important

  • Know how luminosity is measured

References

You can find several papers with much more technical detail and several articles with additional (less formal) information in the References.

Instantanous Luminosity

In the context of the LHC, instantaneous luminosity, \(\mathcal{L}_{inst}\), corresponds to the number of “interactions” produced when “bunches” of protons are crossed. Roughly speaking, it corresponds to the “real-time rate of interactions/events/collisions”. During Run 2 of the LHC, groups of ~100 billion protons were crossed as often as 40 million times per second yielding an overall average of 34 interactions per crossing within the CMS detector.

Interactions per crossing (pileup) for 2015-2018

More precisely, instantaneous luminosity quantifies the ability of particle accelerator to produce a certain number of interactions. It represents a proportionality factor between rate of interactions \(\left( \frac{dN}{dt} \right)\) and the cross-section (\(\sigma\)):

[\frac{d\mathrm{N}}{dt} = \mathcal{L}_{inst} \cdot \sigma]

Thus, instantaneous luminosity is usually expressed in the cgs units of \(\mathrm{cm^{-2} s^{-1}}\). Units of “barns” are also used frequently, where \(1 \mathrm{b} = \mathrm{10^{-24} cm^{2}}\), thanks to two Purdue University physicists working on the Manhattan Project in 1942. As an example, let’s very approximately calculate the total Higgs Boson production rate at CMS:

1.1 Total Higgs boson production rate at CMS

  • During May 2018, the LHC routinely delivered instantanous luminosities of \(\approx 2 \times 10^{34} \mathrm{cm^{-2} s^{-1}}\) \(\left( 0.02 \mathrm{pb^{-1} s^{-1}} \right)\) at CMS
  • The total production cross section of Standard Model Higgs boson at \(\sqrt{s} = 13 \mathrm{TeV}\) can be slightly underestimated as \(\approx 50 \mathrm{pb}\) (see table 11.2 in the 2022 PDG)

What is the rate of Higgs production at CMS? Vote for the corect answer in the short lumi exercise Mattermost channel.

\[\frac{d\mathrm{N_{Higgs}}}{dt} = \mathcal{L}_{inst}^{\mathrm{peak}} \cdot \sigma_{\mathrm{Higgs}}^{\mathrm{total}}\]

Integrated Luminosity

Instantaneous luminosity is aggregated over a certain period of time to obtain integrated luminosity:

[\mathcal{L}{int} = \int \mathcal{L}{inst} dt]

It is commonly used to quantify the “amount of data” delivered by the accelerator or recorded by the experiment. Units of inverse femtobars \(\mathrm{fb^{-1}}\) are frequently used in CMS.

Cumulative delivered and recorded luminosity versus time for 2015-2018 (pp data only)

To illustrate, we can very roughly estimate the total number of Higgs bosons produced during 24 hours at CMS:

1.2 Total Higgs bosons produced at CMS during 24 hours

  • During Nov 2017, CMS recorded \(\approx 600 \mathrm{pb^{-1}}\) during a continuous 24-hour period of stable beams
  • The total production cross section of Standard Model Higgs boson at \(\sqrt{s} = 13 \mathrm{TeV}\) can be slightly underestimated as \(\approx 50 \mathrm{pb}\) (see table 11.2 in the 2022 PDG)

How many Higgs bosons can be produced at CMS during 24 hours? Vote for the corect answer in the short lumi exercise Mattermost channel.

\[\mathrm{N_{Higgs}} = \mathcal{L}_{int}^{\mathrm{24hr}} \cdot \sigma_{\mathrm{Higgs}}^{\mathrm{total}}\]

Importance of Luminosity

Along with the center of mass energy, instantanous luminosity is the most significant performance parameter for any particle accelerator. Real-time monitoring of instantaneous luminosity is critical for the accelerator to carry out beam tuning and collision optimization. It is also essential for the CMS trigger system in order to scale or throttle the data throughput.

Measurement of integrated luminosity is also incredibly crucial since its limited precision represents a contribution to the systematic uncertainty for most physics searches and measurements. The uncertainty in the integrated luminosity is often the dominant systematic uncertainty in EWK cross-section measurements. We can emphasize the impact of the integrated luminosity uncertainty by considering a relatively rare process:

1.3 Total Higgs bosons decaying to muon pairs at CMS during 2018

What is the minimum and maximum expected event yield given the uncertainty in integrated luminosity? Vote for the corect answer in the short lumi exercise Mattermost channel.

\[\mathrm{N}_{H \rightarrow \mu \mu}^{2018} = \left( \mathcal{L}_{int}^{2018} \pm \delta \right) \cdot \sigma_{\mathrm{Higgs}}^{\mathrm{total}} \cdot \mathcal{B}_{H \rightarrow \mu \mu}\]

Luminosity Measurement

CMS has two dedicated systems for measuring luminosity, both located \(z \approx \pm 1.8 \mathrm{m}\) from the interaction point and radius \(\approx 6 \mathrm{cm}\):

Fast Beam Condition Monitor (BCM1F)
C-shaped PCBs arranged into two rings at each side of CMS with double-pad silicon sensors
Real-time histogramming with 6.25 ns per-bin facilitates measurement of machine-induced background

BCM1F C-shape

Pixel Luminosity Telescope (PLT)
16 “telescopes” (8 per side of CMS) with three hybrid silicon pixel sensors per telescope
Fast cluster-counting signal (40 MHz) in addition to full pixel info readout

Pixel Luminosity Telescope

In addition, several sub-detectors are used for luminosity measurement, among them:

PCC (Pixel Cluster Counting)
Counts the mean number of pixel clusters in the most “stable” modules of the silicon pixel detector
Hadronic Forward (HF)
Steel absorber with quartz fibers to detect Cherenkov light histogrammed as function of bunch crossing

Which detector is more photogenic?

This is the most important poll!

https://indico.cern.ch/event/1239959/surveys/4059

Luminosity Calibration

The precise determination of integrated luminosity is particularly challenging at hadron colliders, in part due to the theoretical predictions (e.g. uncertainties in the parton distribution functions and precision of parton-level cross-section calculations) being generally less precise compared to \(e^{+} e^{−}\) colliders. A sub-detector can measure “relative” luminosity on an arbitrary scale based on the reported event rate. The determination of “absolute” luminosity involes re-scaling the measured event rate by a proportionality factor, \(\sigma_{vis}\), derived from the properties of the colliding beams. This scaling factor may be thought of as a way to account for the sub-detector’s particular acceptance and response.

At the LHC, the primary technique to determine the absolute luminosity scale is the van der Meer (vdM) scan method, based on dedicated beam-separation scans. The size and shape of the interaction region is measured by recording the relative interaction rates as a function of the transverse beam separation. After adopting several assumptions (e.g. transverse and longitudinal beam densities are Gaussian, density functions are factorizable into \(x\)- and \(y\)-dependent components, etc.), the visible cross-section can be expressed as

[\sigma_{vis} = \mu_{vis}^{\mathrm{max}} \frac{2 \pi \Sigma_{x} \Sigma_{y}}{n_{1} n_{2}}]

where \(\mu_{vis}^{\mathrm{max}}\) is the peak visible interaction rate, \(n_{1}\) and \(n_{2}\) are the numbers of particles in each of the two bunches, and \(\Sigma_{x}\) and \(\Sigma_{y}\) correspond to the effective beam overlap widths in each scan plane.

Corrections to vdM scan data

Several systematic effects can affect the measurement of \(\sigma_{vis}\). These represent a significant contribution to the final uncertainty in the measurement of integrated luminosity.

Orbit drift corrections
Potential bias from beam positions monitors (DOROS, Arc BPM) at the \(\mu \mathrm{m}\) scale
Beam-beam effects
EM interaction between colliding bunches (deflection & shape)
Length scale calibration
Possible differences in the absolute scale between the nominal beam separation (produced by the steering of the LHC magnets) and the actual separation
Transverse factorizability
Non-factorizability of \(x\) and \(y\) components measured and corrected with the beam-image method
Beam-imaging method: the distributions of reconstructed vertices during beam-imaging scans are used to obtain an image of the transverse bunch profiles integrated over the scanning direction
Other corrections
“Spurious” charges present outside the nominally filled bunches (ghosts👻 in empty bunch slots and out-of-time satellite🛰 charges adjacent to the main bunch)

Dominant uncertainties in the absolute luminosity scale (\(\sigma_{vis}\))

  • beam position monitoring
  • transverse factorizability
  • beam-beam effects

Rate corrections under physics running conditions

Several corrections must be applied to luminometer rates to ensure that the final luminosity values are accurate.

Out-of-time pileup corrections
Most detectors have out-of-time contributions that do not arise from the main colliding bunch (spillover of electronic signals and real additional response from material activation)
Efficiency corrections
Radiation damage can affect the detector response by reducing efficiency, increasing noise, or both
Nonlinear response
Over- or under-counting as a function of instantaneous luminosity
Detector stability and linearity
Determined from comparisons between luminometers

Key Points

  • Luminosity is a measure of how many collisions are delivered to and recorded by the detector.

  • Instantaneous luminosity is usually expressed as the number of collisions per square centimeter per second.

  • Integrated luminosity is the integral of instantaneous luminosity over time and is a measurement of data size. It is usually expressed in units of inverse cross section.

  • Knowing the luminosity is important to determining and measuring accelerator and detector performance and operation. It is also an essential component for measuring cross sections and for setting limits on beyond-SM processes.

  • Measurement of luminosity is done with several systems in the detector.


Using brilcalc

Overview

Teaching: 10 min
Exercises: 20 min
Questions
  • What tools are available to query the delivered and recorded luminosity?

Objectives
  • Learn how to use brilcalc to query luminosity information.

Important

This exercise is meant to be run from lxplus.cern.ch.

Please follow the setup instructions before getting started.

brilcalc

brilcalc is the official tool for querying CMS luminosity information. It currently has three subcommands: lumi, beam, and trg. The official brilcalc documentation can be found here: https://cmslumi.web.cern.ch/.

brilcalc lumi

This lesson will focus on the brilcalc lumi subcommand, which can query the delivered and recorded CMS luminosity. Let’s try a few examples:

Glossary

If you are unfamiliar with “fills”, “runs”, “lumisections”, etc., you can find their definitions in the Glossary

Run brilcalc for fill 6666

brilcalc lumi -f 6666

Output

#Data tag : 19v3 , Norm tag: onlineresult
+-------------+-------------------+------+------+---------------------+---------------------+
| run:fill    | time              | nls  | ncms | delivered(/ub)      | recorded(/ub)       |
+-------------+-------------------+------+------+---------------------+---------------------+
| 316108:6666 | 05/10/18 20:54:10 | 20   | 7    | 405.423497145       | 107.184508306       |
| 316109:6666 | 05/10/18 21:01:36 | 54   | 45   | 10039605.429211318  | 3542879.861587470   |
| 316110:6666 | 05/10/18 21:22:27 | 217  | 210  | 84147739.992830962  | 79017103.630366772  |
| 316111:6666 | 05/10/18 22:46:45 | 59   | 48   | 20773266.833208650  | 14573457.533706700  |
| 316112:6666 | 05/10/18 23:09:31 | 19   | 10   | 6499507.705982770   | 228.928666450       |
| 316113:6666 | 05/10/18 23:16:41 | 68   | 64   | 22720996.040678266  | 19663097.809963763  |
| 316114:6666 | 05/10/18 23:42:59 | 1647 | 1647 | 371661976.624663532 | 362106384.976257861 |
+-------------+-------------------+------+------+---------------------+---------------------+
#Summary:
+-------+------+------+------+---------------------+---------------------+
| nfill | nrun | nls  | ncms | totdelivered(/ub)   | totrecorded(/ub)    |
+-------+------+------+------+---------------------+---------------------+
| 1     | 7    | 2084 | 2031 | 515843498.050072670 | 478903259.925057292 |
+-------+------+------+------+---------------------+---------------------+

Run brilcalc for run 325000

brilcalc lumi -r 325000

Output

#Data tag : 19v3 , Norm tag: onlineresult
+-------------+-------------------+-----+------+---------------------+--------------------+
| run:fill    | time              | nls | ncms | delivered(/ub)      | recorded(/ub)      |
+-------------+-------------------+-----+------+---------------------+--------------------+
| 325000:7324 | 10/21/18 08:03:56 | 376 | 371  | 100027429.112490401 | 95257794.416809484 |
+-------------+-------------------+-----+------+---------------------+--------------------+
#Summary:
+-------+------+-----+------+---------------------+--------------------+
| nfill | nrun | nls | ncms | totdelivered(/ub)   | totrecorded(/ub)   |
+-------+------+-----+------+---------------------+--------------------+
| 1     | 1    | 376 | 371  | 100027429.112490401 | 95257794.416809484 |
+-------+------+-----+------+---------------------+--------------------+

brilcalc options

brilcalc provides a generous number of command line options. You can get a summary by running brilcalc lumi --help. But the official documentation is much more comprehensive.

Example brilcalc common command options

Selections
period to query
  • -f <fill>
  • -r <run>
  • --begin <fill>
  • --begin <run>
  • --begin <MM/DD/YY HH:MM:SS> (UTC)
  • --end <fill>
  • --end <run>
  • --end <MM/DD/YY HH:MM:SS> (UTC)
Filters
conditions to query
  • -b <beam status> [“STABLE BEAMS”, “FLAT TOP”, “ADJUST”, “SQUEEZE”]
  • --amodetag <machine mode> [“PROTPHYS”, “IONPHYS”, “PAPHYS”]
  • --beamenergy <beam energy> (in GeV)
Output/Display
output file, table/csv/html output format, utc/local time, etc.
  • -o <output file> (csv format)
  • --output-style <output format> [“tab”, “csv”, “html”] (ignored if -o is provided)
  • -n <scalefactor> (scale output by 1/scalefactor)
  • --cerntime (display times in CERN local time)
  • --tssec (display times as UNIX timestamps)
Database connection
connect to a database, such as a web cache
  • -c <connection> [“offline”, “online”, “onlinew”, “dev”]

Example brilcalc lumi options

--byls
Show luminosity and average pileup by lumi section
-u <unit>
Show luminosity in the specified unit and scale the output value accordingly
[“/kb”, “/b”, “/mb”, “/ub”, “/nb”, “/pb”, “/fb”, “/ab”]
[“1e21/cm2”, “1e24/cm2”, “1e27/cm2”, “1e30/cm2”, “1e33/cm2”, “1e36/cm2”, “1e39/cm2”, “1e42/cm2”]
--type <luminometer>
Show results from the selected luminometer
[“hfoc”, “hfet”, “bcm1f”, “bcm1fsi”, “bcm1futca”, “pltzero”, “pltslink”, “dt”, “pxl”, “ramses”, “radmon”]

brilcalc --output-style

The stdout (display output) of brilcalc can be specified with the --output-style flag. Note that this in a “common” or “global” option, meaning that it is also available for the brilcalc beam and brilcalc trg subcommands. Let’s reproduce the above output in csv format:

brilcalc lumi -r 325000 --output-style csv

Output

#Data tag : 19v3 , Norm tag: None
#run:fill,time,nls,ncms,delivered(/ub),recorded(/ub)
325000:7324,10/21/18 08:03:56,376,371,100027429.112490401,95257794.416809484
#Summary:
#nfill,nrun,nls,ncms,totdelivered(/ub),totrecorded(/ub)
#1,1,376,371,100027429.112490401,95257794.416809484

2.1 Query luminosity info for fill corresponding to run 325000

Using brilcalc, determine the fill that run 325000 corresponds to. What is the total recorded luminosity for this fill in inverse picobarns? Vote for the corect answer in the short lumi exercise Mattermost channel.

Key Points

  • brilcalc is a command-line tool provided by the CMS BRIL group for querying luminosity information.


Normtags and Data Certification

Overview

Teaching: 10 min
Exercises: 20 min
Questions
  • What is a normtag?

  • What is data certification?

Objectives
  • Learn what is a normtag and how to use it

  • Learn about data certification and how it relates to physics analyses

Important

This exercise is meant to be run from lxplus.cern.ch.

Please follow the setup instructions before getting started.

Normtags

A normtag is a file that defines the official luminosity calibrations and detectors to use for a given period. The normtag files are maintained by the Lumi POG and periodically updated as the calibrations are improved. It is important to always use the latest normtag in order to get the best results.

Important

Never run brilcalc without a --normtag argument unless you know exactly what you are doing.
Running brilcalc without --normtag will give you the online luminosity, which can change significantly by improvements in calibration. It is neither accurate, nor precise, nor stable.

The Run 2 physics normtag is /cvmfs/cms-bril.cern.ch/cms-lumi-pog/Normtags/normtag_PHYSICS.json. Always use this normtag for pp runs. This is the only normtag which can be used for physics analyses. It covers all of Run 2 for which there is a final approved number for physics (which includes all pp running and some special runs).

3.1 Query fill 6666 using the physics normtag

Using the physics normtag, what is the recorded luminosity in picobarns for fill 6666? Vote for the corect answer in the short lumi exercise Mattermost channel.

Data Certification

Data collected by CMS is certified on a luminosity-section basis to determine the subset of data of good quality to be included in physics analyses. Data certification is carried out by taking into account both the operational health of the sub-detectors and scrutiny of the reconstructed physics objects by DPG and POG experts. The outcome of the certification process is regularly updated as more data gets collected, and for each new version of the data processing, by the DQM-DataCertification. One of the main deliverables of this process are JSON files listing runs and lumisection which are good for physics analysis.

Key Points

  • Make sure to use a normtag when querying brilcalc for your analysis

  • Data collected by CMS needs to be evaluated and a subset is certified as good quality data to be used for physics analysis


[OPTIONAL] brilcalcpandas

Overview

Teaching: 10 min
Exercises: 10 min
Questions
  • What tools are available to query the delivered and recorded luminosity?

  • Is there a more convenient way to query brilcalc and organize its response?

Objectives
  • Introduce brilcalcpandas as a wrapper for brilcalc.

Important

This exercise is meant to be run from lxplus.cern.ch.

Please follow the setup instructions before getting started.

brilcalcpandas

brilcalcpandas is an unofficial pandas.DataFrame wrapper for brilcalc queries. All currently-documented brilcalc options are supported as keyword arguments.

Setup

ssh lxplus
git clone ssh://git@gitlab.cern.ch:7999/adelanno/brilcalcpandas.git && cd brilcalcpandas/

Usage examples:

Main function:

The main function reproduces delivered/recorded lumi in LumiPOG Summary Table

/cvmfs/cms-bril.cern.ch/brilconda310/bin/python3 -m brilcalcDF

Output

DEBUG: brilcalc lumi --output-style csv --tssec -b 'STABLE BEAMS' --amodetag PROTPHYS --beamenergy 6500 -u /fb --normtag /cvmfs/cms-bril.cern.ch/cms-lumi-pog/Normtags/normtag_BRIL.json --begin '01/01/15 00:00:00' --end '12/31/15 23:59:59'                                                                                                           > INFO: total 2015 delivered luminosity: 4.308588532 /fb
________________________________________________________________________________
DEBUG: brilcalc lumi --output-style csv --tssec -b 'STABLE BEAMS' --amodetag PROTPHYS --beamenergy 6500 -u /fb --normtag /cvmfs/cms-bril.cern.ch/cms-lumi-pog/Normtags/normtag_BRIL.json --begin '01/01/16 00:00:00' --end '12/31/16 23:59:59'
INFO: total 2016 delivered luminosity: 41.578962968 /fb
________________________________________________________________________________
DEBUG: brilcalc lumi --output-style csv --tssec -b 'STABLE BEAMS' --amodetag PROTPHYS --beamenergy 6500 -u /fb --normtag /cvmfs/cms-bril.cern.ch/cms-lumi-pog/Normtags/normtag_BRIL.json --begin '01/01/17 00:00:00' --end '12/31/17 23:59:59'
INFO: total 2017 delivered luminosity: 49.807263743 /fb
________________________________________________________________________________
DEBUG: brilcalc lumi --output-style csv --tssec -b 'STABLE BEAMS' --amodetag PROTPHYS --beamenergy 6500 -u /fb --normtag /cvmfs/cms-bril.cern.ch/cms-lumi-pog/Normtags/normtag_BRIL.json --begin '01/01/18 00:00:00' --end '12/31/18 23:59:59'
INFO: total 2018 delivered luminosity: 67.85891887 /fb
________________________________________________________________________________
DEBUG: brilcalc lumi --output-style csv --tssec -u /fb --normtag /cvmfs/cms-bril.cern.ch/cms-lumi-pog/Normtags/normtag_PHYSICS.json -i /afs/cern.ch/cms/CAF/CMSCOMM/COMM_DQM/certification/Collisions15/13TeV/Reprocessing/Cert_13TeV_16Dec2015ReReco_Collisions15_25ns_JSON_v2.txt
INFO: total 2015 legacy recorded luminosity: 2.2737730369999998 /fb
________________________________________________________________________________
DEBUG: brilcalc lumi --output-style csv --tssec -u /fb --normtag /cvmfs/cms-bril.cern.ch/cms-lumi-pog/Normtags/normtag_PHYSICS.json -i /afs/cern.ch/cms/CAF/CMSCOMM/COMM_DQM/certification/Collisions16/13TeV/Legacy_2016/Cert_271036-284044_13TeV_Legacy2016_Collisions16_JSON.txt
INFO: total 2016 legacy recorded luminosity: 36.333380074000004 /fb
________________________________________________________________________________
DEBUG: brilcalc lumi --output-style csv --tssec -u /fb --normtag /cvmfs/cms-bril.cern.ch/cms-lumi-pog/Normtags/normtag_PHYSICS.json -i /afs/cern.ch/cms/CAF/CMSCOMM/COMM_DQM/certification/Collisions17/13TeV/Legacy_2017/Cert_294927-306462_13TeV_UL2017_Collisions17_GoldenJSON.txt
INFO: total 2017 legacy recorded luminosity: 41.479680529 /fb
________________________________________________________________________________
DEBUG: brilcalc lumi --output-style csv --tssec -u /fb --normtag /cvmfs/cms-bril.cern.ch/cms-lumi-pog/Normtags/normtag_PHYSICS.json -i /afs/cern.ch/cms/CAF/CMSCOMM/COMM_DQM/certification/Collisions18/13TeV/Legacy_2018/Cert_314472-325175_13TeV_Legacy2018_Collisions18_JSON.txt
INFO: total 2018 legacy recorded luminosity: 59.832475339 /fb
________________________________________________________________________________
DEBUG: brilcalc lumi --output-style csv --tssec -u /fb --normtag /cvmfs/cms-bril.cern.ch/cms-lumi-pog/Normtags/normtag_PHYSICS.json -i /afs/cern.ch/cms/CAF/CMSCOMM/COMM_DQM/certification/Collisions15/13TeV/Reprocessing/Cert_13TeV_16Dec2015ReReco_Collisions15_25ns_JSON_v2.txt
INFO: total 2015 prelegacy recorded luminosity: 2.2737730369999998 /fb
________________________________________________________________________________
DEBUG: brilcalc lumi --output-style csv --tssec -u /fb --normtag /cvmfs/cms-bril.cern.ch/cms-lumi-pog/Normtags/normtag_PHYSICS.json -i /afs/cern.ch/cms/CAF/CMSCOMM/COMM_DQM/certification/Collisions16/13TeV/ReReco/Final/Cert_271036-284044_13TeV_ReReco_07Aug2017_Collisions16_JSON.txt
INFO: total 2016 prelegacy recorded luminosity: 36.32645008 /fb
________________________________________________________________________________
DEBUG: brilcalc lumi --output-style csv --tssec -u /fb --normtag /cvmfs/cms-bril.cern.ch/cms-lumi-pog/Normtags/normtag_PHYSICS.json -i /afs/cern.ch/cms/CAF/CMSCOMM/COMM_DQM/certification/Collisions17/13TeV/ReReco/Cert_294927-306462_13TeV_EOY2017ReReco_Collisions17_JSON_v1.txt
INFO: total 2017 prelegacy recorded luminosity: 41.528995402 /fb
________________________________________________________________________________
DEBUG: brilcalc lumi --output-style csv --tssec -u /fb --normtag /cvmfs/cms-bril.cern.ch/cms-lumi-pog/Normtags/normtag_PHYSICS.json -i /afs/cern.ch/cms/CAF/CMSCOMM/COMM_DQM/certification/Collisions18/13TeV/ReReco/Cert_314472-325175_13TeV_17SeptEarlyReReco2018ABC_PromptEraD_Collisions18_JSON.txt
INFO: total 2018 prelegacy recorded luminosity: 59.740565202 /fb
________________________________________________________________________________
                                2015       2016       2017       2018   2015-2018   2016-2018
delivered luminosity (/fb)  4.308589  41.578963  49.807264  67.858919  163.553734  159.245146
legacy luminosity (/fb)     2.273773  36.333380  41.479681  59.832475  139.919309  137.645536
prelegacy luminosity (/fb)  2.273773  36.326450  41.528995  59.740565  139.869784  137.596011

Interactive usage:

/cvmfs/cms-bril.cern.ch/brilconda310/bin/python3
from brilcalcDF import Query
Query.lumi(r=325000, byls=True, minBiasXsec=80000, type='hfet', precision='2f', hltpath='HLT_ZeroBias_v6')[1]

Output

DEBUG: brilcalc lumi --output-style csv --tssec -r 325000 --byls --minBiasXsec 80000 --type hfet --precision 2f --hltpath HLT_ZeroBias_v6
                           dt        time  deliveredLS  recordedLS     run  fill  delivered(/ub)  recorded(/ub)  avgpu source
0   2018-10-21 08:03:55+00:00  1540109035            1           1  325000  7324            0.32           0.29   35.3   HFET
1   2018-10-21 08:04:18+00:00  1540109058            2           2  325000  7324            0.32           0.21   35.4   HFET
2   2018-10-21 08:04:42+00:00  1540109082            3           3  325000  7324            0.32           0.31   35.3   HFET
3   2018-10-21 08:05:05+00:00  1540109105            4           4  325000  7324            0.32           0.21   35.3   HFET
4   2018-10-21 08:05:28+00:00  1540109128            5           5  325000  7324            0.32           0.30   35.3   HFET
..                        ...         ...          ...         ...     ...   ...             ...            ...    ...    ...
366 2018-10-21 10:26:07+00:00  1540117567          367         367  325000  7324            0.26           0.25   28.8   HFET
367 2018-10-21 10:26:30+00:00  1540117590          368         368  325000  7324            0.26           0.25   28.8   HFET
368 2018-10-21 10:26:53+00:00  1540117613          369         369  325000  7324            0.26           0.25   28.8   HFET
369 2018-10-21 10:27:17+00:00  1540117637          370         370  325000  7324            0.26           0.25   28.8   HFET
370 2018-10-21 10:27:40+00:00  1540117660          371         371  325000  7324            0.26           0.21   28.8   HFET

[371 rows x 10 columns]
(summary, data) = Query.lumi(fill=6666, beamstatus='STABLE BEAMS', type='pltzero', byls=True)
summary
data

Output

DEBUG: brilcalc lumi --output-style csv --tssec -f 6666 -b 'STABLE BEAMS' --type pltzero --byls
Data tag                    19v3
Norm tag                    None
nfill                          1
nrun                           6
nls                         1966
ncms                        1926
totdelivered(/ub)    4.50713e+08
totrecorded(/ub)     4.18091e+08
dtype: object
                            dt        time  deliveredLS  recordedLS     run  fill  delivered(/ub)  recorded(/ub)  avgpu  E(GeV)    beamstatus   source
0    2018-05-10 21:13:39+00:00  1525986819           32          32  316109  6666   366233.213965  358491.897262   44.0    6500  STABLE BEAMS  PLTZERO
1    2018-05-10 21:14:02+00:00  1525986842           33          33  316109  6666   366037.872369  123206.539042   43.9    6500  STABLE BEAMS  PLTZERO
2    2018-05-10 21:14:25+00:00  1525986865           34          34  316109  6666   365729.232190       0.000000   43.9    6500  STABLE BEAMS  PLTZERO
3    2018-05-10 21:14:49+00:00  1525986889           35          35  316109  6666   328216.224407       0.000000   39.4    6500  STABLE BEAMS  PLTZERO
4    2018-05-10 21:15:12+00:00  1525986912           36          36  316109  6666    74180.419333       0.000000    8.9    6500  STABLE BEAMS  PLTZERO
...                        ...         ...          ...         ...     ...   ...             ...            ...    ...     ...           ...      ...
1961 2018-05-11 09:54:54+00:00  1526032494         1576        1576  316114  6666   135914.146076  133960.675502   16.3    6500  STABLE BEAMS  PLTZERO
1962 2018-05-11 09:55:17+00:00  1526032517         1577        1577  316114  6666   135810.351646  133861.500315   16.3    6500  STABLE BEAMS  PLTZERO
1963 2018-05-11 09:55:40+00:00  1526032540         1578        1578  316114  6666   135627.336989  133677.464474   16.3    6500  STABLE BEAMS  PLTZERO
1964 2018-05-11 09:56:04+00:00  1526032564         1579        1579  316114  6666   135447.930495  133500.365030   16.3    6500  STABLE BEAMS  PLTZERO
1965 2018-05-11 09:56:27+00:00  1526032587         1580        1580  316114  6666   135538.498791  133592.922141   16.3    6500  STABLE BEAMS  PLTZERO
·
[1966 rows x 12 columns]
Query.lumi(run=314848, beamstatus='STABLE BEAMS', xing=True, xingTr=0.5, expandBX=True)[1]

Output

DEBUG: brilcalc lumi --output-style csv --tssec -r 314848 -b 'STABLE BEAMS' --xing --xingTr 0.5
INFO: BCID: [4, 451, 1201, 1501, 1786, 2101, 2451, 2801, 3118]
                           dt        time  deliveredLS  ...  bx2451_recorded(/ub)  bx2801_recorded(/ub)  bx3118_recorded(/ub)
0   2018-04-21 21:16:22+00:00  1524345382          303  ...             98.747116             81.036247             85.137383
1   2018-04-21 21:16:46+00:00  1524345406          304  ...            148.928726            122.231300            128.472565
2   2018-04-21 21:17:09+00:00  1524345429          305  ...            164.264313            134.837982            141.743805
3   2018-04-21 21:17:32+00:00  1524345452          306  ...            164.194458            134.556137            141.515793
4   2018-04-21 21:17:56+00:00  1524345476          307  ...            163.825027            134.330048            141.284210
..                        ...         ...          ...  ...                   ...                   ...                   ...
435 2018-04-22 00:08:29+00:00  1524355709          746  ...             98.313850             78.557487             82.477425
436 2018-04-22 00:08:52+00:00  1524355732          747  ...            165.477814            132.100494            138.753906
437 2018-04-22 00:09:16+00:00  1524355756          748  ...            165.278717            132.042389            138.571884
438 2018-04-22 00:09:39+00:00  1524355779          749  ...            165.179626            131.935623            138.617996
439 2018-04-22 00:10:02+00:00  1524355802          750  ...            124.072205             98.972488            104.007950

[440 rows x 30 columns]
Query.beam(begin='2018-07-01', end='2018 jul 31', beamstatus='stable beams', perFill=True)[1]

Output

DEBUG: brilcalc beam --output-style csv --tssec --begin '07/01/18 00:00:00' --end '07/31/18 00:00:00' -b 'stable beams'
INFO:
Data tag    19v3
    fill                        dt        time  ...                                                run    intensity1    intensity2
0   6868 2018-07-01 00:00:15+00:00  1530403215  ...  [319018, 319018, 319018, 319018, 319018, 31901...  1.012031e+13  1.042060e+13
1   6874 2018-07-01 23:26:59+00:00  1530487619  ...  [319077, 319077, 319077, 319077, 319077, 31907...  1.660039e+14  1.681219e+14
2   6877 2018-07-02 08:06:42+00:00  1530518802  ...  [319097, 319097, 319097, 319097, 319097, 31909...  7.261122e+12  7.300276e+12
3   6879 2018-07-02 14:47:43+00:00  1530542863  ...  [319124, 319124, 319124, 319124, 319124, 31912...  2.144090e+13  2.148350e+13
4   6881 2018-07-03 05:08:46+00:00  1530594526  ...  [319159, 319159, 319159, 319159, 319159, 31915...  5.152460e+13  5.006465e+13
5   6882 2018-07-03 15:54:32+00:00  1530633272  ...  [319173, 319173, 319173, 319173, 319173, 31917...  4.922644e+13  5.008399e+13
6   6884 2018-07-04 10:20:57+00:00  1530699657  ...  [319189, 319189, 319189, 319189, 319189, 31918...  2.686615e+13  2.717161e+13
7   6885 2018-07-04 20:13:30+00:00  1530735210  ...  [319222, 319222, 319222, 319222, 319222, 31922...  5.751975e+13  5.697277e+13
8   6890 2018-07-05 12:09:24+00:00  1530792564  ...  [319254, 319254, 319254, 319254, 319254, 31925...  1.104024e+14  1.136937e+14
9   6891 2018-07-06 14:23:45+00:00  1530887025  ...  [319297, 319297, 319297, 319297, 319297, 31929...  1.129159e+14  1.132540e+14
10  6892 2018-07-07 00:42:20+00:00  1530924140  ...  [319310, 319310, 319310, 319310, 319310, 31931...  9.778030e+13  9.824706e+13
11  6901 2018-07-08 02:05:04+00:00  1531015504  ...  [319337, 319337, 319337, 319337, 319337, 31933...  8.299723e+13  8.554400e+13
12  6904 2018-07-08 19:52:32+00:00  1531079552  ...  [319347, 319347, 319347, 319347, 319347, 31934...  2.307476e+14  2.359878e+14
13  6909 2018-07-09 20:58:45+00:00  1531169925  ...  [319449, 319449, 319449, 319449, 319449, 31944...  2.013432e+14  2.040904e+14
14  6911 2018-07-11 09:09:58+00:00  1531300198  ...  [319486, 319486, 319486, 319486, 319486, 31948...  2.357316e+14  2.459484e+14
15  6912 2018-07-11 22:26:43+00:00  1531348003  ...  [319524, 319524, 319524, 319524, 319524, 31952...  2.187870e+14  2.304280e+14
16  6913 2018-07-12 18:29:04+00:00  1531420144  ...  [319557, 319557, 319557, 319557, 319557, 31955...  1.160668e+12  1.124557e+12
17  6919 2018-07-13 04:42:30+00:00  1531456950  ...  [319579, 319579, 319579, 319579, 319579, 31957...  2.078140e+14  2.145636e+14
18  6921 2018-07-14 14:05:05+00:00  1531577105  ...  [319625, 319625, 319625, 319625, 319625, 31962...  2.439112e+14  2.459997e+14
19  6923 2018-07-14 18:51:27+00:00  1531594287  ...  [319639, 319639, 319639, 319639, 319639, 31963...  2.111103e+14  2.233223e+14
20  6924 2018-07-15 07:23:18+00:00  1531639398  ...  [319656, 319656, 319656, 319656, 319656, 31965...  2.263233e+14  2.296885e+14
21  6925 2018-07-15 15:19:26+00:00  1531667966  ...  [319678, 319678, 319678, 319678, 319678, 31967...  2.429124e+14  2.497445e+14
22  6927 2018-07-15 22:27:18+00:00  1531693638  ...  [319687, 319687, 319687, 319687, 319687, 31968...  2.634214e+14  2.691051e+14
23  6929 2018-07-16 02:16:54+00:00  1531707414  ...  [319697, 319697, 319697, 319697, 319697, 31969...  9.206933e+13  9.604443e+13
24  6931 2018-07-16 15:38:18+00:00  1531755498  ...  [319756, 319756, 319756, 319756, 319756, 31975...  2.003244e+14  2.140037e+14
25  6939 2018-07-17 22:27:06+00:00  1531866426  ...  [319840, 319840, 319840, 319840, 319840, 31984...  9.331841e+13  9.845540e+13
26  6940 2018-07-18 04:01:43+00:00  1531886503  ...  [319847, 319847, 319847, 319847, 319847, 31984...  2.284896e+14  2.373708e+14
27  6942 2018-07-19 02:38:42+00:00  1531967922  ...  [319907, 319907, 319907, 319907, 319908, 31990...  2.084886e+14  2.197406e+14
28  6944 2018-07-19 19:58:49+00:00  1532030329  ...  [319941, 319941, 319941, 319941, 319941, 31994...  2.575465e+14  2.579312e+14
29  6946 2018-07-20 02:44:44+00:00  1532054684  ...  [319950, 319950, 319950, 319950, 319950, 31995...  2.588241e+14  2.623835e+14
30  6953 2018-07-20 15:48:05+00:00  1532101685  ...  [319991, 319991, 319991, 319991, 319991, 31999...  2.009583e+14  2.102614e+14
31  6956 2018-07-21 08:16:45+00:00  1532161005  ...  [320002, 320002, 320002, 320002, 320002, 32000...  2.106681e+14  2.148840e+14
32  6957 2018-07-21 21:32:17+00:00  1532208737  ...  [320023, 320023, 320023, 320023, 320023, 32002...  2.327795e+14  2.407821e+14
33  6960 2018-07-22 07:08:17+00:00  1532243297  ...  [320038, 320038, 320038, 320038, 320038, 32003...  2.222567e+14  2.303848e+14
34  6961 2018-07-22 18:31:54+00:00  1532284314  ...  [320058, 320058, 320058, 320058, 320058, 32005...  2.220188e+14  2.352438e+14
35  6998 2018-07-30 08:28:12+00:00  1532939292  ...  [320500, 320500, 320500, 320500, 320500, 32050...  2.694008e+11  2.482165e+11

[36 rows x 7 columns]
Query.trg(run=325000, prescale=True, hltpath='HLT_ZeroBias_v6')

Output

DEBUG: brilcalc trg --output-style csv -r 325000 --prescale --hltpath HLT_ZeroBias_v6
      run cmsls prescidx totprescval    hltpath/prescval logic     l1bit/prescval
0  325000     1        5      929812  HLT_ZeroBias_v6/52   ONE  L1_ZeroBias/17881
1  325000   261        6      929812  HLT_ZeroBias_v6/52   ONE  L1_ZeroBias/17881

Key Points

  • brilcalc is a command-line tool provided by the CMS BRIL group for querying luminosity information.