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", "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("ak5GenJets"),
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  #prescaled control paths
120  "HLT_Ele23_Ele12_CaloIdL_TrackIdL_IsoVL_v",
121  "HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_v",
122  "HLT_Mu17_TrkIsoVVL_TkMu8_TrkIsoVVL_v",
123  "HLT_Ele23_CaloIdL_TrackIdL_IsoVL_v",
124  "HLT_Ele12_CaloIdL_TrackIdL_IsoVL_v"
125  ),
126  recMuonLabel = cms.string("muons"),
127  recElecLabel = cms.string("gedGsfElectrons"),
128  # -- Analysis specific cuts
129  minCandidates = cms.uint32(2),
130  ),
131  HZZ = cms.PSet(
132  hltPathsToCheck = cms.vstring(
133  #tri-leptons for Hzz
134  "HLT_Ele16_Ele12_Ele8_CaloIdL_TrackIdL_v",
135  "HLT_Mu8_DiEle12_CaloIdL_TrackIdL_v",
136  "HLT_DiMu9_Ele9_CaloIdL_TrackIdL_v",
137  "HLT_TripleMu_12_10_5_1PairDZ_v",
138  "HLT_TripleMu_12_10_5_v"
139  ),
140  recMuonLabel = cms.string("muons"),
141  recElecLabel = cms.string("gedGsfElectrons"),
142  #recTrackLabel = cms.string("globalMuons"),
143  # -- Analysis specific cuts
144  minCandidates = cms.uint32(4),
145  ),
146  Hgg = cms.PSet(
147  hltPathsToCheck = cms.vstring(
148  "HLT_Photon36_R9Id85_OR_CaloId24b40e_Iso50T80L_Photon18_AND_HE10_R9Id65_Mass95_v",
149  "HLT_Photon42_R9Id85_OR_CaloId24b40e_Iso50T80L_Photon22_AND_HE10_R9Id65_v",
150  "HLT_Photon28_R9Id85_OR_CaloId24b40e_Iso50T80L_Photon14_AND_HE10_R9Id65_Mass50_Eta1p5_v",
151  "HLT_Photon36_R9Id85_AND_CaloId24b40e_Iso50T80L_Photon18_AND_HE10_R9Id65_Mass30_v",
152  "HLT_Photon36_R9Id85_AND_CaloId24b40e_Iso50T80L_Photon18_AND_HE10_R9Id65_v",
153  "HLT_Photon36_R9Id85_OR_CaloId24b40e_Iso50T80L_Photon18_AND_HE10_R9Id65_Mass70_v"
154  ),
155  recPhotonLabel = cms.string("photons"),
156  # -- Analysis specific cuts
157  minCandidates = cms.uint32(2),
158  ),
159  DoubleHinTaus = cms.PSet(
160  hltPathsToCheck = cms.vstring(
161  "HLT_Mu17_Mu8_SameSign_v",
162  "HLT_Mu17_Mu8_SameSign_DPhi_v"
163  ),
164  recMuonLabel = cms.string("muons"),
165  # -- Analysis specific cuts
166  minCandidates = cms.uint32(2),
167  ),
168  HiggsDalitz = cms.PSet(
169  hltPathsToCheck = cms.vstring(
170  "HLT_Mu12_Photon25_CaloIdL_v",
171  "HLT_Mu12_Photon25_CaloIdL_L1ISO_v",
172  "HLT_Mu12_Photon25_CaloIdL_L1OR_v"
173  ),
174  recMuonLabel = cms.string("muons"),
175  recPhotonLabel = cms.string("photons"),
176  # -- Analysis specific cuts
177  minCandidates = cms.uint32(2),
178  ),
179  Htaunu = cms.PSet(
180  hltPathsToCheck = cms.vstring(
181  "HLT_LooseIsoPFTau35_Trk20_Prong1_MET70_v",
182  "HLT_LooseIsoPFTau35_Trk20_Prong1_MET75_v",
183  "HLT_LooseIsoPFTau50_Trk30_eta2p1_MET120_v",
184  # monitoring triggers for efficiency measurement
185  "HLT_LooseIsoPFTau50_Trk30_eta2p1_v",
186  "HLT_IsoMu16_eta2p1_CaloMET30_LooseIsoPFTau50_Trk30_eta2p1_v",
187  "HLT_IsoMu16_eta2p1_CaloMET30_v"
188  ),
189  recPFTauLabel = cms.string("hpsPFTauProducer"),
190  recCaloMETLabel = cms.string("caloMet"),
191  recMuonLabel = cms.string("muons"),
192  # -- Analysis specific cuts
193  minCandidates = cms.uint32(2),
194  ),
195  H2tau = cms.PSet(
196  hltPathsToCheck = cms.vstring(
197  #"HLT_Ele22_eta2p1_WP90Rho_LooseIsoPFTau20_v",#?
198  #"HLT_Ele22_eta2p1_WP90Rho_Gsf_LooseIsoPFTau20_v",
199  #"HLT_Ele20_CaloIdVT_CaloIsoRhoT_TrkIdT_TrkIsoT_LooseIsoPFTau20_v",
200  "HLT_IsoMu17_eta2p1_LooseIsoPFTau20_v",
201  "HLT_DoubleMediumIsoPFTau40_Trk1_eta2p1_Reg_v",
202  #"HLT_IsoMu24_eta2p1_IterTrk02_LooseIsoPFTau20_v",
203  "HLT_IsoMu17_eta2p1_LooseIsoPFTau20_SingleL1_v",
204  "HLT_IsoMu17_eta2p1_MediumIsoPFTau40_Trk1_eta2p1_Reg_v",
205  "HLT_IsoMu17_eta2p1_v",
206  "HLT_DoubleIsoMu17_eta2p1_v",
207  "HLT_IsoMu16_eta2p1_CaloMET30_v",
208  "HLT_Mu16_eta2p1_CaloMET30_v",
209  "HLT_Ele27_eta2p1_WP85_Gsf_DoubleMediumIsoPFTau40_Trk1_eta2p1_Reg_v",
210  "HLT_Ele32_eta2p1_WP85_Gsf_DoubleMediumIsoPFTau40_Trk1_eta2p1_Reg_v",
211  "HLT_Ele27_eta2p1_WP85_Gsf_LooseIsoPFTau20_v",
212  "HLT_Ele32_eta2p1_WP85_Gsf_LooseIsoPFTau20_v",
213  "HLT_Ele22_eta2p1_WP85_Gsf_v",
214  "HLT_DoubleEle24_22_eta2p1_WP85_Gsf_v",
215  "HLT_IsoMu24_eta2p1_LooseIsoPFTau20_v",
216  "HLT_IsoMu24_eta2p1_IterTrk02_v",
217  "HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_v",
218  "HLT_Ele22_eta2p1_WP85_Gsf_LooseIsoPFTau20_v",
219  "HLT_Ele27_eta2p1_WP85_Gsf_v",
220  "HLT_Ele32_eta2p1_WP85_Gsf_v",
221  "HLT_Ele17_Ele8_Gsf_v"
222  ),
223  recPFTauLabel = cms.string("hpsPFTauProducer"),
224  recMuonLabel = cms.string("muons"),
225  recElecLabel = cms.string("gedGsfElectrons"),
226  recCaloMETLabel = cms.string("caloMet"),
227  # -- Analysis specific cuts
228  minCandidates = cms.uint32(2),
229  ),
230  VBFHbb = cms.PSet(
231  hltPathsToCheck = cms.vstring(
232  "HLT_QuadPFJet_BTagCSV_VBF_v",
233  "HLT_QuadPFJet_VBF_v",
234  "HLT_L1_TripleJet_VBF_v"
235  ),
236  recJetLabel = cms.string("ak4PFJetsCHS"),
237  jetTagLabel = cms.string("pfCombinedSecondaryVertexBJetTags"),
238  # -- Analysis specific cuts
239  minCandidates = cms.uint32(4),
240  NminOneCuts = cms.untracked.vdouble(2.6, 350, 2.6, 0.8, 0, 0, 0, 0, 0, 95, 85, 70, 40), #dEtaqq, mqq, dPhibb, CSV1, maxCSV_jets, maxCSV_E, MET, pt1, pt2, pt3, pt4
241  ),
242  ZnnHbb = cms.PSet(
243  hltPathsToCheck = cms.vstring(
244  "HLT_CaloMHTNoPU90_PFMET90_PFMHT90_IDLoose_BTagCSV0p7_v",
245  "HLT_PFMET110_PFMHT110_IDLoose_v",
246  "HLT_CaloMHTNoPU90_PFMET90_PFMHT90_IDLoose_v"
247  ),
248  Jet_recCut = cms.string("pt > 10 && abs(eta) < 2.6"),
249  recJetLabel = cms.string("ak4PFJetsCHS"),
250  jetTagLabel = cms.string("pfCombinedSecondaryVertexBJetTags"),
251  recPFMETLabel = cms.string("pfMet"),
252  # -- Analysis specific cuts
253  minCandidates = cms.uint32(1),
254  NminOneCuts = cms.untracked.vdouble(0, 0, 0, 0.9, 0, 0, 8, 30, 100, 70), #dEtaqq, mqq, dPhibb, CSV1, maxCSV_jets, maxCSV_E, MET, pt1
255  ),
256  X4b = cms.PSet(
257  hltPathsToCheck = cms.vstring(
258  "HLT_DoubleJet90_Double30_TripleCSV0p5_v",
259  "HLT_DoubleJet90_Double30_DoubleCSV0p5_v",
260  "HLT_QuadJet45_TripleCSV0p5_v",
261  "HLT_QuadJet45_DoubleCSV0p5_v",
262  ),
263  recJetLabel = cms.string("ak4PFJetsCHS"),
264  jetTagLabel = cms.string("pfCombinedSecondaryVertexBJetTags"),
265  # -- Analysis specific cuts
266  minCandidates = cms.uint32(4),
267  NminOneCuts = cms.untracked.vdouble(0, 0, 0, 0.5, 0.5 , 0.5, 0, 0, 0, 0, 90, 0, 45), #dEtaqq, mqq, dPhibb, CSV1, maxCSV_jets, maxCSV_E, MET, pt1, pt2, pt3, pt4
268  ),
269  TTHbbej = cms.PSet(
270  hltPathsToCheck = cms.vstring(
271  "HLT_Ele27_eta2p1_WP85_Gsf_HT200_v"
272  ),
273  recElecLabel = cms.string("gedGsfElectrons"),
274  #recJetLabel = cms.string("ak4PFJetsCHS"),
275  #jetTagLabel = cms.string("pfCombinedSecondaryVertexBJetTags"),
276  ## -- Analysis specific cuts
277  minCandidates = cms.uint32(1),
278  HtJetPtMin = cms.untracked.double(30),
279  HtJetEtaMax = cms.untracked.double(3.0),
280  ),
281 )