cms-tau-pog / TauFW

Analysis framework for tau analysis at CMS using NanoAOD
9 stars 40 forks source link

Implement correctionlib JSONs for muon SFs #71

Closed IzaakWN closed 2 months ago

IzaakWN commented 2 months ago

Long time coming: correctionlib JSONs.

For now only muon SFs, as it seems ROOT files are no longer supported starting for 2023 data, and we need these for the TauPOG SF measurements. Other corrections like electron SFs, pileup reweighting, b tagging SFs, etc. should also be done soon!

The old ROOT-based muon SF tool is preserved as MuonSFs_ROOT.

[!WARNING]

  • correctionlib is only available in python3, so the muon SFs will not be supported anymore in the TauFW for CMSSW 11 and older once this PR is merged.
  • The muon corretionlib JSONs throw runtime errors if the pt or eta is out of range, so user need to make sure they are applying the MuonPOG's recommended pt/eta cuts, e.g, pt>26 for IsoMu24 and abs(eta)<2.4, etc.

Installation

Instructions are added to the wiki: https://github.com/cms-tau-pog/TauFW/wiki/Installation#corrections

# clone from GitLab
cd $CMSSW_BASE/src/TauFW/PicoProducer
git clone ssh://git@gitlab.cern.ch:7999/cms-nanoAOD/jsonpog-integration.git data/jsonpog

# OR copy them from CVMFS:
cd $CMSSW_BASE/src/TauFW/PicoProducer
cp -rv /cvmfs/cms.cern.ch/rsync/cms-nanoAOD/jsonpog-integration data/jsonpog

Validation

Tested with:

cd $CMSSW_BASE/src/TauFW/PicoProducer
python3 test/testSFs.py -t mu -m 2 -y UL2016_post UL2016_pre UL2017 UL2018 2022_pre 2022_post 2023C 2023D

pico.py era UL2018 tutorial/samples_UL2018.py
pico.py channel mutau 'tutorial.ModuleMuTau jec=False'
pico.py run -c mutau -y UL2018 -m 10000

I did some quick checks for a couple of eras, and the SFs look mostly consistent between the old JSONs and ROOT.

@

Can you quickly review & sign off, @pmastrap @saswatinandan, please?

IzaakWN commented 2 months ago

Just for the record, this is a comparison before/after.

$ for y in UL2016pre UL2016post UL2017 UL2018 2022pre 2022post; do python3 test/testSFs.py -t mu muroot -m 2 -y $y -p 25 26 27 34 35 36 40 60 -e 0 0.5 1.1 1.9 2.3 2.4 -n; done

   ####################
   #  muonSFs (JSON)  #
   ####################

Initializing MuonSF object for era='UL2016pre'...
Loading MuonSF for era='UL2016pre', id='NUM_MediumID_DEN_TrackerMuons', iso='NUM_MediumID_DEN_TrackerMuons', trig='NUM_IsoMu24_or_IsoTkMu24_DEN_CutBasedIdTight_and_PFIsoTight' from /afs/cern.ch/user/i/ineuteli/analysis/CMSSW_12_4_8_hackathon/src/TauFW/PicoProducer/data/jsonpog/POG/MUO/2016postVFP_UL/muon_Z.json.gz...
  Initialized in 0.0 seconds
  trigger:
      pt\eta      0.00      0.50      1.10      1.90      2.30      2.40
       25.00     ERROR     ERROR     ERROR     ERROR     ERROR     ERROR
       26.00      0.95      0.95      0.95      0.99      0.91     ERROR
       27.00      0.95      0.95      0.95      0.99      0.91     ERROR
       34.00      0.96      0.96      0.96      0.99      0.95     ERROR
       35.00      0.96      0.96      0.96      0.99      0.95     ERROR
       36.00      0.96      0.96      0.96      0.99      0.95     ERROR
       40.00      0.96      0.96      0.96      1.00      0.96     ERROR
       60.00      0.96      0.96      0.96      0.99      0.97     ERROR
  Got 48 SFs in 0.001 seconds
  Caught 13 error(s):
    RuntimeError: "\x1b[31mMuonSF.getTriggerSF: Caught 'Index below bounds in Binning for input argument 1 value: 25.000000' for (pt,eta,syst)=(25.0,0.0,None)!Please review MuonPOG's recommendations and check your cuts...\x1b[0m"
    RuntimeError: "\x1b[31mMuonSF.getTriggerSF: Caught 'Index below bounds in Binning for input argument 1 value: 25.000000' for (pt,eta,syst)=(25.0,0.5,None)!Please review MuonPOG's recommendations and check your cuts...\x1b[0m"

  idiso:
      pt\eta      0.00      0.50      1.10      1.90      2.30      2.40
       25.00      0.99      0.99      1.00      1.00      0.98     ERROR
       26.00      0.99      0.99      1.00      1.00      0.98     ERROR
       27.00      0.99      0.99      1.00      1.00      0.98     ERROR
       34.00      0.99      0.99      1.00      1.00      0.98     ERROR
       35.00      0.99      0.99      1.00      1.00      0.98     ERROR
       36.00      0.99      0.99      1.00      1.00      0.98     ERROR
       40.00      1.00      1.00      0.99      1.00      0.98     ERROR
       60.00      1.00      1.00      1.00      1.00      0.98     ERROR
  Got 48 SFs in 0.001 seconds
  Caught 8 error(s):
    RuntimeError: 'Index above bounds in Binning for input argument 0 value: 2.400000'
    RuntimeError: 'Index above bounds in Binning for input argument 0 value: 2.400000'

   ####################
   #  muonSFs (ROOT)  #
   ####################

