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 2017
67  pathsELECMU = cms.vstring(['HLT_Mu12_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_DZ_v',
68  'HLT_Mu23_TrkIsoVVL_Ele12_CaloIdL_TrackIdL_IsoVL_v',
69  'HLT_Mu23_TrkIsoVVL_Ele12_CaloIdL_TrackIdL_IsoVL_DZ_v' ]),
70  pathsDIMUON = cms.vstring(['HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_DZ_Mass8_v',
71  'HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_DZ_Mass3p8_v']),
72  pathsDIELEC = cms.vstring(['HLT_Ele23_Ele12_CaloIdL_TrackIdL_IsoVL_v',
73  'HLT_Ele23_Ele12_CaloIdL_TrackIdL_IsoVL_DZ_v'])
74  )
75  ),
76 
77  ## ------------------------------------------------------
78  ## PRESELECTION
79 
84  preselection = cms.PSet(
85  ## [optional] : when omitted no preselection is applied
86  trigger = cms.PSet(
87  src = cms.InputTag("TriggerResults","","HLT"),
88 ### Updating to HLT paths to be monitored by TOP PAG in 2017
89  select = cms.vstring(['HLT_Mu12_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_DZ_v',
90  'HLT_Mu23_TrkIsoVVL_Ele12_CaloIdL_TrackIdL_IsoVL_v',
91  'HLT_Mu23_TrkIsoVVL_Ele12_CaloIdL_TrackIdL_IsoVL_DZ_v',
92  'HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_DZ_Mass8_v',
93  'HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_DZ_Mass3p8_v',
94  'HLT_Ele23_Ele12_CaloIdL_TrackIdL_IsoVL_v',
95  'HLT_Ele23_Ele12_CaloIdL_TrackIdL_IsoVL_DZ_v'])
96  ),
97  ## [optional] : when omitted no preselection is applied
98  vertex = cms.PSet(
99  src = cms.InputTag("offlinePrimaryVertices"),
100  select = cms.string('abs(x)<1. && abs(y)<1. && abs(z)<20. && tracksSize>3 && !isFake')
101  )
102  ),
103 
104  ## ------------------------------------------------------
105  ## SELECTION
106 
113  selection = cms.VPSet(
114  #cms.PSet(
115  ### [mandatory] : 'jets' defines the objects to
116  ### select on, 'step0' labels the histograms;
117  ### instead of 'step0' you can choose any label
118  #label = cms.string("empty:step0")
119  #),
120  cms.PSet(
121  label = cms.string("Hlt:step0"),
122  src = cms.InputTag(""),
123  select = cms.string(""),
124  min = cms.int32(0),
125  max = cms.int32(0),
126  ),
127  cms.PSet(
128  label = cms.string("jets/pf:step1"),
129  src = cms.InputTag("ak4PFJetsCHS"),
130  #jetCorrector = cms.string("ak4PFCHSL2L3"),
131  select = cms.string("pt>30. & abs(eta)<2.5"),
132  min = cms.int32(2),
133  )
134  )
135 )
136 
137 
138 
139 DiMuonHLTOfflineDQM = cms.EDAnalyzer("TopDiLeptonHLTOfflineDQM",
140  ## ------------------------------------------------------
141  ## SETUP
142 
146  setup = cms.PSet(
147  ## sub-directory to write the monitor histograms to
148  ## [mandatory] : should not be changed w/o explicit
149  ## communication to TopCom!
150  directory = cms.string("HLT/TopHLTOffline/Top/DiMuon/"),
151 
152  ## [mandatory]
153  sources = cms.PSet(
154  muons = cms.InputTag("muons"),
155  elecs = cms.InputTag("gedGsfElectrons"),
156  jets = cms.InputTag("ak4PFJetsCHS"),
157  mets = cms.VInputTag("met", "tcMet", "pfMet")
158  ),
159  ## [optional] : when omitted all monitoring plots for electrons
160  ## will be filled w/o extras
161  elecExtras = cms.PSet(
162  ## when omitted electron plots will be filled w/o cut on electronId
163  #electronId = cms.PSet( src = cms.InputTag("mvaTrigV0"), pattern = cms.int32(1) ),
164  ## when omitted electron plots will be filled w/o additional pre-
165  ## selection of the electron candidates
166  select = cms.string("pt>20 & abs(eta)<2.5"),
167  ## when omitted isolated electron multiplicity plot will be equi-
168  ## valent to inclusive electron multiplicity plot
169  isolation = cms.string("(dr03TkSumPt+dr03EcalRecHitSumEt+dr03HcalTowerSumEt)/pt<0.15"),
170  ),
171  ## [optional] : when omitted all monitoring plots for muons
172  ## will be filled w/o extras
173  muonExtras = cms.PSet(
174  ## when omitted muon plots will be filled w/o additional pre-
175  ## selection of the muon candidates
176  select = cms.string("pt>20 & abs(eta)<2.4 & isPFMuon & (isGlobalMuon || isTrackerMuon)"),
177  ## when omitted isolated muon multiplicity plot will be equi-
178  ## valent to inclusive muon multiplicity plot
179  isolation = cms.string("(pfIsolationR04.sumChargedHadronPt+pfIsolationR04.sumPhotonEt+pfIsolationR04.sumNeutralHadronEt)/pt<0.2"),
180  ),
181  ## [optional] : when omitted all monitoring plots for jets will
182  ## be filled from uncorrected jets
183  jetExtras = cms.PSet(
184  ## when omitted monitor plots for pt will be filled from uncorrected
185  ## jets
186  #jetCorrector = cms.string("ak4PFCHSL2L3"),
187  ## when omitted no extra selection will be applied on jets before
188  ## filling the monitor histograms; if jetCorrector is present the
189  ## selection will be applied to corrected jets
190  select = cms.string("pt>30. & abs(eta)<2.5"),
191  ),
192  ## [optional] : when omitted no mass window will be applied
193  ## for the same flavor lepton monitoring plots
194  massExtras = cms.PSet(
195  lowerEdge = cms.double( 70.0),
196  upperEdge = cms.double(110.0)
197  ),
198  ## [optional] : when omitted all monitoring plots for triggering
199  ## will be empty
200  triggerExtras = cms.PSet(
201  src = cms.InputTag("TriggerResults","","HLT"),
202  ### Updating to HLT paths to be monitored by TOP PAG in 2017
203  pathsELECMU = cms.vstring(['HLT_Mu12_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_DZ_v',
204  'HLT_Mu23_TrkIsoVVL_Ele12_CaloIdL_TrackIdL_IsoVL_v',
205  'HLT_Mu23_TrkIsoVVL_Ele12_CaloIdL_TrackIdL_IsoVL_DZ_v' ]),
206  pathsDIMUON = cms.vstring(['HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_DZ_Mass8_v',
207  'HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_DZ_Mass3p8_v']),
208  pathsDIELEC = cms.vstring(['HLT_Ele23_Ele12_CaloIdL_TrackIdL_IsoVL_v',
209  'HLT_Ele23_Ele12_CaloIdL_TrackIdL_IsoVL_DZ_v' ])
210  )
211  ),
212  ## ------------------------------------------------------
213  ## PRESELECTION
214 
219  preselection = cms.PSet(
220  ## [optional] : when omitted no preselection is applied
221  trigger = cms.PSet(
222  src = cms.InputTag("TriggerResults","","HLT"),
223  select = cms.vstring(['HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_DZ_Mass8_v',
224  'HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_DZ_Mass3p8_v']),
225  ),
226  ## [optional] : when omitted no preselection is applied
227  vertex = cms.PSet(
228  src = cms.InputTag("offlinePrimaryVertices"),
229  select = cms.string('abs(x)<1. && abs(y)<1. && abs(z)<20. && tracksSize>3 && !isFake')
230  )
231  ),
232 
233  ## ------------------------------------------------------
234  ## SELECTION
235 
242  selection = cms.VPSet(
243  #cms.PSet(
244  ### [mandatory] : 'jets' defines the objects to
245  ### select on, 'step0' labels the histograms;
246  ### instead of 'step0' you can choose any label
247  #label = cms.string("empty:step0")
248  #),
249  cms.PSet(
250  label = cms.string("Hlt:step0"),
251  src = cms.InputTag(""),
252  select = cms.string(""),
253  min = cms.int32(0),
254  max = cms.int32(0),
255  ),
256 
257  cms.PSet(
258  label = cms.string("muons:step1"),
259  src = cms.InputTag("muons"),
260  select = cms.string("pt>20 & abs(eta)<2.4 & isPFMuon & (isGlobalMuon || isTrackerMuon) & (isolationR03.sumPt+isolationR03.emEt+isolationR03.hadEt)/pt<0.2"),
261  min = cms.int32(2),
262  max = cms.int32(2),
263  ),
264  cms.PSet(
265  label = cms.string("jets/pf:step2"),
266  src = cms.InputTag("ak4PFJetsCHS"),
267  #jetCorrector = cms.string("ak4PFCHSL2L3"),
268  select = cms.string("pt>30. & abs(eta)<2.5"),
269  min = cms.int32(2),
270  ),
271  ),
272 )
273 
274 DiElectronHLTOfflineDQM = cms.EDAnalyzer("TopDiLeptonHLTOfflineDQM",
275  ## ------------------------------------------------------
276  ## SETUP
277 
281  setup = cms.PSet(
282  ## sub-directory to write the monitor histograms to
283  ## [mandatory] : should not be changed w/o explicit
284  ## communication to TopCom!
285  directory = cms.string("HLT/TopHLTOffline/Top/DiElectron/"),
286 
287  ## [mandatory]
288  sources = cms.PSet(
289  muons = cms.InputTag("muons"),
290  elecs = cms.InputTag("gedGsfElectrons"),
291  jets = cms.InputTag("ak4PFJetsCHS"),
292  mets = cms.VInputTag("met", "tcMet", "pfMet")
293  ),
294  ## [optional] : when omitted all monitoring plots for electrons
295  ## will be filled w/o extras
296  elecExtras = cms.PSet(
297  ## when omitted electron plots will be filled w/o cut on electronId
298  #electronId = cms.PSet( src = cms.InputTag("mvaTrigV0"), pattern = cms.int32(1) ),
299  ## when omitted electron plots will be filled w/o additional pre-
300  ## selection of the electron candidates
301  select = cms.string("pt>20 & abs(eta)<2.5"),
302  ## when omitted isolated electron multiplicity plot will be equi-
303  ## valent to inclusive electron multiplicity plot
304  isolation = cms.string("(dr03TkSumPt+dr03EcalRecHitSumEt+dr03HcalTowerSumEt)/pt<0.15"),
305  ),
306  ## [optional] : when omitted all monitoring plots for muons
307  ## will be filled w/o extras
308  muonExtras = cms.PSet(
309  ## when omitted muon plots will be filled w/o additional pre-
310  ## selection of the muon candidates
311  select = cms.string("pt>20 & abs(eta)<2.4 & isPFMuon & (isGlobalMuon || isTrackerMuon)"),
312  ## when omitted isolated muon multiplicity plot will be equi-
313  ## valent to inclusive muon multiplicity plot
314  isolation = cms.string("(pfIsolationR04.sumChargedHadronPt+pfIsolationR04.sumPhotonEt+pfIsolationR04.sumNeutralHadronEt)/pt<0.2"),
315  ),
316  ## [optional] : when omitted all monitoring plots for jets will
317  ## be filled from uncorrected jets
318  jetExtras = cms.PSet(
319  ## when omitted monitor plots for pt will be filled from uncorrected
320  ## jets
321  #jetCorrector = cms.string("ak4PFCHSL2L3"),
322  ## when omitted no extra selection will be applied on jets before
323  ## filling the monitor histograms; if jetCorrector is present the
324  ## selection will be applied to corrected jets
325  select = cms.string("pt>30. & abs(eta)<2.5"),
326  ),
327  ## [optional] : when omitted no mass window will be applied
328  ## for the same flavor lepton monitoring plots
329  massExtras = cms.PSet(
330  lowerEdge = cms.double( 70.0),
331  upperEdge = cms.double(110.0)
332  ),
333  ## [optional] : when omitted all monitoring plots for triggering
334  ## will be empty
335  triggerExtras = cms.PSet(
336  src = cms.InputTag("TriggerResults","","HLT"),
337 
338  ### Updating to HLT paths to be monitored by TOP PAG in 2017
339  pathsELECMU = cms.vstring(['HLT_Mu12_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_DZ_v',
340  'HLT_Mu23_TrkIsoVVL_Ele12_CaloIdL_TrackIdL_IsoVL_v',
341  'HLT_Mu23_TrkIsoVVL_Ele12_CaloIdL_TrackIdL_IsoVL_DZ_v' ]),
342  pathsDIMUON = cms.vstring(['HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_DZ_Mass8_v',
343  'HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_DZ_Mass3p8_v']),
344  pathsDIELEC = cms.vstring(['HLT_Ele23_Ele12_CaloIdL_TrackIdL_IsoVL_v',
345  'HLT_Ele23_Ele12_CaloIdL_TrackIdL_IsoVL_DZ_v' ])
346  )
347  ),
348 
349  ## ------------------------------------------------------
350  ## PRESELECTION
351 
356  preselection = cms.PSet(
357  ## [optional] : when omitted no preselection is applied
358  trigger = cms.PSet(
359  src = cms.InputTag("TriggerResults","","HLT"),
360  select = cms.vstring(['HLT_Ele23_Ele12_CaloIdL_TrackIdL_IsoVL_v',
361  'HLT_Ele23_Ele12_CaloIdL_TrackIdL_IsoVL_DZ_v'])
362  ),
363  ## [optional] : when omitted no preselection is applied
364  vertex = cms.PSet(
365  src = cms.InputTag("offlinePrimaryVertices"),
366  select = cms.string('abs(x)<1. && abs(y)<1. && abs(z)<20. && tracksSize>3 && !isFake')
367  )
368  ),
369 
370  ## ------------------------------------------------------
371  ## SELECTION
372 
379  selection = cms.VPSet(
380  #cms.PSet(
381  ### [mandatory] : 'jets' defines the objects to
382  ### select on, 'step0' labels the histograms;
383  ### instead of 'step0' you can choose any label
384  #label = cms.string("empty:step0")
385  #),
386  cms.PSet(
387  label = cms.string("Hlt:step0"),
388  src = cms.InputTag(""),
389  select = cms.string(""),
390  min = cms.int32(0),
391  max = cms.int32(0),
392  ),
393 
394  cms.PSet(
395  label = cms.string("elecs:step1"),
396  src = cms.InputTag("gedGsfElectrons"),
397  #electronId = cms.PSet( src = cms.InputTag("mvaTrigV0"), pattern = cms.int32(1) ),
398  select = cms.string("pt>20 & abs(eta)<2.5 & (dr03TkSumPt+dr03EcalRecHitSumEt+dr03HcalTowerSumEt)/pt<0.15"),
399  min = cms.int32(2),
400  max = cms.int32(2),
401  ),
402  cms.PSet(
403  label = cms.string("jets/pf:step2"),
404  src = cms.InputTag("ak4PFJetsCHS"),
405  #jetCorrector = cms.string("ak4PFCHSL2L3"),
406  select = cms.string("pt>30. & abs(eta)<2.5"),
407  min = cms.int32(2),
408  ),
409  ),
410 )
411 
412 ElecMuonHLTOfflineDQM = cms.EDAnalyzer("TopDiLeptonHLTOfflineDQM",
413  ## ------------------------------------------------------
414  ## SETUP
415 
419  setup = cms.PSet(
420  ## sub-directory to write the monitor histograms to
421  ## [mandatory] : should not be changed w/o explicit
422  ## communication to TopCom!
423  directory = cms.string("HLT/TopHLTOffline/Top/ElecMuon/"),
424 
425  ## [mandatory]
426  sources = cms.PSet(
427  muons = cms.InputTag("muons"),
428  elecs = cms.InputTag("gedGsfElectrons"),
429  jets = cms.InputTag("ak4PFJetsCHS"),
430  mets = cms.VInputTag("met", "tcMet", "pfMet")
431  ),
432  ## [optional] : when omitted all monitoring plots for electrons
433  ## will be filled w/o extras
434  elecExtras = cms.PSet(
435  ## when omitted electron plots will be filled w/o cut on electronId
436  #electronId = cms.PSet( src = cms.InputTag("mvaTrigV0"), pattern = cms.int32(1) ),
437  ## when omitted electron plots will be filled w/o additional pre-
438  ## selection of the electron candidates
439  select = cms.string("pt>20 & abs(eta)<2.5"),
440  ## when omitted isolated electron multiplicity plot will be equi-
441  ## valent to inclusive electron multiplicity plot
442  isolation = cms.string("(dr03TkSumPt+dr03EcalRecHitSumEt+dr03HcalTowerSumEt)/pt<0.15"),
443  ),
444  ## [optional] : when omitted all monitoring plots for muons
445  ## will be filled w/o extras
446  muonExtras = cms.PSet(
447  ## when omitted muon plots will be filled w/o additional pre-
448  ## selection of the muon candidates
449  select = cms.string("pt>20 & abs(eta)<2.4 & isPFMuon & (isGlobalMuon || isTrackerMuon)"),
450  ## when omitted isolated muon multiplicity plot will be equi-
451  ## valent to inclusive muon multiplicity plot
452  isolation = cms.string("(pfIsolationR04.sumChargedHadronPt+pfIsolationR04.sumPhotonEt+pfIsolationR04.sumNeutralHadronEt)/pt<0.2"),
453  ),
454  ## [optional] : when omitted all monitoring plots for jets will
455  ## be filled from uncorrected jets
456  jetExtras = cms.PSet(
457  ## when omitted monitor plots for pt will be filled from uncorrected
458  ## jets
459  #jetCorrector = cms.string("ak4PFCHSL2L3"),
460  ## when omitted no extra selection will be applied on jets before
461  ## filling the monitor histograms; if jetCorrector is present the
462  ## selection will be applied to corrected jets
463  select = cms.string("pt>30. & abs(eta)<2.5"),
464  ),
465  ## [optional] : when omitted no mass window will be applied
466  ## for the same flavor lepton monitoring plots
467  massExtras = cms.PSet(
468  lowerEdge = cms.double( 70.0),
469  upperEdge = cms.double(110.0)
470  ),
471  ## [optional] : when omitted all monitoring plots for triggering
472  ## will be empty
473  triggerExtras = cms.PSet(
474  src = cms.InputTag("TriggerResults","","HLT"),
475  ### Updating to HLT paths to be monitored by TOP PAG in 2017
476  pathsELECMU = cms.vstring(['HLT_Mu12_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_DZ_v',
477  'HLT_Mu23_TrkIsoVVL_Ele12_CaloIdL_TrackIdL_IsoVL_v',
478  'HLT_Mu23_TrkIsoVVL_Ele12_CaloIdL_TrackIdL_IsoVL_DZ_v' ]),
479  pathsDIMUON = cms.vstring(['HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_DZ_Mass8_v',
480  'HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_DZ_Mass3p8_v']),
481  pathsDIELEC = cms.vstring(['HLT_Ele23_Ele12_CaloIdL_TrackIdL_IsoVL_v',
482  'HLT_Ele23_Ele12_CaloIdL_TrackIdL_IsoVL_DZ_v' ])
483  )
484  ),
485 
486  ## ------------------------------------------------------
487  ## PRESELECTION
488 
493  preselection = cms.PSet(
494  ## [optional] : when omitted no preselection is applied
495  trigger = cms.PSet(
496  src = cms.InputTag("TriggerResults","","HLT"),
497 ### Updating to HLT paths to be monitored by TOP PAG in 2017
498  select = cms.vstring(['HLT_Mu12_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_DZ_v',
499  'HLT_Mu23_TrkIsoVVL_Ele12_CaloIdL_TrackIdL_IsoVL_v',
500  'HLT_Mu23_TrkIsoVVL_Ele12_CaloIdL_TrackIdL_IsoVL_DZ_v'])
501  ),
502  ## [optional] : when omitted no preselection is applied
503  vertex = cms.PSet(
504  src = cms.InputTag("offlinePrimaryVertices"),
505  select = cms.string('abs(x)<1. && abs(y)<1. && abs(z)<20. && tracksSize>3 && !isFake')
506  )
507  ),
508 
509  ## ------------------------------------------------------
510  ## SELECTION
511 
518  selection = cms.VPSet(
519  #cms.PSet(
520  ### [mandatory] : 'jets' defines the objects to
521  ### select on, 'step0' labels the histograms;
522  ### instead of 'step0' you can choose any label
523  #label = cms.string("empty:step0")
524  #),
525  cms.PSet(
526  label = cms.string("Hlt:step0"),
527  src = cms.InputTag(""),
528  select = cms.string(""),
529  min = cms.int32(0),
530  max = cms.int32(0),
531  ),
532 
533  cms.PSet(
534  label = cms.string("muons:step1"),
535  src = cms.InputTag("muons"),
536  select = cms.string("pt>20 & abs(eta)<2.4 & isPFMuon & (isGlobalMuon || isTrackerMuon) & (pfIsolationR04.sumChargedHadronPt+pfIsolationR04.sumPhotonEt+pfIsolationR04.sumNeutralHadronEt)/pt<0.2"),
537  min = cms.int32(1),
538  max = cms.int32(1),
539  ),
540  cms.PSet(
541  label = cms.string("elecs:step2"),
542  src = cms.InputTag("gedGsfElectrons"),
543  #electronId = cms.PSet( src = cms.InputTag("mvaTrigV0"), pattern = cms.int32(1) ),
544  select = cms.string("pt>20 & abs(eta)<2.5 & (dr03TkSumPt+dr03EcalRecHitSumEt+dr03HcalTowerSumEt)/pt<0.15"),
545  min = cms.int32(1),
546  max = cms.int32(1),
547  ),
548  cms.PSet(
549  label = cms.string("jets/pf:step3"),
550  src = cms.InputTag("ak4PFJetsCHS"),
551  #jetCorrector = cms.string("ak4PFCHSL2L3"),
552  select = cms.string("pt>30. & abs(eta)<2.5"),
553  min = cms.int32(2),
554  ),
555  ),
556 )