1 import FWCore.ParameterSet.Config
as cms
4 from PhysicsTools.NanoAOD.triggerObjectTableProducer_cfi
import triggerObjectTableProducer
5 from PhysicsTools.NanoAOD.globalVariablesTableProducer_cfi
import globalVariablesTableProducer
8 unpackedPatTrigger = cms.EDProducer(
"PATTriggerObjectStandAloneUnpacker",
9 patTriggerObjectsStandAlone = cms.InputTag(
'slimmedPatTrigger'),
10 triggerResults = cms.InputTag(
'TriggerResults::HLT'),
11 unpackFilterLabels = cms.bool(
True)
14 def mksel( selection, doc=None, bit=None):
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)
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))
30 if (
not type(tokens)
in [list,tuple]):
32 tokens= [t.strip().rstrip()
for t
in tokens.split(OR_or_AND)]
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})" 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.PSet(
55 doc = cms.string(
"PixelMatched e/gamma"),
57 sel = cms.string(
"type(92) && pt > 7 && (coll('hltEgammaCandidates') || coll('hltEgammaCandidatesUnseeded')) && (filter('*PixelMatchFilter') || filter('*PixelMatchUnseededFilter'))"),
58 l1seed = cms.string(
"type(-98)"), l1deltaR = cms.double(0.3),
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*CaloIdLTrackIdLIsoVLTrackIsoLeg1Filter')",
"2e (Leg 1)"),
67 mksel(
"filter('hltEle*Ele*CaloIdLTrackIdLIsoVLTrackIsoLeg2Filter')",
"2e (Leg 2)"),
68 mksel(
"filter('hltMu*TrkIsoVVL*Ele*CaloIdLTrackIdLIsoVL*Filter*')",
"1e-1mu"),
69 mksel(
"filter('hlt*OverlapFilterIsoEle*PFTau*')",
"1e-1tau"),
70 mksel(
"filter('hltEle*Ele*Ele*CaloIdLTrackIdLDphiLeg*Filter')",
"3e"),
71 mksel([
"hltL3fL1Mu*DoubleEG*Filtered*",
"hltMu*DiEle*CaloIdLTrackIdLElectronleg*Filter"],
"2e-1mu"),
72 mksel([
"hltL3fL1DoubleMu*EG*Filter*",
"hltDiMu*Ele*CaloIdLTrackIdLElectronleg*Filter"],
"1e-2mu"),
73 mksel((
"hltEle32L1DoubleEGWPTightGsfTrackIsoFilter",
"hltEGL1SingleEGOrFilter"),
"1e (32_L1DoubleEG_AND_L1SingleEGOr)"),
74 mksel(
"filter('hltEle*CaloIdVTGsfTrkIdTGsfDphiFilter')",
"1e (CaloIdVT_GsfTrkIdT)"),
75 mksel(
"path('HLT_Ele*PFJet*')",
"1e (PFJet)"),
76 mksel([
"hltEG175HEFilter",
"hltEG200HEFilter"],
"1e (Photon175_OR_Photon200)"),
77 mksel(
"filter('hltEle*CaloIdLMWPMS2Filter')",
"2e (CaloIdL_MW seeded)"),
78 mksel(
"filter('hltDiEle*CaloIdLMWPMS2UnseededFilter')",
"2e (CaloIdL_MW unseeded)"),
79 mksel(
"filter('hlt*OverlapFilterIsoEle*ETau*PNet*Tau*')",
"1e-1tau PNet")
84 sel = cms.string(
"type(92) && pt > 15 && coll('hltEgammaCandidates')"),
85 l1seed = cms.string(
"type(-98)"), l1deltaR = cms.double(0.3),
87 skipObjectsNotPassingQualityBits = cms.bool(
True),
88 qualityBits = cms.VPSet(
89 mksel(
"filter('hltEG33L1EG26HEFilter')",
"hltEG33L1EG26HEFilter"),
90 mksel(
"filter('hltEG50HEFilter')",
"hltEG50HEFilter"),
91 mksel(
"filter('hltEG75HEFilter')",
"hltEG75HEFilter"),
92 mksel(
"filter('hltEG90HEFilter')",
"hltEG90HEFilter"),
93 mksel(
"filter('hltEG120HEFilter')",
"hltEG120HEFilter"),
94 mksel(
"filter('hltEG150HEFilter')",
"hltEG150HEFilter"),
95 mksel(
"filter('hltEG175HEFilter')",
"hltEG175HEFilter"),
96 mksel(
"filter('hltEG200HEFilter')",
"hltEG200HEFilter"),
97 mksel(
"filter('hltHtEcal800')",
"hltHtEcal800"),
98 mksel(
"filter('hltEG110EBTightIDTightIsoTrackIsoFilter')",
"hltEG110EBTightIDTightIsoTrackIsoFilter"),
99 mksel(
"filter('hltEG120EBTightIDTightIsoTrackIsoFilter')",
"hltEG120EBTightIDTightIsoTrackIsoFilter"),
100 mksel(
"filter('hltMu17Photon30IsoCaloIdPhotonlegTrackIsoFilter')",
"1mu-1photon"),
101 mksel(
"filter('hltEG30LR9Id85b90eHE12R9Id50b80eR9IdLastFilter')",
"hltEG30LR9Id85b90eHE12R9Id50b80eR9IdLastFilter"),
102 mksel(
"filter('hltEG30LIso60CaloId15b35eHE12R9Id50b80eEcalIsoLastFilter')",
"hltEG30LIso60CaloId15b35eHE12R9Id50b80eEcalIsoLastFilter"),
103 mksel(
"filter('hltEG22Iso60CaloId15b35eHE12R9Id50b80eTrackIsoUnseededLastFilter')",
"hltEG22Iso60CaloId15b35eHE12R9Id50b80eTrackIsoUnseededLastFilter"),
104 mksel(
"filter('hltEG22R9Id85b90eHE12R9Id50b80eR9UnseededLastFilter')",
"hltEG22R9Id85b90eHE12R9Id50b80eR9UnseededLastFilter"),
105 mksel(
"filter('hltEG30Iso60CaloId15b35eR9Id50b90eHE12b10eR9Id50b80eEcalIsoFilter')",
"hltEG30Iso60CaloId15b35eR9Id50b90eHE12b10eR9Id50b80eEcalIsoFilter"),
106 mksel(
"filter('hltEG18TrackIso60Iso60CaloId15b35eR9Id50b90eHE12b10eR9Id50b80eTrackIsoUnseededFilter')",
"hltEG18TrackIso60Iso60CaloId15b35eR9Id50b90eHE12b10eR9Id50b80eTrackIsoUnseededFilter")
111 sel = cms.string(
"type(83) && pt > 5 && (coll('hltIterL3MuonCandidates') || (pt > 45 && coll('hltHighPtTkMuonCands')) || (pt > 95 && coll('hltOldL3MuonCandidates')))"),
112 l1seed = cms.string(
"type(-81)"), l1deltaR = cms.double(0.5),
113 l2seed = cms.string(
"type(83) && coll('hltL2MuonCandidates')"), l2deltaR = cms.double(0.3),
114 skipObjectsNotPassingQualityBits = cms.bool(
True),
115 qualityBits = cms.VPSet(
116 mksel([
"*RelTrkIsoVVLFiltered0p4",
"*RelTrkIsoVVLFiltered"],
"TrkIsoVVL"),
117 mksel([
"hltL3crIso*IsoFiltered0p07",
"hltL3crIso*IsoFiltered0p08",
"hltL3crIso*IsoFiltered"],
"Iso"),
118 mksel(
"filter('*OverlapFilterIsoMu*PFTau*')",
"OverlapFilter PFTau"),
119 mksel([
"hltL3crIsoL1*SingleMu*IsoFiltered0p07",
"hltL3crIsoL1sMu*IsoFiltered0p07",
"hltL3crIsoL1*SingleMu*IsoFiltered0p08",
"hltL3crIsoL1sMu*IsoFiltered0p08",
"hltL3crIsoL1*SingleMu*IsoFiltered",
"hltL3crIsoL1sMu*IsoFiltered"],
"1mu"),
120 mksel(
"filter('hltDiMuon*Filtered*')",
"2mu"),
121 mksel(
"filter('hltMu*TrkIsoVVL*Ele*CaloIdLTrackIdLIsoVL*Filter*')",
"1mu-1e"),
122 mksel(
"filter('hlt*OverlapFilterIsoMu*PFTau*')",
"1mu-1tau"),
123 mksel(
"filter('hltL3fL1TripleMu*')",
"3mu"),
124 mksel([
"hltL3fL1DoubleMu*EG*Filtered*",
"hltDiMu*Ele*CaloIdLTrackIdLElectronleg*Filter"],
"2mu-1e"),
125 mksel([
"hltL3fL1Mu*DoubleEG*Filtered*",
"hltMu*DiEle*CaloIdLTrackIdLElectronleg*Filter"],
"1mu-2e"),
126 mksel([
"hltL3fL1sMu*L3Filtered50*",
"hltL3fL1sMu*TkFiltered50*"],
"1mu (Mu50)"),
127 mksel([
"hltL3fL1sMu*L3Filtered100*",
"hltL3fL1sMu*TkFiltered100*"],
"1mu (Mu100)"),
128 mksel(
"filter('hltMu17Photon30IsoCaloIdMuonlegL3Filtered17Q')",
"1mu-1photon"),
129 mksel(
"filter('hlt*OverlapFilterIsoMu*PNet*')",
"1mu-1tau PNet")
134 sel = cms.string(
"type(84) && pt > 5 && ( coll('*Tau*') || filter('*Loose*') || filter('*Medium*') || filter('*Tight*') || filter('*DeepTau*') || filter('*ChargedIso*') || filter('hltL2Tau*IsoFilter*') || filter('hltL2TauTagNNFilter*') || filter('*OverlapFilter*') || filter('*DisplPFTau*') || filter('*VBFIsoTau*') || filter('*Monitoring*') || filter('*DoublePFTau*') || filter('*SingleTau*') || filter('hlt*SelectedPFTau') || filter('*ETau*') || filter('*MuTau*') || filter('*PNetTauhTag*') )"),
135 l1seed = cms.string(
"type(-100)"), l1deltaR = cms.double(0.3),
136 l2seed = cms.string(
"type(84) && coll('hltL2TauJetsL1IsoTauSeeded')"), l2deltaR = cms.double(0.3),
137 skipObjectsNotPassingQualityBits = cms.bool(
True),
138 qualityBits = cms.VPSet(
139 mksel(
"filter('*Loose*')",
"Loose"),
140 mksel(
"filter('*Medium*')",
"Medium"),
141 mksel(
"filter('*Tight*')",
"Tight"),
142 mksel(
"filter('*DeepTau*')",
"DeepTau no spec WP"),
143 mksel(
"filter('*PNetTauhTag*')",
"PNet no specified WP"),
144 mksel(
"filter('*ChargedIso*')",
"ChargedIso"),
145 mksel(
"filter('*Dxy*')",
"Dxy"),
146 mksel(
"filter('*ETau*')",
"e-tau inside filter"),
147 mksel(
"filter('*MuTau*')",
"mu-tau inside filter"),
148 mksel([
"hltSelectedPFTau180*SingleTauWPDeepTauL1HLTMatched",
"hltSinglePFJet130PNetTauhTag*WPL2SingleTau"],
"Single Tau"),
149 mksel([
"hltHpsDoublePFTau20*DeepTauDitauWPAgainstMuon",
"hltDoublePFJets20PNetTauhTagL2*DoubleTau*"],
"VBF DiTau"),
150 mksel([
"hlt*DoublePFTau*L1HLTMatched",
"hltDoublePFJets30PNetTauhTag*WPL2DoubleTau"],
"di-tau"),
151 mksel([
"hltHpsOverlapFilterIsoEle*WPTightGsf*PFTau*",
"hltSinglePFJets30PNetTauhTag*WPMatchETauL1"],
"e-tau"),
152 mksel([
"hltHpsOverlapFilterIsoMu*PFTau*",
"hltSinglePFJets27PNetTauhTag*WPMatchMuTauL1"],
"mu-tau"),
153 mksel([
"hltHpsOverlapFilterDeepTauDoublePFTau*PFJet*",
"hltDoublePFJets26PNetTauhTagL2DoubleTau*Jet*"],
"di-tau + PFJet"),
154 mksel(
"filter('hltHpsOverlapFilterDisplacedEle*DisplPFTau*')",
"e-tau displaced"),
155 mksel(
"filter('hltHpsOverlapFilterDisplacedMu*DisplPFTau*')",
"mu-tau displaced"),
156 mksel(
"filter('hlt*Double*ChargedIsoDisplPFTau*')",
"di-tau displaced"),
157 mksel(
"filter('*Monitoring')",
"Monitoring"),
158 mksel([
"*MonitoringForVBFIsoTau",
"hltSinglePFJet45PNetTauhTagL2*VBFIsoTauMonitoring*"],
"VBF SingleTau Monitoring"),
159 mksel([
"hltHpsOverlapFilter*DeepTauPFTau*30Monitoring*",
"hltSinglePFJet26PNetTauhTag*L2Mu18TauYY*"],
"DiTau+Jet Monitoring"),
160 mksel(
"filter('hltHpsOverlapFilterIsoMu*MediumChargedIsoDisplTau*')",
"Monitoring muTau displaced"),
161 mksel(
"filter('*OneProng*')",
"OneProng"),
162 mksel([
"hltHpsOverlapFilterIsoMu24*DitauWPDeepTauPFTau35Monitoring",
"hltSinglePFJet30PNetTauhTag*WPL2MuXXTauYY"],
"DiTau Monitoring"),
163 mksel(
"filter('*OverlapFilter*')",
"OverlapFilter"),
164 mksel([
"hltHpsOverlapFilterIsoMu24*DeepTauPFTau20",
"hltSinglePFJet20PNetTauhTag*VBFDiTau*L2Tau"],
"VBF DiTau monitoring"),
165 mksel([
"hltHpsOverlapFilterIsoMu24*SingleTauWPDeepTauPFTau180L1Seeded",
"hltSinglePFJet130PNetTauhTag*WPL2Mu22Tau40"],
"SingleTau Monitoring"),
166 mksel([
"*L1HLTMatched*",
"*L1Seeded"],
"MatchL1HLT"),
167 mksel(
"filter('*Hps*')",
"HPS"),
168 mksel(
"filter('*SinglePFTau*')",
"single PF-tau inside filter"),
169 mksel([
"hltHpsSinglePFTau45*DitauWPDeepTauL1HLTMatchedSingleTauHLT",
"hltSinglePFJet45PNetTauhTagL2*VBFIsoTau*"],
"VBF SingleTau"),
172 BoostedTau = cms.PSet(
173 id = cms.int32(1515),
174 sel = cms.string(
"type(85) && pt > 120 && coll('hltAK8PFJetsCorrected') && filter('hltAK8SinglePFJets*SoftDropMass40*ParticleNetTauTau')"),
175 l1seed = cms.string(
"type(-99)"), l1deltaR = cms.double(0.3),
176 l2seed = cms.string(
"type(85) && coll('hltAK8CaloJetsCorrectedIDPassed')"), l2deltaR = cms.double(0.3),
177 skipObjectsNotPassingQualityBits = cms.bool(
True),
178 qualityBits = cms.VPSet(
179 mksel(
"filter('hltAK8SinglePFJets*SoftDropMass40*ParticleNetTauTau')",
"HLT_AK8PFJetX_SoftDropMass40_PFAK8ParticleNetTauTau0p30"),
180 mksel([
"hltAK8SinglePFJets230SoftDropMass40PNetTauTauTag0p03"])
185 sel = cms.string(
"( type(0) || type(85) || type(86) || type(-99) )"),
186 l1seed = cms.string(
"type(-99)"), l1deltaR = cms.double(0.3),
187 l2seed = cms.string(
"type(85) || type(86) || type(-99)"), l2deltaR = cms.double(0.3),
188 skipObjectsNotPassingQualityBits = cms.bool(
True),
189 qualityBits = cms.VPSet(
190 mksel([
"hlt4PixelOnlyPFCentralJetTightIDPt20"]),
191 mksel([
"hlt3PixelOnlyPFCentralJetTightIDPt30"]),
192 mksel([
"hltPFJetFilterTwoC30"]),
193 mksel([
"hlt4PFCentralJetTightIDPt30"]),
194 mksel([
"hlt4PFCentralJetTightIDPt35"]),
195 mksel([
"hltQuadCentralJet30"]),
196 mksel([
"hlt2PixelOnlyPFCentralJetTightIDPt40"]),
197 mksel([
"hltL1sTripleJet1008572VBFIorHTTIorDoubleJetCIorSingleJet",
"hltL1sTripleJet1058576VBFIorHTTIorDoubleJetCIorSingleJet",
"hltL1sTripleJetVBFIorHTTIorSingleJet"]),
198 mksel([
"hlt3PFCentralJetTightIDPt40"]),
199 mksel([
"hlt3PFCentralJetTightIDPt45"]),
200 mksel([
"hltL1sQuadJetC60IorHTT380IorHTT280QuadJetIorHTT300QuadJet",
"hltL1sQuadJetC50to60IorHTT280to500IorHTT250to340QuadJet"]),
201 mksel([
"hltBTagCaloDeepCSVp17Double"]),
202 mksel([
"hltPFCentralJetLooseIDQuad30"]),
203 mksel([
"hlt1PFCentralJetLooseID75"]),
204 mksel([
"hlt2PFCentralJetLooseID60"]),
205 mksel([
"hlt3PFCentralJetLooseID45"]),
206 mksel([
"hlt4PFCentralJetLooseID40"]),
207 mksel([
"hltHpsOverlapFilterDeepTauDoublePFTau*PFJet*",
"hltHpsOverlapFilterDoublePNetTauh26PFJet*"],
"(DiTau+Jet (Jet) Signal)"),
208 mksel([
"*CrossCleaned*MediumDeepTauDitauWPPFTau*",
"hltMatchedVBFTwoPFJets2CrossCleanedFrom*Double20PNetTauhTag*"],
"(VBF DiTau Jets)"),
209 mksel([
"*CrossCleanedUsingDiJetCorrChecker*",
"hlt2PFJetsL1VBFDiJetIsoTauMatchedVBFLooseID*"],
"(VBF SingleTau Jets)"),
210 mksel([
"hltHpsOverlapFilterDeepTauPFTau*PFJet*",
"hltHpsOverlapFilterIsoMu24SinglePFJet26PNetTauhTagPFJet*"],
"Muon+Tau+Jet (Jet) Monitoring"),
211 mksel([
"hlt2PFCentralJetTightIDPt50"]),
212 mksel([
"hlt1PixelOnlyPFCentralJetTightIDPt60"]),
213 mksel([
"hlt1PFCentralJetTightIDPt70"]),
214 mksel([
"hltBTagPFDeepJet1p5Single"]),
215 mksel([
"hltBTagPFDeepJet4p5Triple"]),
216 mksel([
"hltBTagCentralJetPt35PFParticleNet2BTagSum0p65",
"hltBTagCentralJetPt30PFParticleNet2BTagSum0p65",
"hltPFJetTwoC30PFBTagParticleNet2BTagSum0p65",
"hltPFCentralJetPt30PNet2BTagMean0p55"]),
217 mksel([
"hlt2PixelOnlyPFCentralJetTightIDPt20",
"hlt1PixelOnlyPFCentralJetTightIDPt50"]),
218 mksel([
"hlt2PFCentralJetTightIDPt30",
"hltPF2CentralJetTightIDPt30"]),
219 mksel([
"hlt1PFCentralJetTightIDPt60"]),
220 mksel([
"hltPF2CentralJetPt30PNet2BTagMean0p50"]),
225 sel = cms.string(
"type(85) && pt > 120"),
226 l1seed = cms.string(
"type(-99)"), l1deltaR = cms.double(0.3),
227 l2seed = cms.string(
"type(85) && coll('hltAK8CaloJetsCorrectedIDPassed')"), l2deltaR = cms.double(0.3),
228 skipObjectsNotPassingQualityBits = cms.bool(
True),
229 qualityBits = cms.VPSet(
230 mksel(
"coll('hltAK8PFJetsCorrected')"),
231 mksel([
"hltAK8SingleCaloJet200"]),
232 mksel(
"coll('hltAK8PFSoftDropJets230')"),
233 mksel([
"hltAK8SinglePFJets230SoftDropMass40BTagParticleNetBB0p35",
234 "hltAK8SinglePFJets250SoftDropMass40BTagParticleNetBB0p35",
235 "hltAK8SinglePFJets275SoftDropMass40BTagParticleNetBB0p35"]),
236 mksel([
"hltAK8DoublePFJetSDModMass30"]),
237 mksel([
"hltAK8DoublePFJetSDModMass50"]),
242 sel = cms.string(
"type(87) && pt > 30 && coll('hltPFMETProducer')"),
243 l1seed = cms.string(
"type(-87) && coll('L1ETM')"), l1deltaR = cms.double(9999),
244 l1seed_2 = cms.string(
"type(-87) && coll('L1ETMHF')"), l1deltaR_2 = cms.double(9999),
245 l2seed = cms.string(
"type( 87) && coll('hltMetClean')"), l2deltaR = cms.double(9999),
246 skipObjectsNotPassingQualityBits = cms.bool(
True),
247 qualityBits = cms.VPSet()
251 sel = cms.string(
"type(89) || type(-89)"),
252 l1seed = cms.string(
"type(-89) && coll('L1HTT')"), l1deltaR = cms.double(9999),
253 l1seed_2 = cms.string(
"type(-89) && coll('L1HTTHF')"), l1deltaR_2 = cms.double(9999),
254 l2seed = cms.string(
"type(89) && coll('hltHtMhtJet30')"), l2deltaR = cms.double(9999),
255 skipObjectsNotPassingQualityBits = cms.bool(
True),
256 qualityBits = cms.VPSet(
257 mksel([
"hltL1sTripleJetVBFIorHTTIorDoubleJetCIorSingleJet"]),
258 mksel([
"hltL1sQuadJetC50IorQuadJetC60IorHTT280IorHTT300IorHTT320IorTripleJet846848VBFIorTripleJet887256VBFIorTripleJet927664VBF",
"hltL1sQuadJetCIorTripleJetVBFIorHTT"]),
259 mksel([
"hltL1sQuadJetC60IorHTT380IorHTT280QuadJetIorHTT300QuadJet",
"hltL1sQuadJetC50to60IorHTT280to500IorHTT250to340QuadJet"]),
260 mksel([
"hltCaloQuadJet30HT300",
"hltCaloQuadJet30HT320"]),
261 mksel([
"hltPFCentralJetsLooseIDQuad30HT300",
"hltPFCentralJetsLooseIDQuad30HT330"]),
262 mksel([
"hltPFHT280Jet30"])
267 sel = cms.string(
"type(90)"),
268 l1seed = cms.string(
"type(-90) && coll('L1HTM')"), l1deltaR = cms.double(9999),
269 l1seed_2 = cms.string(
"type(-90) && coll('L1HTMHF')"), l1deltaR_2 = cms.double(9999),
270 l2seed = cms.string(
"type(90) && coll('hltHtMhtJet30')"), l2deltaR = cms.double(9999),
271 skipObjectsNotPassingQualityBits = cms.bool(
True),
272 qualityBits = cms.VPSet(
273 mksel([
"hltCaloQuadJet30HT300",
"hltCaloQuadJet30HT320"]),
274 mksel([
"hltPFCentralJetsLooseIDQuad30HT300",
"hltPFCentralJetsLooseIDQuad30HT330"])
283 run2_HLTconditions_2016.toModify(
284 triggerObjectTable.selections.Muon,
285 sel =
"type(83) && pt > 5 && (coll('hlt*L3MuonCandidates') || coll('hlt*TkMuonCands') || coll('hlt*TrkMuonCands'))",
286 qualityBits = cms.VPSet(
287 mksel(
"filter('*RelTrkIso*Filtered0p4')",
"TrkIsoVVL"),
288 mksel(
"filter('hltL3cr*IsoFiltered0p09')",
"Iso"),
289 mksel(
"filter('*OverlapFilter*IsoMu*PFTau*')",
"OverlapFilter PFTau"),
290 mksel(
"filter('hltL3f*IsoFiltered0p09')",
"IsoTkMu"),
291 mksel([
"hltL3fL1sMu*L3Filtered50*",
"hltL3fL1sMu*TkFiltered50*"],
"1mu (Mu50)", bit=10)
294 triggerObjectTable.selections.Tau,
295 sel =
"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*') )",
296 qualityBits = cms.VPSet(
297 mksel(
"(filter('*LooseIso*')-filter('*VLooseIso*'))",
"LooseIso"),
298 mksel(
"filter('*Medium*Iso*')",
"Medium(Comb)Iso"),
299 mksel(
"filter('*VLooseIso*')",
"VLooseIso"),
301 mksel(
"filter('hltL2TauIsoFilter')",
"L2p5 pixel iso"),
302 mksel(
"filter('*OverlapFilter*IsoMu*')",
"OverlapFilter IsoMu"),
303 mksel(
"filter('*OverlapFilter*IsoEle*')",
"OverlapFilter IsoEle"),
304 mksel(
"filter('*L1HLTMatched*')",
"L1-HLT matched"),
305 mksel(
"filter('*Dz02*')",
"Dz")
309 _run2_2017_2018_tau_filters = [
310 mksel(
"filter('*LooseChargedIso*')",
"LooseChargedIso"),
311 mksel(
"filter('*MediumChargedIso*')",
"MediumChargedIso"),
312 mksel(
"filter('*TightChargedIso*')",
"TightChargedIso"),
313 mksel(
"filter('*DeepTau*')",
"DeepTau"),
314 mksel(
"filter('*TightOOSCPhotons*')",
"TightID OOSC photons"),
315 mksel(
"filter('*Hps*')",
"HPS"),
316 mksel(
"filter('hlt*DoublePFTau*TrackPt1*ChargedIsolation*Dz02*')",
"charged iso di-tau"),
317 mksel(
"filter('hlt*DoublePFTau*DeepTau*L1HLTMatched')",
"deeptau di-tau"),
318 mksel(
"filter('hlt*OverlapFilterIsoEle*WPTightGsf*PFTau*')",
"e-tau"),
319 mksel(
"filter('hlt*OverlapFilterIsoMu*PFTau*')",
"mu-tau"),
320 mksel(
"filter('hlt*SelectedPFTau*L1HLTMatched')",
"single-tau/tau+MET"),
321 mksel(
"filter('hlt*DoublePFTau*TrackPt1*ChargedIso*')",
"run 2 VBF+ditau"),
322 mksel(
"filter('hlt*DoublePFTau*Track*ChargedIso*AgainstMuon')",
"run 3 VBF+ditau"),
323 mksel(
"filter('hltHpsSinglePFTau*HLTMatched')",
"run 3 double PF jets + ditau"),
324 mksel(
"filter('hltHpsOverlapFilterDeepTauDoublePFTau*PFJet*')",
"di-tau + PFJet"),
325 mksel(
"filter('hlt*Double*ChargedIsoDisplPFTau*Dxy*')",
"Displaced Tau"),
326 mksel(
"filter('*Monitoring')",
"Monitoring"),
327 mksel(
"filter('*Reg')",
"regional paths"),
328 mksel(
"filter('*L1Seeded')",
"L1 seeded paths"),
329 mksel(
"filter('*1Prong')",
"1 prong tau paths")
331 (run2_HLTconditions_2017 | run2_HLTconditions_2018).toModify(
332 triggerObjectTable.selections.Tau,
333 sel =
"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*') )",
334 qualityBits = cms.VPSet(_run2_2017_2018_tau_filters)
336 _run2_HLTconditions = run2_HLTconditions_2016 | run2_HLTconditions_2017 | run2_HLTconditions_2018
338 _run2_2016_jet_filters = [
339 mksel([
"*CrossCleaned*LooseChargedIsoPFTau*"],
"VBF cross-cleaned from loose iso PFTau"),
340 mksel([
"hltBTagCaloCSVp087Triple"],
"hltBTagCaloCSVp087Triple"),
341 mksel([
"hltDoubleCentralJet90"],
"hltDoubleCentralJet90"),
342 mksel([
"hltDoublePFCentralJetLooseID90"],
"hltDoublePFCentralJetLooseID90"),
343 mksel([
"hltL1sTripleJetVBFIorHTTIorDoubleJetCIorSingleJet"],
"hltL1sTripleJetVBFIorHTTIorDoubleJetCIorSingleJet"),
344 mksel([
"hltQuadCentralJet30"],
"hltQuadCentralJet30"),
345 mksel([
"hltQuadPFCentralJetLooseID30"],
"hltQuadPFCentralJetLooseID30"),
346 mksel([
"hltL1sQuadJetC50IorQuadJetC60IorHTT280IorHTT300IorHTT320IorTripleJet846848VBFIorTripleJet887256VBFIorTripleJet927664VBF",
"hltL1sQuadJetCIorTripleJetVBFIorHTT"],
"hltL1sQuadJetC50IorQuadJetC60IorHTT280IorHTT300IorHTT320IorTripleJet846848VBFIorTripleJet887256VBFIorTripleJet927664VBF or hltL1sQuadJetCIorTripleJetVBFIorHTT"),
347 mksel([
"hltQuadCentralJet45"],
"hltQuadCentralJet45"),
348 mksel([
"hltQuadPFCentralJetLooseID45"],
"hltQuadPFCentralJetLooseID45"),
349 mksel([
"hltL1sQuadJetC60IorHTT380IorHTT280QuadJetIorHTT300QuadJet",
"hltL1sQuadJetC50to60IorHTT280to500IorHTT250to340QuadJet"],
"hltL1sQuadJetC60IorHTT380IorHTT280QuadJetIorHTT300QuadJet or hltL1sQuadJetC50to60IorHTT280to500IorHTT250to340QuadJet"),
350 mksel([
"hltBTagCaloCSVp05Double",
"hltBTagCaloDeepCSVp17Double"],
"hltBTagCaloCSVp05Double or hltBTagCaloDeepCSVp17Double"),
351 mksel([
"hltPFCentralJetLooseIDQuad30"],
"hltPFCentralJetLooseIDQuad30"),
352 mksel([
"hlt1PFCentralJetLooseID75"],
"hlt1PFCentralJetLooseID75"),
353 mksel([
"hlt2PFCentralJetLooseID60"],
"hlt2PFCentralJetLooseID60"),
354 mksel([
"hlt3PFCentralJetLooseID45"],
"hlt3PFCentralJetLooseID45"),
355 mksel([
"hlt4PFCentralJetLooseID40"],
"hlt4PFCentralJetLooseID40"),
356 mksel([
"hltBTagPFCSVp070Triple",
"hltBTagPFDeepCSVp24Triple",
"hltBTagPFDeepCSV4p5Triple"],
"hltBTagPFCSVp070Triple or hltBTagPFDeepCSVp24Triple or hltBTagPFDeepCSV4p5Triple"),
357 mksel([
"hltHpsOverlapFilterDeepTauDoublePFTau*PFJet*"],
"Double tau + jet"),
358 mksel([
"*CrossCleaned*MediumDeepTauDitauWPPFTau*"],
"VBF cross-cleaned from medium deeptau PFTau"),
359 mksel([
"*CrossCleanedUsingDiJetCorrChecker*"],
"VBF cross-cleaned using dijet correlation checker"),
360 mksel([
"hltHpsOverlapFilterDeepTauPFTau*PFJet*"],
"monitoring muon + tau + jet"),
362 run2_HLTconditions_2016.toModify(triggerObjectTable.selections.Jet, qualityBits = cms.VPSet(_run2_2016_jet_filters))
364 _run2_2017_jet_filters = copy.deepcopy(_run2_2016_jet_filters)
365 _run2_2017_jet_filters[7] =
mksel([
"hltL1sTripleJet1008572VBFIorHTTIorDoubleJetCIorSingleJet",
"hltL1sTripleJet1058576VBFIorHTTIorDoubleJetCIorSingleJet",
"hltL1sTripleJetVBFIorHTTIorSingleJet"])
366 run2_HLTconditions_2017.toModify(triggerObjectTable.selections.Jet, qualityBits = cms.VPSet(_run2_2017_jet_filters))
368 _run2_2018_jet_filters = copy.deepcopy(_run2_2017_jet_filters)
369 _run2_2018_jet_filters[2] =
mksel([
"hltPFJetFilterTwoC30"])
370 _run2_2018_jet_filters.append(
mksel([
"hltBTagPFDeepCSV1p5Single"]))
371 run2_HLTconditions_2018.toModify(triggerObjectTable.selections.Jet, qualityBits = cms.VPSet(_run2_2018_jet_filters))
374 from PhysicsTools.PatUtils.L1PrefiringWeightProducer_cff
import prefiringweight
376 (run2_muon_2016 & tracker_apv_vfp30_2016).toModify(
378 DataEraECAL = cms.string(
"UL2016preVFP"),
379 DataEraMuon = cms.string(
"2016preVFP")
381 (run2_muon_2016 & ~tracker_apv_vfp30_2016).toModify(
383 DataEraECAL = cms.string(
"UL2016postVFP"),
384 DataEraMuon = cms.string(
"2016postVFP")
387 run2_jme_2017.toModify(
389 DataEraECAL = cms.string(
"UL2017BtoF"),
390 DataEraMuon = cms.string(
"20172018")
393 run2_muon_2018.toModify(
395 DataEraECAL = cms.string(
"None"),
396 DataEraMuon = cms.string(
"20172018")
399 l1PreFiringEventWeightTable = globalVariablesTableProducer.clone(
400 name = cms.string(
"L1PreFiringWeight"),
401 variables = cms.PSet(
402 Nom =
ExtVar(cms.InputTag(
"prefiringweight:nonPrefiringProb"),
"float", doc =
"L1 pre-firing event correction weight (1-probability)", precision=8),
403 Up =
ExtVar(cms.InputTag(
"prefiringweight:nonPrefiringProbUp"),
"float", doc =
"L1 pre-firing event correction weight (1-probability), up var.", precision=8),
404 Dn =
ExtVar(cms.InputTag(
"prefiringweight:nonPrefiringProbDown"),
"float", doc =
"L1 pre-firing event correction weight (1-probability), down var.", precision=8),
405 Muon_Nom =
ExtVar(cms.InputTag(
"prefiringweight:nonPrefiringProbMuon"),
"float", doc =
"Muon L1 pre-firing event correction weight (1-probability)", precision=8),
406 Muon_SystUp =
ExtVar(cms.InputTag(
"prefiringweight:nonPrefiringProbMuonSystUp"),
"float", doc =
"Muon L1 pre-firing event correction weight (1-probability), up var. syst.", precision=8),
407 Muon_SystDn =
ExtVar(cms.InputTag(
"prefiringweight:nonPrefiringProbMuonSystDown"),
"float", doc =
"Muon L1 pre-firing event correction weight (1-probability), down var. syst.", precision=8),
408 Muon_StatUp =
ExtVar(cms.InputTag(
"prefiringweight:nonPrefiringProbMuonStatUp"),
"float", doc =
"Muon L1 pre-firing event correction weight (1-probability), up var. stat.", precision=8),
409 Muon_StatDn =
ExtVar(cms.InputTag(
"prefiringweight:nonPrefiringProbMuonStatDown"),
"float", doc =
"Muon L1 pre-firing event correction weight (1-probability), down var. stat.", precision=8),
410 ECAL_Nom =
ExtVar(cms.InputTag(
"prefiringweight:nonPrefiringProbECAL"),
"float", doc =
"ECAL L1 pre-firing event correction weight (1-probability)", precision=8),
411 ECAL_Up =
ExtVar(cms.InputTag(
"prefiringweight:nonPrefiringProbECALUp"),
"float", doc =
"ECAL L1 pre-firing event correction weight (1-probability), up var.", precision=8),
412 ECAL_Dn =
ExtVar(cms.InputTag(
"prefiringweight:nonPrefiringProbECALDown"),
"float", doc =
"ECAL L1 pre-firing event correction weight (1-probability), down var.", precision=8),
416 l1bits=cms.EDProducer(
"L1TriggerResultsConverter",
417 src=cms.InputTag(
"gtStage2Digis"),
418 legacyL1=cms.bool(
False),
419 storeUnprefireableBits=cms.bool(
True),
420 src_ext=cms.InputTag(
"simGtExtUnprefireable"))
422 triggerObjectTablesTask = cms.Task( unpackedPatTrigger,triggerObjectTable,l1bits)
424 _run2_HLTconditions.toReplaceWith(
425 triggerObjectTablesTask, triggerObjectTablesTask.copyAndAdd(prefiringweight,l1PreFiringEventWeightTable)
def ExtVar(tag, valtype, doc=None, precision=-1)
def chaintoken_(tokens, f, OR_or_AND=None)
def mksel(selection, doc=None, bit=None)
static std::string join(char **cmd)