CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
hltHiggsValidator_cfi.py
Go to the documentation of this file.
2 
3 
4 hltHiggsValidator = cms.EDAnalyzer("HLTHiggsValidator",
5 
6  hltProcessName = cms.string("HLT"),
7  analysis = cms.vstring("HWW", "HZZ", "Hgg", "Htaunu", "H2tau", "VBFHbb_0btag", "VBFHbb_1btag", "VBFHbb_2btag", "ZnnHbb","DoubleHinTaus","HiggsDalitz","X4b","TTHbbej"),
8  histDirectory = cms.string("HLT/Higgs"),
9 
10  # -- The instance name of the reco::GenParticles collection
11  genParticleLabel = cms.string("genParticles"),
12 
13  # -- The instance name of the reco::GenJets collection
14  genJetLabel = cms.string("ak4GenJets"),
15 
16  # -- The instance name of the reco::PFJetCollection collection
17  recoHtJetLabel = cms.untracked.string("ak4PFJetsCHS"),
18 
19  # -- The number of interactions in the event
20  pileUpInfoLabel = cms.string("addPileupInfo"),
21 
22  # -- The binning of the Pt efficiency plots
23  parametersTurnOn = cms.vdouble(0,
24  1, 8, 9, 10,
25  11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
26  22, 24, 26, 28, 30, 32, 34, 36, 38, 40,
27  45, 50, 55, 60, 65, 70,
28  80, 100,
29  ),
30 
31  # -- (NBins, minVal, maxValue) for the Eta,Phi and nInterations efficiency plots
32  parametersEta = cms.vdouble(48, -2.400, 2.400),
33  parametersPhi = cms.vdouble(50, -3.142, 3.142),
34  parametersPu = cms.vdouble(10, 0, 20),
35  parametersHt = cms.untracked.vdouble(100, 0, 1000),
36 
37  # TO BE DEPRECATED --------------------------------------------
38  cutsDr = cms.vdouble(0.4, 0.4, 0.015), # TO BE DEPRECATED
39  # parameters for attempting an L1 match using a propagator
40  maxDeltaPhi = cms.double(0.4), # TO BE DEPRECATED
41  maxDeltaR = cms.double(0.4), # TO BE DEPRECATED
42  # TO BE DEPRECATED --------------------------------------------
43 
44  # Definition of generic cuts on generated and reconstructed objects (note that
45  # these cuts can be overloaded inside a particular analysis)
46  # Objects recognized: Mu Ele Photon PFTau MET
47  # Syntax in the strings: valid syntax of the StringCutObjectSelector class
48  # --- Muons
49  Mu_genCut = cms.string("pt > 10 && abs(eta) < 2.4 && abs(pdgId) == 13 && status == 1"),
50  Mu_recCut = cms.string("pt > 10 && abs(eta) < 2.4 && isGlobalMuon"),
51  Mu_cutMinPt = cms.double(10), # TO BE DEPRECATED
52  Mu_cutMaxEta = cms.double(2.4), # TO BE DEPRECATED
53 
54  # --- Electrons
55  Ele_genCut = cms.string("pt > 10 && abs(eta) < 2.5 && abs(pdgId) == 11 && status == 1"),
56  Ele_recCut = cms.string("pt > 10 && abs(eta) < 2.5 && hadronicOverEm < 0.05 && eSuperClusterOverP > 0.5 && eSuperClusterOverP < 2.5"),
57  Ele_cutMinPt = cms.double(10), # TO BE DEPRECATED
58  Ele_cutMaxEta = cms.double(2.5), # TO BE DEPRECATED
59 
60  # --- Photons
61  Photon_genCut = cms.string("abs(pdgId) == 22 && status == 1"),
62  Photon_recCut = cms.string("pt > 20 && abs(eta) < 2.4 && hadronicOverEm < 0.1 && ( r9 < 0.85 || ("+\
63  " ( abs(eta) < 1.479 && sigmaIetaIeta < 0.014 || "+\
64  " abs(eta) > 1.479 && sigmaIetaIeta < 0.0035 ) && "+\
65  " ecalRecHitSumEtConeDR03 < (5.0+0.012*et) && hcalTowerSumEtConeDR03 < (5.0+0.0005*et ) && trkSumPtSolidConeDR03 < (5.0 + 0.0002*et)"+\
66  " )"+")" ),
67  Photon_cutMinPt = cms.double(20), # TO BE DEPRECATED
68  Photon_cutMaxEta = cms.double(2.4),# TO BE DEPRECATED
69 
70  # --- Taus:
71  PFTau_genCut = cms.string("pt > 20 && abs(eta) < 2.4 && abs(pdgId) == 15 && status == 3"),
72  PFTau_recCut = cms.string("pt > 20 && abs(eta) < 2.4"), # STILL MISSING THIS INFO
73  PFTau_cutMinPt = cms.double(20), # TO BE DEPRECATED
74  PFTau_cutMaxEta = cms.double(2.5),# TO BE DEPRECATED
75 
76  # --- MET (calo)
77  MET_genCut = cms.string("(abs(pdgId) == 12 || abs(pdgId)==14 || abs(pdgId) == 16 ) && status == 1"),
78  MET_recCut = cms.string("pt > 75."),
79  MET_cutMinPt = cms.double(75), # TO BE DEPRECATED
80  MET_cutMaxEta = cms.double(0), # TO BE DEPRECATED
81 
82  # --- PFMET
83  PFMET_genCut = cms.string("(abs(pdgId) == 12 || abs(pdgId)==14 || abs(pdgId) == 16 ) && status == 1"),
84  PFMET_recCut = cms.string("pt > 75."),
85  PFMET_cutMinPt = cms.double(75), # TO BE DEPRECATED
86  PFMET_cutMaxEta = cms.double(0), # TO BE DEPRECATED
87 
88  # --- Jets:
89  Jet_genCut = cms.string("pt > 10"),
90  Jet_recCut = cms.string("pt > 10"),
91  Jet_cutMinPt = cms.double(0), # TO BE DEPRECATED
92  Jet_cutMaxEta = cms.double(0), # TO BE DEPRECATED
93 
94 
95 
96  # The specific parameters per analysis: the name of the parameter set has to be
97  # the same as the defined ones in the 'analysis' datamember. Each analysis is a PSet
98  # with the mandatory attributes:
99  # - hltPathsToCheck (cms.vstring) : a list of all the trigger pats to be checked
100  # in this analysis. Up to the version number _v, but not including
101  # the number in order to avoid this version dependence. Example: HLT_Mu18_v
102  # - recVarLabel (cms.string): where Var can be Muon, Elec, Photon, CaloMET, PFTau, Jet. This
103  # attribute is the name of the INSTANCE LABEL for each RECO collection to
104  # be considered in the analysis. Note that the trigger paths rely on some
105  # objects which need to be defined here, otherwise the code will complain.
106  # - minCandidates (cms.uint32): the minimum number of GEN/RECO objects in the event
107  # Besides the mandatory attributes, you can redefine the generation and reconstruction cuts
108  # for any object you want.
109  # * Var_genCut, Var_recCut (cms.string): where Var=Mu, Ele, Photon, MET, PFTau (see above)
110 
111  HWW = cms.PSet(
112  hltPathsToCheck = cms.vstring(
113  #dileptons for Hww and Hzz
114  "HLT_Ele23_Ele12_CaloIdL_TrackIdL_IsoVL_DZ_v",
115  "HLT_Mu8_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_v",
116  "HLT_Mu23_TrkIsoVVL_Ele12_CaloIdL_TrackIdL_IsoVL_v",
117  "HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_DZ_v",
118  "HLT_Mu17_TrkIsoVVL_TkMu8_TrkIsoVVL_DZ_v",
119  #dilepton path for the 7e33 menu at 25ns
120  "HLT_Ele17_Ele12_CaloIdL_TrackIdL_IsoVL_DZ_v",
121  "HLT_Mu8_TrkIsoVVL_Ele17_CaloIdL_TrackIdL_IsoVL_v",
122  "HLT_Mu17_TrkIsoVVL_Ele12_CaloIdL_TrackIdL_IsoVL_v",
123  #prescaled control paths
124  "HLT_Ele23_Ele12_CaloIdL_TrackIdL_IsoVL_v",
125  "HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_v",
126  "HLT_Mu17_TrkIsoVVL_TkMu8_TrkIsoVVL_v",
127  "HLT_Ele23_CaloIdL_TrackIdL_IsoVL_v",
128  "HLT_Ele12_CaloIdL_TrackIdL_IsoVL_v",
129  "HLT_Ele17_Ele12_CaloIdL_TrackIdL_IsoVL_v"
130  ),
131  recMuonLabel = cms.string("muons"),
132  recElecLabel = cms.string("gedGsfElectrons"),
133  # -- Analysis specific cuts
134  minCandidates = cms.uint32(2),
135  ),
136  HZZ = cms.PSet(
137  hltPathsToCheck = cms.vstring(
138  #tri-leptons for Hzz
139  "HLT_Ele16_Ele12_Ele8_CaloIdL_TrackIdL_v",
140  "HLT_Mu8_DiEle12_CaloIdL_TrackIdL_v",
141  "HLT_DiMu9_Ele9_CaloIdL_TrackIdL_v",
142  "HLT_TripleMu_12_10_5_1PairDZ_v",
143  "HLT_TripleMu_12_10_5_v"
144  ),
145  recMuonLabel = cms.string("muons"),
146  recElecLabel = cms.string("gedGsfElectrons"),
147  #recTrackLabel = cms.string("globalMuons"),
148  # -- Analysis specific cuts
149  minCandidates = cms.uint32(4),
150  ),
151  Hgg = cms.PSet(
152  hltPathsToCheck = cms.vstring(
153  "HLT_Diphoton30_18_R9Id85_OR_Iso50T80LCaloId24b40e_AND_HE10P0_R9Id50b80e_PixelSeed_Mass70_v",
154  "HLT_Diphoton44_28_R9Id85_OR_Iso50T80LCaloId24b40e_AND_HE10P1_R9Id50b80e_v",
155  "HLT_Diphoton30_18_R9Id85_OR_Iso50T80LCaloId24b40e_AND_HE10P0_R9Id50b80e_Mass95_v",
156  "HLT_Diphoton28_14_R9Id85_OR_Iso50T80LCaloId24b40e_AND_HE10P0_R9Id50b80e_Mass50_Eta_1p5_v",
157  "HLT_Diphoton30_18_R9Id85_AND_Iso50T80LCaloId24b40e_AND_HE10P0_R9Id50b80e_Solid_Mass30_v",
158  "HLT_Diphoton30_18_R9Id85_AND_Iso50T80LCaloId24b40e_AND_HE10P0_R9Id50b80e_PV_v",
159  "HLT_Diphoton30_18_R9Id85_AND_Iso50T80LCaloId24b40e_AND_HE10P0_R9Id50b80e_DoublePV_v"
160  ),
161  recPhotonLabel = cms.string("photons"),
162  # -- Analysis specific cuts
163  minCandidates = cms.uint32(2),
164  ),
165  DoubleHinTaus = cms.PSet(
166  hltPathsToCheck = cms.vstring(
167  "HLT_Mu17_Mu8_SameSign_v",
168  "HLT_Mu17_Mu8_SameSign_DPhi_v"
169  ),
170  recMuonLabel = cms.string("muons"),
171  # -- Analysis specific cuts
172  minCandidates = cms.uint32(2),
173  ),
174  HiggsDalitz = cms.PSet(
175  hltPathsToCheck = cms.vstring(
176  "HLT_Mu12_Photon25_CaloIdL_v",
177  "HLT_Mu12_Photon25_CaloIdL_L1ISO_v",
178  "HLT_Mu12_Photon25_CaloIdL_L1OR_v"
179  ),
180  recMuonLabel = cms.string("muons"),
181  recPhotonLabel = cms.string("photons"),
182  # -- Analysis specific cuts
183  minCandidates = cms.uint32(2),
184  ),
185  Htaunu = cms.PSet(
186  hltPathsToCheck = cms.vstring(
187 # "HLT_LooseIsoPFTau35_Trk20_Prong1_MET70_v",
188 # "HLT_LooseIsoPFTau35_Trk20_Prong1_MET75_v",
189  "HLT_LooseIsoPFTau50_Trk30_eta2p1_MET80_v",
190  "HLT_LooseIsoPFTau50_Trk30_eta2p1_MET120_v",
191  # monitoring triggers for efficiency measurement
192  "HLT_LooseIsoPFTau50_Trk30_eta2p1_v",
193  "HLT_IsoMu16_eta2p1_CaloMET30_LooseIsoPFTau50_Trk30_eta2p1_v",
194  "HLT_IsoMu16_eta2p1_CaloMET30_v"
195  ),
196  recPFTauLabel = cms.string("hpsPFTauProducer"),
197  recCaloMETLabel = cms.string("caloMet"),
198  recMuonLabel = cms.string("muons"),
199  # -- Analysis specific cuts
200  minCandidates = cms.uint32(1),
201  parametersTurnOn = cms.vdouble(0,
202  1, 8, 9, 10,
203  11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
204  22, 24, 26, 28, 30, 32, 34, 36, 38, 40,
205  45, 50, 55, 60, 65, 70,
206  80, 100, 120, 140, 160, 180, 200,
207  ),
208  ),
209  H2tau = cms.PSet(
210  hltPathsToCheck = cms.vstring(
211  #"HLT_Ele22_eta2p1_WP90Rho_LooseIsoPFTau20_v",#?
212  #"HLT_Ele22_eta2p1_WP90Rho_Gsf_LooseIsoPFTau20_v",
213  #"HLT_Ele20_CaloIdVT_CaloIsoRhoT_TrkIdT_TrkIsoT_LooseIsoPFTau20_v",
214  "HLT_IsoMu17_eta2p1_LooseIsoPFTau20_v",
215  "HLT_DoubleMediumIsoPFTau40_Trk1_eta2p1_Reg_v",
216  #"HLT_IsoMu24_eta2p1_IterTrk02_LooseIsoPFTau20_v",
217  "HLT_IsoMu17_eta2p1_LooseIsoPFTau20_SingleL1_v",
218  "HLT_IsoMu17_eta2p1_MediumIsoPFTau40_Trk1_eta2p1_Reg_v",
219  "HLT_IsoMu17_eta2p1_v",
220  "HLT_DoubleIsoMu17_eta2p1_v",
221  "HLT_IsoMu16_eta2p1_CaloMET30_v",
222  "HLT_Mu16_eta2p1_CaloMET30_v",
223  "HLT_Ele27_eta2p1_WP75_Gsf_DoubleMediumIsoPFTau40_Trk1_eta2p1_Reg_v",
224  "HLT_Ele32_eta2p1_WP75_Gsf_DoubleMediumIsoPFTau40_Trk1_eta2p1_Reg_v",
225  "HLT_Ele27_eta2p1_WP75_Gsf_LooseIsoPFTau20_v",
226  "HLT_Ele32_eta2p1_WP75_Gsf_LooseIsoPFTau20_v",
227  "HLT_Ele22_eta2p1_WP75_Gsf_v",
228  "HLT_DoubleEle24_22_eta2p1_WP75_Gsf_v",
229  "HLT_IsoMu24_eta2p1_LooseIsoPFTau20_v",
230  "HLT_IsoMu24_eta2p1_IterTrk02_v",
231  "HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_v",
232  "HLT_Ele22_eta2p1_WP75_Gsf_LooseIsoPFTau20_v",
233  "HLT_Ele27_eta2p1_WP75_Gsf_v",
234  "HLT_Ele32_eta2p1_WP75_Gsf_v",
235  "HLT_Ele17_Ele8_Gsf_v"
236  ),
237  recPFTauLabel = cms.string("hpsPFTauProducer"),
238  recMuonLabel = cms.string("muons"),
239  recElecLabel = cms.string("gedGsfElectrons"),
240  recCaloMETLabel = cms.string("caloMet"),
241  # -- Analysis specific cuts
242  minCandidates = cms.uint32(2),
243  ),
244  VBFHbb_0btag = cms.PSet(
245  hltPathsToCheck = cms.vstring(
246  "HLT_QuadPFJet_VBF_v",
247  "HLT_L1_TripleJet_VBF_v"
248  ),
249  recJetLabel = cms.string("ak4PFJetsCHS"),
250  jetTagLabel = cms.string("pfCombinedSecondaryVertexBJetTags"),
251  # -- Analysis specific cuts
252  minCandidates = cms.uint32(4),
253  NminOneCuts = cms.untracked.vdouble(2.5, 240, 2.1, 0, 0, 0, 0, 0, 0, 95, 85, 70, 40), #dEtaqq, mqq, dPhibb, CSV1, CSV2, CSV3, maxCSV_jets, maxCSV_E, MET, pt1, pt2, pt3, pt4
254  ),
255  VBFHbb_2btag = cms.PSet(
256  hltPathsToCheck = cms.vstring(
257  "HLT_QuadPFJet_DoubleBTagCSV_VBF_Mqq200_v",
258  "HLT_QuadPFJet_DoubleBTagCSV_VBF_Mqq240_v",
259  ),
260  recJetLabel = cms.string("ak4PFJetsCHS"),
261  jetTagLabel = cms.string("pfCombinedSecondaryVertexBJetTags"),
262  # -- Analysis specific cuts
263  minCandidates = cms.uint32(4),
264  NminOneCuts = cms.untracked.vdouble(2.5, 240, 2.1, 0.8, 0.5, 0, 0, 0, 0, 95, 85, 70, 40), #dEtaqq, mqq, dPhibb, CSV1, CSV2, CSV3, maxCSV_jets, maxCSV_E, MET, pt1, pt2, pt3, pt4
265  ),
266  VBFHbb_1btag = cms.PSet(
267  hltPathsToCheck = cms.vstring(
268  "HLT_QuadPFJet_SingleBTagCSV_VBF_Mqq460_v",
269  "HLT_QuadPFJet_SingleBTagCSV_VBF_Mqq500_v",
270  ),
271  recJetLabel = cms.string("ak4PFJetsCHS"),
272  jetTagLabel = cms.string("pfCombinedSecondaryVertexBJetTags"),
273  # -- Analysis specific cuts
274  minCandidates = cms.uint32(4),
275  NminOneCuts = cms.untracked.vdouble(5, 550, 1.0, 0.8, 0, 0, 0, 0, 0, 95, 85, 70, 40), #dEtaqq, mqq, dPhibb, CSV1, CSV2, CSV3, maxCSV_jets, maxCSV_E, MET, pt1, pt2, pt3, pt4
276  ),
277  ZnnHbb = cms.PSet(
278  hltPathsToCheck = cms.vstring(
279  "HLT_CaloMHTNoPU90_PFMET90_PFMHT90_IDTight_BTagCSV0p7_v",
280  "HLT_CaloMHTNoPU90_PFMET90_PFMHT90_IDTight_v"
281  "HLT_PFMET120_PFMHT120_IDTight_v",
282  "HLT_PFMET110_PFMHT110_IDTight_v",
283  "HLT_PFMET100_PFMHT100_IDTight_v",
284  "HLT_PFMET90_PFMHT90_IDTight_v",
285  ),
286  Jet_recCut = cms.string("pt > 10 && abs(eta) < 2.6"),
287  recJetLabel = cms.string("ak4PFJetsCHS"),
288  jetTagLabel = cms.string("pfCombinedSecondaryVertexBJetTags"),
289  recPFMETLabel = cms.string("pfMet"),
290  # -- Analysis specific cuts
291  minCandidates = cms.uint32(1),
292  NminOneCuts = cms.untracked.vdouble(0, 0, 0, 0.9, 0, 0, 8, 30, 100, 70), #dEtaqq, mqq, dPhibb, CSV1, CSV2, CSV3, maxCSV_jets, maxCSV_E, MET, pt1, pt2, pt3, pt4
293  ),
294  X4b = cms.PSet(
295  hltPathsToCheck = cms.vstring(
296  "HLT_DoubleJet90_Double30_TripleCSV0p5_v",
297  "HLT_DoubleJet90_Double30_DoubleCSV0p5_v",
298  "HLT_QuadJet45_TripleCSV0p5_v",
299  "HLT_QuadJet45_DoubleCSV0p5_v",
300  ),
301  recJetLabel = cms.string("ak4PFJetsCHS"),
302  jetTagLabel = cms.string("pfCombinedSecondaryVertexBJetTags"),
303  # -- Analysis specific cuts
304  minCandidates = cms.uint32(4),
305  NminOneCuts = cms.untracked.vdouble(0, 0, 0, 0.5, 0.5 , 0.5, 0, 0, 0, 0, 90, 0, 45), #dEtaqq, mqq, dPhibb, CSV1, CSV2, CSV3, maxCSV_jets, maxCSV_E, MET, pt1, pt2, pt3, pt4
306  ),
307  TTHbbej = cms.PSet(
308  hltPathsToCheck = cms.vstring(
309  "HLT_Ele27_WP85_Gsf_v",
310  "HLT_Ele27_eta2p1_WP85_Gsf_HT200_v",
311  "HLT_Ele27_eta2p1_WPLoose_Gsf_v",
312  "HLT_Ele27_eta2p1_WPLoose_Gsf_HT200_v"
313  ),
314  recElecLabel = cms.string("gedGsfElectrons"),
315  #recJetLabel = cms.string("ak4PFJetsCHS"),
316  #jetTagLabel = cms.string("pfCombinedSecondaryVertexBJetTags"),
317  ## -- Analysis specific cuts
318  minCandidates = cms.uint32(1),
319  HtJetPtMin = cms.untracked.double(30),
320  HtJetEtaMax = cms.untracked.double(3.0),
321  ),
322 )