CMS 3D CMS Logo

hltHiggsValidator_cfi.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
3 from Configuration.Eras.Modifier_run3_common_cff import run3_common
4 
5 from DQMServices.Core.DQMEDAnalyzer import DQMEDAnalyzer
6 hltHiggsValidator = DQMEDAnalyzer('HLTHiggsValidator',
7 
8  hltProcessName = cms.string("HLT"),
9  analyses = cms.vstring("HWW", "HZZ", "HZZControlPaths", "MuonJet", "Hgg", "Htaunu", "H2tau", "VBFHbb_0btag", "VBFHbb_1btag", "VBFHbb_2btag", "ZnnHbb","DoubleHinTaus","HiggsDalitz","X4b","TTHbbej","AHttH","WHToENuBB","MSSMHbb","MSSMHbbmu","VBFHToInv"),
10  histDirectory = cms.string("HLT/Higgs"),
11 
12  # -- The instance name of the reco::GenParticles collection
13  genParticleLabel = cms.string("genParticles"),
14 
15  # -- The instance name of the reco::GenJets collection
16  genJetLabel = cms.string("ak4GenJets"),
17 
18  # -- The instance name of the reco::PFJetCollection collection
19  recoHtJetLabel = cms.untracked.string("ak4PFJetsCHS"),
20 
21  # -- The number of interactions in the event
22  pileUpInfoLabel = cms.string("addPileupInfo"),
23 
24  # -- The binning of the Pt efficiency plots
25  parametersTurnOn = cms.vdouble(0,
26  1, 8, 9, 10,
27  11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
28  22, 24, 26, 28, 30, 32, 34, 36, 38, 40,
29  45, 50, 55, 60, 65, 70,
30  80, 100,
31  ),
32 
33  # -- (NBins, minVal, maxValue) for the Eta,Phi and nInterations efficiency plots
34  parametersEta = cms.vdouble(48, -2.400, 2.400),
35  parametersPhi = cms.vdouble(50, -3.142, 3.142),
36  parametersPu = cms.vdouble(10, 0, 50),
37  parametersHt = cms.untracked.vdouble(100, 0, 1000),
38 
39  # TO BE DEPRECATED --------------------------------------------
40  cutsDr = cms.vdouble(0.4, 0.4, 0.015), # TO BE DEPRECATED
41  # parameters for attempting an L1 match using a propagator
42  maxDeltaPhi = cms.double(0.4), # TO BE DEPRECATED
43  maxDeltaR = cms.double(0.4), # TO BE DEPRECATED
44  # TO BE DEPRECATED --------------------------------------------
45 
46  # Definition of generic cuts on generated and reconstructed objects (note that
47  # these cuts can be overloaded inside a particular analysis)
48  # Objects recognized: Mu Ele Photon PFTau MET
49  # Syntax in the strings: valid syntax of the StringCutObjectSelector class
50  # --- Muons
51  Mu_genCut = cms.string("pt > 10 && abs(eta) < 2.4 && abs(pdgId) == 13 && status == 1"),
52  Mu_recCut = cms.string("pt > 10 && abs(eta) < 2.4 && isGlobalMuon"),
53  Mu_cutMinPt = cms.double(10), # TO BE DEPRECATED
54  Mu_cutMaxEta = cms.double(2.4), # TO BE DEPRECATED
55 
56  # --- Electrons
57  Ele_genCut = cms.string("pt > 10 && abs(eta) < 2.5 && abs(pdgId) == 11 && status == 1"),
58  Ele_recCut = cms.string("pt > 10 && abs(eta) < 2.5 && hadronicOverEm < 0.05 && eSuperClusterOverP > 0.5 && eSuperClusterOverP < 2.5"),
59  Ele_cutMinPt = cms.double(10), # TO BE DEPRECATED
60  Ele_cutMaxEta = cms.double(2.5), # TO BE DEPRECATED
61 
62  # --- Photons
63  Photon_genCut = cms.string("abs(pdgId) == 22 && status == 1"),
64  Photon_recCut = cms.string("pt > 20 && abs(eta) < 2.4 && hadronicOverEm < 0.1 && "+\
65  " ( ( abs(eta) < 1.479 && r9 > 0.85 ) || "+\
66  " ( abs(eta) > 1.479 && r9 > 0.90 ) || "+\
67  " ( abs(eta) < 1.479 && r9 > 0.50 && sigmaIetaIeta < 0.014 && "+\
68  " ecalRecHitSumEtConeDR03 < (6.0+0.012*et) && trkSumPtSolidConeDR03 < (6.0 + 0.002*et) ) || "+\
69  " ( abs(eta) > 1.479 && r9 > 0.80 && sigmaIetaIeta < 0.035 && "+\
70  " ecalRecHitSumEtConeDR03 < (6.0+0.012*et) && trkSumPtSolidConeDR03 < (6.0 + 0.002*et) ) ) "
71  ),
72  Photon_cutMinPt = cms.double(20), # TO BE DEPRECATED
73  Photon_cutMaxEta = cms.double(2.4),# TO BE DEPRECATED
74 
75  # --- Taus:
76  PFTau_genCut = cms.string("pt > 20 && abs(eta) < 2.4 && abs(pdgId) == 15 && status == 3"),
77  PFTau_recCut = cms.string("pt > 20 && abs(eta) < 2.4"), # STILL MISSING THIS INFO
78  PFTau_cutMinPt = cms.double(20), # TO BE DEPRECATED
79  PFTau_cutMaxEta = cms.double(2.5),# TO BE DEPRECATED
80 
81  # --- MET (calo)
82  MET_genCut = cms.string("(abs(pdgId) == 12 || abs(pdgId)==14 || abs(pdgId) == 16 ) && status == 1"),
83  MET_recCut = cms.string("pt > 75."),
84  MET_cutMinPt = cms.double(75), # TO BE DEPRECATED
85  MET_cutMaxEta = cms.double(0), # TO BE DEPRECATED
86 
87  # --- PFMET
88  PFMET_genCut = cms.string("(abs(pdgId) == 12 || abs(pdgId)==14 || abs(pdgId) == 16 ) && status == 1"),
89  PFMET_recCut = cms.string("pt > 75."),
90  PFMET_cutMinPt = cms.double(75), # TO BE DEPRECATED
91  PFMET_cutMaxEta = cms.double(0), # TO BE DEPRECATED
92 
93  # --- Jets:
94  Jet_genCut = cms.string("pt > 10"),
95  Jet_recCut = cms.string("pt > 10"),
96  Jet_cutMinPt = cms.double(0), # TO BE DEPRECATED
97  Jet_cutMaxEta = cms.double(0), # TO BE DEPRECATED
98 
99 
100 
101  # The specific parameters per analysis: the name of the parameter set has to be
102  # the same as the defined ones in the 'analysis' datamember. Each analysis is a PSet
103  # with the mandatory attributes:
104  # - hltPathsToCheck (cms.vstring) : a list of all the trigger pats to be checked
105  # in this analysis. Up to the version number _v, but not including
106  # the number in order to avoid this version dependence. Example: HLT_Mu18_v
107  # - recVarLabel (cms.string): where Var can be Muon, Elec, Photon, CaloMET, PFTau, Jet. This
108  # attribute is the name of the INSTANCE LABEL for each RECO collection to
109  # be considered in the analysis. Note that the trigger paths rely on some
110  # objects which need to be defined here, otherwise the code will complain.
111  # - minCandidates (cms.uint32): the minimum number of GEN/RECO objects in the event
112  # Besides the mandatory attributes, you can redefine the generation and reconstruction cuts
113  # for any object you want.
114  # * Var_genCut, Var_recCut (cms.string): where Var=Mu, Ele, Photon, MET, PFTau (see above)
115 
116  HWW = cms.PSet(
117  hltPathsToCheck = cms.vstring(
118  # Single lepton paths
119  "HLT_Ele25_eta2p1_WPTight_Gsf_v",
120  "HLT_Ele25_WPTight_Gsf_v",
121  "HLT_Ele25_eta2p1_WPLoose_Gsf_v",
122  "HLT_Ele35_WPLoose_Gsf_v",
123  "HLT_Ele27_eta2p1_WPTight_Gsf_v",
124  "HLT_Ele27_WPTight_Gsf_v",
125  "HLT_Ele27_eta2p1_WPLoose_Gsf_v",
126  "HLT_Ele45_WPLoose_Gsf_v",
127  "HLT_IsoMu20_eta2p1_v",
128  "HLT_IsoMu22_v",
129 
130  #dileptons for Hww and Hzz
131  "HLT_Ele23_Ele12_CaloIdL_TrackIdL_IsoVL_DZ_v",
132  "HLT_Mu8_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_v",
133  "HLT_Mu12_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_v",
134  "HLT_Mu23_TrkIsoVVL_Ele12_CaloIdL_TrackIdL_IsoVL_v",
135  "HLT_Mu23_TrkIsoVVL_Ele8_CaloIdL_TrackIdL_IsoVL_v",
136  "HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_DZ_v",
137  "HLT_Mu17_TrkIsoVVL_TkMu8_TrkIsoVVL_DZ_v",
138  "HLT_TkMu17_TrkIsoVVL_TkMu8_TrkIsoVVL_DZ_v",
139  "HLT_Mu8_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_DZ_v",
140  "HLT_Mu12_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_DZ_v",
141  "HLT_Mu23_TrkIsoVVL_Ele12_CaloIdL_TrackIdL_IsoVL_DZ_v",
142  #dilepton path for the 7e33 menu at 25ns
143  "HLT_Ele17_Ele12_CaloIdL_TrackIdL_IsoVL_DZ_v",
144  "HLT_Mu8_TrkIsoVVL_Ele17_CaloIdL_TrackIdL_IsoVL_v",
145  "HLT_Mu17_TrkIsoVVL_Ele12_CaloIdL_TrackIdL_IsoVL_v",
146  #prescaled control paths
147  "HLT_Ele17_CaloIdL_TrackIdL_IsoVL_v",
148  "HLT_Ele23_Ele12_CaloIdL_TrackIdL_IsoVL_v",
149  "HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_v",
150  "HLT_Mu17_TrkIsoVVL_TkMu8_TrkIsoVVL_v",
151  "HLT_TkMu17_TrkIsoVVL_TkMu8_TrkIsoVVL_v",
152  "HLT_Ele23_CaloIdL_TrackIdL_IsoVL_v",
153  "HLT_Ele12_CaloIdL_TrackIdL_IsoVL_v",
154  "HLT_Ele17_Ele12_CaloIdL_TrackIdL_IsoVL_v"
155  ),
156  recMuonLabel = cms.string("muons"),
157  recElecLabel = cms.string("gedGsfElectrons"),
158  # -- Analysis specific cuts
159  minCandidates = cms.uint32(2),
160  ),
161  HZZ = cms.PSet(
162  hltPathsToCheck = cms.vstring(
163  #tri-leptons for Hzz
164  "HLT_Ele16_Ele12_Ele8_CaloIdL_TrackIdL_v",
165  "HLT_Mu8_DiEle12_CaloIdL_TrackIdL_v",
166  "HLT_DiMu9_Ele9_CaloIdL_TrackIdL_v",
167  "HLT_TripleMu_12_10_5_v",
168  "HLT_TripleMu_5_3_3_v",
169  "HLT_TripleMu_5_3_3_DZ_Mass3p8_v"
170  ),
171  recMuonLabel = cms.string("muons"),
172  recElecLabel = cms.string("gedGsfElectrons"),
173  #recTrackLabel = cms.string("globalMuons"),
174  # -- Analysis specific cuts
175  minCandidates = cms.uint32(4),
176  ),
177  HZZControlPaths = cms.PSet(
178  hltPathsToCheck = cms.vstring(
179  "HLT_Photon36_R9Id90_HE10_Iso40_EBOnly_PFMET40"
180  ),
181  recPhotonLabel = cms.string("photons"),
182  recPFMETLabel = cms.string("pfMet"),
183  # -- Analysis specific cuts
184  minCandidates = cms.uint32(2),
185  PFMET_recCut = cms.untracked.string("pt > 20."),
186  ),
187  MuonJet = cms.PSet(
188  hltPathsToCheck = cms.vstring(
189  "HLT_Mu3_PFJet40_v"
190  ),
191  recMuonLabel = cms.string("muons"),
192  recJetLabel = cms.string("ak4PFJetsCHS"),
193  # -- Analysis specific cuts
194  Mu_genCut = cms.string("pt > 0 && abs(eta) < 2.4 && abs(pdgId) == 13 && status == 1"),
195  Mu_recCut = cms.string("pt > 0 && abs(eta) < 2.4 && isGlobalMuon"),
196  minCandidates = cms.uint32(2),
197  ),
198  Hgg = cms.PSet(
199  hltPathsToCheck = cms.vstring(
200  "HLT_Diphoton30_22_R9Id_OR_IsoCaloId_AND_HE_R9Id_Mass90_v",
201  "HLT_Diphoton30_22_R9Id_OR_IsoCaloId_AND_HE_R9Id_Mass95_v",
202  "HLT_Diphoton30PV_18PV_R9Id_AND_IsoCaloId_AND_HE_R9Id_PixelVeto_Mass55_v",
203  "HLT_Diphoton30PV_18PV_R9Id_AND_IsoCaloId_AND_HE_R9Id_NoPixelVeto_Mass55_v",
204  "HLT_Diphoton30EB_18EB_R9Id_OR_IsoCaloId_AND_HE_R9Id_NoPixelVeto_Mass55_v",
205  "HLT_Diphoton30EB_18EB_R9Id_OR_IsoCaloId_AND_HE_R9Id_PixelVeto_Mass55_v",
206  "HLT_Diphoton30_18_PVrealAND_R9Id_AND_IsoCaloId_AND_HE_R9Id_PixelVeto_Mass55_v",
207  "HLT_Diphoton30_18_PVrealAND_R9Id_AND_IsoCaloId_AND_HE_R9Id_NoPixelVeto_Mass55_v",
208  ),
209  recPhotonLabel = cms.string("photons"),
210  # -- Analysis specific cuts
211  minCandidates = cms.uint32(2),
212  ),
213  DoubleHinTaus = cms.PSet(
214  hltPathsToCheck = cms.vstring(
215  "HLT_Mu17_Mu8_v",
216  "HLT_Mu17_Mu8_DZ_v",
217  "HLT_Mu17_Mu8_SameSign_v",
218  "HLT_Mu17_Mu8_SameSign_DZ_v",
219  "HLT_Mu20_Mu10_v",
220  "HLT_Mu20_Mu10_DZ_v",
221  "HLT_Mu20_Mu10_SameSign_v",
222  "HLT_Mu20_Mu10_SameSign_DZ_v",
223  ),
224  recMuonLabel = cms.string("muons"),
225  # -- Analysis specific cuts
226  minCandidates = cms.uint32(2),
227  ),
228  HiggsDalitz = cms.PSet(
229  hltPathsToCheck = cms.vstring(
230  "HLT_Mu17_Photon22_CaloIdL_L1ISO_v",
231  "HLT_Mu12_Photon25_CaloIdL_L1ISO_v",
232  "HLT_Mu17_Photon30_CaloIdL_L1ISO_v",
233  "HLT_Mu17_Photon35_CaloIdL_L1ISO_v",
234  "HLT_Mu12_Photon25_CaloIdL_v",
235  "HLT_Mu12_Photon25_CaloIdL_L1OR_v"
236  ),
237  recMuonLabel = cms.string("muons"),
238  recPhotonLabel = cms.string("photons"),
239  # -- Analysis specific cuts
240  minCandidates = cms.uint32(2),
241  ),
242  Htaunu = cms.PSet(
243  hltPathsToCheck = cms.vstring(
244  "HLT_LooseIsoPFTau50_Trk30_eta2p1_MET80_JetIdCleaned_v",
245  "HLT_LooseIsoPFTau50_Trk30_eta2p1_MET120_JetIdCleaned_v",
246  "HLT_LooseIsoPFTau50_Trk30_eta2p1_v",
247  "HLT_LooseIsoPFTau50_Trk30_eta2p1_MET80_v",
248  "HLT_LooseIsoPFTau50_Trk30_eta2p1_MET120_v",
249  "HLT_IsoMu16_eta2p1_CaloMET30_LooseIsoPFTau50_Trk30_eta2p1_v",
250  "HLT_IsoMu16_eta2p1_CaloMET30_v"
251  ),
252  recPFTauLabel = cms.string("hpsPFTauProducer"),
253  recCaloMETLabel = cms.string("caloMet"),
254  recMuonLabel = cms.string("muons"),
255  # -- Analysis specific cuts
256  minCandidates = cms.uint32(1),
257  parametersTurnOn = cms.vdouble(0,
258  1, 8, 9, 10,
259  11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
260  22, 24, 26, 28, 30, 32, 34, 36, 38, 40,
261  45, 50, 55, 60, 65, 70,
262  80, 100, 120, 140, 160, 180, 200,
263  ),
264  ),
265  H2tau = cms.PSet(
266  hltPathsToCheck = cms.vstring(
267  "HLT_IsoMu17_eta2p1_LooseIsoPFTau20_v",
268  "HLT_DoubleMediumIsoPFTau40_Trk1_eta2p1_Reg_v",
269  "HLT_IsoMu17_eta2p1_LooseIsoPFTau20_SingleL1_v",
270  "HLT_IsoMu17_eta2p1_MediumIsoPFTau40_Trk1_eta2p1_Reg_v",
271  "HLT_IsoMu17_eta2p1_v",
272  "HLT_DoubleIsoMu17_eta2p1_v",
273  "HLT_IsoMu16_eta2p1_CaloMET30_v",
274  "HLT_Mu16_eta2p1_CaloMET30_v",
275  "HLT_Ele27_eta2p1_WPLoose_Gsf_DoubleMediumIsoPFTau40_Trk1_eta2p1_Reg_v",
276  "HLT_Ele32_eta2p1_WPLoose_Gsf_DoubleMediumIsoPFTau40_Trk1_eta2p1_Reg_v",
277  "HLT_Ele27_eta2p1_WPLoose_Gsf_LooseIsoPFTau20_v",
278  "HLT_Ele32_eta2p1_WPLoose_Gsf_LooseIsoPFTau20_v",
279  "HLT_Ele22_eta2p1_WPLoose_Gsf_v",
280  "HLT_Ele22_eta2p1_WPTight_Gsf_v",
281  "HLT_DoubleEle24_22_eta2p1_WPLoose_Gsf_v",
282  "HLT_IsoMu24_eta2p1_LooseIsoPFTau20_v",
283  "HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_v",
284  "HLT_Ele22_eta2p1_WPLoose_Gsf_LooseIsoPFTau20_v",
285  "HLT_Ele27_eta2p1_WPLoose_Gsf_v",
286  "HLT_Ele27_eta2p1_WPTight_Gsf_v",
287  "HLT_Ele32_eta2p1_WPLoose_Gsf_v",
288  "HLT_Ele32_eta2p1_WPTight_Gsf_v",
289  ),
290  recPFTauLabel = cms.string("hpsPFTauProducer"),
291  recMuonLabel = cms.string("muons"),
292  recElecLabel = cms.string("gedGsfElectrons"),
293  recCaloMETLabel = cms.string("caloMet"),
294  # -- Analysis specific cuts
295  minCandidates = cms.uint32(2),
296  ),
297  VBFHbb_0btag = cms.PSet(
298  hltPathsToCheck = cms.vstring(
299  "HLT_QuadPFJet_VBF_v",
300  "HLT_L1_TripleJet_VBF_v"
301  ),
302  recJetLabel = cms.string("ak4PFJetsCHS"),
303  jetTagLabel = cms.string("pfCombinedSecondaryVertexV2BJetTags"),
304  # -- Analysis specific cuts
305  minCandidates = cms.uint32(4),
306  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
307  ),
308  VBFHbb_2btag = cms.PSet(
309  hltPathsToCheck = cms.vstring(
310  "HLT_QuadPFJet_BTagCSV_p016_p11_VBF_Mqq200_v",
311  "HLT_QuadPFJet_BTagCSV_p016_p11_VBF_Mqq240_v",
312  ),
313  recJetLabel = cms.string("ak4PFJetsCHS"),
314  jetTagLabel = cms.string("pfCombinedSecondaryVertexV2BJetTags"),
315  # -- Analysis specific cuts
316  minCandidates = cms.uint32(4),
317  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
318  ),
319  VBFHbb_1btag = cms.PSet(
320  hltPathsToCheck = cms.vstring(
321  "HLT_QuadPFJet_BTagCSV_p016_VBF_Mqq460_v",
322  "HLT_QuadPFJet_BTagCSV_p016_VBF_Mqq500_v",
323  ),
324  recJetLabel = cms.string("ak4PFJetsCHS"),
325  jetTagLabel = cms.string("pfCombinedSecondaryVertexV2BJetTags"),
326  # -- Analysis specific cuts
327  minCandidates = cms.uint32(4),
328  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
329  ),
330  ZnnHbb = cms.PSet(
331  hltPathsToCheck = cms.vstring(
332  "HLT_CaloMHTNoPU90_PFMET90_PFMHT90_IDTight_BTagCSV_p067_v",
333  "HLT_CaloMHTNoPU90_PFMET90_PFMHT90_IDTight_v"
334  "HLT_PFMET120_PFMHT120_IDTight_v",
335  "HLT_PFMET110_PFMHT110_IDTight_v",
336  "HLT_PFMET100_PFMHT100_IDTight_v",
337  "HLT_PFMET100_PFMHT100_IDTight_BeamHaloCleaned_v",
338  "HLT_PFMET90_PFMHT90_IDTight_v",
339  # old csv version
340  "HLT_CaloMHTNoPU90_PFMET90_PFMHT90_IDTight_BTagCSV0p72_v"
341  ),
342  Jet_recCut = cms.string("pt > 10 && abs(eta) < 2.6"),
343  recJetLabel = cms.string("ak4PFJetsCHS"),
344  jetTagLabel = cms.string("pfCombinedSecondaryVertexV2BJetTags"),
345  recPFMETLabel = cms.string("pfMet"),
346  # -- Analysis specific cuts
347  minCandidates = cms.uint32(1),
348  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
349  ),
350  X4b = cms.PSet(
351  hltPathsToCheck = cms.vstring(
352  "HLT_DoubleJet90_Double30_TripleBTagCSV_p087_v",
353  "HLT_DoubleJet90_Double30_DoubleBTagCSV_p087_v",
354  "HLT_QuadJet45_TripleBTagCSV_p087_v",
355  "HLT_QuadJet45_DoubleBTagCSV_p087_v",
356  # old csv version
357  "HLT_DoubleJet90_Double30_TripleBTagCSV0p67_v",
358  "HLT_DoubleJet90_Double30_DoubleBTagCSV0p67_v",
359  "HLT_QuadJet45_TripleBTagCSV0p67_v",
360  "HLT_QuadJet45_DoubleBTagCSV0p67_v",
361  ),
362  recJetLabel = cms.string("ak4PFJetsCHS"),
363  jetTagLabel = cms.string("pfCombinedSecondaryVertexV2BJetTags"),
364  # -- Analysis specific cuts
365  minCandidates = cms.uint32(4),
366  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
367  ),
368  TTHbbej = cms.PSet(
369  hltPathsToCheck = cms.vstring(
370  "HLT_Ele27_eta2p1_WPLoose_Gsf_v",
371  "HLT_Ele27_eta2p1_WPLoose_Gsf_HT200_v",
372  ),
373  recElecLabel = cms.string("gedGsfElectrons"),
374  #recJetLabel = cms.string("ak4PFJetsCHS"),
375  #jetTagLabel = cms.string("pfCombinedSecondaryVertexV2BJetTags"),
376 
377  minCandidates = cms.uint32(1),
378  HtJetPtMin = cms.untracked.double(30),
379  HtJetEtaMax = cms.untracked.double(3.0),
380  ),
381  AHttH = cms.PSet(
382  hltPathsToCheck = cms.vstring(
383  "HLT_PFHT450_SixJet40_BTagCSV_p056_v",
384  "HLT_PFHT400_SixJet30_DoubleBTagCSV_p056_v",
385  "HLT_PFHT450_SixJet40_v",
386  "HLT_PFHT400_SixJet30_v",
387  # old csv version
388  "HLT_PFHT450_SixJet40_PFBTagCSV0p72_v",
389  "HLT_PFHT400_SixJet30_BTagCSV0p55_2PFBTagCSV0p72_v",
390  ),
391  #recElecLabel = cms.string("gedGsfElectrons"),
392  recJetLabel = cms.string("ak4PFJetsCHS"),
393  jetTagLabel = cms.string("pfCombinedSecondaryVertexV2BJetTags"),
394 
395  minCandidates = cms.uint32(6),
396  ),
397  WHToENuBB = cms.PSet(
398  hltPathsToCheck = cms.vstring(
399  "HLT_Ele27_WPLoose_Gsf_WHbbBoost_v",
400  "HLT_Ele23_WPLoose_Gsf_WHbbBoost_v"
401  ),
402  recElecLabel = cms.string("gedGsfElectrons"),
403  recJetLabel = cms.string("ak4PFJetsCHS"),
404  minCandidates = cms.uint32(1),
405  ),
406 
407  MSSMHbb = cms.PSet(
408  hltPathsToCheck = cms.vstring(
409  "HLT_DoublePFJets116MaxDeta1p6_DoublePFBTagDeepCSV_p71_v",
410  "HLT_DoublePFJets128MaxDeta1p6_DoublePFBTagDeepCSV_p71_v",
411  "HLT_DoublePFJets116MaxDeta1p6_DoublePFBTagDeepJet_p71_v",
412  "HLT_DoublePFJets128MaxDeta1p6_DoublePFBTagDeepJet_p71_v",
413  ),
414  recJetLabel = cms.string("ak4PFJetsCHS"),
415  jetTagLabel = cms.string("pfCombinedInclusiveSecondaryVertexV2BJetTags"),
416  # -- Analysis specific cuts
417  minCandidates = cms.uint32(3),
418  NminOneCuts = cms.untracked.vdouble(0, 0, 0, 0.3, 0.3 , 0, 0, 0, 0, 100., 100., 0.0, 0.0), #dEtaqq, mqq, dPhibb, CSV1, CSV2, CSV3, maxCSV_jets, maxCSV_E, MET, pt1, pt2, pt3, pt4
419  ),
420 
421  MSSMHbbmu = cms.PSet(
422  hltPathsToCheck = cms.vstring(
423  "HLT_Mu12_DoublePFJets40MaxDeta1p6_DoublePFBTagDeepCSV_p71_v",
424  "HLT_Mu12_DoublePFJets54MaxDeta1p6_DoublePFBTagDeepCSV_p71_v",
425  "HLT_Mu12_DoublePFJets40MaxDeta1p6_DoublePFBTagDeepJet_p71_v",
426  "HLT_Mu12_DoublePFJets54MaxDeta1p6_DoublePFBTagDeepJet_p71_v",
427  ),
428  recMuonLabel = cms.string("muons"),
429  recJetLabel = cms.string("ak4PFJetsCHS"),
430  jetTagLabel = cms.string("pfCombinedInclusiveSecondaryVertexV2BJetTags"),
431  # -- Analysis specific cuts
432  minCandidates = cms.uint32(3),
433  Mu_genCut = cms.string("pt > 12 && abs(eta) < 2.3 && abs(pdgId) == 13 && status == 1"),
434  Mu_recCut = cms.string("pt > 12 && abs(eta) < 2.3 && isGlobalMuon"),
435  NminOneCuts = cms.untracked.vdouble(0, 0, 0, 0.3, 0.3 , 0, 0, 0, 0, 30.0, 30.0, 0.0, 0.0), #dEtaqq, mqq, dPhibb, CSV1, CSV2, CSV3, maxCSV_jets, maxCSV_E, MET, pt1, pt2, pt3, pt4
436  ),
437 
438  VBFHToInv = cms.PSet(
439  hltPathsToCheck = cms.vstring(
440  "HLT_DiPFJet40_DEta3p5_MJJ600_PFMETNoMu140_v",
441  "HLT_DiPFJet40_DEta3p5_MJJ600_PFMETNoMu80_v",
442  "HLT_DiPFJet40_DEta3p5_MJJ600_PFMETNoMu140_JetIdCleaned_v",
443  "HLT_DiPFJet40_DEta3p5_MJJ600_PFMETNoMu80_JetIdCleaned_v"
444  ),
445  recJetLabel = cms.string("ak4PFJetsCHS"),
446  recPFMETLabel = cms.string("pfMet"),
447  minCandidates = cms.uint32(2),
448  ),
449 )
450 
451 hltHiggsValidator_run3 = hltHiggsValidator.clone()
452 hltHiggsValidator_run3.VBFHbb_0btag.jetTagLabel = "pfDeepCSVJetTags:probb"
453 hltHiggsValidator_run3.VBFHbb_1btag.jetTagLabel = "pfDeepCSVJetTags:probb"
454 hltHiggsValidator_run3.VBFHbb_2btag.jetTagLabel = "pfDeepCSVJetTags:probb"
455 hltHiggsValidator_run3.ZnnHbb.jetTagLabel = "pfDeepCSVJetTags:probb"
456 hltHiggsValidator_run3.X4b.jetTagLabel = "pfDeepCSVJetTags:probb"
457 hltHiggsValidator_run3.AHttH.jetTagLabel = "pfDeepCSVJetTags:probb"
458 hltHiggsValidator_run3.MSSMHbb.jetTagLabel = "pfDeepCSVJetTags:probb"
459 hltHiggsValidator_run3.MSSMHbbmu.jetTagLabel = "pfDeepCSVJetTags:probb"
460 
461 run3_common.toReplaceWith( hltHiggsValidator, hltHiggsValidator_run3)
462