CMS 3D CMS Logo

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