CMS 3D CMS Logo

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