Initializing MuonSF object for era='UL2016pre'...
ScaleFactor.gethist(mu_trig): xmin=-2.4, xmax=2.4, ymin=26.0, ymax=200.0, ptvseta=True
ScaleFactor.gethist(mu_id): xmin=0.0, xmax=2.4, ymin=15.0, ymax=120.0, ptvseta=True
ScaleFactor.gethist(mu_iso): xmin=0.0, xmax=2.4, ymin=15.0, ymax=120.0, ptvseta=True
Loading MuonSF for /afs/cern.ch/user/i/ineuteli/analysis/CMSSW_12_4_8_hackathon/src/TauFW/PicoProducer/data/lepton/MuonPOG/Run2016UL_preVFP/Efficiencies_muon_generalTracks_Z_Run2016_UL_HIPM_SingleMuonTriggers.root, /afs/cern.ch/user/i/ineuteli/analysis/CMSSW_12_4_8_hackathon/src/TauFW/PicoProducer/data/lepton/MuonPOG/Run2016UL_preVFP/Efficiencies_muon_generalTracks_Z_Run2016_UL_HIPM_ID.root, /afs/cern.ch/user/i/ineuteli/analysis/CMSSW_12_4_8_hackathon/src/TauFW/PicoProducer/data/lepton/MuonPOG/Run2016UL_preVFP/Efficiencies_muon_generalTracks_Z_Run2016_UL_HIPM_ISO.root
  Initialized in 0.5 seconds
  trigger:
      pt\eta      0.00      0.50      1.10      1.90      2.30      2.40
       25.00      0.95      0.95      0.94      0.99      0.89      0.89
       26.00      0.95      0.95      0.94      0.99      0.89      0.89
       27.00      0.95      0.95      0.94      0.99      0.89      0.89
       34.00      0.96      0.96      0.96      0.99      0.93      0.93
       35.00      0.96      0.96      0.96      0.99      0.93      0.93
       36.00      0.96      0.96      0.96      0.99      0.93      0.93
       40.00      0.97      0.97      0.96      0.99      0.95      0.95
       60.00      0.97      0.97      0.96      0.99      0.95      0.95
  Got 48 SFs in 0.009 seconds

  idiso:
      pt\eta      0.00      0.50      1.10      1.90      2.30      2.40
       25.00      0.99      0.99      1.00      1.00      0.98      0.98
       26.00      0.99      0.99      1.00      1.00      0.98      0.98
       27.00      0.99      0.99      1.00      1.00      0.98      0.98
       34.00      0.99      0.99      1.00      1.00      0.98      0.98
       35.00      0.99      0.99      1.00      1.00      0.98      0.98
       36.00      0.99      0.99      1.00      1.00      0.98      0.98
       40.00      1.00      1.00      0.99      1.00      0.98      0.98
       60.00      1.00      1.00      1.00      1.00      0.98      0.98
  Got 48 SFs in 0.001 seconds

Done after 5.3 seconds

   ####################
   #  muonSFs (JSON)  #
   ####################

Initializing MuonSF object for era='UL2016post'...
Loading MuonSF for era='UL2016post', id='NUM_MediumID_DEN_TrackerMuons', iso='NUM_MediumID_DEN_TrackerMuons', trig='NUM_IsoMu24_or_IsoTkMu24_DEN_CutBasedIdTight_and_PFIsoTight' from /afs/cern.ch/user/i/ineuteli/analysis/CMSSW_12_4_8_hackathon/src/TauFW/PicoProducer/data/jsonpog/POG/MUO/2016postVFP_UL/muon_Z.json.gz...
  Initialized in 0.0 seconds
  trigger:
      pt\eta      0.00      0.50      1.10      1.90      2.30      2.40
       25.00     ERROR     ERROR     ERROR     ERROR     ERROR     ERROR
       26.00      0.95      0.95      0.95      0.99      0.91     ERROR
       27.00      0.95      0.95      0.95      0.99      0.91     ERROR
       34.00      0.96      0.96      0.96      0.99      0.95     ERROR
       35.00      0.96      0.96      0.96      0.99      0.95     ERROR
       36.00      0.96      0.96      0.96      0.99      0.95     ERROR
       40.00      0.96      0.96      0.96      1.00      0.96     ERROR
       60.00      0.96      0.96      0.96      0.99      0.97     ERROR
  Got 48 SFs in 0.001 seconds
  Caught 13 error(s):
    RuntimeError: "\x1b[31mMuonSF.getTriggerSF: Caught 'Index below bounds in Binning for input argument 1 value: 25.000000' for (pt,eta,syst)=(25.0,0.0,None)!Please review MuonPOG's recommendations and check your cuts...\x1b[0m"
    RuntimeError: "\x1b[31mMuonSF.getTriggerSF: Caught 'Index below bounds in Binning for input argument 1 value: 25.000000' for (pt,eta,syst)=(25.0,0.5,None)!Please review MuonPOG's recommendations and check your cuts...\x1b[0m"

  idiso:
      pt\eta      0.00      0.50      1.10      1.90      2.30      2.40
       25.00      0.99      0.99      1.00      1.00      0.98     ERROR
       26.00      0.99      0.99      1.00      1.00      0.98     ERROR
       27.00      0.99      0.99      1.00      1.00      0.98     ERROR
       34.00      0.99      0.99      1.00      1.00      0.98     ERROR
       35.00      0.99      0.99      1.00      1.00      0.98     ERROR
       36.00      0.99      0.99      1.00      1.00      0.98     ERROR
       40.00      1.00      1.00      0.99      1.00      0.98     ERROR
       60.00      1.00      1.00      1.00      1.00      0.98     ERROR
  Got 48 SFs in 0.001 seconds
  Caught 8 error(s):
    RuntimeError: 'Index above bounds in Binning for input argument 0 value: 2.400000'
    RuntimeError: 'Index above bounds in Binning for input argument 0 value: 2.400000'

   ####################
   #  muonSFs (ROOT)  #
   ####################

