How-to: HI L1 Trigger Emulation Setup in CMSSW
Complete:
Goal of this page
This page explains how to set and run the L1 emulation on HI events on RAW data (real data or MC). For a general description of the CMS L1 trigger look in the CMSSW SW guide
here.
Instructions
Set the workspace for running the L1 emulator and creating L1 trigger TNtuple
1. Copy /afs/cern.ch/user/g/guiducci/public/rerunL1 in your local area
2. source setup_l1ntuple.sh CMSSW_4_4_0_pre8 (will get CMSSW with L1Ntuple and L1Trigger/Configuration stuff)
3. cmsRun l1EmulatorFromRaw_RAW2DIGI_L1_L1Ntuple.py (will produce the Ntuple)
Make tuples from the original trigger products (without doing a re-emulation of the L1)
- assuming you are running over RAW data you have to ran the raw2digi step, as the trigger digis are needed.
One has to change in the l1EmulatorFromRaw_RAW2DIGI_L1_L1Ntuple.py above:
A) process.l1NtupleProducer.gtSource = cms.InputTag("gtDigis")
B) process.l1NtupleProducer.gmtSource = cms.InputTag("gtDigis")
C) process.schedule = cms.Schedule(process.raw2digi_step,process.L1Ntuple_step,process.endjob_step)
Run L1 emulator + HLT + openhlt analysis on Data
cd CMSSW_4_4_0/src
cvs co UserCode/CmsHi/HiHLTAlgos/scripts/setupL1HLT44X.sh
./UserCode/CmsHi/HiHLTAlgos/scripts/setupL1HLT44X.sh
cmsRun CmsHi/HiHLTAlgos/test/l1EmulatorFromRaw_RAW2DIGI_L1HLTJet.py
Global tags to be used
See
Global tag explanations - HN HI
Example to work on the ntuples
Produce the raw comparisons between different L1 trigger variables from the 2 files: compare.py
python compare.py ntuple1.root ntuple2.root
Fill trigger bit occupancy histograms: trigerbits.C
start root: type l1analysis.sh
then:
root [1] .L trigbits.C+
root [2] trigbits b("mytree.root")
root [3] b.run(-1)
HowTo's/WhereAre's
What 'cuts' are included in a certain L1 path
- start on the page with available trigger menus here
- click on the
Link
- in the
Summary
, follow the second bullet, for the HTML view
of physics algorithms and scales: the page with all available triggers and the bits assigned to them opens
- clicking on one trigger will point you to the definition of each trigger;
- for phi/eta coverage (the green boxes), if you move the cursor over them it will tell you what eta/phi they correspond to
Use L1 menu from XML file
- check-out package:
addpkg L1TriggerConfig/L1GtConfigProducers
- copy the xml file with the L1 menu to directory
L1TriggerConfig/L1GtConfigProducers/data/Luminosity/startup
- check-out package:
addpkg L1Trigger/Configuration/python
- edit
L1Trigger_custom.py
(cvs
) and change customiseL1Menu(process):
-
l1MenuSource='xmlFile'
- put the name of the new menu in
useXmlFile = 'nameOfL1menu.xml'
- in the config file you are running, add these 2 lines:
Run the L1 re-emulation for muons (CMSSW_44x)
- due to no proper emulation of the CSC trigger primitives in combination with the CSCTF, one has to use the 'old primitives' and re-emulate just the tracking part;
- the PTLUT changed this year with respect to last year, so we have to change back
- so to set all these, one has to:
cvs co -r HEAD L1Trigger/Configuration/pyhon
cp /afs/cern.ch/user/m/mironov/public/dragosh/L1Trigger_custom.py L1Trigger/Configuration/pyhon/
"2012 L1 HI menu for the pPb run": development area
The starting point is L1Menu_Collisions2012_v2, the L1 menu used in pp and also recent pilot pPb run. The red ones are the proposed new bits to be implemented.
Muon algorithm triggers
Cross algorithm triggers
Minimum bias and background triggers
Trigger bits marked by "*" are REQUESTED as new bits!
AlgoTrig Name |
AlgoTrig Alias |
Meaning |
Prescale status |
Seed for HLT path(s) |
Expected rate |
L1_ZeroBias |
L1_ZeroBias |
Bptx coinc. |
|
|
|
L1_BptxMinus_NotBptxPlus* |
L1_BptxMinus_NotBptxPlus* |
(Bptx minus) and (not Bptx plus) |
|
|
|
L1_BptxPlus_NotBptxMinus* |
L1_BptxPlus_NotBptxMinus* |
(Bptx plus) and (not Bptx minus) |
|
|
|
L1_HcalHfCoincidencePm_BptxAND* |
L1_HcalHfCoincidencePm_BptxAND* |
(Bptx coinc.) and (TT9: HF coinc) |
|
|
|
L1_HcalHfSingleChannel_BptxAND* |
L1_HcalHfSingleChannel_BptxAND* |
(Bptx coinc.) and (TT8: HF OR) |
|
|
|
L1_BscMinBiasThreshold1_BptxAND* |
L1_BscMinBiasThreshold1_BptxAND* |
(Bptx coinc.) and (TT40: BSC coinc 1?) |
|
|
|
L1_BscMinBiasThreshold2_BptxAND* |
L1_BscMinBiasThreshold2_BptxAND* |
(Bptx coinc.) and (TT41: BSC coinc 2?) |
|
|
|
L1_BscMinBiasOR_BptxAND* |
L1_BscMinBiasOR_BptxAND* |
(Bptx coinc.) and (TT34: BSC OR?) |
|
|
|
L1_BscHighMultiplicity_BptxAND* |
L1_BscHighMultiplicity_BptxAND* |
(Bptx coinc.) and (TT35: BSC high mult.?) |
|
|
|
"2011 L1 HI menu": development area
- create here the list of triggers to go in the 2011 HI L1 menu; i start from GlobalTriggerMenu_L1Menu_Collisions2011_v5 (last pp menu), found here here
- taken out some triggers that we know for sure we won't use:
the jet and EG L1 settings do not really matter.
All jet and EG L1 triggers are essentially min bias triggers in HI
since there is ET all over the place.
For jets any threshold near ~20 ~30 ~50 will do, and for EG we just need the EG5 (~ish)
For muons we need:
SingleMuOpen SingleMu0 SingleMu3
DoubleMuOpen, DoubleMu0, DoubleMu3
The special HI min bias triggers from last year:
Everything with BSC, HF or ZDC in the name.
We need the ETT triggers 30 60 and the highest possible number 4TeV?
For UPC's we need:
(ZDC_plus OR ZDC_minus) AND !(BSC_Threshold1) AND SingleMuOpen
and
(ZDC_plus OR ZDC_minus) AND !(BSC_Threshold1) AND SingleEG2
Everything with Tau Tripple or Iso in the name can go.
Also all Cross triggers can go.
Jet algorithm triggers
AlgoTrig Name |
AlgoTrig Alias |
Prescale status |
Seed for HLT path(s) |
Expected rate |
L1_DoubleForJet32_EtaOpp |
L1_DoubleForJet32_EtaOpp |
|
|
|
L1_DoubleForJet44_EtaOpp |
L1_DoubleForJet44_EtaOpp |
|
|
|
L1_DoubleJet36_Central |
L1_DoubleJet36_Central |
|
|
|
L1_DoubleJet44_Central |
L1_DoubleJet44_Central |
|
|
|
L1_DoubleJet52 |
L1_DoubleJet52 |
|
|
|
L1_DoubleJet52_Central |
L1_DoubleJet52_Central |
|
|
|
L1_DoubleJet64_Central |
L1_DoubleJet64_Central |
|
|
|
L1_SingleJet128 |
L1_SingleJet128 |
|
|
|
L1_SingleJet16 |
L1_SingleJet16 |
|
|
|
L1_SingleJet36_BptxAND |
L1_SingleJet36_BptxAND |
|
|
|
L1_SingleJet52_BptxAND |
L1_SingleJet52_BptxAND |
|
|
|
L1_SingleJet52_Central_BptxAND |
L1_SingleJet52_Central_BptxAND |
|
|
|
L1_SingleJet68_BptxAND |
L1_SingleJet68_BptxAND |
|
|
|
L1_SingleJet80_Central |
L1_SingleJet80_Central |
|
|
|
L1_SingleJet92 |
L1_SingleJet92 |
|
|
|
L1_SingleJet92_Central |
L1_SingleJet92_Central |
|
|
|
Jet algorithm triggers: 16 bits defined.
EGamma algorithm triggers
AlgoTrig Name |
AlgoTrig Alias |
Prescale status |
Seed for HLT path(s) |
Expected rate |
L1_DoubleEG10 |
L1_DoubleEG10 |
|
|
|
L1_DoubleEG3 |
L1_DoubleEG3 |
|
|
|
L1_DoubleEG5_BptxAND |
L1_DoubleEG5_BptxAND |
|
|
|
L1_DoubleEG8_BptxAND |
L1_DoubleEG8_BptxAND |
|
|
|
L1_SingleEG12 |
L1_SingleEG12 |
|
|
|
L1_SingleEG15 |
L1_SingleEG15 |
|
|
|
L1_SingleEG18 |
L1_SingleEG18 |
|
|
|
L1_SingleEG20 |
L1_SingleEG20 |
|
|
|
L1_SingleEG22 |
L1_SingleEG22 |
|
|
|
L1_SingleEG30 |
L1_SingleEG30 |
|
|
|
L1_SingleEG2_BptxAND |
L1_SingleEG2_BptxAND |
|
|
|
L1_SingleEG5_BptxAND |
L1_SingleEG5_BptxAND |
|
|
|
L1_SingleEG8_BptxAND |
L1_SingleEG8_BptxAND |
|
|
|
EGamma algorithm triggers: 13 bits defined.
Energy sum algorithm triggers
Energy sum algorithm triggers: 6 bits defined.
Muon algorithm triggers
AlgoTrig Name |
AlgoTrig Alias |
Prescale status |
Seed for HLT path(s) |
Expected rate |
L1_DoubleMuOpen_BptxAND |
L1_DoubleMuOpen_BptxAND |
|
|
|
L1_DoubleMu3_BptxAND |
L1_DoubleMu3_BptxAND |
|
|
|
L1_SingleMuOpen_BptxAND |
L1_SingleMuOpen_BptxAND |
|
|
|
L1_SingleMu0_BptxAND |
L1_SingleMu0 |
|
|
|
L1_SingleMu3_BptxAND |
L1_SingleMu3_BptxAND |
|
|
|
L1_SingleMu5_BptxAND |
L1_SingleMu5_BptxAND |
|
|
|
L1_SingleMu7 |
L1_SingleMu7 |
|
|
|
L1_SingleMu10 |
L1_SingleMu10 |
|
|
|
L1_SingleMu14 |
L1_SingleMu14 |
|
|
|
L1_SingleMu20 |
L1_SingleMu20 |
|
|
|
L1_SingleMuBeamHalo |
L1_SingleMuBeamHalo |
|
|
|
Muon algorithm triggers: 11 bits defined.
Background algorithm triggers
AlgoTrig Name |
AlgoTrig Alias |
Prescale status |
Seed for HLT path(s) |
Expected rate |
L1_ZeroBias_Ext |
|
|
|
|
L1_BscMinBiasOR_BptxAND |
|
|
|
|
L1_BscMinBiasInnerThreshold1_BptxAND |
|
|
|
|
L1_BscMinBiasInnerThreshold2_BptxAND |
|
|
|
|
L1_BscMinBiasThreshold1_BptxAND |
|
|
|
|
L1_BscMinBiasThreshold2_BptxAND |
|
|
|
|
L1_NotBsc2_BscMinBiasOR |
|
|
|
|
L1_NotBsc2_BscMinBiasInnerThreshold1 |
|
|
|
|
L1_DoubleHfBitCountsRing1_P1N1 |
|
|
|
|
L1_DoubleHfBitCountsRing2_P1N1 |
|
|
|
|
L1_DoubleHfRingEtSumsRing1_P4N4 |
|
|
|
|
L1_DoubleHfRingEtSumsRing1_P200N200 |
|
|
|
|
L1_DoubleHfRingEtSumsRing2_P4N4 |
|
|
|
|
L1_DoubleHfRingEtSumsRing2_P200N200 |
|
|
|
|
L1_NotBsc2_BscMinBiasInnerThreshold2 |
|
|
|
|
L1_NotBsc2_BscMinBiasThreshold1 |
|
|
|
|
L1_NotBsc2_BscMinBiasThreshold2 |
|
|
|
|
L1_NotBsc2_BptxAND_BscMinBiasOR |
|
|
|
|
L1_NotBsc2_BptxAND_BscMinBiasInnerThreshold1 |
|
|
|
|
L1_NotBsc2_BptxAND_BscMinBiasInnerThreshold2 |
|
|
|
|
L1_NotBsc2_BptxAND_BscMinBiasThreshold1 |
|
|
|
|
L1_NotBsc2_BptxAND_BscMinBiasThreshold2 |
|
|
|
|
L1_ZdcScintTightVertex_BptxAND |
|
|
|
|
L1_ZdcScintLooseVertex_BptxAND |
|
|
|
|
L1_BscMinBiasThreshold1 |
|
|
|
|
L1_ZdcCaloPlus |
|
|
|
|
L1_ZdcCaloMinus |
|
|
|
|
L1_ZdcCaloPlus_BptxAND |
|
|
|
|
L1_ZdcCaloMinus_BptxAND |
|
|
|
|
L1_ZdcCaloPlus_ZdcCaloMinus_BptxAND |
|
|
|
|
L1_HcalHfMmOrPpOrPm |
|
|
|
|
L1_HcalHfCoincidencePm |
|
|
|
|
L1_HcalHfMmpOrMpp |
|
|
|
|
L1_HcalHoTotalOR |
|
|
|
|
L1_ZdcCaloPlus_ZdcCaloMinus |
|
|
|
|
L1_NotBsc2_BptxAND_HcalHfCoincPmORBscMinBiasThresh1 |
|
|
|
|
L1_NotBsc2_BptxAND_HcalHfMmOrPpOrPm |
|
|
|
|
L1_NotBsc2_BptxAND_HcalHfCoincidencePm |
|
|
|
|
L1_NotBsc2_BptxAND_HcalHfMmpOrMpp |
|
|
|
|
L1_BptxMinus |
|
|
|
|
L1_BptxPlus |
|
|
|
|
L1_BptxPlusORMinus |
|
|
|
|
L1_BptxPlus_NotBptxMinus |
|
|
|
|
L1_BptxMinus_NotBptxPlus |
|
|
|
|
L1_BptxXOR_BscMinBiasOR |
|
|
|
|
L1_NotBsc2_HcalHfMmOrPpOrPm |
|
|
|
|
L1_NotBsc2_HcalHfCoincidencePm |
|
|
|
|
L1_NotBsc2_HcalHfMmpOrMpp |
|
|
|
|
L1_HcalHfMmOrPpOrPm_BptxAND |
|
|
|
|
L1_HcalHfCoincidencePm_BptxAND |
|
|
|
|
L1_HcalHfMmpOrMpp_BptxAND |
|
|
|
|
L1_Bsc2Plus_BptxPlus |
|
|
|
|
L1_Bsc2Minus_BptxMinus |
|
|
|
|
L1_BscMinBiasInnerThreshold1 |
|
|
|
|
L1_BptxPlusANDMinus |
|
|
|
|
L1_BptxPlusORMinus_instance1 |
|
|
|
|
L1_BptxXOR |
|
|
|
|
L1_BscMinBiasOR_BptxPlusORMinus |
|
|
|
|
L1_HcalHfCoincPmORBscMinBiasThresh1_BptxAND |
|
|
|
|
L1_HcalHfCoincPmORBscMinBiasThresh2_BptxAND |
|
|
|
|
Background algorithm triggers: 60 bits defined.
UPC trigger
AlgoTrig Name |
AlgoTrig Alias |
Prescale status |
Seed for HLT path(s) |
Expected rate |
(L1_ZdcCaloPlus_BptxAND OR L1_ZdcCaloMinus_BptxAND)&& (NOT L1_BscMinBiasThreshold2))&&L1_SingleMuOpen |
L1_UPCNeutMu_BscMinBiasThreshold2 |
|
|
(L1_ZdcCaloPlus_BptxAND OR L1_ZdcCaloMinus_BptxAND)&& (NOT L1_BscMinBiasThreshold2))&&L1_SingleEG2 |
L1_UPCNeutEG2_BscMinBiasThreshold2 |
|
|
(L1_ZdcCaloPlus_BptxAND OR L1_ZdcCaloMinus_BptxAND)&& (NOT L1_HcalHfCoincidencePm_BptxAND))&&L1_SingleMuOpen |
L1_UPCNeutMu_HcalHfCoincidencePm |
|
|
|
(L1_ZdcCaloPlus_BptxAND OR L1_ZdcCaloMinus_BptxAND)&& (NOT L1_HcalHfCoincidencePm_BptxAND))&&L1_SingleEG2 |
L1_UPCNeutEG2_HcalHfCoincidencePm |
|
|
|
UPC algorithm triggers: 4 bits defined.
First year L1 menu:

--
CameliaMironov - 26-Aug-2011