CMS 3D CMS Logo

triggerObjects_cff.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
4 import copy
5 
6 unpackedPatTrigger = cms.EDProducer("PATTriggerObjectStandAloneUnpacker",
7  patTriggerObjectsStandAlone = cms.InputTag('slimmedPatTrigger'),
8  triggerResults = cms.InputTag('TriggerResults::HLT'),
9  unpackFilterLabels = cms.bool(True)
10 )
11 # ERA-dependent configuration
12 run2_miniAOD_80XLegacy.toModify(
13  unpackedPatTrigger,
14  patTriggerObjectsStandAlone = "selectedPatTrigger",
15  unpackFilterLabels = False
16 )
17 
18 triggerObjectTable = cms.EDProducer("TriggerObjectTableProducer",
19  name= cms.string("TrigObj"),
20  src = cms.InputTag("unpackedPatTrigger"),
21  l1EG = cms.InputTag("caloStage2Digis","EGamma"),
22  l1Sum = cms.InputTag("caloStage2Digis","EtSum"),
23  l1Jet = cms.InputTag("caloStage2Digis","Jet"),
24  l1Muon = cms.InputTag("gmtStage2Digis","Muon"),
25  l1Tau = cms.InputTag("caloStage2Digis","Tau"),
26  selections = cms.VPSet(
27  cms.PSet(
28  name = cms.string("Electron (PixelMatched e/gamma)"), # this selects also photons for the moment!
29  id = cms.int32(11),
30  sel = cms.string("type(92) && pt > 7 && coll('hltEgammaCandidates') && filter('*PixelMatchFilter')"),
31  l1seed = cms.string("type(-98)"), l1deltaR = cms.double(0.3),
32  #l2seed = cms.string("type(92) && coll('')"), l2deltaR = cms.double(0.5),
33  skipObjectsNotPassingQualityBits = cms.bool(True),
34  qualityBits = cms.string(
35  "filter('*CaloIdLTrackIdLIsoVL*TrackIso*Filter') + " \
36  "2*filter('hltEle*WPTight*TrackIsoFilter*') + " \
37  "4*filter('hltEle*WPLoose*TrackIsoFilter') + " \
38  "8*filter('*OverlapFilter*IsoEle*PFTau*') + " \
39  "16*filter('hltEle*Ele*CaloIdLTrackIdLIsoVL*Filter') + " \
40  "32*filter('hltMu*TrkIsoVVL*Ele*CaloIdLTrackIdLIsoVL*Filter*') + " \
41  "64*filter('hlt*OverlapFilterIsoEle*PFTau*') + " \
42  "128*filter('hltEle*Ele*Ele*CaloIdLTrackIdLDphiLeg*Filter') + " \
43  "256*max(filter('hltL3fL1Mu*DoubleEG*Filtered*'),filter('hltMu*DiEle*CaloIdLTrackIdLElectronleg*Filter')) + " \
44  "512*max(filter('hltL3fL1DoubleMu*EG*Filter*'),filter('hltDiMu*Ele*CaloIdLTrackIdLElectronleg*Filter')) + " \
45  "1024*min(filter('hltEle32L1DoubleEGWPTightGsfTrackIsoFilter'),filter('hltEGL1SingleEGOrFilter')) + " \
46  "2048*filter('hltEle*CaloIdVTGsfTrkIdTGsfDphiFilter') + " \
47  "4096*path('HLT_Ele*PFJet*') + " \
48  "8192*max(filter('hltEG175HEFilter'),filter('hltEG200HEFilter'))"),
49  qualityBitsDoc = cms.string("1 = CaloIdL_TrackIdL_IsoVL, 2 = 1e (WPTight), 4 = 1e (WPLoose), 8 = OverlapFilter PFTau, 16 = 2e, 32 = 1e-1mu, 64 = 1e-1tau, 128 = 3e, 256 = 2e-1mu, 512 = 1e-2mu, 1024 = 1e (32_L1DoubleEG_AND_L1SingleEGOr), 2048 = 1e (CaloIdVT_GsfTrkIdT), 4096 = 1e (PFJet), 8192 = 1e (Photon175_OR_Photon200)"),
50  ),
51  cms.PSet(
52  name = cms.string("Photon"),
53  id = cms.int32(22),
54  sel = cms.string("type(92) && pt > 20 && coll('hltEgammaCandidates')"),
55  l1seed = cms.string("type(-98)"), l1deltaR = cms.double(0.3),
56  #l2seed = cms.string("type(92) && coll('')"), l2deltaR = cms.double(0.5),
57  skipObjectsNotPassingQualityBits = cms.bool(True),
58  qualityBits = cms.string(
59  "filter('hltEG33L1EG26HEFilter') + " \
60  "2*filter('hltEG50HEFilter') + " \
61  "4*filter('hltEG75HEFilter') + " \
62  "8*filter('hltEG90HEFilter') + " \
63  "16*filter('hltEG120HEFilter') + " \
64  "32*filter('hltEG150HEFilter') + " \
65  "64*filter('hltEG175HEFilter') + " \
66  "128*filter('hltEG200HEFilter') + " \
67  "256*filter('hltHtEcal800') + " \
68  "512*filter('hltEG110EBTightIDTightIsoTrackIsoFilter') + " \
69  "1024*filter('hltEG120EBTightIDTightIsoTrackIsoFilter')"),
70  qualityBitsDoc = cms.string("Single Photon filters: 1 = hltEG33L1EG26HEFilter, 2 = hltEG50HEFilter, 4 = hltEG75HEFilter, 8 = hltEG90HEFilter, 16 = hltEG120HEFilter, 32 = hltEG150HEFilter, 64 = hltEG175HEFilter, 128 = hltEG200HEFilter, 256 = hltHtEcal800, 512 = hltEG110EBTightIDTightIsoTrackIsoFilter, 1024 = hltEG120EBTightIDTightIsoTrackIsoFilter"),
71  ),
72  cms.PSet(
73  name = cms.string("Muon"),
74  id = cms.int32(13),
75  sel = cms.string("type(83) && pt > 5 && (coll('hltIterL3MuonCandidates') || (pt > 45 && coll('hltHighPtTkMuonCands')) || (pt > 95 && coll('hltOldL3MuonCandidates')))"),
76  l1seed = cms.string("type(-81)"), l1deltaR = cms.double(0.5),
77  l2seed = cms.string("type(83) && coll('hltL2MuonCandidates')"), l2deltaR = cms.double(0.3),
78  skipObjectsNotPassingQualityBits = cms.bool(True),
79  qualityBits = cms.string(
80  "filter('*RelTrkIsoVVLFiltered0p4') + " \
81  "2*max(filter('hltL3crIso*Filtered0p07'),filter('hltL3crIso*Filtered0p08')) + " \
82  "4*filter('*OverlapFilterIsoMu*PFTau*') + " \
83  "8*max(max(filter('hltL3crIsoL1*SingleMu*Filtered0p07'),filter('hltL3crIsoL1sMu*Filtered0p07')),max(filter('hltL3crIsoL1*SingleMu*Filtered0p08'),filter('hltL3crIsoL1sMu*Filtered0p08'))) + " \
84  "16*filter('hltDiMuon*Filtered*') + " \
85  "32*filter('hltMu*TrkIsoVVL*Ele*CaloIdLTrackIdLIsoVL*Filter*') + " \
86  "64*filter('hlt*OverlapFilterIsoMu*PFTau*') + " \
87  "128*filter('hltL3fL1TripleMu*') + " \
88  "256*max(filter('hltL3fL1DoubleMu*EG*Filtered*'),filter('hltDiMu*Ele*CaloIdLTrackIdLElectronleg*Filter')) + " \
89  "512*max(filter('hltL3fL1Mu*DoubleEG*Filtered*'),filter('hltMu*DiEle*CaloIdLTrackIdLElectronleg*Filter')) + " \
90  "1024*max(filter('hltL3fL1sMu*L3Filtered50*'),filter('hltL3fL1sMu*TkFiltered50*')) + " \
91  "2048*max(filter('hltL3fL1sMu*L3Filtered100*'),filter('hltL3fL1sMu*TkFiltered100*'))"),
92  qualityBitsDoc = cms.string("1 = TrkIsoVVL, 2 = Iso, 4 = OverlapFilter PFTau, 8 = 1mu, 16 = 2mu, 32 = 1mu-1e, 64 = 1mu-1tau, 128 = 3mu, 256 = 2mu-1e, 512 = 1mu-2e, 1024 = 1mu (Mu50), 2048 = 1mu (Mu100)"),
93  ),
94  cms.PSet(
95  name = cms.string("Tau"),
96  id = cms.int32(15),
97  sel = cms.string("type(84) && pt > 5 && coll('*Tau*') && ( filter('*LooseChargedIso*') || filter('*MediumChargedIso*') || filter('*DeepTau*') || filter('*TightChargedIso*') || filter('*TightOOSCPhotons*') || filter('hltL2TauIsoFilter') || filter('*OverlapFilterIsoMu*') || filter('*OverlapFilterIsoEle*') || filter('*L1HLTMatched*') || filter('*Dz02*') || filter('*DoublePFTau*') || filter('*SinglePFTau*') || filter('hlt*SelectedPFTau') || filter('*DisplPFTau*') )"), #All trigger objects from a Tau collection + passing at least one filter
98  l1seed = cms.string("type(-100)"), l1deltaR = cms.double(0.3),
99  l2seed = cms.string("type(84) && coll('hltL2TauJetsL1IsoTauSeeded')"), l2deltaR = cms.double(0.3),
100  skipObjectsNotPassingQualityBits = cms.bool(True),
101  qualityBits = cms.string(
102  "filter('*LooseChargedIso*') + " \
103  "2*filter('*MediumChargedIso*') + " \
104  "4*filter('*TightChargedIso*') + " \
105  "8*filter('*DeepTau*') + " \
106  "16*filter('*TightOOSCPhotons*') + " \
107  "32*filter('*Hps*') + " \
108  "64*filter('hlt*DoublePFTau*TrackPt1*ChargedIsolation*Dz02*') + " \
109  "128*filter('hlt*DoublePFTau*DeepTau*L1HLTMatched') + " \
110  "256*filter('hlt*OverlapFilterIsoEle*WPTightGsf*PFTau*') + " \
111  "512*filter('hlt*OverlapFilterIsoMu*PFTau*') + " \
112  "1024*filter('hlt*SelectedPFTau*L1HLTMatched') + " \
113  "2048*filter('hlt*DoublePFTau*TrackPt1*ChargedIso*') + " \
114  "4096*filter('hlt*DoublePFTau*Track*ChargedIso*AgainstMuon') + " \
115  "8192*filter('hltHpsSinglePFTau*HLTMatched') + " \
116  "16384*filter('hltHpsOverlapFilterDeepTauDoublePFTau*PFJet*') + " \
117  "32768*filter('hlt*Double*ChargedIsoDisplPFTau*Dxy*') + " \
118  "65536*filter('*Monitoring') + " \
119  "131072*filter('*Reg') + " \
120  "262144*filter('*L1Seeded') + " \
121  "524288*filter('*1Prong')"),
122  qualityBitsDoc = cms.string("1 = LooseChargedIso, 2 = MediumChargedIso, 4 = TightChargedIso, 8 = DeepTau, 16 = TightID OOSC photons, 32 = HPS, 64 = charged iso di-tau, 128 = deeptau di-tau, 256 = e-tau, 512 = mu-tau, 1024 = single-tau/tau+MET, 2048 = run 2 VBF+ditau, 4096 = run 3 VBF+ditau, 8192 = run 3 double PF jets + ditau, 16384 = di-tau + PFJet, 32768 = Displaced Tau, 65536 = Monitoring, 131072 = regional paths, 262144 = L1 seeded paths, 524288 = 1 prong tau paths"),
123  ),
124  cms.PSet(
125  name = cms.string("BoostedTau"),
126  id = cms.int32(1515),
127  sel = cms.string("type(85) && pt > 120 && coll('hltAK8PFJetsCorrected') && filter('hltAK8SinglePFJets*SoftDropMass40*ParticleNetTauTau')"),
128  l1seed = cms.string("type(-99)"), l1deltaR = cms.double(0.3),
129  l2seed = cms.string("type(85) && coll('hltAK8CaloJetsCorrectedIDPassed')"), l2deltaR = cms.double(0.3),
130  skipObjectsNotPassingQualityBits = cms.bool(True),
131  qualityBits = cms.string(
132  "filter('hltAK8SinglePFJets*SoftDropMass40*ParticleNetTauTau')"
133  ),
134  qualityBitsDoc = cms.string("Bit 0 for HLT_AK8PFJetX_SoftDropMass40_PFAK8ParticleNetTauTau0p30"),
135  ),
136  cms.PSet(
137  name = cms.string("Jet"),
138  id = cms.int32(1),
139  sel = cms.string("( type(0) || type(85) || type(86) || type(-99) )"),
140  l1seed = cms.string("type(-99)"), l1deltaR = cms.double(0.3),
141  l2seed = cms.string("type(85) || type(86) || type(-99)"), l2deltaR = cms.double(0.3),
142  skipObjectsNotPassingQualityBits = cms.bool(True),
143  qualityBits = cms.string(
144  "1 * filter('*CrossCleaned*LooseChargedIsoPFTau*') + " \
145  "2 * filter('hltBTagCaloCSVp087Triple') + " \
146  "4 * filter('hltDoubleCentralJet90') + " \
147  "8 * filter('hltDoublePFCentralJetLooseID90') + " \
148  "16 * filter('hltL1sTripleJetVBFIorHTTIorDoubleJetCIorSingleJet') + " \
149  "32 * filter('hltQuadCentralJet30') + " \
150  "64 * filter('hltQuadPFCentralJetLooseID30') + " \
151  "128 * max(filter('hltL1sQuadJetC50IorQuadJetC60IorHTT280IorHTT300IorHTT320IorTripleJet846848VBFIorTripleJet887256VBFIorTripleJet927664VBF'), filter('hltL1sQuadJetCIorTripleJetVBFIorHTT')) + " \
152  "256 * filter('hltQuadCentralJet45') + " \
153  "512 * filter('hltQuadPFCentralJetLooseID45') + " \
154  "1024 * max(filter('hltL1sQuadJetC60IorHTT380IorHTT280QuadJetIorHTT300QuadJet'), filter('hltL1sQuadJetC50to60IorHTT280to500IorHTT250to340QuadJet')) + " \
155  "2048 * max(filter('hltBTagCaloCSVp05Double'), filter('hltBTagCaloDeepCSVp17Double')) + " \
156  "4096 * filter('hltPFCentralJetLooseIDQuad30') + " \
157  "8192 * filter('hlt1PFCentralJetLooseID75') + " \
158  "16384 * filter('hlt2PFCentralJetLooseID60') + " \
159  "32768 * filter('hlt3PFCentralJetLooseID45') + " \
160  "65536 * filter('hlt4PFCentralJetLooseID40') + " \
161  "131072 * max(filter('hltBTagPFCSVp070Triple'), max(filter('hltBTagPFDeepCSVp24Triple'), filter('hltBTagPFDeepCSV4p5Triple')) )+ " \
162  "262144 * filter('hltHpsOverlapFilterDeepTauDoublePFTau*PFJet*') + " \
163  "524288 * filter('*CrossCleaned*MediumDeepTauDitauWPPFTau*') + " \
164  "1048576 * filter('*CrossCleanedUsingDiJetCorrChecker*') + " \
165  "2097152 * filter('hltHpsOverlapFilterDeepTauPFTau*PFJet*')"
166  ),
167  qualityBitsDoc = cms.string(
168  "Jet bits: bit 0 for VBF cross-cleaned from loose iso PFTau, bit 1 for hltBTagCaloCSVp087Triple, bit 2 for hltDoubleCentralJet90, bit 3 for hltDoublePFCentralJetLooseID90," \
169  " bit 4 for hltL1sTripleJetVBFIorHTTIorDoubleJetCIorSingleJet, bit 5 for hltQuadCentralJet30, bit 6 for hltQuadPFCentralJetLooseID30," \
170  " bit 7 for hltL1sQuadJetC50IorQuadJetC60IorHTT280IorHTT300IorHTT320IorTripleJet846848VBFIorTripleJet887256VBFIorTripleJet927664VBF or hltL1sQuadJetCIorTripleJetVBFIorHTT," \
171  " bit 8 for hltQuadCentralJet45, bit 9 for hltQuadPFCentralJetLooseID45," \
172  " bit 10 for hltL1sQuadJetC60IorHTT380IorHTT280QuadJetIorHTT300QuadJet or hltL1sQuadJetC50to60IorHTT280to500IorHTT250to340QuadJet" \
173  " bit 11 for hltBTagCaloCSVp05Double or hltBTagCaloDeepCSVp17Double, bit 12 for hltPFCentralJetLooseIDQuad30, bit 13 for hlt1PFCentralJetLooseID75," \
174  " bit 14 for hlt2PFCentralJetLooseID60, bit 15 for hlt3PFCentralJetLooseID45, bit 16 for hlt4PFCentralJetLooseID40," \
175  " bit 17 for hltBTagPFCSVp070Triple or hltBTagPFDeepCSVp24Triple or hltBTagPFDeepCSV4p5Triple,"\
176  " bit 18 for Double tau + jet,"\
177  " bit 19 for VBF cross-cleaned from medium deeptau PFTau,"\
178  " bit 20 for VBF cross-cleaned using dijet correlation checker,"\
179  " bit 21 for monitoring muon + tau + jet")
180  ),
181  cms.PSet(
182  name = cms.string("FatJet"),
183  id = cms.int32(6),
184  sel = cms.string("type(85) && pt > 120 && coll('hltAK8PFJetsCorrected')"),
185  l1seed = cms.string("type(-99)"), l1deltaR = cms.double(0.3),
186  l2seed = cms.string("type(85) && coll('hltAK8CaloJetsCorrectedIDPassed')"), l2deltaR = cms.double(0.3),
187  skipObjectsNotPassingQualityBits = cms.bool(True),
188  qualityBits = cms.string("0"), qualityBitsDoc = cms.string(""),
189  ),
190  cms.PSet(
191  name = cms.string("MET"),
192  id = cms.int32(2),
193  sel = cms.string("type(87) && pt > 30 && coll('hltPFMETProducer')"),
194  l1seed = cms.string("type(-87) && coll('L1ETM')"), l1deltaR = cms.double(9999),
195  l1seed_2 = cms.string("type(-87) && coll('L1ETMHF')"), l1deltaR_2 = cms.double(9999),
196  l2seed = cms.string("type( 87) && coll('hltMetClean')"), l2deltaR = cms.double(9999),
197  skipObjectsNotPassingQualityBits = cms.bool(True),
198  qualityBits = cms.string("0"), qualityBitsDoc = cms.string(""),
199  ),
200  cms.PSet(
201  name = cms.string("HT"),
202  id = cms.int32(3),
203  sel = cms.string("type(89) || type(-89)"),
204  l1seed = cms.string("type(-89) && coll('L1HTT')"), l1deltaR = cms.double(9999),
205  l1seed_2 = cms.string("type(-89) && coll('L1HTTHF')"), l1deltaR_2 = cms.double(9999),
206  l2seed = cms.string("type(89) && coll('hltHtMhtJet30')"), l2deltaR = cms.double(9999),
207  skipObjectsNotPassingQualityBits = cms.bool(True),
208  qualityBits = cms.string(
209  "1 * filter('hltL1sTripleJetVBFIorHTTIorDoubleJetCIorSingleJet') + " \
210  "2 * max(filter('hltL1sQuadJetC50IorQuadJetC60IorHTT280IorHTT300IorHTT320IorTripleJet846848VBFIorTripleJet887256VBFIorTripleJet927664VBF'), filter('hltL1sQuadJetCIorTripleJetVBFIorHTT')) + " \
211  "4 * max(filter('hltL1sQuadJetC60IorHTT380IorHTT280QuadJetIorHTT300QuadJet'), filter('hltL1sQuadJetC50to60IorHTT280to500IorHTT250to340QuadJet')) + " \
212  "8 * max(filter('hltCaloQuadJet30HT300'), filter('hltCaloQuadJet30HT320')) + " \
213  "16 * max(filter('hltPFCentralJetsLooseIDQuad30HT300'), filter('hltPFCentralJetsLooseIDQuad30HT330'))"
214  ),
215  qualityBitsDoc = cms.string(
216  "HT bits: bit 0 for hltL1sTripleJetVBFIorHTTIorDoubleJetCIorSingleJet, bit 1 for hltL1sQuadJetC50IorQuadJetC60IorHTT280IorHTT300IorHTT320IorTripleJet846848VBFIorTripleJet887256VBFIorTripleJet927664VBF or hltL1sQuadJetCIorTripleJetVBFIorHTT, " \
217  "bit 2 for hltL1sQuadJetC60IorHTT380IorHTT280QuadJetIorHTT300QuadJet or hltL1sQuadJetC50to60IorHTT280to500IorHTT250to340QuadJet, " \
218  "bit 3 for hltCaloQuadJet30HT300 or hltCaloQuadJet30HT320, bit 4 for hltPFCentralJetsLooseIDQuad30HT300 or hltPFCentralJetsLooseIDQuad30HT330"
219  ),
220  ),
221  cms.PSet(
222  name = cms.string("MHT"),
223  id = cms.int32(4),
224  sel = cms.string("type(90)"),
225  l1seed = cms.string("type(-90) && coll('L1HTM')"), l1deltaR = cms.double(9999),
226  l1seed_2 = cms.string("type(-90) && coll('L1HTMHF')"), l1deltaR_2 = cms.double(9999),
227  l2seed = cms.string("type(90) && coll('hltHtMhtJet30')"), l2deltaR = cms.double(9999),
228  skipObjectsNotPassingQualityBits = cms.bool(True),
229  qualityBits = cms.string(
230  "1 * max(filter('hltCaloQuadJet30HT300'), filter('hltCaloQuadJet30HT320')) + " \
231  "2 * max(filter('hltPFCentralJetsLooseIDQuad30HT300'), filter('hltPFCentralJetsLooseIDQuad30HT330'))"
232  ),
233  qualityBitsDoc = cms.string
234  (
235  "MHT bits: bit 0 for hltCaloQuadJet30HT300 or hltCaloQuadJet30HT320, bit 1 for hltPFCentralJetsLooseIDQuad30HT300 or hltPFCentralJetsLooseIDQuad30HT330"
236  ),
237  ),
238 
239  ),
240 )
241 
242 # ERA-dependent configuration
243 # Tune filter and collection names to 2016 HLT menus
244 # FIXME: check non-lepton objects and cross check leptons
245 selections2016 = copy.deepcopy(triggerObjectTable.selections)
246 for sel in selections2016:
247  if sel.name=='Muon':
248  sel.sel = cms.string("type(83) && pt > 5 && (coll('hlt*L3MuonCandidates') || coll('hlt*TkMuonCands') || coll('hlt*TrkMuonCands'))")
249  sel.qualityBits = cms.string("filter('*RelTrkIso*Filtered0p4') + 2*filter('hltL3cr*IsoFiltered0p09') + 4*filter('*OverlapFilter*IsoMu*PFTau*') + 8*filter('hltL3f*IsoFiltered0p09') + 1024*max(filter('hltL3fL1sMu*L3Filtered50*'),filter('hltL3fL1sMu*TkFiltered50*'))")
250  sel.qualityBitsDoc = cms.string("1 = TrkIsoVVL, 2 = Iso, 4 = OverlapFilter PFTau, 8 = IsoTkMu, 1024 = 1mu (Mu50)")
251  elif sel.name=='Tau':
252  sel.sel = cms.string("type(84) && pt > 5 && coll('*Tau*') && ( filter('*LooseIso*') || filter('*MediumIso*') || filter('*MediumComb*Iso*') || filter('hltL2TauIsoFilter') || filter('*OverlapFilter*IsoMu*') || filter('*OverlapFilter*IsoEle*') || filter('*L1HLTMatched*') || filter('*Dz02*') )")
253  sel.qualityBits = cms.string("(filter('*LooseIso*')-filter('*VLooseIso*'))+2*filter('*Medium*Iso*')+4*filter('*VLooseIso*')+8*0+16*filter('hltL2TauIsoFilter')+32*filter('*OverlapFilter*IsoMu*')+64*filter('*OverlapFilter*IsoEle*')+128*filter('*L1HLTMatched*')+256*filter('*Dz02*')")
254  sel.qualityBitsDoc = cms.string("1 = LooseIso, 2 = Medium(Comb)Iso, 4 = VLooseIso, 8 = None, 16 = L2p5 pixel iso, 32 = OverlapFilter IsoMu, 64 = OverlapFilter IsoEle, 128 = L1-HLT matched, 256 = Dz")
255 
256 run2_HLTconditions_2016.toModify(
257  triggerObjectTable,
258  selections = selections2016
259 )
260 
261 from PhysicsTools.PatUtils.L1PrefiringWeightProducer_cff import prefiringweight
262 #Next lines are for UL2016 maps
263 (run2_muon_2016 & tracker_apv_vfp30_2016).toModify( prefiringweight, DataEraECAL = cms.string("UL2016preVFP"), DataEraMuon = cms.string("2016preVFP"))
264 (run2_muon_2016 & ~tracker_apv_vfp30_2016).toModify( prefiringweight, DataEraECAL = cms.string("UL2016postVFP"), DataEraMuon = cms.string("2016postVFP"))
265 #Next line is for UL2017 maps
266 run2_jme_2017.toModify( prefiringweight, DataEraECAL = cms.string("UL2017BtoF"), DataEraMuon = cms.string("20172018"))
267 #Next line is for UL2018 maps
268 run2_muon_2018.toModify( prefiringweight, DataEraECAL = cms.string("None"), DataEraMuon = cms.string("20172018"))
269 
270 #For pre-UL 2017 reprocessing, one should use the original maps and no muon jet protection
271 for modifier in run2_nanoAOD_94XMiniAODv1, run2_nanoAOD_94XMiniAODv2:
272  modifier.toModify( prefiringweight, DataEraECAL = cms.string("2017BtoF"), DataEraMuon = cms.string("20172018"))
273  modifier.toModify( prefiringweight, JetMaxMuonFraction = cms.double(-1.) )
274 #For pre-UL 2016 reprocessing, same thing
275 run2_nanoAOD_94X2016.toModify( prefiringweight, DataEraECAL = cms.string("2016BtoH"), DataEraMuon = cms.string("2016") )
276 run2_nanoAOD_94X2016.toModify( prefiringweight, JetMaxMuonFraction = cms.double(-1.) )
277 
278 l1PreFiringEventWeightTable = cms.EDProducer("GlobalVariablesTableProducer",
279  name = cms.string("L1PreFiringWeight"),
280  variables = cms.PSet(
281  Nom = ExtVar(cms.InputTag("prefiringweight:nonPrefiringProb"), "float", doc = "L1 pre-firing event correction weight (1-probability)", precision=8),
282  Up = ExtVar(cms.InputTag("prefiringweight:nonPrefiringProbUp"), "float", doc = "L1 pre-firing event correction weight (1-probability), up var.", precision=8),
283  Dn = ExtVar(cms.InputTag("prefiringweight:nonPrefiringProbDown"), "float", doc = "L1 pre-firing event correction weight (1-probability), down var.", precision=8),
284  Muon_Nom = ExtVar(cms.InputTag("prefiringweight:nonPrefiringProbMuon"), "float", doc = "Muon L1 pre-firing event correction weight (1-probability)", precision=8),
285  Muon_SystUp = ExtVar(cms.InputTag("prefiringweight:nonPrefiringProbMuonSystUp"), "float", doc = "Muon L1 pre-firing event correction weight (1-probability), up var. syst.", precision=8),
286  Muon_SystDn = ExtVar(cms.InputTag("prefiringweight:nonPrefiringProbMuonSystDown"), "float", doc = "Muon L1 pre-firing event correction weight (1-probability), down var. syst.", precision=8),
287  Muon_StatUp = ExtVar(cms.InputTag("prefiringweight:nonPrefiringProbMuonStatUp"), "float", doc = "Muon L1 pre-firing event correction weight (1-probability), up var. stat.", precision=8),
288  Muon_StatDn = ExtVar(cms.InputTag("prefiringweight:nonPrefiringProbMuonStatDown"), "float", doc = "Muon L1 pre-firing event correction weight (1-probability), down var. stat.", precision=8),
289  ECAL_Nom = ExtVar(cms.InputTag("prefiringweight:nonPrefiringProbECAL"), "float", doc = "ECAL L1 pre-firing event correction weight (1-probability)", precision=8),
290  ECAL_Up = ExtVar(cms.InputTag("prefiringweight:nonPrefiringProbECALUp"), "float", doc = "ECAL L1 pre-firing event correction weight (1-probability), up var.", precision=8),
291  ECAL_Dn = ExtVar(cms.InputTag("prefiringweight:nonPrefiringProbECALDown"), "float", doc = "ECAL L1 pre-firing event correction weight (1-probability), down var.", precision=8),
292  )
293 )
294 
295 l1bits=cms.EDProducer("L1TriggerResultsConverter",
296  src=cms.InputTag("gtStage2Digis"),
297  legacyL1=cms.bool(False),
298  storeUnprefireableBit=cms.bool(True),
299  src_ext=cms.InputTag("simGtExtUnprefireable"))
300 
301 triggerObjectTablesTask = cms.Task( unpackedPatTrigger,triggerObjectTable,l1bits)
302 
303 _triggerObjectTablesTask_withL1PreFiring = triggerObjectTablesTask.copy()
304 _triggerObjectTablesTask_withL1PreFiring.add(prefiringweight,l1PreFiringEventWeightTable)
305 (run2_HLTconditions_2016 | run2_HLTconditions_2017 | run2_HLTconditions_2018).toReplaceWith(triggerObjectTablesTask,_triggerObjectTablesTask_withL1PreFiring)
306 
307 (run2_miniAOD_80XLegacy | run2_nanoAOD_94X2016 | run2_nanoAOD_94XMiniAODv1 | run2_nanoAOD_94XMiniAODv2 | run2_nanoAOD_102Xv1).toModify(l1bits, storeUnprefireableBit=False)
def ExtVar(tag, valtype, compression=None, doc=None, mcOnly=False, precision=-1)
Definition: common_cff.py:31