Initializing MuonSF object for era='UL2016post'...
ScaleFactor.gethist(mu_trig): xmin=-2.4, xmax=2.4, ymin=26.0, ymax=200.0, ptvseta=True
ScaleFactor.gethist(mu_id): xmin=0.0, xmax=2.4, ymin=15.0, ymax=120.0, ptvseta=True
ScaleFactor.gethist(mu_iso): xmin=0.0, xmax=2.4, ymin=15.0, ymax=120.0, ptvseta=True
Loading MuonSF for /afs/cern.ch/user/i/ineuteli/analysis/CMSSW_12_4_8_hackathon/src/TauFW/PicoProducer/data/lepton/MuonPOG/Run2016UL_postVFP/Efficiencies_muon_generalTracks_Z_Run2016_UL_SingleMuonTriggers.root, /afs/cern.ch/user/i/ineuteli/analysis/CMSSW_12_4_8_hackathon/src/TauFW/PicoProducer/data/lepton/MuonPOG/Run2016UL_postVFP/Efficiencies_muon_generalTracks_Z_Run2016_UL_ID.root, /afs/cern.ch/user/i/ineuteli/analysis/CMSSW_12_4_8_hackathon/src/TauFW/PicoProducer/data/lepton/MuonPOG/Run2016UL_postVFP/Efficiencies_muon_generalTracks_Z_Run2016_UL_ISO.root
  Initialized in 0.3 seconds
  trigger:
      pt\eta      0.00      0.50      1.10      1.90      2.30      2.40
       25.00      0.96      0.96      0.96      0.98      0.91      0.91
       26.00      0.96      0.96      0.96      0.98      0.91      0.91
       27.00      0.96      0.96      0.96      0.98      0.91      0.91
       34.00      0.97      0.97      0.96      0.99      0.94      0.94
       35.00      0.97      0.97      0.96      0.99      0.94      0.94
       36.00      0.97      0.97      0.96      0.99      0.94      0.94
       40.00      0.97      0.97      0.97      0.99      0.95      0.95
       60.00      0.98      0.98      0.97      0.99      0.96      0.96
  Got 48 SFs in 0.010 seconds

  idiso:
      pt\eta      0.00      0.50      1.10      1.90      2.30      2.40
       25.00      0.98      0.98      0.99      1.00      0.98      0.98
       26.00      0.98      0.98      0.99      1.00      0.98      0.98
       27.00      0.98      0.98      0.99      1.00      0.98      0.98
       34.00      0.99      0.99      0.99      0.99      0.98      0.98
       35.00      0.99      0.99      0.99      0.99      0.98      0.98
       36.00      0.99      0.99      0.99      0.99      0.98      0.98
       40.00      0.99      0.99      0.99      0.99      0.98      0.98
       60.00      0.99      0.99      0.99      0.99      0.97      0.97
  Got 48 SFs in 0.001 seconds

Done after 4.6 seconds

   ####################
   #  muonSFs (JSON)  #
   ####################

Initializing MuonSF object for era='UL2017'...
Loading MuonSF for era='UL2017', id='NUM_MediumID_DEN_TrackerMuons', iso='NUM_MediumID_DEN_TrackerMuons' from /afs/cern.ch/user/i/ineuteli/analysis/CMSSW_12_4_8_hackathon/src/TauFW/PicoProducer/data/jsonpog/POG/MUO/2018_UL/muon_Z.json.gz...
Loading MuonSF for era='UL2017', trig='mu_trig' from /afs/cern.ch/user/i/ineuteli/analysis/CMSSW_12_4_8_hackathon/src/TauFW/PicoProducer/data/lepton/HTT/Muon/Run2017/Muon_IsoMu24orIsoMu27.root...
  Initialized in 0.8 seconds
  trigger:
      pt\eta      0.00      0.50      1.10      1.90      2.30      2.40
       25.00      0.87      0.87      0.88      0.92      0.77      0.77
       26.00      0.90      0.90      0.91      0.95      0.81      0.81
       27.00      0.93      0.93      0.93      0.97      0.84      0.84
       34.00      0.98      0.98      0.96      1.03      0.94      0.94
       35.00      0.98      0.98      0.96      1.03      0.95      0.95
       36.00      0.98      0.98      0.96      1.02      0.95      0.95
       40.00      0.97      0.97      0.96      1.02      0.95      0.95
       60.00      0.97      0.97      0.95      1.00      0.96      0.96
  Got 48 SFs in 0.006 seconds

  idiso:
      pt\eta      0.00      0.50      1.10      1.90      2.30      2.40
       25.00      0.99      0.99      0.98      0.99      0.99     ERROR
       26.00      0.99      0.99      0.98      0.99      0.99     ERROR
       27.00      0.99      0.99      0.98      0.99      0.99     ERROR
       34.00      0.99      0.99      0.98      0.99      0.98     ERROR
       35.00      0.99      0.99      0.98      0.99      0.98     ERROR
       36.00      0.99      0.99      0.98      0.99      0.98     ERROR
       40.00      0.99      0.99      0.99      0.99      0.98     ERROR
       60.00      0.99      0.99      0.99      0.99      0.97     ERROR
  Got 48 SFs in 0.001 seconds
  Caught 8 error(s):
    RuntimeError: 'Index above bounds in Binning for input argument 0 value: 2.400000'
    RuntimeError: 'Index above bounds in Binning for input argument 0 value: 2.400000'

   ####################
   #  muonSFs (ROOT)  #
   ####################

