CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
topSingleLeptonDQM_cfi.py
Go to the documentation of this file.
2 
3 topSingleLeptonDQM = cms.EDAnalyzer("TopSingleLeptonDQM",
4  ## ------------------------------------------------------
5  ## SETUP
6  ##
7  ## configuration of the MonitoringEnsemble(s)
8  ## [mandatory] : optional PSets may be omitted
9  ##
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("Physics/Top/TopSingleLeptonDQM/"),
15  ## [mandatory]
16  sources = cms.PSet(
17  muons = cms.InputTag("muons"),
18  elecs = cms.InputTag("gedGsfElectrons"),
19  jets = cms.InputTag("ak5PFJetsCHS"),
20  mets = cms.VInputTag("met", "tcMet", "pfMet"),
21  pvs = cms.InputTag("offlinePrimaryVertices")
22  ),
23  ## [optional] : when omitted the verbosity level is set to STANDARD
24  monitoring = cms.PSet(
25  verbosity = cms.string("DEBUG")
26  ),
27  ## [optional] : when omitted all monitoring plots for primary vertices
28  ## will be filled w/o extras
29  pvExtras = cms.PSet(
30  ## when omitted electron plots will be filled w/o additional pre-
31  ## selection of the primary vertex candidates
32  select = cms.string("abs(x)<1. & abs(y)<1. & abs(z)<20. & tracksSize>3 & !isFake")
33  ),
34  ## [optional] : when omitted all monitoring plots for electrons
35  ## will be filled w/o extras
36  elecExtras = cms.PSet(
37  ## when omitted electron plots will be filled w/o cut on electronId
38  electronId = cms.PSet( src = cms.InputTag("eidRobustLoose"), pattern = cms.int32(1) ),
39  ## when omitted electron plots will be filled w/o additional pre-
40  ## selection of the electron candidates
41  select = cms.string("pt>15 & abs(eta)<2.5 & abs(gsfTrack.d0)<1 & abs(gsfTrack.dz)<20"),
42  ## when omitted isolated electron multiplicity plot will be equi-
43  ## valent to inclusive electron multiplicity plot
44  isolation = cms.string("(dr03TkSumPt+dr04EcalRecHitSumEt+dr04HcalTowerSumEt)/pt<0.1"),
45  ),
46  ## [optional] : when omitted all monitoring plots for muons
47  ## will be filled w/o extras
48  muonExtras = cms.PSet(
49  ## when omitted muon plots will be filled w/o additional pre-
50  ## selection of the muon candidates
51  select = cms.string("pt>10 & abs(eta)<2.1 & isGlobalMuon & abs(globalTrack.d0)<1 & abs(globalTrack.dz)<20"),
52  ## when omitted isolated muon multiplicity plot will be equi-
53  ## valent to inclusive muon multiplicity plot
54  isolation = cms.string("(isolationR03.sumPt+isolationR03.emEt+isolationR03.hadEt)/pt<0.1"),
55  ),
56  ## [optional] : when omitted all monitoring plots for jets will
57  ## be filled from uncorrected jets
58  jetExtras = cms.PSet(
59  ## when omitted monitor plots for pt will be filled from uncorrected
60  ## jets
61  jetCorrector = cms.string("ak5PFL2L3"),
62  ## when omitted monitor plots will be filled w/o additional cut on
63  ## jetID
64  #jetID = cms.PSet(
65  #label = cms.InputTag("ak5JetID"),
66  #select = cms.string("fHPD < 0.98 & n90Hits>1 & restrictedEMF<1")
67 # ),
68  ## when omitted no extra selection will be applied on jets before
69  ## filling the monitor histograms; if jetCorrector is present the
70  ## selection will be applied to corrected jets
71 # select = cms.string("pt>30 & abs(eta)<2.5 & emEnergyFraction>0.01"),
72  select = cms.string("pt>30 & abs(eta)<2.5 "),
73  ),
74  ## [optional] : when omitted no mass window will be applied
75  ## for the W mass befor filling the event monitoring plots
76  massExtras = cms.PSet(
77  lowerEdge = cms.double( 70.),
78  upperEdge = cms.double(110.)
79  ),
80  ## [optional] : when omitted the monitoring plots for triggering
81  ## will be empty
82  triggerExtras = cms.PSet(
83  src = cms.InputTag("TriggerResults","","HLT"),
84  paths = cms.vstring(['HLT_Mu3:HLT_QuadJet15U',
85  'HLT_Mu5:HLT_QuadJet15U',
86  'HLT_Mu7:HLT_QuadJet15U',
87  'HLT_Mu9:HLT_QuadJet15U'])
88  )
89  ),
90  ## ------------------------------------------------------
91  ## PRESELECTION
92  ##
93  ## setup of the event preselection, which will not
94  ## be monitored
95  ## [mandatory] : but may be empty
96  ##
97  preselection = cms.PSet(
98  ## [optional] : when omitted no preselection is applied
99  #trigger = cms.PSet(
100  # src = cms.InputTag("TriggerResults","","HLT"),
101  # select = cms.vstring(['HLT_Mu11', 'HLT_Ele15_LW_L1R', 'HLT_QuadJet30'])
102  #),
103  ## [optional] : when omitted no preselection is applied
104  vertex = cms.PSet(
105  src = cms.InputTag("offlinePrimaryVertices"),
106  select = cms.string('abs(x)<1. & abs(y)<1. & abs(z)<20. & tracksSize>3 & !isFake')
107  )
108  ),
109  ## ------------------------------------------------------
110  ## SELECTION
111  ##
112  ## monitor histrograms are filled after each selection
113  ## step, the selection is applied in the order defined
114  ## by this vector
115  ## [mandatory] : may be empty or contain an arbitrary
116  ## number of PSets
117  ##
118  selection = cms.VPSet(
119  cms.PSet(
120  label = cms.string("jets/pf:step0"),
121  src = cms.InputTag("ak5PFJetsCHS"),
122  #select = cms.string("pt>20 & abs(eta)<2.1 & 0.05<emEnergyFraction"),
123  select = cms.string("pt>30 & abs(eta)<2.5 "),
124  #jetID = cms.PSet(
125  #label = cms.InputTag("ak5JetID"),
126  #select = cms.string("fHPD < 0.98 & n90Hits>1 & restrictedEMF<1")
127  # ),
128  min = cms.int32(2),
129  ),
130  )
131 )
132 
133 topSingleMuonLooseDQM = cms.EDAnalyzer("TopSingleLeptonDQM",
134  ## ------------------------------------------------------
135  ## SETUP
136  ##
137  ## configuration of the MonitoringEnsemble(s)
138  ## [mandatory] : optional PSets may be omitted
139  ##
140  setup = cms.PSet(
141  ## sub-directory to write the monitor histograms to
142  ## [mandatory] : should not be changed w/o explicit
143  ## communication to TopCom!
144  directory = cms.string("Physics/Top/TopSingleMuonLooseDQM/"),
145  ## [mandatory]
146  sources = cms.PSet(
147  muons = cms.InputTag("muons"),
148  elecs = cms.InputTag("gedGsfElectrons"),
149  jets = cms.InputTag("ak5PFJetsCHS"),
150  mets = cms.VInputTag("met", "tcMet", "pfMet"),
151  pvs = cms.InputTag("offlinePrimaryVertices")
152  ),
153  ## [optional] : when omitted the verbosity level is set to STANDARD
154  monitoring = cms.PSet(
155  verbosity = cms.string("DEBUG")
156  ),
157  pvExtras = cms.PSet(
158  ## when omitted electron plots will be filled w/o additional pre-
159  ## selection of the primary vertex candidates
160  select = cms.string("abs(x)<1. & abs(y)<1. & abs(z)<20. & tracksSize>3 & !isFake")
161  ),
162  ## [optional] : when omitted all monitoring plots for muons
163  ## will be filled w/o extras
164  muonExtras = cms.PSet(
165  ## when omitted muon plots will be filled w/o additional pre-
166  ## selection of the muon candidates
167  select = cms.string("pt > 10 & abs(eta)<2.1 & isGlobalMuon & innerTrack.numberOfValidHits>10 & globalTrack.normalizedChi2>-1 & globalTrack.normalizedChi2<10"),
168  ## when omitted isolated muon multiplicity plot will be equi-
169  ## valent to inclusive muon multiplicity plot
170  isolation = cms.string("(isolationR03.sumPt+isolationR03.emEt+isolationR03.hadEt)/pt<0.1")
171  ),
172  ## [optional] : when omitted all monitoring plots for jets
173  ## will be filled w/o extras
174  jetExtras = cms.PSet(
175  ## when omitted monitor plots for pt will be filled from uncorrected
176  ## jets
177  jetCorrector = cms.string("ak5PFL2L3"),
178  ## when omitted monitor plots will be filled w/o additional cut on
179  ## jetID
180  #jetID = cms.PSet(
181  #label = cms.InputTag("ak5JetID"),
182  #select = cms.string("fHPD < 0.98 & n90Hits>1 & restrictedEMF<1")
183  # ),
184  ## when omitted no extra selection will be applied on jets before
185  ## filling the monitor histograms; if jetCorrector is present the
186  ## selection will be applied to corrected jets
187  #select = cms.string("pt>30 & abs(eta)<2.5 & emEnergyFraction>0.01"),
188  select = cms.string("pt>30 & abs(eta)<2.5"),
189  ## when omitted monitor histograms for b-tagging will not be filled
190  jetBTaggers = cms.PSet(
191  trackCountingEff = cms.PSet(
192  label = cms.InputTag("trackCountingHighEffBJetTags" ),
193  workingPoint = cms.double(1.25)
194  ),
195  trackCountingPur = cms.PSet(
196  label = cms.InputTag("trackCountingHighPurBJetTags" ),
197  workingPoint = cms.double(3.00)
198  ),
199  secondaryVertex = cms.PSet(
200  label = cms.InputTag("simpleSecondaryVertexHighEffBJetTags"),
201  workingPoint = cms.double(2.05)
202  ),
203  cvsVertex = cms.PSet(
204  label = cms.InputTag("combinedSecondaryVertexBJetTags"),
205  workingPoint = cms.double(0.898)
206  # CSV Tight from https://twiki.cern.ch/twiki/bin/viewauth/CMS/BTagPerformanceOP#B_tagging_Operating_Points_for_5
207  )
208  ),
209  ),
210  ## [optional] : when omitted no mass window will be applied
211  ## for the W mass befor filling the event monitoring plots
212  massExtras = cms.PSet(
213  lowerEdge = cms.double( 70.),
214  upperEdge = cms.double(110.)
215  ),
216  ## [optional] : when omitted the monitoring plots for triggering
217  ## will be empty
218  triggerExtras = cms.PSet(
219  src = cms.InputTag("TriggerResults","","HLT"),
220  paths = cms.vstring(['HLT_Mu3:HLT_QuadJet15U',
221  'HLT_Mu5:HLT_QuadJet15U',
222  'HLT_Mu7:HLT_QuadJet15U',
223  'HLT_Mu9:HLT_QuadJet15U',
224  'HLT_Mu11:HLT_QuadJet15U'])
225  )
226  ),
227  ## ------------------------------------------------------
228  ## PRESELECTION
229  ##
230  ## setup of the event preselection, which will not
231  ## be monitored
232  ## [mandatory] : but may be empty
233  ##
234  preselection = cms.PSet(
235  ## [optional] : when omitted no preselection is applied
236  #trigger = cms.PSet(
237  # src = cms.InputTag("TriggerResults","","HLT"),
238  # select = cms.vstring(['HLT_Mu11'])
239  #),
240  ## [optional] : when omitted no preselection is applied
241  vertex = cms.PSet(
242  src = cms.InputTag("offlinePrimaryVertices"),
243  select = cms.string('abs(x)<1. & abs(y)<1. & abs(z)<20. & tracksSize>3 & !isFake')
244  )
245  ),
246  ## ------------------------------------------------------
247  ## SELECTION
248  ##
249  ## monitor histrograms are filled after each selection
250  ## step, the selection is applied in the order defined
251  ## by this vector
252  ## [mandatory] : may be empty or contain an arbitrary
253  ## number of PSets
254  selection = cms.VPSet(
255  cms.PSet(
256  label = cms.string("muons:step0"),
257  src = cms.InputTag("muons"),
258  select = cms.string("pt>10 & abs(eta)<2.1 & isGlobalMuon & innerTrack.numberOfValidHits>10 & globalTrack.normalizedChi2>-1 & globalTrack.normalizedChi2<10"),
259  min = cms.int32(1),
260  ),
261  cms.PSet(
262  label = cms.string("jets/pf:step1"),
263  src = cms.InputTag("ak5PFJetsCHS"),
264  jetCorrector = cms.string("ak5PFL2L3"),
265  #select = cms.string("pt>30 & abs(eta)<2.5 & emEnergyFraction>0.01"),
266  select = cms.string("pt>30 & abs(eta)<2.5 "),
267  #jetID = cms.PSet(
268  #label = cms.InputTag("ak5JetID"),
269  #select = cms.string("fHPD < 0.98 & n90Hits>1 & restrictedEMF<1")
270  # ),
271  min = cms.int32(1),
272  ),
273  cms.PSet(
274  label = cms.string("jets/pf:step2"),
275  src = cms.InputTag("ak5PFJetsCHS"),
276  jetCorrector = cms.string("ak5PFL2L3"),
277  #select = cms.string("pt>30 & abs(eta)<2.5 & emEnergyFraction>0.01"),
278  select = cms.string("pt>30 & abs(eta)<2.5 "),
279  #jetID = cms.PSet(
280  #label = cms.InputTag("ak5JetID"),
281  #select = cms.string("fHPD < 0.98 & n90Hits>1 & restrictedEMF<1")
282  # ),
283  min = cms.int32(2),
284  ),
285  cms.PSet(
286  label = cms.string("jets/pf:step3"),
287  src = cms.InputTag("ak5PFJetsCHS"),
288  jetCorrector = cms.string("ak5PFL2L3"),
289  #select = cms.string("pt>30 & abs(eta)<2.5 & emEnergyFraction>0.01"),
290  select = cms.string("pt>30 & abs(eta)<2.5 "),
291  #jetID = cms.PSet(
292  #label = cms.InputTag("ak5JetID"),
293  #select = cms.string("fHPD < 0.98 & n90Hits>1 & restrictedEMF<1")
294  # ),
295  min = cms.int32(3),
296  ),
297  cms.PSet(
298  label = cms.string("jets/pf:step4"),
299  src = cms.InputTag("ak5PFJetsCHS"),
300  jetCorrector = cms.string("ak5PFL2L3"),
301  #select = cms.string("pt>30 & abs(eta)<2.5 & emEnergyFraction>0.01"),
302  select = cms.string("pt>30 & abs(eta)<2.5 "),
303  #jetID = cms.PSet(
304  #label = cms.InputTag("ak5JetID"),
305  #select = cms.string("fHPD < 0.98 & n90Hits>1 & restrictedEMF<1")
306 # ),
307  min = cms.int32(4),
308  ),
309  )
310 )
311 topSingleMuonMediumDQM = cms.EDAnalyzer("TopSingleLeptonDQM",
312  ## ------------------------------------------------------
313  ## SETUP
314  ##
315  ## configuration of the MonitoringEnsemble(s)
316  ## [mandatory] : optional PSets may be omitted
317  ##
318  setup = cms.PSet(
319  ## sub-directory to write the monitor histograms to
320  ## [mandatory] : should not be changed w/o explicit
321  ## communication to TopCom!
322  directory = cms.string("Physics/Top/TopSingleMuonMediumDQM/"),
323  ## [mandatory]
324  sources = cms.PSet(
325  muons = cms.InputTag("muons"),
326  elecs = cms.InputTag("gedGsfElectrons"),
327  jets = cms.InputTag("ak5PFJetsCHS"),
328  mets = cms.VInputTag("met", "tcMet", "pfMet"),
329  pvs = cms.InputTag("offlinePrimaryVertices")
330 
331  ),
332  ## [optional] : when omitted the verbosity level is set to STANDARD
333  monitoring = cms.PSet(
334  verbosity = cms.string("DEBUG")
335  ),
336  ## [optional] : when omitted all monitoring plots for primary vertices
337  ## will be filled w/o extras
338  pvExtras = cms.PSet(
339  ## when omitted electron plots will be filled w/o additional pre-
340  ## selection of the primary vertex candidates
341  select = cms.string("abs(x)<1. & abs(y)<1. & abs(z)<20. & tracksSize>3 & !isFake")
342  ),
343  ## [optional] : when omitted all monitoring plots for muons
344  ## will be filled w/o extras
345  muonExtras = cms.PSet(
346  ## when omitted muon plots will be filled w/o additional pre-
347  ## selection of the muon candidates
348  select = cms.string("pt>20 & abs(eta)<2.1 & isGlobalMuon & innerTrack.numberOfValidHits>10 & globalTrack.normalizedChi2>-1 & globalTrack.normalizedChi2<10 & (isolationR03.sumPt+isolationR03.emEt+isolationR03.hadEt)/pt<0.1"),
349  ## when omitted isolated muon multiplicity plot will be equi-
350  ## valent to inclusive muon multiplicity plot
351  isolation = cms.string("(isolationR03.sumPt+isolationR03.emEt+isolationR03.hadEt)/pt<0.1")
352  ),
353  ## [optional] : when omitted all monitoring plots for jets
354  ## will be filled w/o extras
355  jetExtras = cms.PSet(
356  ## when omitted monitor plots for pt will be filled from uncorrected
357  ## jets
358  jetCorrector = cms.string("ak5PFL2L3"),
359  ## when omitted monitor plots will be filled w/o additional cut on
360  ## jetID
361  #jetID = cms.PSet(
362  #label = cms.InputTag("ak5JetID"),
363  #select = cms.string("fHPD < 0.98 & n90Hits>1 & restrictedEMF<1")
364  # ),
365  ## when omitted no extra selection will be applied on jets before
366  ## filling the monitor histograms; if jetCorrector is present the
367  ## selection will be applied to corrected jets
368  #select = cms.string("pt>30 & abs(eta)<2.5& emEnergyFraction>0.01"),
369  select = cms.string("pt>30 & abs(eta)<2.5 "),
370  ## when omitted monitor histograms for b-tagging will not be filled
371  jetBTaggers = cms.PSet(
372  trackCountingEff = cms.PSet(
373  label = cms.InputTag("trackCountingHighEffBJetTags" ),
374  workingPoint = cms.double(1.25)
375  ),
376  trackCountingPur = cms.PSet(
377  label = cms.InputTag("trackCountingHighPurBJetTags" ),
378  workingPoint = cms.double(3.00)
379  ),
380  secondaryVertex = cms.PSet(
381  label = cms.InputTag("simpleSecondaryVertexHighEffBJetTags"),
382  workingPoint = cms.double(2.05)
383  ),
384  cvsVertex = cms.PSet(
385  label = cms.InputTag("combinedSecondaryVertexBJetTags"),
386  workingPoint = cms.double(0.898)
387  # CSV Tight from https://twiki.cern.ch/twiki/bin/viewauth/CMS/BTagPerformanceOP#B_tagging_Operating_Points_for_5
388  )
389  ),
390  ),
391  ## [optional] : when omitted no mass window will be applied
392  ## for the W mass before filling the event monitoring plots
393  massExtras = cms.PSet(
394  lowerEdge = cms.double( 70.),
395  upperEdge = cms.double(110.)
396  ),
397  ## [optional] : when omitted the monitoring plots for triggering
398  ## will be empty
399  triggerExtras = cms.PSet(
400  src = cms.InputTag("TriggerResults","","HLT"),
401  paths = cms.vstring(['HLT_Mu3:HLT_QuadJet15U',
402  'HLT_Mu5:HLT_QuadJet15U',
403  'HLT_Mu7:HLT_QuadJet15U',
404  'HLT_Mu9:HLT_QuadJet15U',
405  'HLT_Mu11:HLT_QuadJet15U'])
406  )
407  ),
408  ## ------------------------------------------------------
409  ## PRESELECTION
410  ##
411  ## setup of the event preselection, which will not
412  ## be monitored
413  ## [mandatory] : but may be empty
414  ##
415  preselection = cms.PSet(
416  ## [optional] : when omitted no preselection is applied
417  #trigger = cms.PSet(
418  # src = cms.InputTag("TriggerResults","","HLT"),
419  # select = cms.vstring(['HLT_Mu15_v2'])
420  #),
421  ## [optional] : when omitted no preselection is applied
422  vertex = cms.PSet(
423  src = cms.InputTag("offlinePrimaryVertices"),
424  select = cms.string('abs(x)<1. & abs(y)<1. & abs(z)<20. & tracksSize>3 & !isFake')
425  )
426  ),
427  ## ------------------------------------------------------
428  ## SELECTION
429  ##
430  ## monitor histrograms are filled after each selection
431  ## step, the selection is applied in the order defined
432  ## by this vector
433  ## [mandatory] : may be empty or contain an arbitrary
434  ## number of PSets
435  selection = cms.VPSet(
436  cms.PSet(
437  label = cms.string("muons:step0"),
438  src = cms.InputTag("muons"),
439  select = cms.string("pt>20 & abs(eta)<2.1 & isGlobalMuon & innerTrack.numberOfValidHits>10 & globalTrack.normalizedChi2>-1 & globalTrack.normalizedChi2<10 & (isolationR03.sumPt+isolationR03.emEt+isolationR03.hadEt)/pt<0.1"),
440  min = cms.int32(1),
441  max = cms.int32(1),
442  ),
443  cms.PSet(
444  label = cms.string("jets/pf:step1"),
445  src = cms.InputTag("ak5PFJetsCHS"),
446  jetCorrector = cms.string("ak5PFL2L3"),
447  #select = cms.string("pt>30 & abs(eta)<2.5 & emEnergyFraction>0.01"),
448  select = cms.string("pt>30 & abs(eta)<2.5 "),
449  #jetID = cms.PSet(
450  #label = cms.InputTag("ak5JetID"),
451  #select = cms.string("fHPD < 0.98 & n90Hits>1 & restrictedEMF<1")
452  # ),
453  min = cms.int32(1),
454  ),
455  cms.PSet(
456  label = cms.string("jets/pf:step2"),
457  src = cms.InputTag("ak5PFJetsCHS"),
458  jetCorrector = cms.string("ak5PFL2L3"),
459  #select = cms.string("pt>30 & abs(eta)<2.5 & emEnergyFraction>0.01"),
460  select = cms.string("pt>30 & abs(eta)<2.5 "),
461  #jetID = cms.PSet(
462  #label = cms.InputTag("ak5JetID"),
463  #select = cms.string("fHPD < 0.98 & n90Hits>1 & restrictedEMF<1")
464  # ),
465  min = cms.int32(2),
466  ),
467  cms.PSet(
468  label = cms.string("jets/pf:step3"),
469  src = cms.InputTag("ak5PFJetsCHS"),
470  jetCorrector = cms.string("ak5PFL2L3"),
471  #select = cms.string("pt>30 & abs(eta)<2.5 & emEnergyFraction>0.01"),
472  select = cms.string("pt>30 & abs(eta)<2.5 "),
473  #jetID = cms.PSet(
474  #label = cms.InputTag("ak5JetID"),
475  #select = cms.string("fHPD < 0.98 & n90Hits>1 & restrictedEMF<1")
476  # ),
477  min = cms.int32(3),
478  ),
479  cms.PSet(
480  label = cms.string("jets/pf:step4"),
481  src = cms.InputTag("ak5PFJetsCHS"),
482  jetCorrector = cms.string("ak5PFL2L3"),
483  #select = cms.string("pt>30 & abs(eta)<2.5 & emEnergyFraction>0.01"),
484  select = cms.string("pt>30 & abs(eta)<2.5 "),
485  #jetID = cms.PSet(
486  #label = cms.InputTag("ak5JetID"),
487  #select = cms.string("fHPD < 0.98 & n90Hits>1 & restrictedEMF<1")
488 # ),
489  min = cms.int32(4),
490  ),
491  )
492 )
493 
494 topSingleElectronLooseDQM = cms.EDAnalyzer("TopSingleLeptonDQM",
495  ## ------------------------------------------------------
496  ## SETUP
497  ##
498  ## configuration of the MonitoringEnsemble(s)
499  ## [mandatory] : optional PSets may be omitted
500  ##
501  setup = cms.PSet(
502  ## sub-directory to write the monitor histograms to
503  ## [mandatory] : should not be changed w/o explicit
504  ## communication to TopCom!
505  directory = cms.string("Physics/Top/TopSingleElectronLooseDQM/"),
506  ## [mandatory]
507  sources = cms.PSet(
508  muons = cms.InputTag("muons"),
509  elecs = cms.InputTag("gedGsfElectrons"),
510  jets = cms.InputTag("ak5PFJetsCHS"),
511  mets = cms.VInputTag("met", "tcMet", "pfMet"),
512  pvs = cms.InputTag("offlinePrimaryVertices")
513 
514  ),
515  ## [optional] : when omitted the verbosity level is set to STANDARD
516  monitoring = cms.PSet(
517  verbosity = cms.string("DEBUG")
518  ),
519  ## [optional] : when omitted all monitoring plots for primary vertices
520  ## will be filled w/o extras
521  pvExtras = cms.PSet(
522  ## when omitted electron plots will be filled w/o additional pre-
523  ## selection of the primary vertex candidates
524  select = cms.string("abs(x)<1. & abs(y)<1. & abs(z)<20. & tracksSize>3 & !isFake")
525  ),
526  ## [optional] : when omitted all monitoring plots for electrons
527  ## will be filled w/o extras
528  elecExtras = cms.PSet(
529  ## when omitted electron plots will be filled w/o cut on electronId
530  #electronId = cms.PSet( src = cms.InputTag("simpleEleId70cIso"), pattern = cms.int32(1) ),
531  ## when omitted electron plots will be filled w/o additional pre-
532  ## selection of the electron candidates
533  select = cms.string("pt>15 & abs(eta)<2.5"),
534  ## when omitted isolated electron multiplicity plot will be equi-
535  ## valent to inclusive electron multiplicity plot
536  isolation = cms.string("(dr03TkSumPt+dr03EcalRecHitSumEt+dr03HcalTowerSumEt)/pt<0.1"),
537  ),
538  ## [optional] : when omitted all monitoring plots for jets
539  ## will be filled w/o extras
540  jetExtras = cms.PSet(
541  ## when omitted monitor plots for pt will be filled from uncorrected
542  ## jets
543  jetCorrector = cms.string("ak5PFL2L3"),
544  ## when omitted monitor plots will be filled w/o additional cut on
545  ## jetID
546  #jetID = cms.PSet(
547  #label = cms.InputTag("ak5JetID"),
548  #select = cms.string("fHPD < 0.98 & n90Hits>1 & restrictedEMF<1")
549  # ),
550  ## when omitted no extra selection will be applied on jets before
551  ## filling the monitor histograms; if jetCorrector is present the
552  ## selection will be applied to corrected jets
553  #select = cms.string("pt>30 & abs(eta)<2.5 & emEnergyFraction>0.01"),
554  select = cms.string("pt>30 & abs(eta)<2.5 "),
555  ## when omitted monitor histograms for b-tagging will not be filled
556  jetBTaggers = cms.PSet(
557  trackCountingEff = cms.PSet(
558  label = cms.InputTag("trackCountingHighEffBJetTags" ),
559  workingPoint = cms.double(1.25)
560  ),
561  trackCountingPur = cms.PSet(
562  label = cms.InputTag("trackCountingHighPurBJetTags" ),
563  workingPoint = cms.double(3.00)
564  ),
565  secondaryVertex = cms.PSet(
566  label = cms.InputTag("simpleSecondaryVertexHighEffBJetTags"),
567  workingPoint = cms.double(2.05)
568  ),
569  cvsVertex = cms.PSet(
570  label = cms.InputTag("combinedSecondaryVertexBJetTags"),
571  workingPoint = cms.double(0.898)
572  # CSV Tight from https://twiki.cern.ch/twiki/bin/viewauth/CMS/BTagPerformanceOP#B_tagging_Operating_Points_for_5
573  )
574  ),
575  ),
576  ## [optional] : when omitted no mass window will be applied
577  ## for the W mass before filling the event monitoring plots
578  massExtras = cms.PSet(
579  lowerEdge = cms.double( 70.),
580  upperEdge = cms.double(110.)
581  ),
582  ## [optional] : when omitted the monitoring plots for triggering
583  ## will be empty
584  triggerExtras = cms.PSet(
585  src = cms.InputTag("TriggerResults","","HLT"),
586  paths = cms.vstring(['HLT_Ele15_LW_L1R:HLT_QuadJetU15'])
587  )
588  ),
589  ## ------------------------------------------------------
590  ## PRESELECTION
591  ##
592  ## setup of the event preselection, which will not
593  ## be monitored
594  ## [mandatory] : but may be empty
595  ##
596  preselection = cms.PSet(
597  ## [optional] : when omitted no preselection is applied
598  #trigger = cms.PSet(
599  # src = cms.InputTag("TriggerResults","","HLT"),
600  # select = cms.vstring(['HLT_Ele15_SW_CaloEleId_L1R'])
601  #),
602  ## [optional] : when omitted no preselection is applied
603  vertex = cms.PSet(
604  src = cms.InputTag("offlinePrimaryVertices"),
605  select = cms.string('abs(x)<1. & abs(y)<1. & abs(z)<20. & tracksSize>3 & !isFake')
606  )
607  ),
608  ## ------------------------------------------------------
609  ## SELECTION
610  ##
611  ## monitor histrograms are filled after each selection
612  ## step, the selection is applied in the order defined
613  ## by this vector
614  ## [mandatory] : may be empty or contain an arbitrary
615  ## number of PSets
616  selection = cms.VPSet(
617  cms.PSet(
618  label = cms.string("elecs:step0"),
619  src = cms.InputTag("gedGsfElectrons"),
620  #electronId = cms.PSet( src = cms.InputTag("simpleEleId70cIso"), pattern = cms.int32(1) ),
621  select = cms.string("pt>15 & abs(eta)<2.5"),
622  min = cms.int32(1),
623  ),
624  cms.PSet(
625  label = cms.string("jets/pf:step1"),
626  src = cms.InputTag("ak5PFJetsCHS"),
627  jetCorrector = cms.string("ak5PFL2L3"),
628  #select = cms.string("pt>30 & abs(eta)<2.5 & emEnergyFraction>0.01"),
629  select = cms.string("pt>30 & abs(eta)<2.5 "),
630  #jetID = cms.PSet(
631  #label = cms.InputTag("ak5JetID"),
632  #select = cms.string("fHPD < 0.98 & n90Hits>1 & restrictedEMF<1")
633  # ),
634  min = cms.int32(1),
635  ),
636  cms.PSet(
637  label = cms.string("jets/pf:step2"),
638  src = cms.InputTag("ak5PFJetsCHS"),
639  jetCorrector = cms.string("ak5PFL2L3"),
640  #select = cms.string("pt>30 & abs(eta)<2.5 & emEnergyFraction>0.01"),
641  select = cms.string("pt>30 & abs(eta)<2.5 "),
642  #jetID = cms.PSet(
643  #label = cms.InputTag("ak5JetID"),
644  #select = cms.string("fHPD < 0.98 & n90Hits>1 & restrictedEMF<1")
645 # ),
646  min = cms.int32(2),
647  ),
648  cms.PSet(
649  label = cms.string("jets/pf:step3"),
650  src = cms.InputTag("ak5PFJetsCHS"),
651  jetCorrector = cms.string("ak5PFL2L3"),
652  #select = cms.string("pt>30 & abs(eta)<2.5 & emEnergyFraction>0.01"),
653  select = cms.string("pt>30 & abs(eta)<2.5 "),
654  #jetID = cms.PSet(
655  #label = cms.InputTag("ak5JetID"),
656  #select = cms.string("fHPD < 0.98 & n90Hits>1 & restrictedEMF<1")
657  # ),
658  min = cms.int32(3),
659  ),
660  cms.PSet(
661  label = cms.string("jets/pf:step4"),
662  src = cms.InputTag("ak5PFJetsCHS"),
663  jetCorrector = cms.string("ak5PFL2L3"),
664  #select = cms.string("pt>30 & abs(eta)<2.5 & emEnergyFraction>0.01"),
665  select = cms.string("pt>30 & abs(eta)<2.5 "),
666  #jetID = cms.PSet(
667  #label = cms.InputTag("ak5JetID"),
668  #select = cms.string("fHPD < 0.98 & n90Hits>1 & restrictedEMF<1")
669  # ),
670  min = cms.int32(4),
671  ),
672  )
673 )
674 
675 topSingleElectronMediumDQM = cms.EDAnalyzer("TopSingleLeptonDQM",
676  ## ------------------------------------------------------
677  ## SETUP
678  ##
679  ## configuration of the MonitoringEnsemble(s)
680  ## [mandatory] : optional PSets may be omitted
681  ##
682  setup = cms.PSet(
683  ## sub-directory to write the monitor histograms to
684  ## [mandatory] : should not be changed w/o explicit
685  ## communication to TopCom!
686  directory = cms.string("Physics/Top/TopSingleElectronMediumDQM/"),
687  ## [mandatory]
688  sources = cms.PSet(
689  muons = cms.InputTag("muons"),
690  elecs = cms.InputTag("gedGsfElectrons"),
691  jets = cms.InputTag("ak5PFJetsCHS"),
692  mets = cms.VInputTag("met", "tcMet", "pfMet"),
693  pvs = cms.InputTag("offlinePrimaryVertices")
694 
695  ),
696  ## [optional] : when omitted the verbosity level is set to STANDARD
697  monitoring = cms.PSet(
698  verbosity = cms.string("DEBUG")
699  ),
700  ## [optional] : when omitted all monitoring plots for primary vertices
701  ## will be filled w/o extras
702  pvExtras = cms.PSet(
703  ## when omitted electron plots will be filled w/o additional pre-
704  ## selection of the primary vertex candidates
705  select = cms.string("abs(x)<1. & abs(y)<1. & abs(z)<20. & tracksSize>3 & !isFake")
706  ),
707  ## [optional] : when omitted all monitoring plots for electrons
708  ## will be filled w/o extras
709  elecExtras = cms.PSet(
710  ## when omitted electron plots will be filled w/o cut on electronId
711  #electronId = cms.PSet( src = cms.InputTag("simpleEleId70cIso"), pattern = cms.int32(1) ),
712  ## when omitted electron plots will be filled w/o additional pre-
713  ## selection of the electron candidates
714  select = cms.string("pt>25 & abs(eta)<2.5 & (dr03TkSumPt+dr03EcalRecHitSumEt+dr03HcalTowerSumEt)/pt<0.1"),
715  ## when omitted isolated electron multiplicity plot will be equi-
716  ## valent to inclusive electron multiplicity plot
717  isolation = cms.string("(dr03TkSumPt+dr03EcalRecHitSumEt+dr03HcalTowerSumEt)/pt<0.1"),
718  ),
719  ## [optional] : when omitted all monitoring plots for jets
720  ## will be filled w/o extras
721  jetExtras = cms.PSet(
722  ## when omitted monitor plots for pt will be filled from uncorrected
723  ## jets
724  jetCorrector = cms.string("ak5PFL2L3"),
725  ## when omitted monitor plots will be filled w/o additional cut on
726  ## jetID
727  #jetID = cms.PSet(
728  #label = cms.InputTag("ak5JetID"),
729  #select = cms.string("fHPD < 0.98 & n90Hits>1 & restrictedEMF<1")
730  # ),
731  ## when omitted no extra selection will be applied on jets before
732  ## filling the monitor histograms; if jetCorrector is present the
733  ## selection will be applied to corrected jets
734  #select = cms.string("pt>30 & abs(eta)<2.5 & emEnergyFraction>0.01"),
735  select = cms.string("pt>30 & abs(eta)<2.5 "),
736  ## when omitted monitor histograms for b-tagging will not be filled
737  jetBTaggers = cms.PSet(
738  trackCountingEff = cms.PSet(
739  label = cms.InputTag("trackCountingHighEffBJetTags" ),
740  workingPoint = cms.double(1.25)
741  ),
742  trackCountingPur = cms.PSet(
743  label = cms.InputTag("trackCountingHighPurBJetTags" ),
744  workingPoint = cms.double(3.00)
745  ),
746  secondaryVertex = cms.PSet(
747  label = cms.InputTag("simpleSecondaryVertexHighEffBJetTags"),
748  workingPoint = cms.double(2.05)
749  ),
750  cvsVertex = cms.PSet(
751  label = cms.InputTag("combinedSecondaryVertexBJetTags"),
752  workingPoint = cms.double(0.898)
753  # CSV Tight from https://twiki.cern.ch/twiki/bin/viewauth/CMS/BTagPerformanceOP#B_tagging_Operating_Points_for_5
754  )
755  ),
756  ),
757  ## [optional] : when omitted no mass window will be applied
758  ## for the W mass before filling the event monitoring plots
759  massExtras = cms.PSet(
760  lowerEdge = cms.double( 70.),
761  upperEdge = cms.double(110.)
762  ),
763  ## [optional] : when omitted the monitoring plots for triggering
764  ## will be empty
765  triggerExtras = cms.PSet(
766  src = cms.InputTag("TriggerResults","","HLT"),
767  paths = cms.vstring([ 'HLT_Ele15_LW_L1R:HLT_QuadJetU15'])
768  )
769  ),
770  ## ------------------------------------------------------
771  ## PRESELECTION
772  ##
773  ## setup of the event preselection, which will not
774  ## be monitored
775  ## [mandatory] : but may be empty
776  ##
777  preselection = cms.PSet(
778  ## [optional] : when omitted no preselection is applied
779  #trigger = cms.PSet(
780  # src = cms.InputTag("TriggerResults","","HLT"),
781  # select = cms.vstring(['HLT_Ele15_SW_CaloEleId_L1R'])
782  #),
783  ## [optional] : when omitted no preselection is applied
784  vertex = cms.PSet(
785  src = cms.InputTag("offlinePrimaryVertices"),
786  select = cms.string('abs(x)<1. & abs(y)<1. & abs(z)<20. & tracksSize>3 & !isFake')
787  )
788  ),
789  ## ------------------------------------------------------
790  ## SELECTION
791  ##
792  ## monitor histrograms are filled after each selection
793  ## step, the selection is applied in the order defined
794  ## by this vector
795  ## [mandatory] : may be empty or contain an arbitrary
796  ## number of PSets
797  selection = cms.VPSet(
798  cms.PSet(
799  label = cms.string("elecs:step0"),
800  src = cms.InputTag("gedGsfElectrons"),
801  #electronId = cms.PSet( src = cms.InputTag("simpleEleId70cIso"), pattern = cms.int32(1) ),
802  select = cms.string("pt>25 & abs(eta)<2.5 & (dr03TkSumPt+dr03EcalRecHitSumEt+dr03HcalTowerSumEt)/pt<0.1"),
803  min = cms.int32(1),
804  max = cms.int32(1),
805  ),
806  cms.PSet(
807  label = cms.string("jets/pf:step1"),
808  src = cms.InputTag("ak5PFJetsCHS"),
809  jetCorrector = cms.string("ak5PFL2L3"),
810 # select = cms.string("pt>30 & abs(eta)<2.5 & emEnergyFraction>0.01"),
811  select = cms.string("pt>30 & abs(eta)<2.5 "),
812  #jetID = cms.PSet(
813  #label = cms.InputTag("ak5JetID"),
814  #select = cms.string("fHPD < 0.98 & n90Hits>1 & restrictedEMF<1")
815 # ),
816  min = cms.int32(1),
817  ),
818  cms.PSet(
819  label = cms.string("jets/pf:step2"),
820  src = cms.InputTag("ak5PFJetsCHS"),
821  jetCorrector = cms.string("ak5PFL2L3"),
822  #select = cms.string("pt>30 & abs(eta)<2.5 & emEnergyFraction>0.01"),
823  select = cms.string("pt>30 & abs(eta)<2.5 "),
824  #jetID = cms.PSet(
825  #label = cms.InputTag("ak5JetID"),
826  #select = cms.string("fHPD < 0.98 & n90Hits>1 & restrictedEMF<1")
827  # ),
828  min = cms.int32(2),
829  ),
830  cms.PSet(
831  label = cms.string("jets/pf:step3"),
832  src = cms.InputTag("ak5PFJetsCHS"),
833  jetCorrector = cms.string("ak5PFL2L3"),
834 # select = cms.string("pt>30 & abs(eta)<2.5 & emEnergyFraction>0.01"),
835  select = cms.string("pt>30 & abs(eta)<2.5 "),
836  #jetID = cms.PSet(
837  #label = cms.InputTag("ak5JetID"),
838  #select = cms.string("fHPD < 0.98 & n90Hits>1 & restrictedEMF<1")
839  # ),
840  min = cms.int32(3),
841  ),
842  cms.PSet(
843  label = cms.string("jets/pf:step4"),
844  src = cms.InputTag("ak5PFJetsCHS"),
845  jetCorrector = cms.string("ak5PFL2L3"),
846  #select = cms.string("pt>30 & abs(eta)<2.5 & emEnergyFraction>0.01"),
847  select = cms.string("pt>30 & abs(eta)<2.5 "),
848  #jetID = cms.PSet(
849  #label = cms.InputTag("ak5JetID"),
850  #select = cms.string("fHPD < 0.98 & n90Hits>1 & restrictedEMF<1")
851  # ),
852  min = cms.int32(4),
853  ),
854  )
855 )