CMS 3D CMS Logo

LepHTMonitor_cff.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 from DQMServices.Core.DQMEDHarvester import DQMEDHarvester
3 from copy import deepcopy
4 
5 
6 ### Single Electron + HT triggers
7 DQMOffline_Ele15_HT600 = cms.EDAnalyzer('LepHTMonitor',
8  electronCollection = cms.InputTag('gedGsfElectrons'),
9  electronVID = cms.InputTag("egmGsfElectronIDsForDQM:cutBasedElectronID-Summer16-80X-V1-medium"),
10  muonCollection = cms.InputTag(''),
11  muonIDlevel = cms.untracked.int32(2), ## 1: loose, 2: medium, 3: tight
12  pfMetCollection = cms.InputTag('pfMet'),
13  pfJetCollection = cms.InputTag('ak4PFJets'),
14  jetTagCollection = cms.InputTag(''),
15 
16  vertexCollection = cms.InputTag('offlinePrimaryVertices'),
17  conversionCollection = cms.InputTag('conversions'),
18  beamSpot = cms.InputTag('offlineBeamSpot'),
19 
20  folderName = cms.string('HLT_Ele15_IsoVVVL_PFHT600'),
21 
22  jetPtCut = cms.untracked.double(30.0),
23  jetEtaCut = cms.untracked.double(3.0),
24  metCut = cms.untracked.double(-1.0),
25  htCut = cms.untracked.double(-1.0),
26  nels = cms.untracked.double(1),
27  nmus = cms.untracked.double(0),
28  leptonPtPlateau = cms.untracked.double(30.0), #defines plateau region for eta, phi distributions
29  leptonCountingThreshold = cms.untracked.double(10.0), # min lepton pT for lepton counting
30  lepIsoCut = cms.untracked.double(0.1), # max lepton reliso
31  lepEtaCut = cms.untracked.double(2.5), # max abs(eta)
32  lep_d0_cut_b = cms.untracked.double(0.0118), #barrel
33  lep_dz_cut_b = cms.untracked.double(0.373),
34  lep_d0_cut_e = cms.untracked.double(0.0739), #endcap
35  lep_dz_cut_e = cms.untracked.double(0.602),
36 
37  ptbins = cms.vdouble(0,5,10,20,30,40,50,75,100,125,160,200,250),
38  htbins = cms.vdouble(0,50,100,150,200,250,300,350,400,450,500,600,750,1000,1500,2000),
39  nbins_eta = cms.untracked.int32(10),
40  nbins_phi = cms.untracked.int32(10),
41  nbins_npv = cms.untracked.int32(35),
42  etabins_min = cms.untracked.double(-2.5),
43  etabins_max = cms.untracked.double(2.5),
44  phibins_min = cms.untracked.double(-3.142),
45  phibins_max = cms.untracked.double(3.142),
46  npvbins_min = cms.untracked.double(0),
47  npvbins_max = cms.untracked.double(70),
48 
49  numGenericTriggerEventPSet = cms.PSet(
50  andOr = cms.bool( False ),
51  andOrHlt = cms.bool(True),# True:=OR; False:=AND
52  hltInputTag = cms.InputTag( "TriggerResults::HLT" ),
53  hltPaths = cms.vstring("HLT_Ele15_IsoVVVL_PFHT600_v*"),
54  errorReplyHlt = cms.bool( False ),
55  verbosityLevel = cms.uint32(0)
56  ),
57  den_lep_GenericTriggerEventPSet = cms.PSet(
58  andOr = cms.bool( False ),
59  andOrHlt = cms.bool(True),# True:=OR; False:=AND
60  hltInputTag = cms.InputTag( "TriggerResults::HLT" ),
61  hltPaths = cms.vstring("HLT_PFHT1050_v*"),
62  errorReplyHlt = cms.bool( False ),
63  dcsInputTag = cms.InputTag( "scalersRawToDigi" ),
64  dcsPartitions = cms.vint32 ( 24, 25, 26, 27, 28, 29 ), # 24-27: strip, 28-29: pixel, we should add all other detectors !
65  andOrDcs = cms.bool( False ),
66  errorReplyDcs = cms.bool( True ),
67  verbosityLevel = cms.uint32(0)
68  ),
69  den_HT_GenericTriggerEventPSet = cms.PSet(
70  andOr = cms.bool( False ),
71  andOrHlt = cms.bool(True),# True:=OR; False:=AND
72  hltInputTag = cms.InputTag( "TriggerResults::HLT" ),
73  hltPaths = cms.vstring("HLT_Ele38_WPTight_Gsf_v*","HLT_Ele27_WPTight_Gsf_v*","HLT_Ele35_WPTight_Gsf_v*","HLT_Ele40_WPTight_Gsf_v*"),
74  errorReplyHlt = cms.bool( False ),
75  dcsInputTag = cms.InputTag( "scalersRawToDigi" ),
76  dcsPartitions = cms.vint32 ( 24, 25, 26, 27, 28, 29 ), # 24-27: strip, 28-29: pixel, we should add all other detectors !
77  andOrDcs = cms.bool( False ),
78  errorReplyDcs = cms.bool( True ),
79  verbosityLevel = cms.uint32(0)
80  ),
81  )
82 
83 
84 DQMOffline_Ele15_HT450 = DQMOffline_Ele15_HT600.clone()
85 DQMOffline_Ele15_HT450.folderName = cms.string('HLT_Ele15_IsoVVVL_PFHT450')
86 DQMOffline_Ele15_HT450.numGenericTriggerEventPSet.hltPaths = cms.vstring("HLT_Ele15_IsoVVVL_PFHT450_v*")
87 
88 DQMOffline_Ele50_HT450 = DQMOffline_Ele15_HT600.clone()
89 DQMOffline_Ele50_HT450.folderName = cms.string('HLT_Ele50_IsoVVVL_PFH450')
90 DQMOffline_Ele50_HT450.leptonPtPlateau = cms.untracked.double(60.0)
91 DQMOffline_Ele50_HT450.numGenericTriggerEventPSet.hltPaths = cms.vstring("HLT_Ele50_IsoVVVL_PFHT450_v*")
92 
93 
94 ### Single Muon + HT triggers
95 DQMOffline_Mu15_HT600 = DQMOffline_Ele15_HT600.clone()
96 DQMOffline_Mu15_HT600.electronCollection = cms.InputTag('')
97 DQMOffline_Mu15_HT600.conversionCollection = cms.InputTag('')
98 DQMOffline_Mu15_HT600.muonCollection = cms.InputTag('muons')
99 DQMOffline_Mu15_HT600.muonIDlevel = cms.untracked.int32(2) ## 1: loose, 2: medium, 3: tight
100 DQMOffline_Mu15_HT600.nels = cms.untracked.double(0)
101 DQMOffline_Mu15_HT600.nmus = cms.untracked.double(1)
102 DQMOffline_Mu15_HT600.lepIsoCut = cms.untracked.double(0.2)
103 DQMOffline_Mu15_HT600.lepEtaCut = cms.untracked.double(2.4)
104 DQMOffline_Mu15_HT600.lep_d0_cut_b = cms.untracked.double(0.2) #endcap parameter not used for muons
105 DQMOffline_Mu15_HT600.lep_dz_cut_b = cms.untracked.double(0.5)
106 
107 DQMOffline_Mu15_HT600.folderName = cms.string('HLT_Mu15_IsoVVVL_PFH600')
108 DQMOffline_Mu15_HT600.numGenericTriggerEventPSet.hltPaths = cms.vstring("HLT_Mu15_IsoVVVL_PFHT600_v*")
109 DQMOffline_Mu15_HT600.den_HT_GenericTriggerEventPSet.hltPaths = cms.vstring("HLT_IsoMu27_v*","HLT_IsoMu24_v*")
110 
111 DQMOffline_Mu15_HT450 = DQMOffline_Mu15_HT600.clone()
112 DQMOffline_Mu15_HT450.folderName = cms.string('HLT_Mu15_IsoVVVL_PFHT450')
113 DQMOffline_Mu15_HT450.numGenericTriggerEventPSet.hltPaths = cms.vstring("HLT_Mu15_IsoVVVL_PFHT450_v*")
114 
115 DQMOffline_Mu50_HT450 = DQMOffline_Mu15_HT600.clone()
116 DQMOffline_Mu50_HT450.folderName = cms.string('HLT_Mu50_IsoVVVL_PFH450')
117 DQMOffline_Mu50_HT450.leptonPtPlateau = cms.untracked.double(60.0)
118 DQMOffline_Mu50_HT450.numGenericTriggerEventPSet.hltPaths = cms.vstring("HLT_Mu50_IsoVVVL_PFHT450_v*")
119 
120 
121 ### Dilepton + HT triggers
122 DQMOffline_DoubleMu4_Mass8_DZ_PFHT350 = DQMOffline_Mu15_HT600.clone()
123 DQMOffline_DoubleMu4_Mass8_DZ_PFHT350.nmus = cms.untracked.double(2)
124 DQMOffline_DoubleMu4_Mass8_DZ_PFHT350.folderName = cms.string('HLT_DoubleMu4_Mass8_DZ_PFHT350')
125 DQMOffline_DoubleMu4_Mass8_DZ_PFHT350.leptonPtPlateau = cms.untracked.double(6.0)
126 DQMOffline_DoubleMu4_Mass8_DZ_PFHT350.leptonCountingThreshold = cms.untracked.double(4.0)
127 DQMOffline_DoubleMu4_Mass8_DZ_PFHT350.numGenericTriggerEventPSet.hltPaths = cms.vstring("HLT_DoubleMu4_Mass8_DZ_PFHT350_v*")
128 DQMOffline_DoubleMu4_Mass8_DZ_PFHT350.den_lep_GenericTriggerEventPSet.hltPaths = cms.vstring("HLT_Mu15_IsoVVVL_PFHT450_v*")
129 DQMOffline_DoubleMu4_Mass8_DZ_PFHT350.den_HT_GenericTriggerEventPSet.hltPaths = cms.vstring("HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_DZ_Mass8_v*")
130 
131 DQMOffline_DoubleEle8_CaloIdM_TrackIdM_Mass8_DZ_PFHT350 = DQMOffline_Ele15_HT600.clone()
132 DQMOffline_DoubleEle8_CaloIdM_TrackIdM_Mass8_DZ_PFHT350.nels = cms.untracked.double(2)
133 DQMOffline_DoubleEle8_CaloIdM_TrackIdM_Mass8_DZ_PFHT350.folderName = cms.string('HLT_DoubleEle8_CaloIdM_TrackIdM_Mass8_DZ_PFHT350')
134 DQMOffline_DoubleEle8_CaloIdM_TrackIdM_Mass8_DZ_PFHT350.leptonPtPlateau = cms.untracked.double(10.0)
135 DQMOffline_DoubleEle8_CaloIdM_TrackIdM_Mass8_DZ_PFHT350.leptonCountingThreshold = cms.untracked.double(8.0)
136 DQMOffline_DoubleEle8_CaloIdM_TrackIdM_Mass8_DZ_PFHT350.numGenericTriggerEventPSet.hltPaths = cms.vstring("HLT_DoubleEle8_CaloIdM_TrackIdM_Mass8_DZ_PFHT350_v*")
137 DQMOffline_DoubleEle8_CaloIdM_TrackIdM_Mass8_DZ_PFHT350.den_lep_GenericTriggerEventPSet.hltPaths = cms.vstring("HLT_Ele15_IsoVVVL_PFHT450_v*")
138 DQMOffline_DoubleEle8_CaloIdM_TrackIdM_Mass8_DZ_PFHT350.den_HT_GenericTriggerEventPSet.hltPaths = cms.vstring("HLT_Ele23_Ele12_CaloIdL_TrackIdL_IsoVL_DZ*")
139 
140 DQMOffline_Mu8_Ele8_CaloIdM_TrackIdM_Mass8_PFHT350_DZ = DQMOffline_DoubleEle8_CaloIdM_TrackIdM_Mass8_DZ_PFHT350.clone()
141 DQMOffline_Mu8_Ele8_CaloIdM_TrackIdM_Mass8_PFHT350_DZ.muonCollection = cms.InputTag('muons')
142 DQMOffline_Mu8_Ele8_CaloIdM_TrackIdM_Mass8_PFHT350_DZ.nels = cms.untracked.double(1)
143 DQMOffline_Mu8_Ele8_CaloIdM_TrackIdM_Mass8_PFHT350_DZ.nmus = cms.untracked.double(1)
144 DQMOffline_Mu8_Ele8_CaloIdM_TrackIdM_Mass8_PFHT350_DZ.folderName = cms.string('HLT_Mu8_Ele8_CaloIdM_TrackIdM_Mass8_PFHT350_DZ')
145 DQMOffline_Mu8_Ele8_CaloIdM_TrackIdM_Mass8_PFHT350_DZ.numGenericTriggerEventPSet.hltPaths = cms.vstring("HLT_Mu8_Ele8_CaloIdM_TrackIdM_Mass8_PFHT350_DZ_v*")
146 DQMOffline_Mu8_Ele8_CaloIdM_TrackIdM_Mass8_PFHT350_DZ.den_lep_GenericTriggerEventPSet.hltPaths = cms.vstring("HLT_Ele15_IsoVVVL_PFHT450_v*","HLT_Mu15_IsoVVVL_PFHT450_v*")
147 DQMOffline_Mu8_Ele8_CaloIdM_TrackIdM_Mass8_PFHT350_DZ.den_HT_GenericTriggerEventPSet.hltPaths = cms.vstring("HLT_Mu12_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_v*", "HLT_Mu23_TrkIsoVVL_Ele12_CaloIdL_TrackIdL_IsoVL_v*","HLT_Mu8_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_DZ_v*")
148 
149 ### Alternate dilepton + HT without DZ requirement
150 DQMOffline_DoubleMu4_Mass8_PFHT350 = DQMOffline_DoubleMu4_Mass8_DZ_PFHT350.clone()
151 DQMOffline_DoubleMu4_Mass8_PFHT350.folderName = cms.string('HLT_DoubleMu4_Mass8_PFHT350')
152 DQMOffline_DoubleMu4_Mass8_PFHT350.numGenericTriggerEventPSet.hltPaths = cms.vstring("HLT_DoubleMu4_Mass8_PFHT350_v*")
153 
154 DQMOffline_DoubleEle8_CaloIdM_TrackIdM_Mass8_PFHT350 = DQMOffline_DoubleEle8_CaloIdM_TrackIdM_Mass8_DZ_PFHT350.clone()
155 DQMOffline_DoubleEle8_CaloIdM_TrackIdM_Mass8_PFHT350.folderName = cms.string('HLT_DoubleEle8_CaloIdM_TrackIdM_Mass8_PFHT350')
156 DQMOffline_DoubleEle8_CaloIdM_TrackIdM_Mass8_PFHT350.numGenericTriggerEventPSet.hltPaths = cms.vstring("HLT_DoubleEle8_CaloIdM_TrackIdM_Mass8_PFHT350_v*")
157 
158 DQMOffline_Mu8_Ele8_CaloIdM_TrackIdM_Mass8_PFHT350 = DQMOffline_Mu8_Ele8_CaloIdM_TrackIdM_Mass8_PFHT350_DZ.clone()
159 DQMOffline_Mu8_Ele8_CaloIdM_TrackIdM_Mass8_PFHT350.folderName = cms.string('HLT_Mu8_Ele8_CaloIdM_TrackIdM_Mass8_PFHT350')
160 DQMOffline_Mu8_Ele8_CaloIdM_TrackIdM_Mass8_PFHT350.numGenericTriggerEventPSet.hltPaths = cms.vstring("HLT_Mu8_Ele8_CaloIdM_TrackIdM_Mass8_PFHT350_v*")
161 
162 
163 # fastsim has no conversion collection
164 from Configuration.Eras.Modifier_fastSim_cff import fastSim
165 fastSim.toModify(DQMOffline_Ele15_HT600,conversionCollection=cms.InputTag(''))
166 fastSim.toModify(DQMOffline_Ele15_HT450,conversionCollection=cms.InputTag(''))
167 fastSim.toModify(DQMOffline_Ele50_HT450,conversionCollection=cms.InputTag(''))
168 fastSim.toModify(DQMOffline_DoubleEle8_CaloIdM_TrackIdM_Mass8_DZ_PFHT350,conversionCollection=cms.InputTag(''))
169 fastSim.toModify(DQMOffline_Mu8_Ele8_CaloIdM_TrackIdM_Mass8_PFHT350_DZ,conversionCollection=cms.InputTag(''))
170 
171 
172 
173 DQMOffline_LepHT_POSTPROCESSING = DQMEDHarvester("DQMGenericClient",
174  subDirs = cms.untracked.vstring('HLT/LepHT/*'),
175  efficiency = cms.vstring(
176  "lepPtTurnOn_eff ';Offline lepton p_{T} [GeV];#epsilon' lepPtTurnOn_num lepPtTurnOn_den",
177  "lepEtaTurnOn_eff ';Offline lepton #eta;#epsilon' lepEtaTurnOn_num lepEtaTurnOn_den",
178  "lepPhiTurnOn_eff ';Offline lepton #phi;#epsilon' lepPhiTurnOn_num lepPhiTurnOn_den",
179  "lepEtaPhiTurnOn_eff ';Offline lepton #eta;Offline lepton #phi;#epsilon' lepEtaPhiTurnOn_num lepEtaPhiTurnOn_den",
180  "pfHTTurnOn_eff ';Offline PF H_{T} [GeV];#epsilon' pfHTTurnOn_num pfHTTurnOn_den",
181  "NPVTurnOn_eff ';Offline N_{PV} ;#epsilon' NPVTurnOn_num NPVTurnOn_den"
182  ),
183  resolution = cms.vstring('')
184  )
185 
186 
187 
188 from DQMOffline.Trigger.HLTEGTnPMonitor_cfi import egmGsfElectronIDsForDQM
189 
190 LepHTMonitor = cms.Sequence( egmGsfElectronIDsForDQM # Use of electron VID requires this module being executed first
191  + DQMOffline_Ele15_HT600
192  + DQMOffline_Ele15_HT450
193  + DQMOffline_Ele50_HT450
194  + DQMOffline_Mu15_HT600
195  + DQMOffline_Mu15_HT450
196  + DQMOffline_Mu50_HT450
197  + DQMOffline_DoubleEle8_CaloIdM_TrackIdM_Mass8_DZ_PFHT350
198  + DQMOffline_DoubleMu4_Mass8_DZ_PFHT350
199  + DQMOffline_Mu8_Ele8_CaloIdM_TrackIdM_Mass8_PFHT350_DZ
200  + DQMOffline_DoubleEle8_CaloIdM_TrackIdM_Mass8_PFHT350
201  + DQMOffline_DoubleMu4_Mass8_PFHT350
202  + DQMOffline_Mu8_Ele8_CaloIdM_TrackIdM_Mass8_PFHT350
203 )
204 
205 LepHTClient = cms.Sequence( DQMOffline_LepHT_POSTPROCESSING )