Initializing MuonSF object for era='UL2017'...
ScaleFactor.gethist(mu_id): xmin=0.0, xmax=2.4, ymin=15.0, ymax=120.0, ptvseta=True
ScaleFactor.gethist(mu_iso): xmin=0.0, xmax=2.4, ymin=15.0, ymax=120.0, ptvseta=True
Loading MuonSF for /afs/cern.ch/user/i/ineuteli/analysis/CMSSW_12_4_8_hackathon/src/TauFW/PicoProducer/data/lepton/HTT/Muon/Run2017/Muon_IsoMu24orIsoMu27.root, /afs/cern.ch/user/i/ineuteli/analysis/CMSSW_12_4_8_hackathon/src/TauFW/PicoProducer/data/lepton/MuonPOG/Run2017UL/Efficiencies_muon_generalTracks_Z_Run2017_UL_ID.root, /afs/cern.ch/user/i/ineuteli/analysis/CMSSW_12_4_8_hackathon/src/TauFW/PicoProducer/data/lepton/MuonPOG/Run2017UL/Efficiencies_muon_generalTracks_Z_Run2017_UL_ISO.root
  Initialized in 0.0 seconds
  trigger:
      pt\eta      0.00      0.50      1.10      1.90      2.30      2.40
       25.00      0.87      0.87      0.88      0.92      0.77      0.77
       26.00      0.90      0.90      0.91      0.95      0.81      0.81
       27.00      0.93      0.93      0.93      0.97      0.84      0.84
       34.00      0.98      0.98      0.96      1.03      0.94      0.94
       35.00      0.98      0.98      0.96      1.03      0.95      0.95
       36.00      0.98      0.98      0.96      1.02      0.95      0.95
       40.00      0.97      0.97      0.96      1.02      0.95      0.95
       60.00      0.97      0.97      0.95      1.00      0.96      0.96
  Got 48 SFs in 0.001 seconds

  idiso:
      pt\eta      0.00      0.50      1.10      1.90      2.30      2.40
       25.00      0.99      0.99      1.00      1.01      0.99      0.99
       26.00      0.99      0.99      1.00      1.01      0.99      0.99
       27.00      0.99      0.99      1.00      1.01      0.99      0.99
       34.00      0.99      0.99      1.00      1.00      0.98      0.98
       35.00      0.99      0.99      1.00      1.00      0.98      0.98
       36.00      0.99      0.99      1.00      1.00      0.98      0.98
       40.00      0.99      0.99      0.99      1.00      0.98      0.98
       60.00      0.99      0.99      1.00      1.00      0.98      0.98
  Got 48 SFs in 0.004 seconds

Done after 6.4 seconds

   ####################
   #  muonSFs (JSON)  #
   ####################

Initializing MuonSF object for era='UL2018'...
Loading MuonSF for era='UL2018', id='NUM_MediumID_DEN_TrackerMuons', iso='NUM_MediumID_DEN_TrackerMuons', trig='NUM_IsoMu24_DEN_CutBasedIdTight_and_PFIsoTight' from /afs/cern.ch/user/i/ineuteli/analysis/CMSSW_12_4_8_hackathon/src/TauFW/PicoProducer/data/jsonpog/POG/MUO/2018_UL/muon_Z.json.gz...
  Initialized in 0.0 seconds
  trigger:
      pt\eta      0.00      0.50      1.10      1.90      2.30      2.40
       25.00     ERROR     ERROR     ERROR     ERROR     ERROR     ERROR
       26.00      0.97      0.97      0.96      1.01      0.97     ERROR
       27.00      0.97      0.97      0.96      1.01      0.97     ERROR
       34.00      0.98      0.98      0.97      1.01      1.00     ERROR
       35.00      0.98      0.98      0.97      1.01      1.00     ERROR
       36.00      0.98      0.98      0.97      1.01      1.00     ERROR
       40.00      0.98      0.98      0.97      1.01      1.01     ERROR
       60.00      0.98      0.98      0.97      1.00      1.01     ERROR
  Got 48 SFs in 0.001 seconds
  Caught 13 error(s):
    RuntimeError: "\x1b[31mMuonSF.getTriggerSF: Caught 'Index below bounds in Binning for input argument 1 value: 25.000000' for (pt,eta,syst)=(25.0,0.0,None)!Please review MuonPOG's recommendations and check your cuts...\x1b[0m"
    RuntimeError: "\x1b[31mMuonSF.getTriggerSF: Caught 'Index below bounds in Binning for input argument 1 value: 25.000000' for (pt,eta,syst)=(25.0,0.5,None)!Please review MuonPOG's recommendations and check your cuts...\x1b[0m"

  idiso:
      pt\eta      0.00      0.50      1.10      1.90      2.30      2.40
       25.00      0.99      0.99      0.98      0.99      0.99     ERROR
       26.00      0.99      0.99      0.98      0.99      0.99     ERROR
       27.00      0.99      0.99      0.98      0.99      0.99     ERROR
       34.00      0.99      0.99      0.98      0.99      0.98     ERROR
       35.00      0.99      0.99      0.98      0.99      0.98     ERROR
       36.00      0.99      0.99      0.98      0.99      0.98     ERROR
       40.00      0.99      0.99      0.99      0.99      0.98     ERROR
       60.00      0.99      0.99      0.99      0.99      0.97     ERROR
  Got 48 SFs in 0.000 seconds
  Caught 8 error(s):
    RuntimeError: 'Index above bounds in Binning for input argument 0 value: 2.400000'
    RuntimeError: 'Index above bounds in Binning for input argument 0 value: 2.400000'

   ####################
   #  muonSFs (ROOT)  #
   ####################

