CMS 3D CMS Logo

singleTopDQM_cfi.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
3 EletightIsoCut = "(gsfElectronRef.pfIsolationVariables.sumChargedHadronPt + max(0., gsfElectronRef.pfIsolationVariables.sumNeutralHadronEt + gsfElectronRef.pfIsolationVariables.sumPhotonEt - 0.5 * gsfElectronRef.pfIsolationVariables.sumPUPt) ) / gsfElectronRef.pt < 0.1"
4 ElelooseIsoCut = "(gsfElectronRef.pfIsolationVariables.sumChargedHadronPt + max(0., gsfElectronRef.pfIsolationVariables.sumNeutralHadronEt + gsfElectronRef.pfIsolationVariables.sumPhotonEt - 0.5 * gsfElectronRef.pfIsolationVariables.sumPUPt) ) / gsfElectronRef.pt < 0.15"
5 
6 
7 singleTopTChannelLeptonDQM = cms.EDAnalyzer("SingleTopTChannelLeptonDQM",
8  ## ------------------------------------------------------
9  ## SETUP
10 
14  setup = cms.PSet(
15  ## sub-directory to write the monitor histograms to
16  ## [mandatory] : should not be changed w/o explicit
17  ## communication to TopCom!
18  directory = cms.string("Physics/Top/SingleTopDQM/"),
19  ## [mandatory]
20  sources = cms.PSet(
21  muons = cms.InputTag("pfIsolatedMuonsEI"),
22  elecs = cms.InputTag("pfIsolatedElectronsEI"),
23  jets = cms.InputTag("ak4PFJetsCHS"),
24  mets = cms.VInputTag("met", "tcMet", "pfMetEI"),
25  pvs = cms.InputTag("offlinePrimaryVertices")
26  ),
27  ## [optional] : when omitted the verbosity level is set to STANDARD
28  monitoring = cms.PSet(
29  verbosity = cms.string("DEBUG")
30  ),
31  ## [optional] : when omitted all monitoring plots for primary vertices
32  ## will be filled w/o extras
33 # pvExtras = cms.PSet(
34  ## when omitted electron plots will be filled w/o additional pre-
35  ## selection of the primary vertex candidates
36 # select = cms.string("abs(x)<1. & abs(y)<1. & abs(z)<20. & tracksSize>3 & !isFake")
37 # ),
38  ## [optional] : when omitted all monitoring plots for electrons
39  ## will be filled w/o extras
40  elecExtras = cms.PSet(
41  ## when omitted electron plots will be filled w/o cut on electronId
42  ##electronId = cms.PSet( src = cms.InputTag("mvaTrigV0"), cutValue = cms.double(0.5) ),
43  ## when omitted electron plots will be filled w/o additional pre-
44  ## selection of the electron candidates
45  select = cms.string("pt>15 & abs(eta)<2.5 & abs(gsfElectronRef.gsfTrack.d0)<1 & abs(gsfElectronRef.gsfTrack.dz)<20"),
46  ## when omitted isolated electron multiplicity plot will be equi-
47  ## valent to inclusive electron multiplicity plot
48  isolation = cms.string(ElelooseIsoCut),
49  ),
50  ## [optional] : when omitted all monitoring plots for muons
51  ## will be filled w/o extras
52  muonExtras = cms.PSet(
53  ## when omitted muon plots will be filled w/o additional pre-
54  ## selection of the muon candidates
55  select = cms.string("pt>10 & abs(eta)<2.1 & isGlobalMuon & abs(globalTrack.d0)<1 & abs(globalTrack.dz)<20"),
56  ## when omitted isolated muon multiplicity plot will be equi-
57  ## valent to inclusive muon multiplicity plot
58 # isolation = cms.string("(isolationR03.sumPt+isolationR03.emEt+isolationR03.hadEt)/pt<0.1"),
59  ),
60  ## [optional] : when omitted all monitoring plots for jets will
61  ## be filled from uncorrected jets
62  jetExtras = cms.PSet(
63  ## when omitted monitor plots for pt will be filled from uncorrected
64  ## jets
65  jetCorrector = cms.string("ak4CaloL2L3"),
66  ## when omitted monitor plots will be filled w/o additional cut on
67  ## jetID
68 # jetID = cms.PSet(
69 # label = cms.InputTag("ak4JetID"),
70 # select = cms.string("fHPD < 0.98 & n90Hits>1 & restrictedEMF<1")
71 # ),
72  ## when omitted no extra selection will be applied on jets before
73  ## filling the monitor histograms; if jetCorrector is present the
74  ## selection will be applied to corrected jets
75  select = cms.string("pt>15 & abs(eta)<2.5 & emEnergyFraction>0.01"),
76  ),
77  ## [optional] : when omitted no mass window will be applied
78  ## for the W mass befor filling the event monitoring plots
79 # massExtras = cms.PSet(
80 # lowerEdge = cms.double( 70.),
81 # upperEdge = cms.double(110.)
82 # ),
83  ## [optional] : when omitted the monitoring plots for triggering
84  ## will be empty
85  triggerExtras = cms.PSet(
86  src = cms.InputTag("TriggerResults","","HLT"),
87  paths = cms.vstring(['HLT_Mu3:HLT_QuadJet15U',
88  'HLT_Mu5:HLT_QuadJet15U',
89  'HLT_Mu7:HLT_QuadJet15U',
90  'HLT_Mu9:HLT_QuadJet15U'])
91  )
92  ),
93  ## ------------------------------------------------------
94  ## PRESELECTION
95 
100  preselection = cms.PSet(
101  ## [optional] : when omitted no preselection is applied
102 # trigger = cms.PSet(
103 # src = cms.InputTag("TriggerResults","","HLT"),
104 # select = cms.vstring(['HLT_Mu11', 'HLT_Ele15_LW_L1R', 'HLT_QuadJet30'])
105 # ),
106  ## [optional] : when omitted no preselection is applied
107 # vertex = cms.PSet(
108 # src = cms.InputTag("offlinePrimaryVertices"),
109 # select = cms.string('abs(x)<1. & abs(y)<1. & abs(z)<20. & tracksSize>3 & !isFake')
110 # )
111  ),
112  ## ------------------------------------------------------
113  ## SELECTION
114 
121  selection = cms.VPSet(
122  cms.PSet(
123  label = cms.string("jets/calo:step0"),
124  src = cms.InputTag("ak4CaloJets"),
125  select = cms.string("pt>20 & abs(eta)<2.1 & 0.05<emEnergyFraction"),
126  jetID = cms.PSet(
127  label = cms.InputTag("ak4JetID"),
128  select = cms.string("fHPD < 0.98 & n90Hits>1 & restrictedEMF<1")
129  ),
130  min = cms.int32(2),
131  )
132  )
133 )
134 
135 singleTopMuonMediumDQM = cms.EDAnalyzer("SingleTopTChannelLeptonDQM",
136  ## ------------------------------------------------------
137  ## SETUP
138 
142  setup = cms.PSet(
143  ## sub-directory to write the monitor histograms to
144  ## [mandatory] : should not be changed w/o explicit
145  ## communication to TopCom!
146  directory = cms.string("Physics/Top/SingleTopMuonMediumDQM/"),
147  ## [mandatory]
148  sources = cms.PSet(
149  muons = cms.InputTag("pfIsolatedMuonsEI"),
150  elecs_gsf = cms.InputTag("gedGsfElectrons"),
151  elecs = cms.InputTag("pfIsolatedElectronsEI"),
152  jets = cms.InputTag("ak4PFJetsCHS"),
153  mets = cms.VInputTag("met", "tcMet", "pfMetEI"),
154  pvs = cms.InputTag("offlinePrimaryVertices")
155  ),
156  ## [optional] : when omitted the verbosity level is set to STANDARD
157  monitoring = cms.PSet(
158  verbosity = cms.string("DEBUG")
159  ),
160  ## [optional] : when omitted all monitoring plots for primary vertices
161  ## will be filled w/o extras
162 # pvExtras = cms.PSet(
163  ## when omitted electron plots will be filled w/o additional pre-
164  ## selection of the primary vertex candidates
165 # select = cms.string("") #abs(x)<1. & abs(y)<1. & abs(z)<20. & tracksSize>3 & !isFake")
166 # ),
167  ## [optional] : when omitted all monitoring plots for muons
168  ## will be filled w/o extras
169  muonExtras = cms.PSet(
170  ## when omitted muon plots will be filled w/o additional pre-
171  ## selection of the muon candidates
172  select = cms.string("abs(muonRef.eta)<2.1")
173  ## & isGlobalMuon & innerTrack.numberOfValidHits>10 & globalTrack.normalizedChi2>-1 & globalTrack.normalizedChi2<10
174  ##& (isolationR03.sumPt+isolationR03.emEt+isolationR03.hadEt)/pt<0.1"),
175  ## when omitted isolated muon multiplicity plot will be equi-
176  ## valent to inclusive muon multiplicity plot
177  ## isolation = cms.string("(muonRef.isolationR03.sumPt+muonRef.isolationR03.emEt+muonRef.isolationR03.hadEt)/muonRef.pt<10" )
178  ## isolation = cms.string("(muonRef.isolationR03.sumPt+muonRef.isolationR03.emEt+muonRef.isolationR03.hadEt)/muonRef.pt<0.1")
179  ),
180  ## [optional] : when omitted all monitoring plots for jets
181  ## will be filled w/o extras
182  jetExtras = cms.PSet(
183  ## when omitted monitor plots for pt will be filled from uncorrected
184  ## jets
185  jetCorrector = cms.string("topDQMak5PFCHSL2L3"),
186  ## when omitted monitor plots will be filled w/o additional cut on
187  ## jetID
188 # jetID = cms.PSet(
189 # label = cms.InputTag("ak4JetID"),
190 # select = cms.string(""), ##fHPD < 0.98 & n90Hits>1 & restrictedEMF<1")
191 # ),
192  ## when omitted no extra selection will be applied on jets before
193  ## filling the monitor histograms; if jetCorrector is present the
194  ## selection will be applied to corrected jets
195  select = cms.string("pt>15 & abs(eta)<2.5"), # & neutralEmEnergyFraction >0.01 & chargedEmEnergyFraction>0.01"),
196  ## when omitted monitor histograms for b-tagging will not be filled
197  jetBTaggers = cms.PSet(
198  trackCountingEff = cms.PSet(
199  label = cms.InputTag("pfTrackCountingHighEffBJetTags" ),
200  workingPoint = cms.double(1.25)
201  ),
202  trackCountingPur = cms.PSet(
203  label = cms.InputTag("pfTrackCountingHighPurBJetTags" ),
204  workingPoint = cms.double(3.41)
205  ),
206  secondaryVertex = cms.PSet(
207  label = cms.InputTag("pfSimpleSecondaryVertexHighEffBJetTags"),
208  workingPoint = cms.double(2.05)
209  ),
210  combinedSecondaryVertex = cms.PSet(
211  label = cms.InputTag("pfCombinedInclusiveSecondaryVertexV2BJetTags"),
212  workingPoint = cms.double(0.970)
213  )
214  )
215  )
216  ## [optional] : when omitted no mass window will be applied
217  ## for the W mass before filling the event monitoring plots
218 # massExtras = cms.PSet(
219 # lowerEdge = cms.double( 70.),
220 # upperEdge = cms.double(110.)
221 # ),
222  ## [optional] : when omitted the monitoring plots for triggering
223  ## will be empty
224 # triggerExtras = cms.PSet(
225 # src = cms.InputTag("TriggerResults","","HLT"),
226 # paths = cms.vstring(['HLT_IsoMu17_eta2p1_CentralPFNoPUJet30_BTagIPIter_v1'])
227 # 'HLT_IsoMu24_eta2p1_v12',
228 # 'HLT_IsoMu20_eta2p1_CentralPFJet30_BTagIPIter_v2',
229 # 'HLT_IsoMu20_eta2p1_CentralPFJet30_BTagIPIter_v3'])
230 # )
231  ),
232  ## ------------------------------------------------------
233  ## PRESELECTION
234 
239  preselection = cms.PSet(
240  ## [optional] : when omitted no preselection is applied
241 # trigger = cms.PSet(
242 # src = cms.InputTag("TriggerResults","","HLT"),
243 # select = cms.vstring(['HLT_IsoMu17_eta2p1_CentralPFNoPUJet30_BTagIPIter_v1'])
244 # ),
245  ## [optional] : when omitted no preselection is applied
246 # vertex = cms.PSet(
247 # src = cms.InputTag("offlinePrimaryVertices"),
248 # select = cms.string('!isFake && ndof >= 4 && abs(z)<24. && position.Rho <= 2.0')
249 # )
250  ),
251  ## ------------------------------------------------------
252  ## SELECTION
253 
259  selection = cms.VPSet(
260  cms.PSet(
261  label = cms.string("presel"),
262  src = cms.InputTag("offlinePrimaryVertices"),
263  select = cms.string('!isFake && ndof >= 4 && abs(z)<24. && position.Rho <= 2.0 '),
264 
265  ),
266  cms.PSet(
267  label = cms.string("muons/pf:step0"),
268  src = cms.InputTag("pfIsolatedMuonsEI"),
269  select = cms.string("muonRef.pt>20 & abs(muonRef.eta)<2.1 & muonRef.isNonnull & muonRef.innerTrack.isNonnull & muonRef.isGlobalMuon & muonRef.isTrackerMuon & muonRef.innerTrack.numberOfValidHits>10 & muonRef.globalTrack.hitPattern.numberOfValidMuonHits>0 & muonRef.globalTrack.normalizedChi2<10 & muonRef.innerTrack.hitPattern.pixelLayersWithMeasurement>=1 & muonRef.numberOfMatches>1 & abs(muonRef.innerTrack.dxy)<0.02 & (muonRef.pfIsolationR04.sumChargedHadronPt + muonRef.pfIsolationR04.sumNeutralHadronEt + muonRef.pfIsolationR04.sumPhotonEt)/muonRef.pt < 0.15"),
270 
271  min = cms.int32(1),
272  max = cms.int32(1),
273  ),
274  cms.PSet(
275  label = cms.string("jets/pf:step1"),
276  src = cms.InputTag("ak4PFJetsCHS"),
277  jetCorrector = cms.string("topDQMak5PFCHSL2L3"),
278  select = cms.string(" pt>30 & abs(eta)<4.5 & numberOfDaughters>1 & ((abs(eta)>2.4) || ( chargedHadronEnergyFraction > 0 & chargedMultiplicity>0 & chargedEmEnergyFraction<0.99)) & neutralEmEnergyFraction < 0.99 & neutralHadronEnergyFraction < 0.99"),
279 
280  min = cms.int32(1),
281  max = cms.int32(1),
282  ),
283  cms.PSet(
284  label = cms.string("jets/pf:step2"),
285  src = cms.InputTag("ak4PFJetsCHS"),
286  jetCorrector = cms.string("topDQMak5PFCHSL2L3"),
287  select = cms.string(" pt>30 & abs(eta)<4.5 & numberOfDaughters>1 & ((abs(eta)>2.4) || ( chargedHadronEnergyFraction > 0 & chargedMultiplicity>0 & chargedEmEnergyFraction<0.99)) & neutralEmEnergyFraction < 0.99 & neutralHadronEnergyFraction < 0.99"),
288 
289  min = cms.int32(2),
290  max = cms.int32(2),
291  )
292  )
293 )
294 
295 singleTopElectronMediumDQM = cms.EDAnalyzer("SingleTopTChannelLeptonDQM",
296  ## ------------------------------------------------------
297  ## SETUP
298 
302  setup = cms.PSet(
303  ## sub-directory to write the monitor histograms to
304  ## [mandatory] : should not be changed w/o explicit
305  ## communication to TopCom!
306  directory = cms.string("Physics/Top/SingleTopElectronMediumDQM/"),
307  ## [mandatory]
308  sources = cms.PSet(
309  muons = cms.InputTag("pfIsolatedMuonsEI"),
310  elecs_gsf = cms.InputTag("gedGsfElectrons"),
311  elecs = cms.InputTag("pfIsolatedElectronsEI"),
312  jets = cms.InputTag("ak4PFJetsCHS"),
313  mets = cms.VInputTag("met", "tcMet", "pfMetEI"),
314  pvs = cms.InputTag("offlinePrimaryVertices")
315 
316  ),
317  ## [optional] : when omitted the verbosity level is set to STANDARD
318  monitoring = cms.PSet(
319  verbosity = cms.string("DEBUG")
320  ),
321  ## [optional] : when omitted all monitoring plots for primary vertices
322  ## will be filled w/o extras
323 # pvExtras = cms.PSet(
324  ## when omitted electron plots will be filled w/o additional pre-
325  ## selection of the primary vertex candidates
326 # select = cms.string("abs(x)<1. & abs(y)<1. & abs(z)<20. & tracksSize>3 & !isFake")
327 # ),
328  ## [optional] : when omitted all monitoring plots for electrons
329  ## will be filled w/o extras
330  elecExtras = cms.PSet(
331  ## when omitted electron plots will be filled w/o cut on electronId
332  ##electronId = cms.PSet( src = cms.InputTag("mvaTrigV0"), cutValue = cms.double(0.5) ),
333  ## when omitted electron plots will be filled w/o additional pre-
334  ## selection of the electron candidates
335  select = cms.string("pt>25"), ## & abs(eta)<2.5 & (dr03TkSumPt+dr03EcalRecHitSumEt+dr03HcalTowerSumEt)/pt<0.1"),
336  ## when omitted isolated electron multiplicity plot will be equi-
337  ## valent to inclusive electron multiplicity plot
338  ## isolation = cms.string(ElelooseIsoCut),
339 
340  ),
341  ## [optional] : when omitted all monitoring plots for jets
342  ## will be filled w/o extras
343  jetExtras = cms.PSet(
344  ## when omitted monitor plots for pt will be filled from uncorrected
345  ## jets
346  jetCorrector = cms.string("topDQMak5PFCHSL2L3"),
347  ## when omitted monitor plots will be filled w/o additional cut on
348  ## jetID
349 # jetID = cms.PSet(
350 # label = cms.InputTag("ak4JetID"),
351 # select = cms.string(" ")
352 # ),
353  ## when omitted no extra selection will be applied on jets before
354  ## filling the monitor histograms; if jetCorrector is present the
355  ## selection will be applied to corrected jets
356  select = cms.string("pt>15 & abs(eta)<2.5"), ## & emEnergyFraction>0.01"),
357  ## when omitted monitor histograms for b-tagging will not be filled
358  jetBTaggers = cms.PSet(
359  trackCountingEff = cms.PSet(
360  label = cms.InputTag("pfTrackCountingHighEffBJetTags" ),
361  workingPoint = cms.double(1.25)
362  ),
363  trackCountingPur = cms.PSet(
364  label = cms.InputTag("pfTrackCountingHighPurBJetTags" ),
365  workingPoint = cms.double(3.41)
366  ),
367  secondaryVertex = cms.PSet(
368  label = cms.InputTag("pfSimpleSecondaryVertexHighEffBJetTags"),
369  workingPoint = cms.double(2.05)
370  ),
371  combinedSecondaryVertex = cms.PSet(
372  label = cms.InputTag("pfCombinedInclusiveSecondaryVertexV2BJetTags"),
373  workingPoint = cms.double(0.970)
374  )
375  )
376  ),
377  ## [optional] : when omitted no mass window will be applied
378  ## for the W mass before filling the event monitoring plots
379 # massExtras = cms.PSet(
380 # lowerEdge = cms.double( 70.),
381 # upperEdge = cms.double(110.)
382 # ),
383  ## [optional] : when omitted the monitoring plots for triggering
384  ## will be empty
385 # triggerExtras = cms.PSet(
386 # src = cms.InputTag("TriggerResults","","HLT"),
387 # paths = cms.vstring([ 'HLT_Ele15_LW_L1R:HLT_QuadJetU15'])
388 ## paths = cms.vstring([''])
389 # )
390  ),
391  ## ------------------------------------------------------
392  ## PRESELECTION
393 
398  preselection = cms.PSet(
399  ## [optional] : when omitted no preselection is applied
400 # trigger = cms.PSet(
401 # src = cms.InputTag("TriggerResults","","HLT"),
402 # select = cms.vstring(['HLT_Ele15_SW_CaloEleId_L1R'])
403 # ),
404  ## [optional] : when omitted no preselection is applied
405 # vertex = cms.PSet(
406 # src = cms.InputTag("offlinePrimaryVertices"),
407 # select = cms.string('!isFake && ndof >= 4 && abs(z)<24. && position.Rho <= 2.0')
408 # )
409  ),
410  ## ------------------------------------------------------
411  ## SELECTION
412 
418  selection = cms.VPSet(
419  cms.PSet(
420  label = cms.string("presel"),
421  src = cms.InputTag("offlinePrimaryVertices"),
422  select = cms.string('!isFake && ndof >= 4 && abs(z)<24. && position.Rho <= 2.0'),
423  ),
424  cms.PSet(
425  label = cms.string("elecs/pf:step0"),
426  src = cms.InputTag("pfIsolatedElectronsEI"),
427 ## electronId = cms.PSet( src = cms.InputTag("mvaTrigV0"), cutValue = cms.double(0.5) ),
428  select = cms.string("pt>30 & abs(eta)<2.5 & abs(gsfElectronRef.gsfTrack.d0)<0.02 && gsfElectronRef.gsfTrack.hitPattern().numberOfHits('MISSING_INNER_HITS') <= 0 && (abs(gsfElectronRef.superCluster.eta) <= 1.4442 || abs(gsfElectronRef.superCluster.eta) >= 1.5660) && " + EletightIsoCut),
429  min = cms.int32(1),
430  max = cms.int32(1),
431  ),
432  cms.PSet(
433  label = cms.string("jets/pf:step1"),
434  src = cms.InputTag("ak4PFJetsCHS"),
435  jetCorrector = cms.string("topDQMak5PFCHSL2L3"),
436  select = cms.string("pt>30 & abs(eta)<4.5 & numberOfDaughters>1 & ((abs(eta)>2.4) || ( chargedHadronEnergyFraction > 0 & chargedMultiplicity>0 & chargedEmEnergyFraction<0.99)) & neutralEmEnergyFraction < 0.99 & neutralHadronEnergyFraction < 0.99"),
437 
438  min = cms.int32(1),
439  max = cms.int32(1),
440 
441  ),
442  cms.PSet(
443  label = cms.string("jets/pf:step2"),
444  src = cms.InputTag("ak4PFJetsCHS"),
445  jetCorrector = cms.string("topDQMak5PFCHSL2L3"),
446  select = cms.string("pt>30 & abs(eta)<4.5 & numberOfDaughters>1 & ((abs(eta)>2.4) || ( chargedHadronEnergyFraction > 0 & chargedMultiplicity>0 & chargedEmEnergyFraction<0.99)) & neutralEmEnergyFraction < 0.99 & neutralHadronEnergyFraction < 0.99"),
447 
448  min = cms.int32(2),
449  max = cms.int32(2),
450 
451  ),
452  )
453 )