CMS 3D CMS Logo

topSingleLeptonDQM_PU_cfi.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
3 topSingleLeptonDQM = cms.EDAnalyzer("TopSingleLeptonDQM",
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("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 
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 
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 
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("pfTrackCountingHighEffBJetTags" ),
191  workingPoint = cms.double(1.25)
192  ),
193  trackCountingPur = cms.PSet(
194  label = cms.InputTag("pfTrackCountingHighPurBJetTags" ),
195  workingPoint = cms.double(3.00)
196  ),
197  secondaryVertex = cms.PSet(
198  label = cms.InputTag("pfSimpleSecondaryVertexHighEffBJetTags"),
199  workingPoint = cms.double(2.05)
200  ),
201  cvsVertex = cms.PSet(
202  label = cms.InputTag("pfCombinedInclusiveSecondaryVertexV2BJetTags"),
203  workingPoint = cms.double(0.970)
204  # CSV Tight from https://twiki.cern.ch/twiki/bin/viewauth/CMS/BtagRecommendation74X
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 
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 
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 
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  cvsVertex = cms.PSet(
354  label = cms.InputTag("pfCombinedInclusiveSecondaryVertexV2BJetTags"),
355  workingPoint = cms.double(0.970)
356  # CSV Tight from https://twiki.cern.ch/twiki/bin/viewauth/CMS/BtagRecommendation74X
357  )
358  ),
359  ),
360  ## [optional] : when omitted no mass window will be applied
361  ## for the W mass before filling the event monitoring plots
362  massExtras = cms.PSet(
363  lowerEdge = cms.double( 70.),
364  upperEdge = cms.double(110.)
365  ),
366  ## [optional] : when omitted the monitoring plots for triggering
367  ## will be empty
368  #triggerExtras = cms.PSet(
369  # src = cms.InputTag("TriggerResults","","HLT"),
370  # paths = cms.vstring(['HLT_Mu3:HLT_QuadJet15U',
371  # 'HLT_Mu5:HLT_QuadJet15U',
372  # 'HLT_Mu7:HLT_QuadJet15U',
373  # 'HLT_Mu9:HLT_QuadJet15U',
374  # 'HLT_Mu11:HLT_QuadJet15U'])
375  #)
376  ),
377  ## ------------------------------------------------------
378  ## PRESELECTION
379 
384  preselection = cms.PSet(
385  ## [optional] : when omitted no preselection is applied
386  #trigger = cms.PSet(
387  # src = cms.InputTag("TriggerResults","","HLT"),
388  # select = cms.vstring(['HLT_Mu15_v2'])
389  #),
390  ## [optional] : when omitted no preselection is applied
391  vertex = cms.PSet(
392  src = cms.InputTag("offlinePrimaryVertices"),
393  select = cms.string('abs(x)<1. & abs(y)<1. & abs(z)<20. & tracksSize>3 & !isFake')
394  )
395  ),
396  ## ------------------------------------------------------
397  ## SELECTION
398 
404  selection = cms.VPSet(
405  cms.PSet(
406  label = cms.string("muons:step0"),
407  src = cms.InputTag("muons"),
408  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"),
409  min = cms.int32(1),
410  max = cms.int32(1),
411  ),
412  cms.PSet(
413  label = cms.string("pvs:step1"),
414  src = cms.InputTag("offlinePrimaryVertices"),
415  select = cms.string("abs(x)<1. & abs(y)<1. & abs(z)<20. & tracksSize>3 & !isFake"),
416  max = cms.int32(10),
417  ),
418  cms.PSet(
419  label = cms.string("pvs:step2"),
420  src = cms.InputTag("offlinePrimaryVertices"),
421  select = cms.string("abs(x)<1. & abs(y)<1. & abs(z)<20. & tracksSize>3 & !isFake"),
422  max = cms.int32(8),
423  ),
424  cms.PSet(
425  label = cms.string("pvs:step3"),
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(6),
429  ),
430  cms.PSet(
431  label = cms.string("pvs:step4"),
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(4),
435  ),
436  cms.PSet(
437  label = cms.string("pvs:step5"),
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(2),
441  ),
442  )
443 )
444 
445 topSingleElectronLooseDQM_PU = cms.EDAnalyzer("TopSingleLeptonDQM",
446  ## ------------------------------------------------------
447  ## SETUP
448 
452  setup = cms.PSet(
453  ## sub-directory to write the monitor histograms to
454  ## [mandatory] : should not be changed w/o explicit
455  ## communication to TopCom!
456  directory = cms.string("Physics/Top/TopSingleElectronLooseDQM_PU/"),
457  ## [mandatory]
458  sources = cms.PSet(
459  muons = cms.InputTag("muons"),
460  elecs = cms.InputTag("gedGsfElectrons"),
461  jets = cms.InputTag("ak5PFJetsCHS"),
462  mets = cms.VInputTag("met", "tcMet", "pfMet"),
463  pvs = cms.InputTag("offlinePrimaryVertices")
464 
465  ),
466  ## [optional] : when omitted the verbosity level is set to STANDARD
467  monitoring = cms.PSet(
468  verbosity = cms.string("DEBUG")
469  ),
470  ## [optional] : when omitted all monitoring plots for primary vertices
471  ## will be filled w/o extras
472  pvExtras = cms.PSet(
473  ## when omitted electron plots will be filled w/o additional pre-
474  ## selection of the primary vertex candidates
475  select = cms.string("abs(x)<1. & abs(y)<1. & abs(z)<20. & tracksSize>3 & !isFake")
476  ),
477  ## [optional] : when omitted all monitoring plots for electrons
478  ## will be filled w/o extras
479  elecExtras = cms.PSet(
480  ## when omitted electron plots will be filled w/o cut on electronId
481  electronId = cms.PSet( src = cms.InputTag("simpleEleId70cIso"), pattern = cms.int32(1) ),
482  ## when omitted electron plots will be filled w/o additional pre-
483  ## selection of the electron candidates
484  select = cms.string("pt>15 & abs(eta)<2.5"),
485  ## when omitted isolated electron multiplicity plot will be equi-
486  ## valent to inclusive electron multiplicity plot
487  isolation = cms.string("(dr03TkSumPt+dr03EcalRecHitSumEt+dr03HcalTowerSumEt)/pt<0.1"),
488  ),
489  ## [optional] : when omitted all monitoring plots for jets
490  ## will be filled w/o extras
491  jetExtras = cms.PSet(
492  ## when omitted monitor plots for pt will be filled from uncorrected
493  ## jets
494  jetCorrector = cms.string("ak5PFL2L3"),
495  ## when omitted monitor plots will be filled w/o additional cut on
496  ## jetID
497 # jetID = cms.PSet(
498 # label = cms.InputTag("ak5JetID"),
499 # select = cms.string("fHPD < 0.98 & n90Hits>1 & restrictedEMF<1")
500 # ),
501  ## when omitted no extra selection will be applied on jets before
502  ## filling the monitor histograms; if jetCorrector is present the
503  ## selection will be applied to corrected jets
504  select = cms.string("pt>30 & abs(eta)<2.5"),
505  ## when omitted monitor histograms for b-tagging will not be filled
506  jetBTaggers = cms.PSet(
507  trackCountingEff = cms.PSet(
508  label = cms.InputTag("pfTrackCountingHighEffBJetTags" ),
509  workingPoint = cms.double(1.25)
510  ),
511  trackCountingPur = cms.PSet(
512  label = cms.InputTag("pfTrackCountingHighPurBJetTags" ),
513  workingPoint = cms.double(3.00)
514  ),
515  secondaryVertex = cms.PSet(
516  label = cms.InputTag("pfSimpleSecondaryVertexHighEffBJetTags"),
517  workingPoint = cms.double(2.05)
518  ),
519  cvsVertex = cms.PSet(
520  label = cms.InputTag("pfCombinedInclusiveSecondaryVertexV2BJetTags"),
521  workingPoint = cms.double(0.970)
522  # CSV Tight from https://twiki.cern.ch/twiki/bin/viewauth/CMS/BtagRecommendation74X
523  )
524  ),
525  ),
526  ## [optional] : when omitted no mass window will be applied
527  ## for the W mass before filling the event monitoring plots
528  massExtras = cms.PSet(
529  lowerEdge = cms.double( 70.),
530  upperEdge = cms.double(110.)
531  ),
532  ## [optional] : when omitted the monitoring plots for triggering
533  ## will be empty
534  #triggerExtras = cms.PSet(
535  # src = cms.InputTag("TriggerResults","","HLT"),
536  # paths = cms.vstring(['HLT_Ele15_LW_L1R:HLT_QuadJetU15'])
537  #)
538  ),
539  ## ------------------------------------------------------
540  ## PRESELECTION
541 
546  preselection = cms.PSet(
547  ## [optional] : when omitted no preselection is applied
548  #trigger = cms.PSet(
549  # src = cms.InputTag("TriggerResults","","HLT"),
550  # select = cms.vstring(['HLT_Ele15_SW_CaloEleId_L1R'])
551  #),
552  ## [optional] : when omitted no preselection is applied
553  vertex = cms.PSet(
554  src = cms.InputTag("offlinePrimaryVertices"),
555  select = cms.string('abs(x)<1. & abs(y)<1. & abs(z)<20. & tracksSize>3 & !isFake')
556  )
557  ),
558  ## ------------------------------------------------------
559  ## SELECTION
560 
566  selection = cms.VPSet(
567  cms.PSet(
568  label = cms.string("elecs:step0"),
569  src = cms.InputTag("gedGsfElectrons"),
570  electronId = cms.PSet( src = cms.InputTag("simpleEleId70cIso"), pattern = cms.int32(1) ),
571  select = cms.string("pt>30 & abs(eta)<2.5"),
572  min = cms.int32(1),
573  ),
574  cms.PSet(
575  label = cms.string("pvs:step1"),
576  src = cms.InputTag("offlinePrimaryVertices"),
577  select = cms.string("abs(x)<1. & abs(y)<1. & abs(z)<20. & tracksSize>3 & !isFake"),
578  max = cms.int32(10),
579  ),
580  cms.PSet(
581  label = cms.string("pvs:step2"),
582  src = cms.InputTag("offlinePrimaryVertices"),
583  select = cms.string("abs(x)<1. & abs(y)<1. & abs(z)<20. & tracksSize>3 & !isFake"),
584  max = cms.int32(8),
585  ),
586  cms.PSet(
587  label = cms.string("pvs:step3"),
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(6),
591  ),
592  cms.PSet(
593  label = cms.string("pvs:step4"),
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(4),
597  ),
598  cms.PSet(
599  label = cms.string("pvs:step5"),
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(2),
603  ),
604  )
605 )
606 
607 topSingleElectronMediumDQM_PU = cms.EDAnalyzer("TopSingleLeptonDQM",
608  ## ------------------------------------------------------
609  ## SETUP
610 
614  setup = cms.PSet(
615  ## sub-directory to write the monitor histograms to
616  ## [mandatory] : should not be changed w/o explicit
617  ## communication to TopCom!
618  directory = cms.string("Physics/Top/TopSingleElectronMediumDQM_PU/"),
619  ## [mandatory]
620  sources = cms.PSet(
621  muons = cms.InputTag("muons"),
622  elecs = cms.InputTag("gedGsfElectrons"),
623  jets = cms.InputTag("ak5PFJetsCHS"),
624  mets = cms.VInputTag("met", "tcMet", "pfMet"),
625  pvs = cms.InputTag("offlinePrimaryVertices")
626 
627  ),
628  ## [optional] : when omitted the verbosity level is set to STANDARD
629  monitoring = cms.PSet(
630  verbosity = cms.string("DEBUG")
631  ),
632  ## [optional] : when omitted all monitoring plots for primary vertices
633  ## will be filled w/o extras
634  pvExtras = cms.PSet(
635  ## when omitted electron plots will be filled w/o additional pre-
636  ## selection of the primary vertex candidates
637  select = cms.string("abs(x)<1. & abs(y)<1. & abs(z)<20. & tracksSize>3 & !isFake")
638  ),
639  ## [optional] : when omitted all monitoring plots for electrons
640  ## will be filled w/o extras
641  elecExtras = cms.PSet(
642  ## when omitted electron plots will be filled w/o cut on electronId
643  electronId = cms.PSet( src = cms.InputTag("simpleEleId70cIso"), pattern = cms.int32(1) ),
644  ## when omitted electron plots will be filled w/o additional pre-
645  ## selection of the electron candidates
646  select = cms.string("pt>25 & abs(eta)<2.5 & (dr03TkSumPt+dr03EcalRecHitSumEt+dr03HcalTowerSumEt)/pt<0.1"),
647  ## when omitted isolated electron multiplicity plot will be equi-
648  ## valent to inclusive electron multiplicity plot
649  isolation = cms.string("(dr03TkSumPt+dr03EcalRecHitSumEt+dr03HcalTowerSumEt)/pt<0.1"),
650  ),
651  ## [optional] : when omitted all monitoring plots for jets
652  ## will be filled w/o extras
653  jetExtras = cms.PSet(
654  ## when omitted monitor plots for pt will be filled from uncorrected
655  ## jets
656  jetCorrector = cms.string("ak5PFL2L3"),
657  ## when omitted monitor plots will be filled w/o additional cut on
658  ## jetID
659 # jetID = cms.PSet(
660 # label = cms.InputTag("ak5JetID"),
661 # select = cms.string("fHPD < 0.98 & n90Hits>1 & restrictedEMF<1")
662 # ),
663  ## when omitted no extra selection will be applied on jets before
664  ## filling the monitor histograms; if jetCorrector is present the
665  ## selection will be applied to corrected jets
666  select = cms.string("pt>30 & abs(eta)<2.5"),
667  ## when omitted monitor histograms for b-tagging will not be filled
668  jetBTaggers = cms.PSet(
669  trackCountingEff = cms.PSet(
670  label = cms.InputTag("pfTrackCountingHighEffBJetTags" ),
671  workingPoint = cms.double(1.25)
672  ),
673  trackCountingPur = cms.PSet(
674  label = cms.InputTag("pfTrackCountingHighPurBJetTags" ),
675  workingPoint = cms.double(3.00)
676  ),
677  secondaryVertex = cms.PSet(
678  label = cms.InputTag("pfSimpleSecondaryVertexHighEffBJetTags"),
679  workingPoint = cms.double(2.05)
680  ),
681  cvsVertex = cms.PSet(
682  label = cms.InputTag("pfCombinedInclusiveSecondaryVertexV2BJetTags"),
683  workingPoint = cms.double(0.970)
684  # CSV Tight from https://twiki.cern.ch/twiki/bin/viewauth/CMS/BtagRecommendation74X
685  )
686  ),
687  ),
688  ## [optional] : when omitted no mass window will be applied
689  ## for the W mass before filling the event monitoring plots
690  massExtras = cms.PSet(
691  lowerEdge = cms.double( 70.),
692  upperEdge = cms.double(110.)
693  ),
694  ## [optional] : when omitted the monitoring plots for triggering
695  ## will be empty
696  #triggerExtras = cms.PSet(
697  # src = cms.InputTag("TriggerResults","","HLT"),
698  # paths = cms.vstring([ 'HLT_Ele15_LW_L1R:HLT_QuadJetU15'])
699  #)
700  ),
701  ## ------------------------------------------------------
702  ## PRESELECTION
703 
708  preselection = cms.PSet(
709  ## [optional] : when omitted no preselection is applied
710  #trigger = cms.PSet(
711  # src = cms.InputTag("TriggerResults","","HLT"),
712  # select = cms.vstring(['HLT_Ele15_SW_CaloEleId_L1R'])
713  #),
714  ## [optional] : when omitted no preselection is applied
715  vertex = cms.PSet(
716  src = cms.InputTag("offlinePrimaryVertices"),
717  select = cms.string('abs(x)<1. & abs(y)<1. & abs(z)<20. & tracksSize>3 & !isFake')
718  )
719  ),
720  ## ------------------------------------------------------
721  ## SELECTION
722 
728  selection = cms.VPSet(
729  cms.PSet(
730  label = cms.string("elecs:step0"),
731  src = cms.InputTag("gedGsfElectrons"),
732  electronId = cms.PSet( src = cms.InputTag("simpleEleId70cIso"), pattern = cms.int32(1) ),
733  select = cms.string("pt>25 & abs(eta)<2.5 & (dr03TkSumPt+dr03EcalRecHitSumEt+dr03HcalTowerSumEt)/pt<0.1"),
734  min = cms.int32(1),
735  max = cms.int32(1),
736  ),
737  cms.PSet(
738  label = cms.string("pvs:step1"),
739  src = cms.InputTag("offlinePrimaryVertices"),
740  select = cms.string("abs(x)<1. & abs(y)<1. & abs(z)<20. & tracksSize>3 & !isFake"),
741  max = cms.int32(10),
742  ),
743  cms.PSet(
744  label = cms.string("pvs:step2"),
745  src = cms.InputTag("offlinePrimaryVertices"),
746  select = cms.string("abs(x)<1. & abs(y)<1. & abs(z)<20. & tracksSize>3 & !isFake"),
747  max = cms.int32(8),
748  ),
749  cms.PSet(
750  label = cms.string("pvs:step3"),
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(6),
754  ),
755  cms.PSet(
756  label = cms.string("pvs:step4"),
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(4),
760  ),
761  cms.PSet(
762  label = cms.string("pvs:step5"),
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(2),
766  ),
767  )
768 )
769