Initializing MuonSF object for era='UL2018'...
ScaleFactor.gethist(mu_trig): xmin=-2.4, xmax=2.4, ymin=26.0, ymax=200.0, ptvseta=True
ScaleFactor.gethist(mu_id): xmin=0.0, xmax=2.4, ymin=15.0, ymax=120.0, ptvseta=True
ScaleFactor.gethist(mu_iso): xmin=0.0, xmax=2.4, ymin=15.0, ymax=120.0, ptvseta=True
Loading MuonSF for /afs/cern.ch/user/i/ineuteli/analysis/CMSSW_12_4_8_hackathon/src/TauFW/PicoProducer/data/lepton/MuonPOG/Run2018UL/Efficiencies_muon_generalTracks_Z_Run2018_UL_SingleMuonTriggers.root, /afs/cern.ch/user/i/ineuteli/analysis/CMSSW_12_4_8_hackathon/src/TauFW/PicoProducer/data/lepton/MuonPOG/Run2018UL/Efficiencies_muon_generalTracks_Z_Run2018_UL_ID.root, /afs/cern.ch/user/i/ineuteli/analysis/CMSSW_12_4_8_hackathon/src/TauFW/PicoProducer/data/lepton/MuonPOG/Run2018UL/Efficiencies_muon_generalTracks_Z_Run2018_UL_ISO.root
  Initialized in 0.4 seconds
  trigger:
      pt\eta      0.00      0.50      1.10      1.90      2.30      2.40
       25.00      0.97      0.97      0.96      1.00      0.95      0.95
       26.00      0.97      0.97      0.96      1.00      0.95      0.95
       27.00      0.97      0.97      0.96      1.00      0.95      0.95
       34.00      0.98      0.98      0.97      1.01      0.98      0.98
       35.00      0.98      0.98      0.97      1.01      0.98      0.98
       36.00      0.98      0.98      0.97      1.01      0.98      0.98
       40.00      0.98      0.98      0.97      1.01      1.00      1.00
       60.00      0.98      0.98      0.97      1.00      1.00      1.00
  Got 48 SFs in 0.009 seconds

  idiso:
      pt\eta      0.00      0.50      1.10      1.90      2.30      2.40
       25.00      0.99      0.99      0.98      0.99      0.99      0.99
       26.00      0.99      0.99      0.98      0.99      0.99      0.99
       27.00      0.99      0.99      0.98      0.99      0.99      0.99
       34.00      0.99      0.99      0.98      0.99      0.98      0.98
       35.00      0.99      0.99      0.98      0.99      0.98      0.98
       36.00      0.99      0.99      0.98      0.99      0.98      0.98
       40.00      0.99      0.99      0.99      0.99      0.98      0.98
       60.00      0.99      0.99      0.99      0.99      0.97      0.97
  Got 48 SFs in 0.001 seconds

Done after 5.4 seconds

   ####################
   #  muonSFs (JSON)  #
   ####################

Initializing MuonSF object for era='2022pre'...
Loading MuonSF for era='2022pre', id='NUM_MediumID_DEN_TrackerMuons', iso='NUM_MediumID_DEN_TrackerMuons', trig='NUM_IsoMu24_DEN_CutBasedIdTight_and_PFIsoTight' from /afs/cern.ch/user/i/ineuteli/analysis/CMSSW_12_4_8_hackathon/src/TauFW/PicoProducer/data/jsonpog/POG/MUO/2022_Summer22/muon_Z.json.gz...
  Initialized in 0.0 seconds
  trigger:
      pt\eta      0.00      0.50      1.10      1.90      2.30      2.40
       25.00     ERROR     ERROR     ERROR     ERROR     ERROR     ERROR
       26.00      0.98      0.98      0.97      0.95      0.85     ERROR
       27.00      0.98      0.98      0.97      0.95      0.85     ERROR
       34.00      0.98      0.98      0.97      0.96      0.88     ERROR
       35.00      0.98      0.98      0.97      0.96      0.88     ERROR
       36.00      0.98      0.98      0.97      0.96      0.88     ERROR
       40.00      0.98      0.98      0.97      0.96      0.91     ERROR
       60.00      0.98      0.98      0.97      0.96      0.93     ERROR
  Got 48 SFs in 0.001 seconds
  Caught 13 error(s):
    RuntimeError: "\x1b[31mMuonSF.getTriggerSF: Caught 'Index below bounds in Binning for input argument 1 value: 25.000000' for (pt,eta,syst)=(25.0,0.0,None)!Please review MuonPOG's recommendations and check your cuts...\x1b[0m"
    RuntimeError: "\x1b[31mMuonSF.getTriggerSF: Caught 'Index below bounds in Binning for input argument 1 value: 25.000000' for (pt,eta,syst)=(25.0,0.5,None)!Please review MuonPOG's recommendations and check your cuts...\x1b[0m"

  idiso:
      pt\eta      0.00      0.50      1.10      1.90      2.30      2.40
       25.00      0.99      0.99      0.98      0.98      0.98     ERROR
       26.00      0.99      0.99      0.98      0.98      0.98     ERROR
       27.00      0.99      0.99      0.98      0.98      0.98     ERROR
       34.00      0.99      0.99      0.98      0.98      0.98     ERROR
       35.00      0.99      0.99      0.98      0.98      0.98     ERROR
       36.00      0.99      0.99      0.98      0.98      0.98     ERROR
       40.00      0.99      0.99      0.99      0.99      0.98     ERROR
       60.00      1.00      1.00      0.99      0.99      0.99     ERROR
  Got 48 SFs in 0.001 seconds
  Caught 8 error(s):
    RuntimeError: 'Index above bounds in Binning for input argument 0 value: 2.400000'
    RuntimeError: 'Index above bounds in Binning for input argument 0 value: 2.400000'

   ####################
   #  muonSFs (ROOT)  #
   ####################

