LumiData#

class coffea.lumi_tools.LumiData(lumi_csv, is_inst_lumi=False)[source]#

Bases: object

Holds per-lumiSection integrated lumi values

Parameters:
  • lumi_csv (str) – The path to the luminosity csv file to read from. Generally, this is the output file from brilcalc.

  • is_inst_lumi (bool, default False) – If True, treats the values read in from lumi_csv as average instantaneous luminosities, instead of integrated luminosities.

The values are extracted from the csv output as returned by brilcalc, e.g. with a command such as:

brilcalc lumi -c /cvmfs/cms.cern.ch/SITECONF/local/JobConfig/site-local-config.xml \
         -b "STABLE BEAMS" --normtag=/cvmfs/cms-bril.cern.ch/cms-lumi-pog/Normtags/normtag_PHYSICS.json \
         -u /pb --byls --output-style csv -i Cert_294927-306462_13TeV_PromptReco_Collisions17_JSON.txt > lumi2017.csv

Note that some brilcalc files may be in different units than inverse picobarns, including possibly average instantaneous luminosity. You should make sure that you understand the units of the LumiData file you are using before calculating luminosity with this tool. If you are using a LumiData file containing avg. inst. luminosity, make sure to set is_inst_lumi=True in the constructor of this class.

Attributes Summary

Methods Summary

get_lumi(runlumis)

Calculate integrated lumi

Attributes Documentation

seconds_per_lumi_LHC = 23.310991192395022#

Methods Documentation

get_lumi(runlumis)[source]#

Calculate integrated lumi

Parameters:

runlumis (numpy.ndarray or LumiList) – A 2d numpy array of [[run,lumi], [run,lumi], ...] or LumiList object of the lumiSections to integrate over, where run is a run number and lumi is a lumisection number.

Return type:

(float) The total integrated luminosity of the runs and lumisections indicated in ``runlumis`.`