CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/DQM/Physics/python/topSingleLeptonDQM_PU_cfi.py

Go to the documentation of this file.
00001 import FWCore.ParameterSet.Config as cms
00002 
00003 TopSingleLeptonDQM = cms.EDAnalyzer("TopSingleLeptonDQM",
00004   ## ------------------------------------------------------
00005   ## SETUP
00006   ##
00007   ## configuration of the MonitoringEnsemble(s)
00008   ## [mandatory] : optional PSets may be omitted
00009   ##
00010   setup = cms.PSet(
00011     ## sub-directory to write the monitor histograms to
00012     ## [mandatory] : should not be changed w/o explicit 
00013     ## communication to TopCom!
00014     directory = cms.string("Physics/Top/TopSingleLeptonDQM/"),
00015     ## [mandatory]
00016     sources = cms.PSet(
00017       muons = cms.InputTag("muons"),
00018       elecs = cms.InputTag("gsfElectrons"),
00019       jets  = cms.InputTag("ak5CaloJets"),
00020       mets  = cms.VInputTag("met", "tcMet", "pfMet"),
00021       pvs   = cms.InputTag("offlinePrimaryVertices")
00022     ),
00023     ## [optional] : when omitted the verbosity level is set to STANDARD
00024     monitoring = cms.PSet(
00025       verbosity = cms.string("DEBUG")
00026     ),
00027     ## [optional] : when omitted all monitoring plots for primary vertices
00028     ## will be filled w/o extras
00029     pvExtras = cms.PSet(
00030       ## when omitted electron plots will be filled w/o additional pre-
00031       ## selection of the primary vertex candidates                                                                                            
00032       select = cms.string("abs(x)<1. & abs(y)<1. & abs(z)<20. & tracksSize>3 & !isFake")
00033     ),
00034     ## [optional] : when omitted all monitoring plots for electrons
00035     ## will be filled w/o extras
00036     elecExtras = cms.PSet(
00037       ## when omitted electron plots will be filled w/o cut on electronId
00038       electronId = cms.PSet( src = cms.InputTag("eidRobustLoose"), pattern = cms.int32(1) ),
00039       ## when omitted electron plots will be filled w/o additional pre-
00040       ## selection of the electron candidates                                                                                            
00041       select = cms.string("pt>15 & abs(eta)<2.5 & abs(gsfTrack.d0)<1 & abs(gsfTrack.dz)<20"),
00042       ## when omitted isolated electron multiplicity plot will be equi-
00043       ## valent to inclusive electron multiplicity plot 
00044       isolation = cms.string("(dr03TkSumPt+dr04EcalRecHitSumEt+dr04HcalTowerSumEt)/pt<0.1"),
00045     ),
00046     ## [optional] : when omitted all monitoring plots for muons
00047     ## will be filled w/o extras
00048     muonExtras = cms.PSet(
00049       ## when omitted muon plots will be filled w/o additional pre-
00050       ## selection of the muon candidates                                                                                            
00051       select = cms.string("pt>10 & abs(eta)<2.1 & isGlobalMuon & abs(globalTrack.d0)<1 & abs(globalTrack.dz)<20"),
00052       ## when omitted isolated muon multiplicity plot will be equi-
00053       ## valent to inclusive muon multiplicity plot                                                    
00054       isolation = cms.string("(isolationR03.sumPt+isolationR03.emEt+isolationR03.hadEt)/pt<0.1"),
00055     ),
00056     ## [optional] : when omitted all monitoring plots for jets will
00057     ## be filled from uncorrected jets
00058     jetExtras = cms.PSet(
00059       ## when omitted monitor plots for pt will be filled from uncorrected
00060       ## jets                                            
00061       jetCorrector = cms.string("ak5CaloL2L3"),
00062       ## when omitted monitor plots will be filled w/o additional cut on
00063       ## jetID                                                   
00064       jetID  = cms.PSet(
00065         label  = cms.InputTag("ak5JetID"),
00066         select = cms.string("fHPD < 0.98 & n90Hits>1 & restrictedEMF<1")
00067       ),
00068       ## when omitted no extra selection will be applied on jets before
00069       ## filling the monitor histograms; if jetCorrector is present the
00070       ## selection will be applied to corrected jets
00071       select = cms.string("pt>15 & abs(eta)<2.5 & emEnergyFraction>0.01"),
00072     ),
00073     ## [optional] : when omitted no mass window will be applied
00074     ## for the W mass befor filling the event monitoring plots
00075     massExtras = cms.PSet(
00076       lowerEdge = cms.double( 70.),
00077       upperEdge = cms.double(110.)
00078     ),
00079     ## [optional] : when omitted the monitoring plots for triggering
00080     ## will be empty
00081     #triggerExtras = cms.PSet(
00082     #  src   = cms.InputTag("TriggerResults","","HLT"),
00083     #  paths = cms.vstring(['HLT_Mu3:HLT_QuadJet15U',
00084     #                       'HLT_Mu5:HLT_QuadJet15U',
00085     #                       'HLT_Mu7:HLT_QuadJet15U',
00086     #                       'HLT_Mu9:HLT_QuadJet15U'])
00087     #)                                            
00088   ),                                  
00089   ## ------------------------------------------------------
00090   ## PRESELECTION
00091   ##
00092   ## setup of the event preselection, which will not
00093   ## be monitored
00094   ## [mandatory] : but may be empty
00095   ##
00096   preselection = cms.PSet(
00097     ## [optional] : when omitted no preselection is applied
00098     trigger = cms.PSet(
00099       src    = cms.InputTag("TriggerResults","","HLT"),
00100       select = cms.vstring(['HLT_Mu11', 'HLT_Ele15_LW_L1R', 'HLT_QuadJet30'])
00101     ),
00102     ## [optional] : when omitted no preselection is applied
00103     vertex = cms.PSet(
00104       src    = cms.InputTag("offlinePrimaryVertices"),
00105       select = cms.string('abs(x)<1. & abs(y)<1. & abs(z)<20. & tracksSize>3 & !isFake')
00106     )                                        
00107   ),  
00108   ## ------------------------------------------------------    
00109   ## SELECTION
00110   ##
00111   ## monitor histrograms are filled after each selection
00112   ## step, the selection is applied in the order defined
00113   ## by this vector
00114   ## [mandatory] : may be empty or contain an arbitrary
00115   ## number of PSets
00116   ##    
00117   selection = cms.VPSet(
00118     cms.PSet(
00119       label  = cms.string("jets/calo:step0"),
00120       src    = cms.InputTag("ak5CaloJets"),
00121       select = cms.string("pt>20 & abs(eta)<2.1 & 0.05<emEnergyFraction"),
00122       jetID  = cms.PSet(
00123         label  = cms.InputTag("ak5JetID"),
00124         select = cms.string("fHPD < 0.98 & n90Hits>1 & restrictedEMF<1")
00125       ),
00126       min = cms.int32(2),
00127     ),
00128   )
00129 )
00130 
00131 topSingleMuonLooseDQM_PU = cms.EDAnalyzer("TopSingleLeptonDQM",
00132   ## ------------------------------------------------------
00133   ## SETUP
00134   ##
00135   ## configuration of the MonitoringEnsemble(s)
00136   ## [mandatory] : optional PSets may be omitted
00137   ##
00138   setup = cms.PSet(
00139     ## sub-directory to write the monitor histograms to
00140     ## [mandatory] : should not be changed w/o explicit
00141     ## communication to TopCom!
00142     directory = cms.string("Physics/Top/TopSingleMuonLooseDQM_PU/"),
00143     ## [mandatory]
00144     sources = cms.PSet(
00145       muons = cms.InputTag("muons"),
00146       elecs = cms.InputTag("gsfElectrons"),
00147       jets  = cms.InputTag("ak5CaloJets"),
00148       mets  = cms.VInputTag("met", "tcMet", "pfMet"),
00149       pvs   = cms.InputTag("offlinePrimaryVertices")
00150     ),
00151     ## [optional] : when omitted the verbosity level is set to STANDARD
00152     monitoring = cms.PSet(
00153       verbosity = cms.string("DEBUG")
00154     ),
00155     pvExtras = cms.PSet(
00156       ## when omitted electron plots will be filled w/o additional pre-
00157       ## selection of the primary vertex candidates                                                                                            
00158       select = cms.string("abs(x)<1. & abs(y)<1. & abs(z)<20. & tracksSize>3 & !isFake")
00159     ),
00160     ## [optional] : when omitted all monitoring plots for muons
00161     ## will be filled w/o extras                                           
00162     muonExtras = cms.PSet(
00163       ## when omitted muon plots will be filled w/o additional pre-
00164       ## selection of the muon candidates                                                                                               
00165       select = cms.string("pt > 10 & abs(eta)<2.1 & isGlobalMuon & innerTrack.numberOfValidHits>10 & globalTrack.normalizedChi2>-1 & globalTrack.normalizedChi2<10"),
00166       ## when omitted isolated muon multiplicity plot will be equi-
00167       ## valent to inclusive muon multiplicity plot                                                    
00168       isolation = cms.string("(isolationR03.sumPt+isolationR03.emEt+isolationR03.hadEt)/pt<0.1")                                               
00169     ),
00170     ## [optional] : when omitted all monitoring plots for jets
00171     ## will be filled w/o extras
00172     jetExtras = cms.PSet(
00173       ## when omitted monitor plots for pt will be filled from uncorrected
00174       ## jets                                               
00175       jetCorrector = cms.string("ak5CaloL2L3"),
00176       ## when omitted monitor plots will be filled w/o additional cut on
00177       ## jetID                                                                                                                     
00178       jetID  = cms.PSet(
00179         label  = cms.InputTag("ak5JetID"),
00180         select = cms.string("fHPD < 0.98 & n90Hits>1 & restrictedEMF<1")
00181       ),                                                    
00182       ## when omitted no extra selection will be applied on jets before
00183       ## filling the monitor histograms; if jetCorrector is present the
00184       ## selection will be applied to corrected jets                                                
00185       select = cms.string("pt>15 & abs(eta)<2.5 & emEnergyFraction>0.01"),
00186       ## when omitted monitor histograms for b-tagging will not be filled 
00187       jetBTaggers  = cms.PSet(
00188         trackCountingEff = cms.PSet(
00189           label = cms.InputTag("trackCountingHighEffBJetTags" ),
00190           workingPoint = cms.double(1.25)
00191         ),
00192         trackCountingPur = cms.PSet(
00193           label = cms.InputTag("trackCountingHighPurBJetTags" ),
00194           workingPoint = cms.double(3.00)
00195         ),
00196         secondaryVertex  = cms.PSet(
00197           label = cms.InputTag("simpleSecondaryVertexHighEffBJetTags"),
00198           workingPoint = cms.double(2.05)
00199         )
00200       ),
00201     ),
00202     ## [optional] : when omitted no mass window will be applied
00203     ## for the W mass befor filling the event monitoring plots
00204     massExtras = cms.PSet(
00205       lowerEdge = cms.double( 70.),
00206       upperEdge = cms.double(110.)
00207     ),
00208     ## [optional] : when omitted the monitoring plots for triggering
00209     ## will be empty
00210     #triggerExtras = cms.PSet(
00211     #  src   = cms.InputTag("TriggerResults","","HLT"),
00212      # paths = cms.vstring(['HLT_Mu3:HLT_QuadJet15U',
00213     #                       'HLT_Mu5:HLT_QuadJet15U',
00214     #                       'HLT_Mu7:HLT_QuadJet15U',
00215     #                       'HLT_Mu9:HLT_QuadJet15U',
00216     #                       'HLT_Mu11:HLT_QuadJet15U'])
00217     #)
00218   ),
00219   ## ------------------------------------------------------
00220   ## PRESELECTION
00221   ##
00222   ## setup of the event preselection, which will not
00223   ## be monitored
00224   ## [mandatory] : but may be empty
00225   ##
00226   preselection = cms.PSet(
00227     ## [optional] : when omitted no preselection is applied
00228     #trigger = cms.PSet(
00229     #  src    = cms.InputTag("TriggerResults","","HLT"),
00230     #  select = cms.vstring(['HLT_Mu11'])
00231     #),
00232     ## [optional] : when omitted no preselection is applied
00233     vertex = cms.PSet(
00234       src    = cms.InputTag("offlinePrimaryVertices"),
00235       select = cms.string('abs(x)<1. & abs(y)<1. & abs(z)<20. & tracksSize>3 & !isFake')
00236     )
00237   ),
00238   ## ------------------------------------------------------
00239   ## SELECTION
00240   ##
00241   ## monitor histrograms are filled after each selection
00242   ## step, the selection is applied in the order defined
00243   ## by this vector
00244   ## [mandatory] : may be empty or contain an arbitrary
00245   ## number of PSets
00246   selection = cms.VPSet(
00247     cms.PSet(
00248       label  = cms.string("muons:step0"),
00249       src    = cms.InputTag("muons"),
00250       select = cms.string("pt>10 & abs(eta)<2.1 & isGlobalMuon & innerTrack.numberOfValidHits>10 & globalTrack.normalizedChi2>-1 & globalTrack.normalizedChi2<10"),
00251       min    = cms.int32(1),
00252     ),
00253     cms.PSet(
00254       label  = cms.string("pvs:step1"),
00255       src    = cms.InputTag("offlinePrimaryVertices"),
00256       select = cms.string("abs(x)<1. & abs(y)<1. & abs(z)<20. & tracksSize>3 & !isFake"),
00257       max    = cms.int32(10),
00258     ),
00259     cms.PSet(
00260       label  = cms.string("pvs:step2"),
00261       src    = cms.InputTag("offlinePrimaryVertices"),
00262       select = cms.string("abs(x)<1. & abs(y)<1. & abs(z)<20. & tracksSize>3 & !isFake"),
00263       max    = cms.int32(8),
00264     ),
00265     cms.PSet(
00266       label  = cms.string("pvs:step3"),
00267       src    = cms.InputTag("offlinePrimaryVertices"),
00268       select = cms.string("abs(x)<1. & abs(y)<1. & abs(z)<20. & tracksSize>3 & !isFake"),
00269       max    = cms.int32(6),
00270     ),
00271     cms.PSet(
00272       label  = cms.string("pvs:step4"),
00273       src    = cms.InputTag("offlinePrimaryVertices"),
00274       select = cms.string("abs(x)<1. & abs(y)<1. & abs(z)<20. & tracksSize>3 & !isFake"),
00275       max    = cms.int32(4),
00276     ),
00277     cms.PSet(
00278       label  = cms.string("pvs:step5"),
00279       src    = cms.InputTag("offlinePrimaryVertices"),
00280       select = cms.string("abs(x)<1. & abs(y)<1. & abs(z)<20. & tracksSize>3 & !isFake"),
00281       max    = cms.int32(2),
00282     ),
00283   )
00284 )
00285 
00286 topSingleMuonMediumDQM_PU = cms.EDAnalyzer("TopSingleLeptonDQM",
00287   ## ------------------------------------------------------
00288   ## SETUP
00289   ##
00290   ## configuration of the MonitoringEnsemble(s)
00291   ## [mandatory] : optional PSets may be omitted
00292   ##
00293   setup = cms.PSet(
00294     ## sub-directory to write the monitor histograms to
00295     ## [mandatory] : should not be changed w/o explicit
00296     ## communication to TopCom!
00297     directory = cms.string("Physics/Top/TopSingleMuonMediumDQM_PU/"),
00298     ## [mandatory]
00299     sources = cms.PSet(
00300       muons = cms.InputTag("muons"),
00301       elecs = cms.InputTag("gsfElectrons"),
00302       jets  = cms.InputTag("ak5CaloJets"),
00303       mets  = cms.VInputTag("met", "tcMet", "pfMet"),
00304       pvs   = cms.InputTag("offlinePrimaryVertices")
00305 
00306     ),
00307     ## [optional] : when omitted the verbosity level is set to STANDARD
00308     monitoring = cms.PSet(
00309       verbosity = cms.string("DEBUG")
00310     ),
00311     ## [optional] : when omitted all monitoring plots for primary vertices
00312     ## will be filled w/o extras
00313     pvExtras = cms.PSet(
00314       ## when omitted electron plots will be filled w/o additional pre-
00315       ## selection of the primary vertex candidates                                                                                            
00316       select = cms.string("abs(x)<1. & abs(y)<1. & abs(z)<20. & tracksSize>3 & !isFake")
00317     ),
00318     ## [optional] : when omitted all monitoring plots for muons
00319     ## will be filled w/o extras                                           
00320     muonExtras = cms.PSet(
00321       ## when omitted muon plots will be filled w/o additional pre-
00322       ## selection of the muon candidates                                                
00323       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"),  
00324       ## when omitted isolated muon multiplicity plot will be equi-
00325       ## valent to inclusive muon multiplicity plot                                                    
00326       isolation = cms.string("(isolationR03.sumPt+isolationR03.emEt+isolationR03.hadEt)/pt<0.1")
00327     ),
00328     ## [optional] : when omitted all monitoring plots for jets
00329     ## will be filled w/o extras
00330     jetExtras = cms.PSet(
00331       ## when omitted monitor plots for pt will be filled from uncorrected
00332       ## jets
00333       jetCorrector = cms.string("ak5CaloL2L3"),
00334       ## when omitted monitor plots will be filled w/o additional cut on
00335       ## jetID                                                                                                   
00336       jetID  = cms.PSet(
00337         label  = cms.InputTag("ak5JetID"),
00338         select = cms.string("fHPD < 0.98 & n90Hits>1 & restrictedEMF<1")
00339       ),
00340       ## when omitted no extra selection will be applied on jets before
00341       ## filling the monitor histograms; if jetCorrector is present the
00342       ## selection will be applied to corrected jets                                                
00343       select = cms.string("pt>15 & abs(eta)<2.5& emEnergyFraction>0.01"),
00344       ## when omitted monitor histograms for b-tagging will not be filled                                                                                                   
00345       jetBTaggers  = cms.PSet(
00346         trackCountingEff = cms.PSet(
00347           label = cms.InputTag("trackCountingHighEffBJetTags" ),
00348           workingPoint = cms.double(1.25)
00349         ),
00350         trackCountingPur = cms.PSet(
00351           label = cms.InputTag("trackCountingHighPurBJetTags" ),
00352           workingPoint = cms.double(3.00)
00353         ),
00354         secondaryVertex  = cms.PSet(
00355           label = cms.InputTag("simpleSecondaryVertexHighEffBJetTags"),
00356           workingPoint = cms.double(2.05)
00357         )
00358       ),                                                
00359     ),
00360     ## [optional] : when omitted no mass window will be applied
00361     ## for the W mass before filling the event monitoring plots
00362     massExtras = cms.PSet(
00363       lowerEdge = cms.double( 70.),
00364       upperEdge = cms.double(110.)
00365     ),
00366     ## [optional] : when omitted the monitoring plots for triggering
00367     ## will be empty
00368     #triggerExtras = cms.PSet(
00369     #  src   = cms.InputTag("TriggerResults","","HLT"),
00370     # paths = cms.vstring(['HLT_Mu3:HLT_QuadJet15U',
00371     #                      'HLT_Mu5:HLT_QuadJet15U',
00372     #                      'HLT_Mu7:HLT_QuadJet15U',
00373     #                      'HLT_Mu9:HLT_QuadJet15U',
00374     #                      'HLT_Mu11:HLT_QuadJet15U'])      
00375     #)
00376   ),
00377   ## ------------------------------------------------------
00378   ## PRESELECTION
00379   ##
00380   ## setup of the event preselection, which will not
00381   ## be monitored
00382   ## [mandatory] : but may be empty
00383   ##
00384   preselection = cms.PSet(
00385     ## [optional] : when omitted no preselection is applied
00386     #trigger = cms.PSet(
00387     #  src    = cms.InputTag("TriggerResults","","HLT"),
00388     #  select = cms.vstring(['HLT_Mu15_v2'])
00389     #),
00390     ## [optional] : when omitted no preselection is applied
00391     vertex = cms.PSet(
00392       src    = cms.InputTag("offlinePrimaryVertices"),
00393       select = cms.string('abs(x)<1. & abs(y)<1. & abs(z)<20. & tracksSize>3 & !isFake')
00394     )
00395   ),
00396   ## ------------------------------------------------------
00397   ## SELECTION
00398   ##
00399   ## monitor histrograms are filled after each selection
00400   ## step, the selection is applied in the order defined
00401   ## by this vector
00402   ## [mandatory] : may be empty or contain an arbitrary
00403   ## number of PSets
00404   selection = cms.VPSet(
00405     cms.PSet(
00406       label  = cms.string("muons:step0"),
00407       src    = cms.InputTag("muons"),
00408       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"),       
00409       min    = cms.int32(1),
00410       max    = cms.int32(1),
00411     ),
00412     cms.PSet(
00413       label  = cms.string("pvs:step1"),
00414       src    = cms.InputTag("offlinePrimaryVertices"),
00415       select = cms.string("abs(x)<1. & abs(y)<1. & abs(z)<20. & tracksSize>3 & !isFake"),
00416       max    = cms.int32(10),
00417     ),
00418     cms.PSet(
00419       label  = cms.string("pvs:step2"),
00420       src    = cms.InputTag("offlinePrimaryVertices"),
00421       select = cms.string("abs(x)<1. & abs(y)<1. & abs(z)<20. & tracksSize>3 & !isFake"),
00422       max    = cms.int32(8),
00423     ),
00424     cms.PSet(
00425       label  = cms.string("pvs:step3"),
00426       src    = cms.InputTag("offlinePrimaryVertices"),
00427       select = cms.string("abs(x)<1. & abs(y)<1. & abs(z)<20. & tracksSize>3 & !isFake"),
00428       max    = cms.int32(6),
00429     ),
00430     cms.PSet(
00431       label  = cms.string("pvs:step4"),
00432       src    = cms.InputTag("offlinePrimaryVertices"),
00433       select = cms.string("abs(x)<1. & abs(y)<1. & abs(z)<20. & tracksSize>3 & !isFake"),
00434       max    = cms.int32(4),
00435     ),
00436     cms.PSet(
00437       label  = cms.string("pvs:step5"),
00438       src    = cms.InputTag("offlinePrimaryVertices"),
00439       select = cms.string("abs(x)<1. & abs(y)<1. & abs(z)<20. & tracksSize>3 & !isFake"),
00440       max    = cms.int32(2),
00441     ),
00442   )
00443 )
00444 
00445 topSingleElectronLooseDQM_PU = cms.EDAnalyzer("TopSingleLeptonDQM",
00446   ## ------------------------------------------------------
00447   ## SETUP
00448   ##
00449   ## configuration of the MonitoringEnsemble(s)
00450   ## [mandatory] : optional PSets may be omitted
00451   ##
00452   setup = cms.PSet(
00453     ## sub-directory to write the monitor histograms to
00454     ## [mandatory] : should not be changed w/o explicit
00455     ## communication to TopCom!
00456     directory = cms.string("Physics/Top/TopSingleElectronLooseDQM_PU/"),
00457     ## [mandatory]
00458     sources = cms.PSet(
00459       muons = cms.InputTag("muons"),
00460       elecs = cms.InputTag("gsfElectrons"),
00461       jets  = cms.InputTag("ak5CaloJets"),
00462       mets  = cms.VInputTag("met", "tcMet", "pfMet"),
00463       pvs   = cms.InputTag("offlinePrimaryVertices")
00464 
00465     ),
00466     ## [optional] : when omitted the verbosity level is set to STANDARD
00467     monitoring = cms.PSet(
00468       verbosity = cms.string("DEBUG")
00469     ),
00470     ## [optional] : when omitted all monitoring plots for primary vertices
00471     ## will be filled w/o extras
00472     pvExtras = cms.PSet(
00473       ## when omitted electron plots will be filled w/o additional pre-
00474       ## selection of the primary vertex candidates                                                                                            
00475       select = cms.string("abs(x)<1. & abs(y)<1. & abs(z)<20. & tracksSize>3 & !isFake")
00476     ),
00477     ## [optional] : when omitted all monitoring plots for electrons
00478     ## will be filled w/o extras
00479     elecExtras = cms.PSet(
00480       ## when omitted electron plots will be filled w/o cut on electronId
00481       electronId = cms.PSet( src = cms.InputTag("simpleEleId70cIso"), pattern = cms.int32(1) ),
00482       ## when omitted electron plots will be filled w/o additional pre-
00483       ## selection of the electron candidates
00484       select     = cms.string("pt>15 & abs(eta)<2.5"),
00485       ## when omitted isolated electron multiplicity plot will be equi-
00486       ## valent to inclusive electron multiplicity plot                                                    
00487       isolation  = cms.string("(dr03TkSumPt+dr03EcalRecHitSumEt+dr03HcalTowerSumEt)/pt<0.1"),                                                   
00488     ),
00489     ## [optional] : when omitted all monitoring plots for jets
00490     ## will be filled w/o extras
00491     jetExtras = cms.PSet(
00492       ## when omitted monitor plots for pt will be filled from uncorrected
00493       ## jets
00494       jetCorrector = cms.string("ak5CaloL2L3"),
00495       ## when omitted monitor plots will be filled w/o additional cut on
00496       ## jetID                                                   
00497       jetID  = cms.PSet(
00498         label  = cms.InputTag("ak5JetID"),
00499         select = cms.string("fHPD < 0.98 & n90Hits>1 & restrictedEMF<1")
00500       ),
00501       ## when omitted no extra selection will be applied on jets before
00502       ## filling the monitor histograms; if jetCorrector is present the
00503       ## selection will be applied to corrected jets
00504       select = cms.string("pt>15 & abs(eta)<2.5 & emEnergyFraction>0.01"), 
00505       ## when omitted monitor histograms for b-tagging will not be filled                                                   
00506       jetBTaggers  = cms.PSet(
00507         trackCountingEff = cms.PSet(
00508           label = cms.InputTag("trackCountingHighEffBJetTags" ),
00509           workingPoint = cms.double(1.25)
00510         ),
00511         trackCountingPur = cms.PSet(
00512           label = cms.InputTag("trackCountingHighPurBJetTags" ),
00513           workingPoint = cms.double(3.00)
00514         ),
00515         secondaryVertex  = cms.PSet(
00516           label = cms.InputTag("simpleSecondaryVertexHighEffBJetTags"),
00517           workingPoint = cms.double(2.05)
00518         )
00519       ),
00520     ),
00521     ## [optional] : when omitted no mass window will be applied
00522     ## for the W mass before filling the event monitoring plots
00523     massExtras = cms.PSet(
00524       lowerEdge = cms.double( 70.),
00525       upperEdge = cms.double(110.)
00526     ),
00527     ## [optional] : when omitted the monitoring plots for triggering
00528     ## will be empty
00529     #triggerExtras = cms.PSet(
00530     #  src   = cms.InputTag("TriggerResults","","HLT"),
00531     #  paths = cms.vstring(['HLT_Ele15_LW_L1R:HLT_QuadJetU15'])
00532     #)
00533   ),
00534   ## ------------------------------------------------------
00535   ## PRESELECTION
00536   ##
00537   ## setup of the event preselection, which will not
00538   ## be monitored
00539   ## [mandatory] : but may be empty
00540   ##
00541   preselection = cms.PSet(
00542     ## [optional] : when omitted no preselection is applied
00543     #trigger = cms.PSet(
00544     #  src    = cms.InputTag("TriggerResults","","HLT"),
00545     #  select = cms.vstring(['HLT_Ele15_SW_CaloEleId_L1R'])
00546     #),
00547     ## [optional] : when omitted no preselection is applied
00548     vertex = cms.PSet(
00549       src    = cms.InputTag("offlinePrimaryVertices"),
00550       select = cms.string('abs(x)<1. & abs(y)<1. & abs(z)<20. & tracksSize>3 & !isFake')
00551     )
00552   ),
00553   ## ------------------------------------------------------
00554   ## SELECTION
00555   ##
00556   ## monitor histrograms are filled after each selection
00557   ## step, the selection is applied in the order defined
00558   ## by this vector
00559   ## [mandatory] : may be empty or contain an arbitrary
00560   ## number of PSets
00561   selection = cms.VPSet(
00562     cms.PSet(
00563       label  = cms.string("elecs:step0"),
00564       src    = cms.InputTag("gsfElectrons"),
00565       electronId = cms.PSet( src = cms.InputTag("simpleEleId70cIso"), pattern = cms.int32(1) ),
00566       select = cms.string("pt>15 & abs(eta)<2.5"),
00567       min    = cms.int32(1),
00568     ),
00569     cms.PSet(
00570       label  = cms.string("pvs:step1"),
00571       src    = cms.InputTag("offlinePrimaryVertices"),
00572       select = cms.string("abs(x)<1. & abs(y)<1. & abs(z)<20. & tracksSize>3 & !isFake"),
00573       max    = cms.int32(10),
00574     ),
00575     cms.PSet(
00576       label  = cms.string("pvs:step2"),
00577       src    = cms.InputTag("offlinePrimaryVertices"),
00578       select = cms.string("abs(x)<1. & abs(y)<1. & abs(z)<20. & tracksSize>3 & !isFake"),
00579       max    = cms.int32(8),
00580     ),
00581     cms.PSet(
00582       label  = cms.string("pvs:step3"),
00583       src    = cms.InputTag("offlinePrimaryVertices"),
00584       select = cms.string("abs(x)<1. & abs(y)<1. & abs(z)<20. & tracksSize>3 & !isFake"),
00585       max    = cms.int32(6),
00586     ),
00587     cms.PSet(
00588       label  = cms.string("pvs:step4"),
00589       src    = cms.InputTag("offlinePrimaryVertices"),
00590       select = cms.string("abs(x)<1. & abs(y)<1. & abs(z)<20. & tracksSize>3 & !isFake"),
00591       max    = cms.int32(4),
00592     ),
00593     cms.PSet(
00594       label  = cms.string("pvs:step5"),
00595       src    = cms.InputTag("offlinePrimaryVertices"),
00596       select = cms.string("abs(x)<1. & abs(y)<1. & abs(z)<20. & tracksSize>3 & !isFake"),
00597       max    = cms.int32(2),
00598     ),
00599   )
00600 )
00601 
00602 topSingleElectronMediumDQM_PU = cms.EDAnalyzer("TopSingleLeptonDQM",
00603   ## ------------------------------------------------------
00604   ## SETUP
00605   ##
00606   ## configuration of the MonitoringEnsemble(s)
00607   ## [mandatory] : optional PSets may be omitted
00608   ##
00609   setup = cms.PSet(
00610     ## sub-directory to write the monitor histograms to
00611     ## [mandatory] : should not be changed w/o explicit
00612     ## communication to TopCom!
00613     directory = cms.string("Physics/Top/TopSingleElectronMediumDQM_PU/"),
00614     ## [mandatory]
00615     sources = cms.PSet(
00616       muons = cms.InputTag("muons"),
00617       elecs = cms.InputTag("gsfElectrons"),
00618       jets  = cms.InputTag("ak5CaloJets"),
00619       mets  = cms.VInputTag("met", "tcMet", "pfMet"),
00620       pvs   = cms.InputTag("offlinePrimaryVertices")
00621 
00622     ),
00623     ## [optional] : when omitted the verbosity level is set to STANDARD
00624     monitoring = cms.PSet(
00625       verbosity = cms.string("DEBUG")
00626     ),
00627     ## [optional] : when omitted all monitoring plots for primary vertices
00628     ## will be filled w/o extras
00629     pvExtras = cms.PSet(
00630       ## when omitted electron plots will be filled w/o additional pre-
00631       ## selection of the primary vertex candidates                                                                                            
00632       select = cms.string("abs(x)<1. & abs(y)<1. & abs(z)<20. & tracksSize>3 & !isFake")
00633     ),
00634     ## [optional] : when omitted all monitoring plots for electrons
00635     ## will be filled w/o extras
00636     elecExtras = cms.PSet(
00637       ## when omitted electron plots will be filled w/o cut on electronId
00638       electronId = cms.PSet( src = cms.InputTag("simpleEleId70cIso"), pattern = cms.int32(1) ),
00639       ## when omitted electron plots will be filled w/o additional pre-
00640       ## selection of the electron candidates
00641       select     = cms.string("pt>25 & abs(eta)<2.5 & (dr03TkSumPt+dr03EcalRecHitSumEt+dr03HcalTowerSumEt)/pt<0.1"),
00642       ## when omitted isolated electron multiplicity plot will be equi-
00643       ## valent to inclusive electron multiplicity plot 
00644       isolation  = cms.string("(dr03TkSumPt+dr03EcalRecHitSumEt+dr03HcalTowerSumEt)/pt<0.1"),
00645     ),
00646     ## [optional] : when omitted all monitoring plots for jets
00647     ## will be filled w/o extras
00648     jetExtras = cms.PSet(
00649       ## when omitted monitor plots for pt will be filled from uncorrected
00650       ## jets
00651       jetCorrector = cms.string("ak5CaloL2L3"),
00652       ## when omitted monitor plots will be filled w/o additional cut on
00653       ## jetID
00654       jetID  = cms.PSet(
00655         label  = cms.InputTag("ak5JetID"),
00656         select = cms.string("fHPD < 0.98 & n90Hits>1 & restrictedEMF<1")
00657       ),
00658       ## when omitted no extra selection will be applied on jets before
00659       ## filling the monitor histograms; if jetCorrector is present the
00660       ## selection will be applied to corrected jets 
00661       select = cms.string("pt>15 & abs(eta)<2.5 & emEnergyFraction>0.01"),
00662       ## when omitted monitor histograms for b-tagging will not be filled
00663       jetBTaggers  = cms.PSet(
00664         trackCountingEff = cms.PSet(
00665           label = cms.InputTag("trackCountingHighEffBJetTags" ),
00666           workingPoint = cms.double(1.25)
00667         ),
00668         trackCountingPur = cms.PSet(
00669           label = cms.InputTag("trackCountingHighPurBJetTags" ),
00670           workingPoint = cms.double(3.00)
00671         ),
00672         secondaryVertex  = cms.PSet(
00673           label = cms.InputTag("simpleSecondaryVertexHighEffBJetTags"),
00674           workingPoint = cms.double(2.05)
00675         )
00676       ),
00677     ),
00678     ## [optional] : when omitted no mass window will be applied
00679     ## for the W mass before filling the event monitoring plots
00680     massExtras = cms.PSet(
00681       lowerEdge = cms.double( 70.),
00682       upperEdge = cms.double(110.)
00683     ),
00684     ## [optional] : when omitted the monitoring plots for triggering
00685     ## will be empty
00686     #triggerExtras = cms.PSet(
00687     #  src   = cms.InputTag("TriggerResults","","HLT"),
00688     #  paths = cms.vstring([ 'HLT_Ele15_LW_L1R:HLT_QuadJetU15'])
00689     #)
00690   ),
00691   ## ------------------------------------------------------
00692   ## PRESELECTION
00693   ##
00694   ## setup of the event preselection, which will not
00695   ## be monitored
00696   ## [mandatory] : but may be empty
00697   ##
00698   preselection = cms.PSet(
00699     ## [optional] : when omitted no preselection is applied
00700     #trigger = cms.PSet(
00701     #  src    = cms.InputTag("TriggerResults","","HLT"),
00702     #  select = cms.vstring(['HLT_Ele15_SW_CaloEleId_L1R'])
00703     #),
00704     ## [optional] : when omitted no preselection is applied
00705     vertex = cms.PSet(
00706       src    = cms.InputTag("offlinePrimaryVertices"),
00707       select = cms.string('abs(x)<1. & abs(y)<1. & abs(z)<20. & tracksSize>3 & !isFake')
00708     )
00709   ),
00710   ## ------------------------------------------------------
00711   ## SELECTION
00712   ##
00713   ## monitor histrograms are filled after each selection
00714   ## step, the selection is applied in the order defined
00715   ## by this vector
00716   ## [mandatory] : may be empty or contain an arbitrary
00717   ## number of PSets
00718   selection = cms.VPSet(
00719     cms.PSet(
00720       label = cms.string("elecs:step0"),
00721       src   = cms.InputTag("gsfElectrons"),
00722       electronId = cms.PSet( src = cms.InputTag("simpleEleId70cIso"), pattern = cms.int32(1) ),
00723       select = cms.string("pt>25 & abs(eta)<2.5 & (dr03TkSumPt+dr03EcalRecHitSumEt+dr03HcalTowerSumEt)/pt<0.1"),
00724       min = cms.int32(1),
00725       max = cms.int32(1),
00726     ),
00727     cms.PSet(
00728       label  = cms.string("pvs:step1"),
00729       src    = cms.InputTag("offlinePrimaryVertices"),
00730       select = cms.string("abs(x)<1. & abs(y)<1. & abs(z)<20. & tracksSize>3 & !isFake"),
00731       max    = cms.int32(10),
00732     ),
00733     cms.PSet(
00734       label  = cms.string("pvs:step2"),
00735       src    = cms.InputTag("offlinePrimaryVertices"),
00736       select = cms.string("abs(x)<1. & abs(y)<1. & abs(z)<20. & tracksSize>3 & !isFake"),
00737       max    = cms.int32(8),
00738     ),
00739     cms.PSet(
00740       label  = cms.string("pvs:step3"),
00741       src    = cms.InputTag("offlinePrimaryVertices"),
00742       select = cms.string("abs(x)<1. & abs(y)<1. & abs(z)<20. & tracksSize>3 & !isFake"),
00743       max    = cms.int32(6),
00744     ),
00745     cms.PSet(
00746       label  = cms.string("pvs:step4"),
00747       src    = cms.InputTag("offlinePrimaryVertices"),
00748       select = cms.string("abs(x)<1. & abs(y)<1. & abs(z)<20. & tracksSize>3 & !isFake"),
00749       max    = cms.int32(4),
00750     ),
00751     cms.PSet(
00752       label  = cms.string("pvs:step5"),
00753       src    = cms.InputTag("offlinePrimaryVertices"),
00754       select = cms.string("abs(x)<1. & abs(y)<1. & abs(z)<20. & tracksSize>3 & !isFake"),
00755       max    = cms.int32(2),
00756     ),
00757   )
00758 )