Initializing MuonSF object for era='2022pre'...
ScaleFactor.gethist(mu_trig): xmin=15.0, xmax=200.0, ymin=0.0, ymax=2.4, ptvseta=False
ScaleFactor.gethist(mu_id): xmin=10.0, xmax=200.0, ymin=0.0, ymax=2.4, ptvseta=False
ScaleFactor.gethist(mu_iso): xmin=10.0, xmax=200.0, ymin=0.0, ymax=2.4, ptvseta=False
Loading MuonSF for /afs/cern.ch/user/i/ineuteli/analysis/CMSSW_12_4_8_hackathon/src/TauFW/PicoProducer/data/lepton/MuonPOG/Run2022preEE/muon_SFs_2022_preEE.root, /afs/cern.ch/user/i/ineuteli/analysis/CMSSW_12_4_8_hackathon/src/TauFW/PicoProducer/data/lepton/MuonPOG/Run2022preEE/muon_SFs_2022_preEE.root, /afs/cern.ch/user/i/ineuteli/analysis/CMSSW_12_4_8_hackathon/src/TauFW/PicoProducer/data/lepton/MuonPOG/Run2022preEE/muon_SFs_2022_preEE.root
  Initialized in 0.4 seconds
  trigger:
      pt\eta      0.00      0.50      1.10      1.90      2.30      2.40
       25.00      0.96      0.96      0.97      0.93      0.81      0.81
       26.00      0.98      0.98      0.95      0.93      0.80      0.80
       27.00      0.97      0.97      0.96      0.94      0.86      0.86
       34.00      0.98      0.98      0.97      0.95      0.87      0.87
       35.00      0.98      0.98      0.97      0.96      0.89      0.89
       36.00      0.98      0.98      0.97      0.96      0.89      0.89
       40.00      0.98      0.98      0.97      0.96      0.90      0.90
       60.00      0.97      0.97      0.96      0.96      0.91      0.91
  Got 48 SFs in 0.009 seconds

  idiso:
      pt\eta      0.00      0.50      1.10      1.90      2.30      2.40
       25.00      0.98      0.98      0.97      0.97      0.97      0.97
       26.00      0.98      0.98      0.97      0.97      0.97      0.97
       27.00      0.98      0.98      0.97      0.97      0.97      0.97
       34.00      0.97      0.97      0.96      0.97      0.97      0.97
       35.00      0.99      0.99      0.98      0.98      0.97      0.97
       36.00      0.99      0.99      0.98      0.98      0.97      0.97
       40.00      0.99      0.99      0.98      0.98      0.98      0.98
       60.00      0.99      0.99      0.99      0.99      0.98      0.98
  Got 48 SFs in 0.001 seconds

Done after 6.7 seconds

   ####################
   #  muonSFs (JSON)  #
   ####################

Initializing MuonSF object for era='2022post'...
Loading MuonSF for era='2022post', id='NUM_MediumID_DEN_TrackerMuons', iso='NUM_MediumID_DEN_TrackerMuons', trig='NUM_IsoMu24_DEN_CutBasedIdTight_and_PFIsoTight' from /afs/cern.ch/user/i/ineuteli/analysis/CMSSW_12_4_8_hackathon/src/TauFW/PicoProducer/data/jsonpog/POG/MUO/2022_Summer22EE/muon_Z.json.gz...
  Initialized in 0.0 seconds
  trigger:
      pt\eta      0.00      0.50      1.10      1.90      2.30      2.40
       25.00     ERROR     ERROR     ERROR     ERROR     ERROR     ERROR
       26.00      0.96      0.96      0.96      0.97      0.98     ERROR
       27.00      0.96      0.96      0.96      0.97      0.98     ERROR
       34.00      0.97      0.97      0.97      0.97      0.97     ERROR
       35.00      0.97      0.97      0.97      0.97      0.97     ERROR
       36.00      0.97      0.97      0.97      0.97      0.97     ERROR
       40.00      0.97      0.97      0.97      0.97      0.97     ERROR
       60.00      0.97      0.97      0.97      0.98      0.96     ERROR
  Got 48 SFs in 0.001 seconds
  Caught 13 error(s):
    RuntimeError: "\x1b[31mMuonSF.getTriggerSF: Caught 'Index below bounds in Binning for input argument 1 value: 25.000000' for (pt,eta,syst)=(25.0,0.0,None)!Please review MuonPOG's recommendations and check your cuts...\x1b[0m"
    RuntimeError: "\x1b[31mMuonSF.getTriggerSF: Caught 'Index below bounds in Binning for input argument 1 value: 25.000000' for (pt,eta,syst)=(25.0,0.5,None)!Please review MuonPOG's recommendations and check your cuts...\x1b[0m"

  idiso:
      pt\eta      0.00      0.50      1.10      1.90      2.30      2.40
       25.00      0.88      0.88      0.82      0.95      0.97     ERROR
       26.00      0.88      0.88      0.82      0.95      0.97     ERROR
       27.00      0.88      0.88      0.82      0.95      0.97     ERROR
       34.00      0.91      0.91      0.87      0.96      0.96     ERROR
       35.00      0.91      0.91      0.87      0.96      0.96     ERROR
       36.00      0.91      0.91      0.87      0.96      0.96     ERROR
       40.00      0.94      0.94      0.91      0.97      0.96     ERROR
       60.00      0.98      0.98      0.97      0.97      0.96     ERROR
  Got 48 SFs in 0.000 seconds
  Caught 8 error(s):
    RuntimeError: 'Index above bounds in Binning for input argument 0 value: 2.400000'
    RuntimeError: 'Index above bounds in Binning for input argument 0 value: 2.400000'

   ####################
   #  muonSFs (ROOT)  #
   ####################

