14 import FWCore.ParameterSet.Config
as cms
17 from HLTriggerOffline.Exotica.analyses.hltExoticaLowPtTrimuon_cff
import LowPtTrimuonPSet
18 from HLTriggerOffline.Exotica.analyses.hltExoticaHighPtDimuon_cff
import HighPtDimuonPSet
19 from HLTriggerOffline.Exotica.analyses.hltExoticaHighPtDielectron_cff
import HighPtDielectronPSet
20 from HLTriggerOffline.Exotica.analyses.hltExoticaLowPtDimuon_cff
import LowPtDimuonPSet
21 from HLTriggerOffline.Exotica.analyses.hltExoticaLowPtDielectron_cff
import LowPtDielectronPSet
22 from HLTriggerOffline.Exotica.analyses.hltExoticaHighPtElectron_cff
import HighPtElectronPSet
24 from HLTriggerOffline.Exotica.analyses.hltExoticaHighPtPhoton_cff
import HighPtPhotonPSet
25 from HLTriggerOffline.Exotica.analyses.hltExoticaDiPhoton_cff
import DiPhotonPSet
26 from HLTriggerOffline.Exotica.analyses.hltExoticaPFHT_cff
import PFHTPSet
27 from HLTriggerOffline.Exotica.analyses.hltExoticaCaloHT_cff
import CaloHTPSet
28 from HLTriggerOffline.Exotica.analyses.hltExoticaJetNoBptx_cff
import JetNoBptxPSet
29 from HLTriggerOffline.Exotica.analyses.hltExoticaMuonNoBptx_cff
import MuonNoBptxPSet
30 from HLTriggerOffline.Exotica.analyses.hltExoticaDisplacedMuEG_cff
import DisplacedMuEGPSet
31 from HLTriggerOffline.Exotica.analyses.hltExoticaDisplacedDimuon_cff
import DisplacedDimuonPSet
32 from HLTriggerOffline.Exotica.analyses.hltExoticaPureMET_cff
import PureMETPSet
33 from HLTriggerOffline.Exotica.analyses.hltExoticaMETplusTrack_cff
import METplusTrackPSet
34 from HLTriggerOffline.Exotica.analyses.hltExoticaMonojet_cff
import MonojetPSet
35 from HLTriggerOffline.Exotica.analyses.hltExoticaMonojetBackup_cff
import MonojetBackupPSet
36 from HLTriggerOffline.Exotica.analyses.hltExoticaEleMu_cff
import EleMuPSet
37 from HLTriggerOffline.Exotica.analyses.hltExoticaHTDisplacedJets_cff
import HTDisplacedJetsPSet
38 from HLTriggerOffline.Exotica.analyses.hltExoticaPhotonMET_cff
import PhotonMETPSet
39 from HLTriggerOffline.Exotica.analyses.hltExoticaSingleMuon_cff
import SingleMuonPSet
40 from HLTriggerOffline.Exotica.analyses.hltExoticaDSTJets_cff
import DSTJetsPSet
41 from HLTriggerOffline.Exotica.analyses.hltExoticaDSTMuons_cff
import DSTMuonsPSet
42 from HLTriggerOffline.Exotica.analyses.hltExoticaTracklessJets_cff
import TracklessJetsPSet
44 hltExoticaValidator = cms.EDAnalyzer(
46 "HLTExoticaValidator",
48 hltProcessName = cms.string(
"HLT"),
53 analysis = cms.vstring(
83 genParticleLabel = cms.string(
"genParticles"),
86 beamSpotLabel = cms.string(
"offlineBeamSpot"),
91 parametersTurnOn = cms.vdouble( 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20,
92 22, 24, 26, 28, 30, 32, 34, 36, 38, 40,
93 42, 44, 46, 48, 50, 52, 54, 56, 58, 60,
94 62, 64, 66, 68, 70, 72, 74, 76, 78, 80,
95 82, 84, 86, 88, 90, 92, 94, 96, 98, 100,
99 parametersTurnOnSumEt = cms.vdouble( 0, 100, 200, 300, 400, 500, 600, 700, 800, 900,
100 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900,
101 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900,
102 3000, 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900,
103 4000, 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900,
104 5000, 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900,
105 6000, 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900,
110 parametersEta = cms.vdouble(48, -2.400, 2.400),
111 parametersPhi = cms.vdouble(50, -3.142, 3.142),
112 parametersDxy = cms.vdouble(50, -0.015, 0.015),
120 Mu_genCut = cms.string(
"pt > 10 && abs(eta) < 2.4 && abs(pdgId) == 13 && (isPromptFinalState || isDirectPromptTauDecayProductFinalState)"),
121 Mu_recCut = cms.string(
"pt > 10 && abs(eta) < 2.4 && isPFMuon && (isTrackerMuon || isGlobalMuon)"),
125 refittedStandAloneMuons_genCut = cms.string(
"pt > 10 && abs(eta) < 2.4"),
127 refittedStandAloneMuons_recCut = cms.string(
"pt > 10 && abs(eta) < 2.4"),
130 Ele_genCut = cms.string(
"pt > 10 && (abs(eta)<1.444 || abs(eta)>1.566) && abs(eta)<2.5 && abs(pdgId) == 11 && (isPromptFinalState||isDirectPromptTauDecayProductFinalState)"),
131 Ele_recCut = cms.string(
132 "pt > 10 && (abs(eta)<1.444 || abs(eta)>1.566) && abs(eta)< 2.5 "+
133 " && hadronicOverEm < 0.05 "+
134 " && abs(deltaEtaSuperClusterTrackAtVtx)<0.007 && abs(deltaPhiSuperClusterTrackAtVtx)<0.06 "+
135 " && sigmaIetaIeta<0.03 "+
136 " && (pfIsolationVariables.sumChargedParticlePt + pfIsolationVariables.sumNeutralHadronEtHighThreshold + pfIsolationVariables.sumPhotonEtHighThreshold )/pt < 0.10 "+
137 " && abs(1/energy - 1/p)<0.05"),
142 Photon_genCut = cms.string(
"pt > 20 && abs(eta) < 2.4 && abs(pdgId) == 22 && isPromptFinalState"),
143 Photon_recCut = cms.string(
"pt > 20 && abs(eta) < 2.4"),
144 Photon_genCut_leading = cms.string(
"pt > 150 "),
145 Photon_recCut_leading = cms.string(
"pt > 150 "),
148 PFTau_genCut = cms.string(
"pt > 20 && abs(eta) < 2.4 && abs(pdgId) == 15 && isPromptDecayed"),
149 PFTau_recCut = cms.string(
"pt > 20 && abs(eta) < 2.4"),
152 PFJet_genCut = cms.string(
"pt > 30 && abs(eta) < 2.4"),
153 PFJet_recCut = cms.string(
"pt > 30 && abs(eta) < 2.4 &&"+
154 "(neutralHadronEnergy + HFHadronEnergy)/energy < 0.99 &&"+
155 "neutralEmEnergyFraction < 0.99 &&"+
156 "numberOfDaughters > 1 &&"+
157 "chargedHadronEnergyFraction > 0 &&"+
158 "chargedMultiplicity > 0 && "+
159 "chargedEmEnergyFraction < 0.99"),
161 CaloJet_genCut = cms.string(
"pt > 30 && abs(eta) < 2.4"),
162 CaloJet_recCut = cms.string(
"pt > 30 && abs(eta) < 2.4"),
165 MET_genCut = cms.string(
"pt > 75"),
166 MET_recCut = cms.string(
"pt > 75"),
168 PFMET_genCut = cms.string(
"pt > 75"),
169 PFMET_recCut = cms.string(
"pt > 75"),
171 PFMHT_genCut = cms.string(
"pt > 75"),
172 PFMHT_recCut = cms.string(
"pt > 75"),
174 GenMET_genCut = cms.string(
"pt > 75"),
175 GenMET_recCut = cms.string(
"pt > 75"),
177 Track_genCut = cms.string(
"pt > 50"),
178 Track_recCut = cms.string(
"pt > 50"),
180 CaloMET_genCut = cms.string(
"pt > 75"),
181 CaloMET_recCut = cms.string(
"pt > 75"),
183 CaloMHT_genCut = cms.string(
"pt > 75"),
184 CaloMHT_recCut = cms.string(
"pt > 75"),
186 hltMET_genCut = cms.string(
"pt > 75"),
187 hltMET_recCut = cms.string(
"pt > 75"),
189 l1MET_genCut = cms.string(
"pt > 75"),
190 l1MET_recCut = cms.string(
"pt > 75"),
207 LowPtTrimuon = LowPtTrimuonPSet,
208 HighPtDimuon = HighPtDimuonPSet,
209 HighPtDielectron = HighPtDielectronPSet,
210 LowPtDimuon = LowPtDimuonPSet,
211 LowPtDielectron = LowPtDielectronPSet,
212 HighPtElectron = HighPtElectronPSet,
214 HighPtPhoton = HighPtPhotonPSet,
215 DiPhoton = DiPhotonPSet,
216 SingleMuon = SingleMuonPSet,
217 JetNoBptx = JetNoBptxPSet,
218 MuonNoBptx = MuonNoBptxPSet,
219 DisplacedMuEG = DisplacedMuEGPSet,
220 DisplacedDimuon = DisplacedDimuonPSet,
221 PureMET = PureMETPSet,
222 METplusTrack = METplusTrackPSet,
223 Monojet = MonojetPSet,
224 MonojetBackup = MonojetBackupPSet,
228 PhotonMET = PhotonMETPSet,
229 HTDisplacedJets = HTDisplacedJetsPSet,
230 DSTJets = DSTJetsPSet,
231 DSTMuons = DSTMuonsPSet,
232 TracklessJets = TracklessJetsPSet