CMS 3D CMS Logo

triggerObjects_cff.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
4 from PhysicsTools.NanoAOD.triggerObjectTableProducer_cfi import triggerObjectTableProducer
5 from PhysicsTools.NanoAOD.globalVariablesTableProducer_cfi import globalVariablesTableProducer
6 import copy
7 
8 unpackedPatTrigger = cms.EDProducer("PATTriggerObjectStandAloneUnpacker",
9  patTriggerObjectsStandAlone = cms.InputTag('slimmedPatTrigger'),
10  triggerResults = cms.InputTag('TriggerResults::HLT'),
11  unpackFilterLabels = cms.bool(True)
12 )
13 
14 def mksel( selection, doc=None, bit=None):
15  ddoc=""
16  if 'OR' in selection:
17  selection,ddoc=OR(selection)
18  if 'AND' in selection:
19  selection,ddoc=AND(selection)
20  if type(selection)==list:
21  selection,ddoc=OR(selection)
22  if type(selection)==tuple:
23  selection,ddoc=AND(selection)
24  if doc==None:
25  doc=ddoc
26  #print("creating an entry with",selection,doc)
27  return cms.PSet(selection=cms.string(selection),doc=cms.string(doc),bit=cms.uint32(bit)) if bit is not None else cms.PSet(selection=cms.string(selection),doc=cms.string(doc))
28 
29 def chaintoken_(tokens,f,OR_or_AND=None):
30  if (not type(tokens) in [list,tuple]):
31  doc=tokens
32  tokens= [t.strip().rstrip() for t in tokens.split(OR_or_AND)]
33  else:
34  doc=f' {OR_or_AND} '.join(tokens)
35  selection = f"filter('{tokens[0]}')"
36  for token in tokens[1:]:
37  filter = f"filter('{token}')"
38  selection = f"{f}({filter},{selection})"
39  return selection,doc
40 def OR(tokens):
41  return chaintoken_(tokens,"max","OR")
42 def AND(tokens):
43  return chaintoken_(tokens,"min","AND")
44 
45 triggerObjectTable = triggerObjectTableProducer.clone(
46  name= cms.string("TrigObj"),
47  src = cms.InputTag("unpackedPatTrigger"),
48  l1EG = cms.InputTag("caloStage2Digis","EGamma"),
49  l1Sum = cms.InputTag("caloStage2Digis","EtSum"),
50  l1Jet = cms.InputTag("caloStage2Digis","Jet"),
51  l1Muon = cms.InputTag("gmtStage2Digis","Muon"),
52  l1Tau = cms.InputTag("caloStage2Digis","Tau"),
53  selections = cms.VPSet(
54  cms.PSet(
55  name = cms.string("Electron (PixelMatched e/gamma)"), # this selects also photons for the moment!
56  id = cms.int32(11),
57  sel = cms.string("type(92) && pt > 7 && coll('hltEgammaCandidates') && filter('*PixelMatchFilter')"),
58  l1seed = cms.string("type(-98)"), l1deltaR = cms.double(0.3),
59  #l2seed = cms.string("type(92) && coll('')"), l2deltaR = cms.double(0.5),
60  skipObjectsNotPassingQualityBits = cms.bool(True),
61  qualityBits = cms.VPSet(
62  mksel("filter('*CaloIdLTrackIdLIsoVL*TrackIso*Filter')","CaloIdL_TrackIdL_IsoVL"),
63  mksel("filter('hltEle*WPTight*TrackIsoFilter*')","1e (WPTight)"),
64  mksel("filter('hltEle*WPLoose*TrackIsoFilter')","1e (WPLoose)"),
65  mksel("filter('*OverlapFilter*IsoEle*PFTau*')","OverlapFilter PFTau"),
66  mksel("filter('hltEle*Ele*CaloIdLTrackIdLIsoVL*Filter')","2e"),
67  mksel("filter('hltMu*TrkIsoVVL*Ele*CaloIdLTrackIdLIsoVL*Filter*')","1e-1mu"),
68  mksel("filter('hlt*OverlapFilterIsoEle*PFTau*')","1e-1tau"),
69  mksel("filter('hltEle*Ele*Ele*CaloIdLTrackIdLDphiLeg*Filter')","3e"),
70  mksel(["hltL3fL1Mu*DoubleEG*Filtered*","hltMu*DiEle*CaloIdLTrackIdLElectronleg*Filter"],"2e-1mu"),
71  mksel(["hltL3fL1DoubleMu*EG*Filter*","hltDiMu*Ele*CaloIdLTrackIdLElectronleg*Filter"],"1e-2mu"),
72  mksel(("hltEle32L1DoubleEGWPTightGsfTrackIsoFilter","hltEGL1SingleEGOrFilter"),"1e (32_L1DoubleEG_AND_L1SingleEGOr)"),
73  mksel("filter('hltEle*CaloIdVTGsfTrkIdTGsfDphiFilter')","1e (CaloIdVT_GsfTrkIdT)"),
74  mksel("path('HLT_Ele*PFJet*')","1e (PFJet)"),
75  mksel(["hltEG175HEFilter","hltEG200HEFilter"],"1e (Photon175_OR_Photon200)"),
76  )
77  ),
78  cms.PSet(
79  name = cms.string("Photon"),
80  id = cms.int32(22),
81  sel = cms.string("type(92) && pt > 20 && coll('hltEgammaCandidates')"),
82  l1seed = cms.string("type(-98)"), l1deltaR = cms.double(0.3),
83  #l2seed = cms.string("type(92) && coll('')"), l2deltaR = cms.double(0.5),
84  skipObjectsNotPassingQualityBits = cms.bool(True),
85  qualityBits = cms.VPSet(
86  mksel("filter('hltEG33L1EG26HEFilter')","hltEG33L1EG26HEFilter"),
87  mksel("filter('hltEG50HEFilter')","hltEG50HEFilter"),
88  mksel("filter('hltEG75HEFilter')","hltEG75HEFilter"),
89  mksel("filter('hltEG90HEFilter')","hltEG90HEFilter"),
90  mksel("filter('hltEG120HEFilter')","hltEG120HEFilter"),
91  mksel("filter('hltEG150HEFilter')","hltEG150HEFilter"),
92  mksel("filter('hltEG175HEFilter')","hltEG150HEFilter"),
93  mksel("filter('hltEG200HEFilter')","hltEG200HEFilter"),
94  mksel("filter('hltHtEcal800')","hltHtEcal800"),
95  mksel("filter('hltEG110EBTightIDTightIsoTrackIsoFilter')","hltEG110EBTightIDTightIsoTrackIsoFilter"),
96  mksel("filter('hltEG120EBTightIDTightIsoTrackIsoFilter')","hltEG120EBTightIDTightIsoTrackIsoFilter"),
97  mksel("filter('hltMu17Photon30IsoCaloIdPhotonlegTrackIsoFilter')","1mu-1photon")
98  )
99  ),
100  cms.PSet(
101  name = cms.string("Muon"),
102  id = cms.int32(13),
103  sel = cms.string("type(83) && pt > 5 && (coll('hltIterL3MuonCandidates') || (pt > 45 && coll('hltHighPtTkMuonCands')) || (pt > 95 && coll('hltOldL3MuonCandidates')))"),
104  l1seed = cms.string("type(-81)"), l1deltaR = cms.double(0.5),
105  l2seed = cms.string("type(83) && coll('hltL2MuonCandidates')"), l2deltaR = cms.double(0.3),
106  skipObjectsNotPassingQualityBits = cms.bool(True),
107  qualityBits = cms.VPSet(
108  mksel(["*RelTrkIsoVVLFiltered0p4","*RelTrkIsoVVLFiltered"],"TrkIsoVVL"),
109  mksel(["hltL3crIso*IsoFiltered0p07","hltL3crIso*IsoFiltered0p08","hltL3crIso*IsoFiltered"],"Iso"),
110  mksel("filter('*OverlapFilterIsoMu*PFTau*')","OverlapFilter PFTau"),
111  mksel(["hltL3crIsoL1*SingleMu*IsoFiltered0p07","hltL3crIsoL1sMu*IsoFiltered0p07","hltL3crIsoL1*SingleMu*IsoFiltered0p08","hltL3crIsoL1sMu*IsoFiltered0p08","hltL3crIsoL1*SingleMu*IsoFiltered","hltL3crIsoL1sMu*IsoFiltered"],"1mu"),
112  mksel("filter('hltDiMuon*Filtered*')","2mu"),
113  mksel("filter('hltMu*TrkIsoVVL*Ele*CaloIdLTrackIdLIsoVL*Filter*')","1mu-1e"),
114  mksel("filter('hlt*OverlapFilterIsoMu*PFTau*')","1mu-1tau"),
115  mksel("filter('hltL3fL1TripleMu*')","3mu"),
116  mksel(["hltL3fL1DoubleMu*EG*Filtered*","hltDiMu*Ele*CaloIdLTrackIdLElectronleg*Filter"],"2mu-1e"),
117  mksel(["hltL3fL1Mu*DoubleEG*Filtered*","hltMu*DiEle*CaloIdLTrackIdLElectronleg*Filter"],"1mu-2e"),
118  mksel(["hltL3fL1sMu*L3Filtered50*","hltL3fL1sMu*TkFiltered50*"],"1mu (Mu50)"),
119  mksel(["hltL3fL1sMu*L3Filtered100*","hltL3fL1sMu*TkFiltered100*"],"1mu (Mu100)"),
120  mksel("filter('hltMu17Photon30IsoCaloIdMuonlegL3Filtered17Q')","1mu-1photon")
121  )
122  ),
123  cms.PSet(
124  name = cms.string("Tau"),
125  id = cms.int32(15),
126  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
127  l1seed = cms.string("type(-100)"), l1deltaR = cms.double(0.3),
128  l2seed = cms.string("type(84) && coll('hltL2TauJetsL1IsoTauSeeded')"), l2deltaR = cms.double(0.3),
129  skipObjectsNotPassingQualityBits = cms.bool(True),
130  qualityBits = cms.VPSet(
131  mksel("filter('*LooseChargedIso*')","LooseChargedIso"),
132  mksel("filter('*MediumChargedIso*')","MediumChargedIso"),
133  mksel("filter('*TightChargedIso*')","TightChargedIso"),
134  mksel("filter('*DeepTau*')","DeepTau"),
135  mksel("filter('*TightOOSCPhotons*')","TightID OOSC photons"),
136  mksel("filter('*Hps*')","HPS"),
137  mksel("filter('hlt*DoublePFTau*TrackPt1*ChargedIsolation*Dz02*')","charged iso di-tau"),
138  mksel("filter('hlt*DoublePFTau*DeepTau*L1HLTMatched')","deeptau di-tau"),
139  mksel("filter('hlt*OverlapFilterIsoEle*WPTightGsf*PFTau*')","e-tau"),
140  mksel("filter('hlt*OverlapFilterIsoMu*PFTau*')","mu-tau"),
141  mksel("filter('hlt*SelectedPFTau*L1HLTMatched')","single-tau/tau+MET"),
142  mksel("filter('hlt*DoublePFTau*TrackPt1*ChargedIso*')","run 2 VBF+ditau"),
143  mksel("filter('hlt*DoublePFTau*Track*ChargedIso*AgainstMuon')","run 3 VBF+ditau"),
144  mksel("filter('hltHpsSinglePFTau*HLTMatched')","run 3 double PF jets + ditau"),
145  mksel("filter('hltHpsOverlapFilterDeepTauDoublePFTau*PFJet*')","di-tau + PFJet"),
146  mksel("filter('hlt*Double*ChargedIsoDisplPFTau*Dxy*')","Displaced Tau"),
147  mksel("filter('*Monitoring')","Monitoring"),
148  mksel("filter('*Reg')","regional paths"),
149  mksel("filter('*L1Seeded')","L1 seeded paths"),
150  mksel("filter('*1Prong')","1 prong tau paths")
151  )
152  ),
153  cms.PSet(
154  name = cms.string("BoostedTau"),
155  id = cms.int32(1515),
156  sel = cms.string("type(85) && pt > 120 && coll('hltAK8PFJetsCorrected') && filter('hltAK8SinglePFJets*SoftDropMass40*ParticleNetTauTau')"),
157  l1seed = cms.string("type(-99)"), l1deltaR = cms.double(0.3),
158  l2seed = cms.string("type(85) && coll('hltAK8CaloJetsCorrectedIDPassed')"), l2deltaR = cms.double(0.3),
159  skipObjectsNotPassingQualityBits = cms.bool(True),
160  qualityBits = cms.VPSet(
161  mksel("filter('hltAK8SinglePFJets*SoftDropMass40*ParticleNetTauTau')","HLT_AK8PFJetX_SoftDropMass40_PFAK8ParticleNetTauTau0p30")
162  )
163  ),
164  cms.PSet(
165  name = cms.string("Jet"),
166  id = cms.int32(1),
167  sel = cms.string("( type(0) || type(85) || type(86) || type(-99) )"),
168  l1seed = cms.string("type(-99)"), l1deltaR = cms.double(0.3),
169  l2seed = cms.string("type(85) || type(86) || type(-99)"), l2deltaR = cms.double(0.3),
170  skipObjectsNotPassingQualityBits = cms.bool(True),
171  qualityBits = cms.VPSet(
172  mksel(["hlt4PixelOnlyPFCentralJetTightIDPt20"]),
173  mksel(["hlt3PixelOnlyPFCentralJetTightIDPt30"]),
174  mksel(["hltPFJetFilterTwoC30"]),
175  mksel(["hlt4PFCentralJetTightIDPt30"]),
176  mksel(["hlt4PFCentralJetTightIDPt35"]),
177  mksel(["hltQuadCentralJet30"]),
178  mksel(["hlt2PixelOnlyPFCentralJetTightIDPt40"]),
179  mksel(["hltL1sTripleJet1008572VBFIorHTTIorDoubleJetCIorSingleJet","hltL1sTripleJet1058576VBFIorHTTIorDoubleJetCIorSingleJet","hltL1sTripleJetVBFIorHTTIorSingleJet"]),
180  mksel(["hlt3PFCentralJetTightIDPt40"]),
181  mksel(["hlt3PFCentralJetTightIDPt45"]),
182  mksel(["hltL1sQuadJetC60IorHTT380IorHTT280QuadJetIorHTT300QuadJet","hltL1sQuadJetC50to60IorHTT280to500IorHTT250to340QuadJet"]),
183  mksel(["hltBTagCaloDeepCSVp17Double"]),
184  mksel(["hltPFCentralJetLooseIDQuad30"]),
185  mksel(["hlt1PFCentralJetLooseID75"]),
186  mksel(["hlt2PFCentralJetLooseID60"]),
187  mksel(["hlt3PFCentralJetLooseID45"]),
188  mksel(["hlt4PFCentralJetLooseID40"]),
189  mksel(["hltBTagPFDeepCSV4p5Triple"]),
190  mksel("filter('hltHpsOverlapFilterDeepTauDoublePFTau*PFJet*')","(Double tau + jet) hltHpsOverlapFilterDeepTauDoublePFTau*PFJet*"),
191  mksel("filter('*CrossCleaned*MediumDeepTauDitauWPPFTau*')","(VBF cross-cleaned from medium deeptau PFTau) *CrossCleaned*MediumDeepTauDitauWPPFTau*"),
192  mksel("filter('*CrossCleanedUsingDiJetCorrChecker*')","(VBF cross-cleaned using dijet correlation checker) *CrossCleanedUsingDiJetCorrChecker*"),
193  mksel("filter('hltHpsOverlapFilterDeepTauPFTau*PFJet*')","(monitoring muon + tau + jet) hltHpsOverlapFilterDeepTauPFTau*PFJet*"),
194  mksel(["hlt2PFCentralJetTightIDPt50"]),
195  mksel(["hlt1PixelOnlyPFCentralJetTightIDPt60"]),
196  mksel(["hlt1PFCentralJetTightIDPt70"]),
197  mksel(["hltBTagPFDeepJet1p5Single"]),
198  mksel(["hltBTagPFDeepJet4p5Triple"]),
199  mksel(["hltBTagCentralJetPt35PFParticleNet2BTagSum0p65","hltBTagCentralJetPt30PFParticleNet2BTagSum0p65","hltPFJetTwoC30PFBTagParticleNet2BTagSum0p65"]),
200  mksel(["hltBTagPFDeepCSV1p5Single"])
201  ),
202  ),
203  cms.PSet(
204  name = cms.string("FatJet"),
205  id = cms.int32(6),
206  sel = cms.string("type(85) && pt > 120 && coll('hltAK8PFJetsCorrected')"),
207  l1seed = cms.string("type(-99)"), l1deltaR = cms.double(0.3),
208  l2seed = cms.string("type(85) && coll('hltAK8CaloJetsCorrectedIDPassed')"), l2deltaR = cms.double(0.3),
209  skipObjectsNotPassingQualityBits = cms.bool(True),
210  qualityBits = cms.VPSet()
211  ),
212  cms.PSet(
213  name = cms.string("MET"),
214  id = cms.int32(2),
215  sel = cms.string("type(87) && pt > 30 && coll('hltPFMETProducer')"),
216  l1seed = cms.string("type(-87) && coll('L1ETM')"), l1deltaR = cms.double(9999),
217  l1seed_2 = cms.string("type(-87) && coll('L1ETMHF')"), l1deltaR_2 = cms.double(9999),
218  l2seed = cms.string("type( 87) && coll('hltMetClean')"), l2deltaR = cms.double(9999),
219  skipObjectsNotPassingQualityBits = cms.bool(True),
220  qualityBits = cms.VPSet()
221  ),
222  cms.PSet(
223  name = cms.string("HT"),
224  id = cms.int32(3),
225  sel = cms.string("type(89) || type(-89)"),
226  l1seed = cms.string("type(-89) && coll('L1HTT')"), l1deltaR = cms.double(9999),
227  l1seed_2 = cms.string("type(-89) && coll('L1HTTHF')"), l1deltaR_2 = cms.double(9999),
228  l2seed = cms.string("type(89) && coll('hltHtMhtJet30')"), l2deltaR = cms.double(9999),
229  skipObjectsNotPassingQualityBits = cms.bool(True),
230  qualityBits = cms.VPSet(
231  mksel(["hltL1sTripleJetVBFIorHTTIorDoubleJetCIorSingleJet"]),
232  mksel(["hltL1sQuadJetC50IorQuadJetC60IorHTT280IorHTT300IorHTT320IorTripleJet846848VBFIorTripleJet887256VBFIorTripleJet927664VBF","hltL1sQuadJetCIorTripleJetVBFIorHTT"]),
233  mksel(["hltL1sQuadJetC60IorHTT380IorHTT280QuadJetIorHTT300QuadJet","hltL1sQuadJetC50to60IorHTT280to500IorHTT250to340QuadJet"]),
234  mksel(["hltCaloQuadJet30HT300","hltCaloQuadJet30HT320"]),
235  mksel(["hltPFCentralJetsLooseIDQuad30HT300","hltPFCentralJetsLooseIDQuad30HT330"])
236  ),
237  ),
238  cms.PSet(
239  name = cms.string("MHT"),
240  id = cms.int32(4),
241  sel = cms.string("type(90)"),
242  l1seed = cms.string("type(-90) && coll('L1HTM')"), l1deltaR = cms.double(9999),
243  l1seed_2 = cms.string("type(-90) && coll('L1HTMHF')"), l1deltaR_2 = cms.double(9999),
244  l2seed = cms.string("type(90) && coll('hltHtMhtJet30')"), l2deltaR = cms.double(9999),
245  skipObjectsNotPassingQualityBits = cms.bool(True),
246  qualityBits = cms.VPSet(
247  mksel(["hltCaloQuadJet30HT300","hltCaloQuadJet30HT320"]),
248  mksel(["hltPFCentralJetsLooseIDQuad30HT300","hltPFCentralJetsLooseIDQuad30HT330"])
249  ),
250  ),
251  ),
252 )
253 
254 # ERA-dependent configuration
255 # Tune filter and collection names to 2016 HLT menus
256 # FIXME: check non-lepton objects and cross check leptons
257 selections2016 = copy.deepcopy(triggerObjectTable.selections)
258 for sel in selections2016:
259  if sel.name=='Muon':
260  sel.sel = cms.string("type(83) && pt > 5 && (coll('hlt*L3MuonCandidates') || coll('hlt*TkMuonCands') || coll('hlt*TrkMuonCands'))")
261  sel.qualityBits = cms.VPSet(
262  mksel("filter('*RelTrkIso*Filtered0p4')","TrkIsoVVL"),
263  mksel("filter('hltL3cr*IsoFiltered0p09')","Iso"),
264  mksel("filter('*OverlapFilter*IsoMu*PFTau*')","OverlapFilter PFTau"),
265  mksel("filter('hltL3f*IsoFiltered0p09')","IsoTkMu"),
266  mksel(["hltL3fL1sMu*L3Filtered50*","hltL3fL1sMu*TkFiltered50*"],"1mu (Mu50)", bit=10)
267  )
268  elif sel.name=='Tau':
269  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*') )")
270  sel.qualityBits = cms.VPSet(
271  mksel("(filter('*LooseIso*')-filter('*VLooseIso*'))","LooseIso"),
272  mksel("filter('*Medium*Iso*')","Medium(Comb)Iso"),
273  mksel("filter('*VLooseIso*')","VLooseIso"),
274  mksel("0","None"),
275  mksel("filter('hltL2TauIsoFilter')","L2p5 pixel iso"),
276  mksel("filter('*OverlapFilter*IsoMu*')","OverlapFilter IsoMu"),
277  mksel("filter('*OverlapFilter*IsoEle*')","OverlapFilter IsoEle"),
278  mksel("filter('*L1HLTMatched*')","L1-HLT matched"),
279  mksel("filter('*Dz02*')","Dz")
280  )
281 
282 run2_HLTconditions_2016.toModify(
283  triggerObjectTable,
284  selections = selections2016
285 )
286 
287 from PhysicsTools.PatUtils.L1PrefiringWeightProducer_cff import prefiringweight
288 #Next lines are for UL2016 maps
289 (run2_muon_2016 & tracker_apv_vfp30_2016).toModify(
290  prefiringweight,
291  DataEraECAL = cms.string("UL2016preVFP"),
292  DataEraMuon = cms.string("2016preVFP")
293 )
294 (run2_muon_2016 & ~tracker_apv_vfp30_2016).toModify(
295  prefiringweight,
296  DataEraECAL = cms.string("UL2016postVFP"),
297  DataEraMuon = cms.string("2016postVFP")
298 )
299 #Next line is for UL2017 maps
300 run2_jme_2017.toModify(
301  prefiringweight,
302  DataEraECAL = cms.string("UL2017BtoF"),
303  DataEraMuon = cms.string("20172018")
304 )
305 #Next line is for UL2018 maps
306 run2_muon_2018.toModify(
307  prefiringweight,
308  DataEraECAL = cms.string("None"),
309  DataEraMuon = cms.string("20172018")
310 )
311 
312 l1PreFiringEventWeightTable = globalVariablesTableProducer.clone(
313  name = cms.string("L1PreFiringWeight"),
314  variables = cms.PSet(
315  Nom = ExtVar(cms.InputTag("prefiringweight:nonPrefiringProb"), "float", doc = "L1 pre-firing event correction weight (1-probability)", precision=8),
316  Up = ExtVar(cms.InputTag("prefiringweight:nonPrefiringProbUp"), "float", doc = "L1 pre-firing event correction weight (1-probability), up var.", precision=8),
317  Dn = ExtVar(cms.InputTag("prefiringweight:nonPrefiringProbDown"), "float", doc = "L1 pre-firing event correction weight (1-probability), down var.", precision=8),
318  Muon_Nom = ExtVar(cms.InputTag("prefiringweight:nonPrefiringProbMuon"), "float", doc = "Muon L1 pre-firing event correction weight (1-probability)", precision=8),
319  Muon_SystUp = ExtVar(cms.InputTag("prefiringweight:nonPrefiringProbMuonSystUp"), "float", doc = "Muon L1 pre-firing event correction weight (1-probability), up var. syst.", precision=8),
320  Muon_SystDn = ExtVar(cms.InputTag("prefiringweight:nonPrefiringProbMuonSystDown"), "float", doc = "Muon L1 pre-firing event correction weight (1-probability), down var. syst.", precision=8),
321  Muon_StatUp = ExtVar(cms.InputTag("prefiringweight:nonPrefiringProbMuonStatUp"), "float", doc = "Muon L1 pre-firing event correction weight (1-probability), up var. stat.", precision=8),
322  Muon_StatDn = ExtVar(cms.InputTag("prefiringweight:nonPrefiringProbMuonStatDown"), "float", doc = "Muon L1 pre-firing event correction weight (1-probability), down var. stat.", precision=8),
323  ECAL_Nom = ExtVar(cms.InputTag("prefiringweight:nonPrefiringProbECAL"), "float", doc = "ECAL L1 pre-firing event correction weight (1-probability)", precision=8),
324  ECAL_Up = ExtVar(cms.InputTag("prefiringweight:nonPrefiringProbECALUp"), "float", doc = "ECAL L1 pre-firing event correction weight (1-probability), up var.", precision=8),
325  ECAL_Dn = ExtVar(cms.InputTag("prefiringweight:nonPrefiringProbECALDown"), "float", doc = "ECAL L1 pre-firing event correction weight (1-probability), down var.", precision=8),
326  )
327 )
328 
329 l1bits=cms.EDProducer("L1TriggerResultsConverter",
330  src=cms.InputTag("gtStage2Digis"),
331  legacyL1=cms.bool(False),
332  storeUnprefireableBit=cms.bool(True),
333  src_ext=cms.InputTag("simGtExtUnprefireable"))
334 
335 triggerObjectTablesTask = cms.Task( unpackedPatTrigger,triggerObjectTable,l1bits)
336 
337 (run2_HLTconditions_2016 | run2_HLTconditions_2017 | run2_HLTconditions_2018).toReplaceWith(
338  triggerObjectTablesTask, triggerObjectTablesTask.copyAndAdd(prefiringweight,l1PreFiringEventWeightTable)
339 )
def ExtVar(tag, valtype, doc=None, precision=-1)
Definition: common_cff.py:27
def chaintoken_(tokens, f, OR_or_AND=None)
def mksel(selection, doc=None, bit=None)
static std::string join(char **cmd)
Definition: RemoteFile.cc:19