CMS 3D CMS Logo

topDiLeptonHLTEventDQM_cfi.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
3 topDiLeptonHLTOfflineDQM = cms.EDAnalyzer("TopDiLeptonHLTOfflineDQM",
4  ## ------------------------------------------------------
5  ## SETUP
6 
10  setup = cms.PSet(
11  ## sub-directory to write the monitor histograms to
12  ## [mandatory] : should not be changed w/o explicit
13  ## communication to TopCom!
14  directory = cms.string("HLT/TopHLTOffline/Top/DiLeptonic/"),
15 
16  ## [mandatory]
17  sources = cms.PSet(
18  muons = cms.InputTag("muons"),
19  elecs = cms.InputTag("gedGsfElectrons"),
20  jets = cms.InputTag("ak4PFJetsCHS"),
21  mets = cms.VInputTag("met", "tcMet", "pfMet")
22  ),
23  ## [optional] : when omitted all monitoring plots for electrons
24  ## will be filled w/o extras
25  elecExtras = cms.PSet(
26  ## when omitted electron plots will be filled w/o cut on electronId
27  #electronId = cms.PSet( src = cms.InputTag("mvaTrigV0"), pattern = cms.int32(1) ),
28  ## when omitted electron plots will be filled w/o additional pre-
29  ## selection of the electron candidates
30  select = cms.string("pt>20 & abs(eta)<2.5"),
31  ## when omitted isolated electron multiplicity plot will be equi-
32  ## valent to inclusive electron multiplicity plot
33  isolation = cms.string("(dr03TkSumPt+dr03EcalRecHitSumEt+dr03HcalTowerSumEt)/pt<0.15"),
34  ),
35  ## [optional] : when omitted all monitoring plots for muons
36  ## will be filled w/o extras
37  muonExtras = cms.PSet(
38  ## when omitted muon plots will be filled w/o additional pre-
39  ## selection of the muon candidates
40  select = cms.string("pt>20 & abs(eta)<2.4 & isPFMuon & (isGlobalMuon || isTrackerMuon)"),
41  ## when omitted isolated muon multiplicity plot will be equi-
42  ## valent to inclusive muon multiplicity plot
43  isolation = cms.string("(pfIsolationR04.sumChargedHadronPt+pfIsolationR04.sumPhotonEt+pfIsolationR04.sumNeutralHadronEt)/pt<0.2"),
44  ),
45  ## [optional] : when omitted all monitoring plots for jets will
46  ## be filled from uncorrected jets
47  jetExtras = cms.PSet(
48  ## when omitted monitor plots for pt will be filled from uncorrected
49  ## jets
50  #jetCorrector = cms.string("ak4PFCHSL2L3"),
51  ## when omitted no extra selection will be applied on jets before
52  ## filling the monitor histograms; if jetCorrector is present the
53  ## selection will be applied to corrected jets
54  select = cms.string("pt>30. & abs(eta)<2.5"),
55  ),
56  ## [optional] : when omitted no mass window will be applied
57  ## for the same flavor lepton monitoring plots
58  massExtras = cms.PSet(
59  lowerEdge = cms.double( 70.0),
60  upperEdge = cms.double(110.0)
61  ),
62  ## [optional] : when omitted all monitoring plots for triggering
63  ## will be empty
64  triggerExtras = cms.PSet(
65  src = cms.InputTag("TriggerResults","","HLT"),
66 ### Updating to HLT paths to be monitored by TOP PAG in 2016
67  pathsELECMU = cms.vstring([ 'HLT_Mu8_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_v','HLT_Mu23_TrkIsoVVL_Ele12_CaloIdL_TrackIdL_IsoVL_v','HLT_Mu23_TrkIsoVVL_Ele8_CaloIdL_TrackIdL_IsoVL_v','HLT_Mu8_TrkIsoVVL_Ele17_CaloIdL_TrackIdL_IsoVL_v','HLT_Mu12_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_DZ_v','HLT_Mu12_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_v']),
68  pathsDIMUON = cms.vstring([ 'HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_DZ_v','HLT_Mu17_TrkIsoVVL_TkMu8_TrkIsoVVL_DZ_v']),
69  pathsDIELEC = cms.vstring([ 'HLT_Ele23_Ele12_CaloIdL_TrackIdL_IsoVL_DZ_v','HLT_Ele23_Ele12_CaloIdL_TrackIdL_IsoVL_v'])
70  )
71  ),
72 
73  ## ------------------------------------------------------
74  ## PRESELECTION
75 
80  preselection = cms.PSet(
81  ## [optional] : when omitted no preselection is applied
82  trigger = cms.PSet(
83  src = cms.InputTag("TriggerResults","","HLT"),
84 ### Updating to HLT paths to be monitored by TOP PAG in 2016
85  select = cms.vstring(['HLT_Mu8_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_v', 'HLT_Mu23_TrkIsoVVL_Ele12_CaloIdL_TrackIdL_IsoVL_v', 'HLT_Mu23_TrkIsoVVL_Ele8_CaloIdL_TrackIdL_IsoVL_v', 'HLT_Mu8_TrkIsoVVL_Ele17_CaloIdL_TrackIdL_IsoVL_v','HLT_Mu12_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_DZ_v','HLT_Mu12_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_v','HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_DZ_v', 'HLT_Mu17_TrkIsoVVL_TkMu8_TrkIsoVVL_DZ_v', 'HLT_Ele23_Ele12_CaloIdL_TrackIdL_IsoVL_DZ_v', 'HLT_Ele23_Ele12_CaloIdL_TrackIdL_IsoVL_v'])
86  ),
87  ## [optional] : when omitted no preselection is applied
88  vertex = cms.PSet(
89  src = cms.InputTag("offlinePrimaryVertices"),
90  select = cms.string('abs(x)<1. && abs(y)<1. && abs(z)<20. && tracksSize>3 && !isFake')
91  )
92  ),
93 
94  ## ------------------------------------------------------
95  ## SELECTION
96 
103  selection = cms.VPSet(
104  #cms.PSet(
105  ### [mandatory] : 'jets' defines the objects to
106  ### select on, 'step0' labels the histograms;
107  ### instead of 'step0' you can choose any label
108  #label = cms.string("empty:step0")
109  #),
110  cms.PSet(
111  label = cms.string("Hlt:step0"),
112  src = cms.InputTag(""),
113  select = cms.string(""),
114  min = cms.int32(0),
115  max = cms.int32(0),
116  ),
117  cms.PSet(
118  label = cms.string("jets/pf:step1"),
119  src = cms.InputTag("ak4PFJetsCHS"),
120  #jetCorrector = cms.string("ak4PFCHSL2L3"),
121  select = cms.string("pt>30. & abs(eta)<2.5"),
122  min = cms.int32(2),
123  )
124  )
125 )
126 
127 
128 
129 DiMuonHLTOfflineDQM = cms.EDAnalyzer("TopDiLeptonHLTOfflineDQM",
130  ## ------------------------------------------------------
131  ## SETUP
132 
136  setup = cms.PSet(
137  ## sub-directory to write the monitor histograms to
138  ## [mandatory] : should not be changed w/o explicit
139  ## communication to TopCom!
140  directory = cms.string("HLT/TopHLTOffline/Top/DiMuon/"),
141 
142  ## [mandatory]
143  sources = cms.PSet(
144  muons = cms.InputTag("muons"),
145  elecs = cms.InputTag("gedGsfElectrons"),
146  jets = cms.InputTag("ak4PFJetsCHS"),
147  mets = cms.VInputTag("met", "tcMet", "pfMet")
148  ),
149  ## [optional] : when omitted all monitoring plots for electrons
150  ## will be filled w/o extras
151  elecExtras = cms.PSet(
152  ## when omitted electron plots will be filled w/o cut on electronId
153  #electronId = cms.PSet( src = cms.InputTag("mvaTrigV0"), pattern = cms.int32(1) ),
154  ## when omitted electron plots will be filled w/o additional pre-
155  ## selection of the electron candidates
156  select = cms.string("pt>20 & abs(eta)<2.5"),
157  ## when omitted isolated electron multiplicity plot will be equi-
158  ## valent to inclusive electron multiplicity plot
159  isolation = cms.string("(dr03TkSumPt+dr03EcalRecHitSumEt+dr03HcalTowerSumEt)/pt<0.15"),
160  ),
161  ## [optional] : when omitted all monitoring plots for muons
162  ## will be filled w/o extras
163  muonExtras = cms.PSet(
164  ## when omitted muon plots will be filled w/o additional pre-
165  ## selection of the muon candidates
166  select = cms.string("pt>20 & abs(eta)<2.4 & isPFMuon & (isGlobalMuon || isTrackerMuon)"),
167  ## when omitted isolated muon multiplicity plot will be equi-
168  ## valent to inclusive muon multiplicity plot
169  isolation = cms.string("(pfIsolationR04.sumChargedHadronPt+pfIsolationR04.sumPhotonEt+pfIsolationR04.sumNeutralHadronEt)/pt<0.2"),
170  ),
171  ## [optional] : when omitted all monitoring plots for jets will
172  ## be filled from uncorrected jets
173  jetExtras = cms.PSet(
174  ## when omitted monitor plots for pt will be filled from uncorrected
175  ## jets
176  #jetCorrector = cms.string("ak4PFCHSL2L3"),
177  ## when omitted no extra selection will be applied on jets before
178  ## filling the monitor histograms; if jetCorrector is present the
179  ## selection will be applied to corrected jets
180  select = cms.string("pt>30. & abs(eta)<2.5"),
181  ),
182  ## [optional] : when omitted no mass window will be applied
183  ## for the same flavor lepton monitoring plots
184  massExtras = cms.PSet(
185  lowerEdge = cms.double( 70.0),
186  upperEdge = cms.double(110.0)
187  ),
188  ## [optional] : when omitted all monitoring plots for triggering
189  ## will be empty
190  triggerExtras = cms.PSet(
191  src = cms.InputTag("TriggerResults","","HLT"),
192 ### Updating to HLT paths to be monitored by TOP PAG in 2016
193  pathsELECMU = cms.vstring([ 'HLT_Mu8_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_v','HLT_Mu23_TrkIsoVVL_Ele12_CaloIdL_TrackIdL_IsoVL_v','HLT_Mu23_TrkIsoVVL_Ele8_CaloIdL_TrackIdL_IsoVL_v','HLT_Mu8_TrkIsoVVL_Ele17_CaloIdL_TrackIdL_IsoVL_v','HLT_Mu12_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_DZ_v','HLT_Mu12_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_v']),
194  pathsDIMUON = cms.vstring([ 'HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_DZ_v','HLT_Mu17_TrkIsoVVL_TkMu8_TrkIsoVVL_Dz_v']),
195  pathsDIELEC = cms.vstring([ 'HLT_Ele23_Ele12_CaloIdL_TrackIdL_IsoVL_DZ_v','HLT_Ele23_Ele12_CaloIdL_TrackIdL_IsoVL_v'])
196  )
197  ),
198  ## ------------------------------------------------------
199  ## PRESELECTION
200 
205  preselection = cms.PSet(
206  ## [optional] : when omitted no preselection is applied
207  trigger = cms.PSet(
208  src = cms.InputTag("TriggerResults","","HLT"),
209  select = cms.vstring(['HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_DZ_v','HLT_Mu17_TrkIsoVVL_TkMu8_TrkIsoVVL_DZ_v']),
210  ),
211  ## [optional] : when omitted no preselection is applied
212  vertex = cms.PSet(
213  src = cms.InputTag("offlinePrimaryVertices"),
214  select = cms.string('abs(x)<1. && abs(y)<1. && abs(z)<20. && tracksSize>3 && !isFake')
215  )
216  ),
217 
218  ## ------------------------------------------------------
219  ## SELECTION
220 
227  selection = cms.VPSet(
228  #cms.PSet(
229  ### [mandatory] : 'jets' defines the objects to
230  ### select on, 'step0' labels the histograms;
231  ### instead of 'step0' you can choose any label
232  #label = cms.string("empty:step0")
233  #),
234  cms.PSet(
235  label = cms.string("Hlt:step0"),
236  src = cms.InputTag(""),
237  select = cms.string(""),
238  min = cms.int32(0),
239  max = cms.int32(0),
240  ),
241 
242  cms.PSet(
243  label = cms.string("muons:step1"),
244  src = cms.InputTag("muons"),
245  select = cms.string("pt>20 & abs(eta)<2.4 & isPFMuon & (isGlobalMuon || isTrackerMuon) & (isolationR03.sumPt+isolationR03.emEt+isolationR03.hadEt)/pt<0.2"),
246  min = cms.int32(2),
247  max = cms.int32(2),
248  ),
249  cms.PSet(
250  label = cms.string("jets/pf:step2"),
251  src = cms.InputTag("ak4PFJetsCHS"),
252  #jetCorrector = cms.string("ak4PFCHSL2L3"),
253  select = cms.string("pt>30. & abs(eta)<2.5"),
254  min = cms.int32(2),
255  ),
256  ),
257 )
258 
259 DiElectronHLTOfflineDQM = cms.EDAnalyzer("TopDiLeptonHLTOfflineDQM",
260  ## ------------------------------------------------------
261  ## SETUP
262 
266  setup = cms.PSet(
267  ## sub-directory to write the monitor histograms to
268  ## [mandatory] : should not be changed w/o explicit
269  ## communication to TopCom!
270  directory = cms.string("HLT/TopHLTOffline/Top/DiElectron/"),
271 
272  ## [mandatory]
273  sources = cms.PSet(
274  muons = cms.InputTag("muons"),
275  elecs = cms.InputTag("gedGsfElectrons"),
276  jets = cms.InputTag("ak4PFJetsCHS"),
277  mets = cms.VInputTag("met", "tcMet", "pfMet")
278  ),
279  ## [optional] : when omitted all monitoring plots for electrons
280  ## will be filled w/o extras
281  elecExtras = cms.PSet(
282  ## when omitted electron plots will be filled w/o cut on electronId
283  #electronId = cms.PSet( src = cms.InputTag("mvaTrigV0"), pattern = cms.int32(1) ),
284  ## when omitted electron plots will be filled w/o additional pre-
285  ## selection of the electron candidates
286  select = cms.string("pt>20 & abs(eta)<2.5"),
287  ## when omitted isolated electron multiplicity plot will be equi-
288  ## valent to inclusive electron multiplicity plot
289  isolation = cms.string("(dr03TkSumPt+dr03EcalRecHitSumEt+dr03HcalTowerSumEt)/pt<0.15"),
290  ),
291  ## [optional] : when omitted all monitoring plots for muons
292  ## will be filled w/o extras
293  muonExtras = cms.PSet(
294  ## when omitted muon plots will be filled w/o additional pre-
295  ## selection of the muon candidates
296  select = cms.string("pt>20 & abs(eta)<2.4 & isPFMuon & (isGlobalMuon || isTrackerMuon)"),
297  ## when omitted isolated muon multiplicity plot will be equi-
298  ## valent to inclusive muon multiplicity plot
299  isolation = cms.string("(pfIsolationR04.sumChargedHadronPt+pfIsolationR04.sumPhotonEt+pfIsolationR04.sumNeutralHadronEt)/pt<0.2"),
300  ),
301  ## [optional] : when omitted all monitoring plots for jets will
302  ## be filled from uncorrected jets
303  jetExtras = cms.PSet(
304  ## when omitted monitor plots for pt will be filled from uncorrected
305  ## jets
306  #jetCorrector = cms.string("ak4PFCHSL2L3"),
307  ## when omitted no extra selection will be applied on jets before
308  ## filling the monitor histograms; if jetCorrector is present the
309  ## selection will be applied to corrected jets
310  select = cms.string("pt>30. & abs(eta)<2.5"),
311  ),
312  ## [optional] : when omitted no mass window will be applied
313  ## for the same flavor lepton monitoring plots
314  massExtras = cms.PSet(
315  lowerEdge = cms.double( 70.0),
316  upperEdge = cms.double(110.0)
317  ),
318  ## [optional] : when omitted all monitoring plots for triggering
319  ## will be empty
320  triggerExtras = cms.PSet(
321  src = cms.InputTag("TriggerResults","","HLT"),
322 
323 ### Updating to HLT paths to be monitored by TOP PAG in 2016
324  pathsELECMU = cms.vstring([ 'HLT_Mu8_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_v','HLT_Mu23_TrkIsoVVL_Ele12_CaloIdL_TrackIdL_IsoVL_v','HLT_Mu23_TrkIsoVVL_Ele8_CaloIdL_TrackIdL_IsoVL_v','HLT_Mu8_TrkIsoVVL_Ele17_CaloIdL_TrackIdL_IsoVL_v','HLT_Mu12_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_DZ_v','HLT_Mu12_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_v']),
325  pathsDIMUON = cms.vstring([ 'HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_DZ_v','HLT_Mu17_TrkIsoVVL_TkMu8_TrkIsoVVL_DZ_v']),
326  pathsDIELEC = cms.vstring([ 'HLT_Ele23_Ele12_CaloIdL_TrackIdL_IsoVL_DZ_v','HLT_Ele23_Ele12_CaloIdL_TrackIdL_IsoVL_v'])
327  )
328  ),
329 
330  ## ------------------------------------------------------
331  ## PRESELECTION
332 
337  preselection = cms.PSet(
338  ## [optional] : when omitted no preselection is applied
339  trigger = cms.PSet(
340  src = cms.InputTag("TriggerResults","","HLT"),
341  select = cms.vstring(['HLT_Ele23_Ele12_CaloIdL_TrackIdL_IsoVL_DZ_v','HLT_Ele23_Ele12_CaloIdL_TrackIdL_IsoVL_v'])
342  ),
343  ## [optional] : when omitted no preselection is applied
344  vertex = cms.PSet(
345  src = cms.InputTag("offlinePrimaryVertices"),
346  select = cms.string('abs(x)<1. && abs(y)<1. && abs(z)<20. && tracksSize>3 && !isFake')
347  )
348  ),
349 
350  ## ------------------------------------------------------
351  ## SELECTION
352 
359  selection = cms.VPSet(
360  #cms.PSet(
361  ### [mandatory] : 'jets' defines the objects to
362  ### select on, 'step0' labels the histograms;
363  ### instead of 'step0' you can choose any label
364  #label = cms.string("empty:step0")
365  #),
366  cms.PSet(
367  label = cms.string("Hlt:step0"),
368  src = cms.InputTag(""),
369  select = cms.string(""),
370  min = cms.int32(0),
371  max = cms.int32(0),
372  ),
373 
374  cms.PSet(
375  label = cms.string("elecs:step1"),
376  src = cms.InputTag("gedGsfElectrons"),
377  #electronId = cms.PSet( src = cms.InputTag("mvaTrigV0"), pattern = cms.int32(1) ),
378  select = cms.string("pt>20 & abs(eta)<2.5 & (dr03TkSumPt+dr03EcalRecHitSumEt+dr03HcalTowerSumEt)/pt<0.15"),
379  min = cms.int32(2),
380  max = cms.int32(2),
381  ),
382  cms.PSet(
383  label = cms.string("jets/pf:step2"),
384  src = cms.InputTag("ak4PFJetsCHS"),
385  #jetCorrector = cms.string("ak4PFCHSL2L3"),
386  select = cms.string("pt>30. & abs(eta)<2.5"),
387  min = cms.int32(2),
388  ),
389  ),
390 )
391 
392 ElecMuonHLTOfflineDQM = cms.EDAnalyzer("TopDiLeptonHLTOfflineDQM",
393  ## ------------------------------------------------------
394  ## SETUP
395 
399  setup = cms.PSet(
400  ## sub-directory to write the monitor histograms to
401  ## [mandatory] : should not be changed w/o explicit
402  ## communication to TopCom!
403  directory = cms.string("HLT/TopHLTOffline/Top/ElecMuon/"),
404 
405  ## [mandatory]
406  sources = cms.PSet(
407  muons = cms.InputTag("muons"),
408  elecs = cms.InputTag("gedGsfElectrons"),
409  jets = cms.InputTag("ak4PFJetsCHS"),
410  mets = cms.VInputTag("met", "tcMet", "pfMet")
411  ),
412  ## [optional] : when omitted all monitoring plots for electrons
413  ## will be filled w/o extras
414  elecExtras = cms.PSet(
415  ## when omitted electron plots will be filled w/o cut on electronId
416  #electronId = cms.PSet( src = cms.InputTag("mvaTrigV0"), pattern = cms.int32(1) ),
417  ## when omitted electron plots will be filled w/o additional pre-
418  ## selection of the electron candidates
419  select = cms.string("pt>20 & abs(eta)<2.5"),
420  ## when omitted isolated electron multiplicity plot will be equi-
421  ## valent to inclusive electron multiplicity plot
422  isolation = cms.string("(dr03TkSumPt+dr03EcalRecHitSumEt+dr03HcalTowerSumEt)/pt<0.15"),
423  ),
424  ## [optional] : when omitted all monitoring plots for muons
425  ## will be filled w/o extras
426  muonExtras = cms.PSet(
427  ## when omitted muon plots will be filled w/o additional pre-
428  ## selection of the muon candidates
429  select = cms.string("pt>20 & abs(eta)<2.4 & isPFMuon & (isGlobalMuon || isTrackerMuon)"),
430  ## when omitted isolated muon multiplicity plot will be equi-
431  ## valent to inclusive muon multiplicity plot
432  isolation = cms.string("(pfIsolationR04.sumChargedHadronPt+pfIsolationR04.sumPhotonEt+pfIsolationR04.sumNeutralHadronEt)/pt<0.2"),
433  ),
434  ## [optional] : when omitted all monitoring plots for jets will
435  ## be filled from uncorrected jets
436  jetExtras = cms.PSet(
437  ## when omitted monitor plots for pt will be filled from uncorrected
438  ## jets
439  #jetCorrector = cms.string("ak4PFCHSL2L3"),
440  ## when omitted no extra selection will be applied on jets before
441  ## filling the monitor histograms; if jetCorrector is present the
442  ## selection will be applied to corrected jets
443  select = cms.string("pt>30. & abs(eta)<2.5"),
444  ),
445  ## [optional] : when omitted no mass window will be applied
446  ## for the same flavor lepton monitoring plots
447  massExtras = cms.PSet(
448  lowerEdge = cms.double( 70.0),
449  upperEdge = cms.double(110.0)
450  ),
451  ## [optional] : when omitted all monitoring plots for triggering
452  ## will be empty
453  triggerExtras = cms.PSet(
454  src = cms.InputTag("TriggerResults","","HLT"),
455 ### Updating to HLT paths to be monitored by TOP PAG in 2016
456  pathsELECMU = cms.vstring([ 'HLT_Mu8_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_v','HLT_Mu23_TrkIsoVVL_Ele12_CaloIdL_TrackIdL_IsoVL_v','HLT_Mu23_TrkIsoVVL_Ele8_CaloIdL_TrackIdL_IsoVL_v','HLT_Mu8_TrkIsoVVL_Ele17_CaloIdL_TrackIdL_IsoVL_v','HLT_Mu12_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_DZ_v','HLT_Mu12_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_v']),
457  pathsDIMUON = cms.vstring([ 'HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_DZ_v','HLT_Mu17_TrkIsoVVL_TkMu8_TrkIsoVVL_DZ_v']),
458  pathsDIELEC = cms.vstring([ 'HLT_Ele23_Ele12_CaloIdL_TrackIdL_IsoVL_DZ_v','HLT_Ele23_Ele12_CaloIdL_TrackIdL_IsoVL_v'])
459  )
460  ),
461 
462  ## ------------------------------------------------------
463  ## PRESELECTION
464 
469  preselection = cms.PSet(
470  ## [optional] : when omitted no preselection is applied
471  trigger = cms.PSet(
472  src = cms.InputTag("TriggerResults","","HLT"),
473 ### Updating to HLT paths to be monitored by TOP PAG in 2016
474  select = cms.vstring(['HLT_Mu8_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_v','HLT_Mu23_TrkIsoVVL_Ele12_CaloIdL_TrackIdL_IsoVL_v','HLT_Mu23_TrkIsoVVL_Ele8_CaloIdL_TrackIdL_IsoVL_v','HLT_Mu8_TrkIsoVVL_Ele17_CaloIdL_TrackIdL_IsoVL_v','HLT_Mu12_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_DZ_v','HLT_Mu12_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_v'])
475  ),
476  ## [optional] : when omitted no preselection is applied
477  vertex = cms.PSet(
478  src = cms.InputTag("offlinePrimaryVertices"),
479  select = cms.string('abs(x)<1. && abs(y)<1. && abs(z)<20. && tracksSize>3 && !isFake')
480  )
481  ),
482 
483  ## ------------------------------------------------------
484  ## SELECTION
485 
492  selection = cms.VPSet(
493  #cms.PSet(
494  ### [mandatory] : 'jets' defines the objects to
495  ### select on, 'step0' labels the histograms;
496  ### instead of 'step0' you can choose any label
497  #label = cms.string("empty:step0")
498  #),
499  cms.PSet(
500  label = cms.string("Hlt:step0"),
501  src = cms.InputTag(""),
502  select = cms.string(""),
503  min = cms.int32(0),
504  max = cms.int32(0),
505  ),
506 
507  cms.PSet(
508  label = cms.string("muons:step1"),
509  src = cms.InputTag("muons"),
510  select = cms.string("pt>20 & abs(eta)<2.4 & isPFMuon & (isGlobalMuon || isTrackerMuon) & (pfIsolationR04.sumChargedHadronPt+pfIsolationR04.sumPhotonEt+pfIsolationR04.sumNeutralHadronEt)/pt<0.2"),
511  min = cms.int32(1),
512  max = cms.int32(1),
513  ),
514  cms.PSet(
515  label = cms.string("elecs:step2"),
516  src = cms.InputTag("gedGsfElectrons"),
517  #electronId = cms.PSet( src = cms.InputTag("mvaTrigV0"), pattern = cms.int32(1) ),
518  select = cms.string("pt>20 & abs(eta)<2.5 & (dr03TkSumPt+dr03EcalRecHitSumEt+dr03HcalTowerSumEt)/pt<0.15"),
519  min = cms.int32(1),
520  max = cms.int32(1),
521  ),
522  cms.PSet(
523  label = cms.string("jets/pf:step3"),
524  src = cms.InputTag("ak4PFJetsCHS"),
525  #jetCorrector = cms.string("ak4PFCHSL2L3"),
526  select = cms.string("pt>30. & abs(eta)<2.5"),
527  min = cms.int32(2),
528  ),
529  ),
530 )