This page documents the ntuple generation code stored in the
L1T repo.
Code Availability
The code is available in (pre-)releases since 800pre6. it is recommended to use the latest l1t-integration-vX.Y tag, please see here :
https://twiki.cern.ch/twiki/bin/view/CMSPublic/SWGuideL1TOfflineDev#Status_of_Integration
Ntuple content
Output files may contain the following trees :
TTree |
Content |
Collections |
Workflow |
l1Tree |
Legacy L1 hardware level quantities (discontinued!) |
|
RAW |
l1EventTree |
run #, event #, lumiSection#, bx, etc. |
|
RAW |
l1ExtraTree |
Legacy L1Extra final trigger objects |
l1extraParticles |
RAW |
l1UpgradeTree |
Upgrade trigger final objects |
caloStage2Digis, gmtStage2Digis |
RAW |
l1CaloTowerTree |
Calo trigger primitives and L1 towers |
ecalDigis, hcalDigis, caloStage2Digis |
RAW |
jetRecoTree |
Offline reco PF jets*, PF MET, HT** |
ak4PFJetsCHS, pfMet |
AOD |
electronRecoTree |
Offline reco electrons |
gedGsfElectrons |
AOD |
tauRecoTree |
Offline reco taus |
hpsPFTauProducer |
AOD |
muonRecoTree |
Offline reco muons |
muons |
AOD |
genTree |
Generator info and MC PU information |
|
GEN |
* Jets are corrected using ak4PFCHSL1FastL2L3ResidualCorrector, or ak4PFCHSL1FastL2L3Corrector when run in MC workflows
** HT, MHT calculated on-the-fly using corrected jets with pT>30
GeV and |eta|<3.0
In addition, the following trees have the same format as their corresponding trees above, but the content is emulated :
TTree |
Content |
Workflow |
l1UpgradeEmuTree |
Upgrade trigger final objects |
EMU |
l1CaloTowerEmuTree |
Calo trigger primitives and L1 towers |
EMU |
Ntuple production
The ntuple producer sequences are designed to be added to a cmsDriver job using customisations defined in
L1Trigger /L1TNtuples/python/customiseL1Ntuple.py. Specifically :
L1Trigger/L1TNtuples/customiseL1Ntuple.L1NtupleRAW
L1Trigger/L1TNtuples/customiseL1Ntuple.L1NtupleEMU
L1Trigger/L1TNtuples/customiseL1Ntuple.L1NtupleAOD
L1Trigger/L1TNtuples/customiseL1Ntuple.L1NtupleAODMC
L1Trigger/L1TNtuples/customiseL1Ntuple.L1NtupleGEN
These customisations can be combined as desired. The following combinations are already provided :
L1Trigger /L1TNtuples/customiseL1Ntuple.L1NtupleRAWEMU
L1Trigger /L1TNtuples/customiseL1Ntuple.L1NtupleAODRAW_(MC)
L1Trigger /L1TNtuples/customiseL1Ntuple.L1NtupleAODEMU_(MC)
L1Trigger /L1TNtuples/customiseL1Ntuple.L1NtupleAODRAWEMU(_MC)
L1Trigger /L1TNtuples/customiseL1Ntuple.L1NtupleEMUGEN_MC
L1Trigger /L1TNtuples/customiseL1Ntuple.L1NtupleAODEMUGEN_MC
If you are running on MC, make sure to use the customisation with _MC suffix. In particular, this selects the correct reco sequence, which in turn selects the correct offline jet calibration.
For example :
cmsDriver.py rawNtuple -s RAW2DIGI,L1Reco --customise=L1Trigger/L1TNtuples/customiseL1Ntuple.L1NtupleRAW --conditions=GR_P_V56 --no_output -n 100 --filein='/store/data/Run2015A/MinimumBias/RAW/v1/000/246/877/00000/C0C2019B-B809-E511-BB0B-02163E01184D.root'
In order to use the EMU workflows with
on the fly trigger emulation, make sure to put the emulator customisation
before the ntuple customisation.
--
JimBrooke - 2015-06-10