Initializing MuonSF object for era='2022post'...
ScaleFactor.gethist(mu_trig): xmin=15.0, xmax=200.0, ymin=0.0, ymax=2.4, ptvseta=False
ScaleFactor.gethist(mu_id): xmin=10.0, xmax=200.0, ymin=0.0, ymax=2.4, ptvseta=False
ScaleFactor.gethist(mu_iso): xmin=10.0, xmax=200.0, ymin=0.0, ymax=2.4, ptvseta=False
Loading MuonSF for /afs/cern.ch/user/i/ineuteli/analysis/CMSSW_12_4_8_hackathon/src/TauFW/PicoProducer/data/lepton/MuonPOG/Run2022postEE/muon_SFs_2022_postEE.root, /afs/cern.ch/user/i/ineuteli/analysis/CMSSW_12_4_8_hackathon/src/TauFW/PicoProducer/data/lepton/MuonPOG/Run2022postEE/muon_SFs_2022_postEE.root, /afs/cern.ch/user/i/ineuteli/analysis/CMSSW_12_4_8_hackathon/src/TauFW/PicoProducer/data/lepton/MuonPOG/Run2022postEE/muon_SFs_2022_postEE.root
  Initialized in 0.5 seconds
  trigger:
      pt\eta      0.00      0.50      1.10      1.90      2.30      2.40
       25.00      0.95      0.95      0.95      0.97      0.97      0.97
       26.00      0.95      0.95      0.95      0.97      0.97      0.97
       27.00      0.96      0.96      0.95      0.96      0.97      0.97
       34.00      0.97      0.97      0.97      0.98      0.96      0.96
       35.00      0.97      0.97      0.97      0.97      0.97      0.97
       36.00      0.97      0.97      0.97      0.97      0.97      0.97
       40.00      0.97      0.97      0.97      0.97      0.96      0.96
       60.00      0.97      0.97      0.97      0.97      0.96      0.96
  Got 48 SFs in 0.010 seconds

  idiso:
      pt\eta      0.00      0.50      1.10      1.90      2.30      2.40
       25.00      0.85      0.85      0.82      0.95      0.95      0.95
       26.00      0.85      0.85      0.82      0.95      0.95      0.95
       27.00      0.85      0.85      0.82      0.95      0.95      0.95
       34.00      0.90      0.90      0.86      0.96      0.96      0.96
       35.00      0.92      0.92      0.88      0.96      0.95      0.95
       36.00      0.92      0.92      0.88      0.96      0.95      0.95
       40.00      0.94      0.94      0.90      0.96      0.96      0.96
       60.00      0.98      0.98      0.96      0.98      0.95      0.95
  Got 48 SFs in 0.001 seconds

Done after 5.9 seconds

   ####################
   #  muonSFs (JSON)  #
   ####################

Initializing MuonSF object for era='2023C'...
Loading MuonSF for era='2023C', id='NUM_MediumID_DEN_TrackerMuons', iso='NUM_MediumID_DEN_TrackerMuons', trig='NUM_IsoMu24_DEN_CutBasedIdTight_and_PFIsoTight' from /afs/cern.ch/user/i/ineuteli/analysis/CMSSW_12_4_8_hackathon/src/TauFW/PicoProducer/data/jsonpog/POG/MUO/2023_Summer23/muon_Z.json.gz...
  Initialized in 0.2 seconds
  trigger:
      pt\eta      0.00      0.50      1.10      1.90      2.30      2.40
       25.00     ERROR     ERROR     ERROR     ERROR     ERROR     ERROR
       26.00      0.96      0.96      0.99      0.99      0.95     ERROR
       27.00      0.96      0.96      0.99      0.99      0.95     ERROR
       34.00      0.97      0.97      0.98      1.00      0.98     ERROR
       35.00      0.97      0.97      0.98      1.00      0.98     ERROR
       36.00      0.97      0.97      0.98      1.00      0.98     ERROR
       40.00      0.97      0.97      0.98      1.00      0.99     ERROR
       60.00      0.97      0.97      0.98      1.00      1.00     ERROR
  Got 48 SFs in 0.001 seconds
  Caught 13 error(s):
    RuntimeError: "\x1b[31mMuonSF.getTriggerSF: Caught 'Index below bounds in Binning for input argument 1 value: 25.000000' for (pt,eta,syst)=(25.0,0.0,None)!Please review MuonPOG's recommendations and check your cuts...\x1b[0m"
    RuntimeError: "\x1b[31mMuonSF.getTriggerSF: Caught 'Index below bounds in Binning for input argument 1 value: 25.000000' for (pt,eta,syst)=(25.0,0.5,None)!Please review MuonPOG's recommendations and check your cuts...\x1b[0m"

  idiso:
      pt\eta      0.00      0.50      1.10      1.90      2.30      2.40
       25.00      1.01      1.01      1.02      1.00      0.99     ERROR
       26.00      1.01      1.01      1.02      1.00      0.99     ERROR
       27.00      1.01      1.01      1.02      1.00      0.99     ERROR
       34.00      1.00      1.01      1.01      1.00      0.99     ERROR
       35.00      1.00      1.01      1.01      1.00      0.99     ERROR
       36.00      1.00      1.01      1.01      1.00      0.99     ERROR
       40.00      1.00      1.00      1.00      0.99      0.98     ERROR
       60.00      0.99      1.00      1.00      0.99      0.97     ERROR
  Got 48 SFs in 0.000 seconds
  Caught 8 error(s):
    RuntimeError: 'Index above bounds in Binning for input argument 0 value: 2.400000'
    RuntimeError: 'Index above bounds in Binning for input argument 0 value: 2.400000'

   ####################
   #  muonSFs (JSON)  #
   ####################

Initializing MuonSF object for era='2023D'...
Loading MuonSF for era='2023D', id='NUM_MediumID_DEN_TrackerMuons', iso='NUM_MediumID_DEN_TrackerMuons', trig='NUM_IsoMu24_DEN_CutBasedIdTight_and_PFIsoTight' from /afs/cern.ch/user/i/ineuteli/analysis/CMSSW_12_4_8_hackathon/src/TauFW/PicoProducer/data/jsonpog/POG/MUO/2023_Summer23BPix/muon_Z.json.gz...
  Initialized in 0.1 seconds
  trigger:
      pt\eta      0.00      0.50      1.10      1.90      2.30      2.40
       25.00     ERROR     ERROR     ERROR     ERROR     ERROR     ERROR
       26.00      0.96      0.96      0.98      1.00      0.98     ERROR
       27.00      0.96      0.96      0.98      1.00      0.98     ERROR
       34.00      0.97      0.97      0.98      1.00      1.00     ERROR
       35.00      0.97      0.97      0.98      1.00      1.00     ERROR
       36.00      0.97      0.97      0.98      1.00      1.00     ERROR
       40.00      0.97      0.97      0.98      1.00      1.00     ERROR
       60.00      0.97      0.97      0.98      1.00      1.01     ERROR
  Got 48 SFs in 0.001 seconds
  Caught 13 error(s):
    RuntimeError: "\x1b[31mMuonSF.getTriggerSF: Caught 'Index below bounds in Binning for input argument 1 value: 25.000000' for (pt,eta,syst)=(25.0,0.0,None)!Please review MuonPOG's recommendations and check your cuts...\x1b[0m"
    RuntimeError: "\x1b[31mMuonSF.getTriggerSF: Caught 'Index below bounds in Binning for input argument 1 value: 25.000000' for (pt,eta,syst)=(25.0,0.5,None)!Please review MuonPOG's recommendations and check your cuts...\x1b[0m"

  idiso:
      pt\eta      0.00      0.50      1.10      1.90      2.30      2.40
       25.00      1.02      1.02      1.03      1.02      1.00     ERROR
       26.00      1.02      1.02      1.03      1.02      1.00     ERROR
       27.00      1.02      1.02      1.03      1.02      1.00     ERROR
       34.00      1.01      1.01      1.01      1.01      1.00     ERROR
       35.00      1.01      1.01      1.01      1.01      1.00     ERROR
       36.00      1.01      1.01      1.01      1.01      1.00     ERROR
       40.00      1.00      1.00      1.00      1.00      0.99     ERROR
       60.00      1.00      1.00      1.00      1.00      0.99     ERROR
  Got 48 SFs in 0.000 seconds
  Caught 8 error(s):
    RuntimeError: 'Index above bounds in Binning for input argument 0 value: 2.400000'
    RuntimeError: 'Index above bounds in Binning for input argument 0 value: 2.400000'
IzaakWN commented 2 months ago

Thank you @pmastrap for testing!

For the record: @pmastrap had an error caused by a conflict coming from a local correctionlib installation in ~/.local/bin. The solution was to remove the local installation that she did not need anymore:

-bash-4.2$ python3 -c 'import correctionlib; from correctionlib import CorrectionSet'
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "~/.local/lib/python3.9/site-packages/correctionlib/__init__.py", line 17, in <module>
    from .highlevel import Correction, CorrectionSet
  File "~/.local/lib/python3.9/site-packages/correctionlib/highlevel.py", line 10, in <module>
    import correctionlib._core
ImportError: /cvmfs/cms.cern.ch/slc7_amd64_gcc10/external/gcc/10.3.0-84898dea653199466402e67d73657f10/lib64/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by ~/.local/lib/python3.9/site-packages/correctionlib/_core.cpython-39-x86_64-linux-gnu.so)