CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/HLTriggerOffline/Top/python/topDiLeptonHLTEventDQM_cfi.py

Go to the documentation of this file.
00001 import FWCore.ParameterSet.Config as cms
00002 
00003 topDiLeptonTriggerDQM = cms.EDAnalyzer("TopHLTDiLeptonOfflineDQM",
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/TopDiLeptonDQM/"),
00015 
00016     ## [mandatory]
00017     sources = cms.PSet(
00018       muons = cms.InputTag("muons"),
00019       elecs = cms.InputTag("gsfElectrons"),
00020       jets  = cms.InputTag("ak5CaloJets"),
00021       mets  = cms.VInputTag("met", "tcMet", "pfMet")
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 electrons
00028     ## will be filled w/o extras
00029     elecExtras = cms.PSet(
00030       ## when omitted electron plots will be filled w/o cut on electronId
00031       electronId = cms.PSet(
00032         src = cms.InputTag("simpleEleId70cIso"),
00033         #src     = cms.InputTag("eidRobustLoose"),
00034         pattern = cms.int32(1)
00035       ),
00036       ## when omitted electron plots will be filled w/o additional pre-
00037       ## selection of the electron candidates                                                 
00038       select = cms.string("pt>10. && abs(eta)<2.4 && abs(gsfTrack.d0)<1. && abs(gsfTrack.dz)<20."),
00039       ## when omitted isolated electron multiplicity plot will be equi-
00040       ## valent to inclusive electron multiplicity plot                                                
00041       isolation = cms.string("(dr03TkSumPt+dr03EcalRecHitSumEt+dr03HcalTowerSumEt)/pt<0.2"),
00042     ),
00043     ## [optional] : when omitted all monitoring plots for muons
00044     ## will be filled w/o extras
00045     muonExtras = cms.PSet(
00046       ## when omitted muon plots will be filled w/o additional pre-
00047       ## selection of the muon candidates   
00048       select = cms.string("pt>10. && abs(eta)<2.4 && abs(globalTrack.d0)<1. && abs(globalTrack.dz)<20."),
00049       ## when omitted isolated muon multiplicity plot will be equi-
00050       ## valent to inclusive muon multiplicity plot                                                  
00051       isolation = cms.string("(isolationR03.sumPt+isolationR03.emEt+isolationR03.hadEt)/pt<0.2"),
00052     ),
00053     ## [optional] : when omitted all monitoring plots for jets will
00054     ## be filled from uncorrected jets
00055     jetExtras = cms.PSet(
00056       ## when omitted monitor plots for pt will be filled from uncorrected
00057       ## jets    
00058       jetCorrector = cms.string("ak5CaloL2L3"),
00059       ## when omitted monitor plots will be filled w/o additional cut on
00060       ## jetID                                                   
00061       jetID  = cms.PSet(
00062         label  = cms.InputTag("ak5JetID"),
00063         select = cms.string("fHPD < 0.98 & n90Hits>1 & restrictedEMF<1")
00064       ),
00065       ## when omitted no extra selection will be applied on jets before
00066       ## filling the monitor histograms; if jetCorrector is present the
00067       ## selection will be applied to corrected jets
00068       select = cms.string("pt>30. & abs(eta)<2.4 & emEnergyFraction>0.01"), 
00069     ),
00070     ## [optional] : when omitted no mass window will be applied
00071     ## for the same flavor lepton monitoring plots 
00072     massExtras = cms.PSet(
00073       lowerEdge = cms.double( 76.0),
00074       upperEdge = cms.double(106.0)
00075     ),
00076     ## [optional] : when omitted all monitoring plots for triggering
00077     ## will be empty
00078     #triggerExtras = cms.PSet(
00079         #src = cms.InputTag("TriggerResults","","HLT"),
00080         #pathsELECMU = cms.vstring([ 'HLT_Mu9:HLT_Ele15_SW_L1R',
00081                                     #'HLT_Mu15:HLT_Ele15_SW_L1R',
00082                                     #'HLT_DoubleMu3:HLT_Ele15_SW_L1R',
00083                                     #'HLT_Ele15_SW_L1R:HLT_Mu9',
00084                                     #'HLT_Ele15_SW_L1R:HLT_DoubleMu3']),
00085         #pathsDIMUON = cms.vstring([ 'HLT_Mu15:HLT_Mu9',
00086                                     #'HLT_DoubleMu3:HLT_Mu9',
00087                                     #'HLT_Mu9:HLT_DoubleMu3',
00088                                     #'HLT_Mu15:HLT_DoubleMu3'])
00089     #)    
00090   ),
00091                                   
00092   ## ------------------------------------------------------
00093   ## PRESELECTION
00094   ##
00095   ## setup of the event preselection, which will not
00096   ## be monitored
00097   ## [mandatory] : but may be empty
00098   ##
00099   preselection = cms.PSet(
00100     ## [optional] : when omitted no preselection is applied
00101     trigger = cms.PSet(
00102         src    = cms.InputTag("TriggerResults","","HLT"),
00103         select = cms.vstring(['HLT_Mu9','HLT_Ele15_SW_L1R','HLT_DoubleMu3'])
00104     ),
00105     ## [optional] : when omitted no preselection is applied
00106     vertex = cms.PSet(
00107       src    = cms.InputTag("offlinePrimaryVertices"),
00108       select = cms.string('abs(x)<1. && abs(y)<1. && abs(z)<20. && tracksSize>3 && !isFake')
00109     )
00110   ),
00111   
00112   ## ------------------------------------------------------    
00113   ## SELECTION
00114   ##
00115   ## monitor histrograms are filled after each selection
00116   ## step, the selection is applied in the order defined
00117   ## by this vector
00118   ## [mandatory] : may be empty or contain an arbitrary
00119   ## number of PSets as given below:
00120   ##
00121   selection = cms.VPSet(
00122     #cms.PSet(
00123       ### [mandatory] : 'jets' defines the objects to
00124       ### select on, 'step0' labels the histograms;
00125       ### instead of 'step0' you can choose any label
00126       #label  = cms.string("empty:step0")
00127     #),
00128     cms.PSet(
00129       label  = cms.string("Hlt:step0"),
00130       src    = cms.InputTag(""),
00131       select = cms.string(""),
00132       min    = cms.int32(0),
00133       max    = cms.int32(0),
00134     ),
00135 
00136     cms.PSet(
00137       label  = cms.string("muons:step1"),
00138       src    = cms.InputTag("muons"),
00139       select = cms.string("pt>20 & abs(eta)<2.4 & isGlobalMuon & innerTrack.numberOfValidHits>10 & globalTrack.normalizedChi2>-1 & globalTrack.normalizedChi2<10"),
00140       min    = cms.int32(2),
00141       max    = cms.int32(2),
00142     ),
00143     cms.PSet(
00144       label  = cms.string("jets/calo:step2"),
00145       src    = cms.InputTag("ak5CaloJets"),
00146       jetCorrector = cms.string("ak5CaloL2L3"),
00147       select = cms.string("pt>30. & abs(eta)<2.4 & emEnergyFraction>0.01"),
00148       jetID  = cms.PSet(
00149         label  = cms.InputTag("ak5JetID"),
00150         select = cms.string("fHPD < 0.98 & n90Hits>1 & restrictedEMF<1")
00151       ),
00152       min = cms.int32(2),
00153       #max = cms.int32(2),
00154     )
00155   )
00156 )
00157 
00158 
00159 
00160 DiMuonDQM = cms.EDAnalyzer("TopHLTDiLeptonOfflineDQM",
00161   ## ------------------------------------------------------
00162   ## SETUP
00163   ##
00164   ## configuration of the MonitoringEnsemble(s)
00165   ## [mandatory] : optional PSets may be omitted
00166   ##
00167   setup = cms.PSet(
00168     ## sub-directory to write the monitor histograms to
00169     ## [mandatory] : should not be changed w/o explicit 
00170     ## communication to TopCom!
00171     directory = cms.string("Physics/Top/TopDiMuonDQM/"),
00172 
00173     ## [mandatory]
00174     sources = cms.PSet(
00175       muons = cms.InputTag("muons"),
00176       elecs = cms.InputTag("gsfElectrons"),
00177       jets  = cms.InputTag("ak5CaloJets"),
00178       mets  = cms.VInputTag("met", "tcMet", "pfMet")
00179     ),
00180     ## [optional] : when omitted the verbosity level is set to STANDARD
00181     monitoring = cms.PSet(
00182       verbosity = cms.string("DEBUG")
00183     ),
00184     ## [optional] : when omitted all monitoring plots for electrons
00185     ## will be filled w/o extras
00186     elecExtras = cms.PSet(
00187       ## when omitted electron plots will be filled w/o cut on electronId
00188       electronId = cms.PSet(
00189         src = cms.InputTag("simpleEleId70cIso"),
00190         #src     = cms.InputTag("eidRobustLoose"),
00191         pattern = cms.int32(1)
00192       ),
00193       ## when omitted electron plots will be filled w/o additional pre-
00194       ## selection of the electron candidates                                                 
00195       select = cms.string("pt>500. && abs(eta)<2.4 && abs(gsfTrack.d0)<1. && abs(gsfTrack.dz)<20."),
00196       ## when omitted isolated electron multiplicity plot will be equi-
00197       ## valent to inclusive electron multiplicity plot                                                
00198       isolation = cms.string("(dr03TkSumPt+dr03EcalRecHitSumEt+dr03HcalTowerSumEt)/pt<0.2"),
00199     ),
00200     ## [optional] : when omitted all monitoring plots for muons
00201     ## will be filled w/o extras
00202     muonExtras = cms.PSet(
00203       ## when omitted muon plots will be filled w/o additional pre-
00204       ## selection of the muon candidates   
00205       select = cms.string("pt>20. && abs(eta)<2.4 && abs(globalTrack.d0)<1. && abs(globalTrack.dz)<20."),
00206       ## when omitted isolated muon multiplicity plot will be equi-
00207       ## valent to inclusive muon multiplicity plot                                                  
00208       isolation = cms.string("(isolationR03.sumPt+isolationR03.emEt+isolationR03.hadEt)/pt<0.2"),
00209     ),
00210     ## [optional] : when omitted all monitoring plots for jets will
00211     ## be filled from uncorrected jets
00212     jetExtras = cms.PSet(
00213       ## when omitted monitor plots for pt will be filled from uncorrected
00214       ## jets    
00215       jetCorrector = cms.string("ak5CaloL2L3"),
00216       ## when omitted monitor plots will be filled w/o additional cut on
00217       ## jetID                                                   
00218       jetID  = cms.PSet(
00219         label  = cms.InputTag("ak5JetID"),
00220         select = cms.string("fHPD < 0.98 & n90Hits>1 & restrictedEMF<1")
00221       ),
00222       ## when omitted no extra selection will be applied on jets before
00223       ## filling the monitor histograms; if jetCorrector is present the
00224       ## selection will be applied to corrected jets
00225       select = cms.string("pt>30. & abs(eta)<2.4 & emEnergyFraction>0.01"), 
00226     ),
00227     ## [optional] : when omitted no mass window will be applied
00228     ## for the same flavor lepton monitoring plots 
00229     massExtras = cms.PSet(
00230       lowerEdge = cms.double( 76.0),
00231       upperEdge = cms.double(106.0)
00232     ),
00233     ## [optional] : when omitted all monitoring plots for triggering
00234     ## will be empty
00235     #triggerExtras = cms.PSet(
00236         #src = cms.InputTag("TriggerResults","","HLT"),
00237         #pathsELECMU = cms.vstring([ 'HLT_Mu9:HLT_Ele15_SW_L1R',
00238                                     #'HLT_Mu15:HLT_Ele15_SW_L1R',
00239                                     #'HLT_DoubleMu3:HLT_Ele15_SW_L1R',
00240                                     #'HLT_Ele15_SW_L1R:HLT_Mu9',
00241                                     #'HLT_Ele15_SW_L1R:HLT_DoubleMu3']),
00242         #pathsDIMUON = cms.vstring([ 'HLT_Mu15:HLT_Mu9',
00243                                     #'HLT_DoubleMu3:HLT_Mu9',
00244                                     #'HLT_Mu9:HLT_DoubleMu3',
00245                                     #'HLT_Mu15:HLT_DoubleMu3'])
00246     #)    
00247   ),
00248                                   
00249   ## ------------------------------------------------------
00250   ## PRESELECTION
00251   ##
00252   ## setup of the event preselection, which will not
00253   ## be monitored
00254   ## [mandatory] : but may be empty
00255   ##
00256   preselection = cms.PSet(
00257     ## [optional] : when omitted no preselection is applied
00258     trigger = cms.PSet(
00259         src    = cms.InputTag("TriggerResults","","HLT"),
00260         select = cms.vstring(['HLT_Mu9','HLT_Ele15_SW_L1R','HLT_DoubleMu3'])
00261     ),
00262     ## [optional] : when omitted no preselection is applied
00263     vertex = cms.PSet(
00264       src    = cms.InputTag("offlinePrimaryVertices"),
00265       select = cms.string('abs(x)<1. && abs(y)<1. && abs(z)<20. && tracksSize>3 && !isFake')
00266     )
00267   ),
00268   
00269   ## ------------------------------------------------------    
00270   ## SELECTION
00271   ##
00272   ## monitor histrograms are filled after each selection
00273   ## step, the selection is applied in the order defined
00274   ## by this vector
00275   ## [mandatory] : may be empty or contain an arbitrary
00276   ## number of PSets as given below:
00277   ##
00278   selection = cms.VPSet(
00279     #cms.PSet(
00280       ### [mandatory] : 'jets' defines the objects to
00281       ### select on, 'step0' labels the histograms;
00282       ### instead of 'step0' you can choose any label
00283       #label  = cms.string("empty:step0")
00284     #),
00285     cms.PSet(
00286       label  = cms.string("Hlt:step0"),
00287       src    = cms.InputTag(""),
00288       select = cms.string(""),
00289       min    = cms.int32(0),
00290       max    = cms.int32(0),
00291     ),
00292 
00293     cms.PSet(
00294       label  = cms.string("muons:step1"),
00295       src    = cms.InputTag("muons"),
00296       select = cms.string("pt>20 & abs(eta)<2.4 & isGlobalMuon & innerTrack.numberOfValidHits>10 & globalTrack.normalizedChi2>-1 & globalTrack.normalizedChi2<10"),
00297       min    = cms.int32(2),
00298       max    = cms.int32(2),
00299     ),
00300     cms.PSet(
00301       label  = cms.string("jets/calo:step2"),
00302       src    = cms.InputTag("ak5CaloJets"),
00303       jetCorrector = cms.string("ak5CaloL2L3"),
00304       select = cms.string("pt>30. & abs(eta)<2.4 & emEnergyFraction>0.01"),
00305       jetID  = cms.PSet(
00306         label  = cms.InputTag("ak5JetID"),
00307         select = cms.string("fHPD < 0.98 & n90Hits>1 & restrictedEMF<1")
00308       ),
00309       min = cms.int32(2),
00310       #max = cms.int32(2),
00311     ),
00312   ),
00313 )
00314 
00315 DiElectronDQM = cms.EDAnalyzer("TopHLTDiLeptonOfflineDQM",
00316   ## ------------------------------------------------------
00317   ## SETUP
00318   ##
00319   ## configuration of the MonitoringEnsemble(s)
00320   ## [mandatory] : optional PSets may be omitted
00321   ##
00322   setup = cms.PSet(
00323     ## sub-directory to write the monitor histograms to
00324     ## [mandatory] : should not be changed w/o explicit 
00325     ## communication to TopCom!
00326     directory = cms.string("Physics/Top/TopDiElectronDQM/"),
00327 
00328     ## [mandatory]
00329     sources = cms.PSet(
00330       muons = cms.InputTag("muons"),
00331       elecs = cms.InputTag("gsfElectrons"),
00332       jets  = cms.InputTag("ak5CaloJets"),
00333       mets  = cms.VInputTag("met", "tcMet", "pfMet")
00334     ),
00335     ## [optional] : when omitted the verbosity level is set to STANDARD
00336     monitoring = cms.PSet(
00337       verbosity = cms.string("DEBUG")
00338     ),
00339     ## [optional] : when omitted all monitoring plots for electrons
00340     ## will be filled w/o extras
00341     elecExtras = cms.PSet(
00342       ## when omitted electron plots will be filled w/o cut on electronId
00343       electronId = cms.PSet(
00344         src = cms.InputTag("simpleEleId70cIso"),
00345         #src     = cms.InputTag("eidRobustLoose"),
00346         pattern = cms.int32(1)
00347       ),
00348       ## when omitted electron plots will be filled w/o additional pre-
00349       ## selection of the electron candidates                                                 
00350       select = cms.string("pt>10. && abs(eta)<2.4 && abs(gsfTrack.d0)<1. && abs(gsfTrack.dz)<20."),
00351       ## when omitted isolated electron multiplicity plot will be equi-
00352       ## valent to inclusive electron multiplicity plot                                                
00353       isolation = cms.string("(dr03TkSumPt+dr03EcalRecHitSumEt+dr03HcalTowerSumEt)/pt<0.2"),
00354     ),
00355     ## [optional] : when omitted all monitoring plots for muons
00356     ## will be filled w/o extras
00357     muonExtras = cms.PSet(
00358       ## when omitted muon plots will be filled w/o additional pre-
00359       ## selection of the muon candidates   
00360       select = cms.string("pt>500. && abs(eta)<2.4 && abs(globalTrack.d0)<1. && abs(globalTrack.dz)<20."),
00361       ## when omitted isolated muon multiplicity plot will be equi-
00362       ## valent to inclusive muon multiplicity plot                                                  
00363       isolation = cms.string("(isolationR03.sumPt+isolationR03.emEt+isolationR03.hadEt)/pt<0.2"),
00364     ),
00365     ## [optional] : when omitted all monitoring plots for jets will
00366     ## be filled from uncorrected jets
00367     jetExtras = cms.PSet(
00368       ## when omitted monitor plots for pt will be filled from uncorrected
00369       ## jets    
00370       jetCorrector = cms.string("ak5CaloL2L3"),
00371       ## when omitted monitor plots will be filled w/o additional cut on
00372       ## jetID                                                   
00373       jetID  = cms.PSet(
00374         label  = cms.InputTag("ak5JetID"),
00375         select = cms.string("fHPD < 0.98 & n90Hits>1 & restrictedEMF<1")
00376       ),
00377       ## when omitted no extra selection will be applied on jets before
00378       ## filling the monitor histograms; if jetCorrector is present the
00379       ## selection will be applied to corrected jets
00380       select = cms.string("pt>30. & abs(eta)<2.4 & emEnergyFraction>0.01"), 
00381     ),
00382     ## [optional] : when omitted no mass window will be applied
00383     ## for the same flavor lepton monitoring plots 
00384     massExtras = cms.PSet(
00385       lowerEdge = cms.double( 76.0),
00386       upperEdge = cms.double(106.0)
00387     ),
00388     ## [optional] : when omitted all monitoring plots for triggering
00389     ## will be empty
00390     #triggerExtras = cms.PSet(
00391         #src = cms.InputTag("TriggerResults","","HLT"),
00392         #pathsELECMU = cms.vstring([ 'HLT_Mu9:HLT_Ele15_SW_L1R',
00393                                     #'HLT_Mu15:HLT_Ele15_SW_L1R',
00394                                     #'HLT_DoubleMu3:HLT_Ele15_SW_L1R',
00395                                     #'HLT_Ele15_SW_L1R:HLT_Mu9',
00396                                     #'HLT_Ele15_SW_L1R:HLT_DoubleMu3']),
00397         #pathsDIMUON = cms.vstring([ 'HLT_Mu15:HLT_Mu9',
00398                                     #'HLT_DoubleMu3:HLT_Mu9',
00399                                     #'HLT_Mu9:HLT_DoubleMu3',
00400                                     #'HLT_Mu15:HLT_DoubleMu3'])
00401     #)    
00402   ),
00403                                   
00404   ## ------------------------------------------------------
00405   ## PRESELECTION
00406   ##
00407   ## setup of the event preselection, which will not
00408   ## be monitored
00409   ## [mandatory] : but may be empty
00410   ##
00411   preselection = cms.PSet(
00412     ## [optional] : when omitted no preselection is applied
00413     trigger = cms.PSet(
00414         src    = cms.InputTag("TriggerResults","","HLT"),
00415         select = cms.vstring(['HLT_Mu9','HLT_Ele15_SW_L1R','HLT_DoubleMu3'])
00416     ),
00417     ## [optional] : when omitted no preselection is applied
00418     vertex = cms.PSet(
00419       src    = cms.InputTag("offlinePrimaryVertices"),
00420       select = cms.string('abs(x)<1. && abs(y)<1. && abs(z)<20. && tracksSize>3 && !isFake')
00421     )
00422   ),
00423   
00424   ## ------------------------------------------------------    
00425   ## SELECTION
00426   ##
00427   ## monitor histrograms are filled after each selection
00428   ## step, the selection is applied in the order defined
00429   ## by this vector
00430   ## [mandatory] : may be empty or contain an arbitrary
00431   ## number of PSets as given below:
00432   ##
00433   selection = cms.VPSet(
00434     #cms.PSet(
00435       ### [mandatory] : 'jets' defines the objects to
00436       ### select on, 'step0' labels the histograms;
00437       ### instead of 'step0' you can choose any label
00438       #label  = cms.string("empty:step0")
00439     #),
00440     cms.PSet(
00441       label  = cms.string("Hlt:step0"),
00442       src    = cms.InputTag(""),
00443       select = cms.string(""),
00444       min    = cms.int32(0),
00445       max    = cms.int32(0),
00446     ),
00447 
00448     cms.PSet(
00449       label = cms.string("elecs:step1"),
00450       src   = cms.InputTag("gsfElectrons"),
00451       electronId = cms.PSet(
00452         src = cms.InputTag("simpleEleId70cIso"),
00453         pattern = cms.int32(1)
00454       ),
00455       select = cms.string("pt>20 & abs(eta)<2.4 & (dr03TkSumPt+dr03EcalRecHitSumEt+dr03HcalTowerSumEt)/pt<0.17"),
00456       min = cms.int32(2),
00457       max = cms.int32(2),
00458     ),
00459     cms.PSet(
00460       label  = cms.string("jets/calo:step2"),
00461       src    = cms.InputTag("ak5CaloJets"),
00462       jetCorrector = cms.string("ak5CaloL2L3"),
00463       select = cms.string("pt>30. & abs(eta)<2.4 & emEnergyFraction>0.01"),
00464       jetID  = cms.PSet(
00465         label  = cms.InputTag("ak5JetID"),
00466         select = cms.string("fHPD < 0.98 & n90Hits>1 & restrictedEMF<1")
00467       ),
00468       min = cms.int32(2),
00469       #max = cms.int32(2),
00470     ),
00471   ),
00472 )
00473 
00474 ElecMuonDQM = cms.EDAnalyzer("TopHLTDiLeptonOfflineDQM",
00475   ## ------------------------------------------------------
00476   ## SETUP
00477   ##
00478   ## configuration of the MonitoringEnsemble(s)
00479   ## [mandatory] : optional PSets may be omitted
00480   ##
00481   setup = cms.PSet(
00482     ## sub-directory to write the monitor histograms to
00483     ## [mandatory] : should not be changed w/o explicit 
00484     ## communication to TopCom!
00485     directory = cms.string("Physics/Top/TopElecMuonDQM/"),
00486 
00487     ## [mandatory]
00488     sources = cms.PSet(
00489       muons = cms.InputTag("muons"),
00490       elecs = cms.InputTag("gsfElectrons"),
00491       jets  = cms.InputTag("ak5CaloJets"),
00492       mets  = cms.VInputTag("met", "tcMet", "pfMet")
00493     ),
00494     ## [optional] : when omitted the verbosity level is set to STANDARD
00495     monitoring = cms.PSet(
00496       verbosity = cms.string("DEBUG")
00497     ),
00498     ## [optional] : when omitted all monitoring plots for electrons
00499     ## will be filled w/o extras
00500     elecExtras = cms.PSet(
00501       ## when omitted electron plots will be filled w/o cut on electronId
00502       electronId = cms.PSet(
00503         src = cms.InputTag("simpleEleId70cIso"),
00504         #src     = cms.InputTag("eidRobustLoose"),
00505         pattern = cms.int32(1)
00506       ),
00507       ## when omitted electron plots will be filled w/o additional pre-
00508       ## selection of the electron candidates                                                 
00509       select = cms.string("pt>10. && abs(eta)<2.4 && abs(gsfTrack.d0)<1. && abs(gsfTrack.dz)<20."),
00510       ## when omitted isolated electron multiplicity plot will be equi-
00511       ## valent to inclusive electron multiplicity plot                                                
00512       isolation = cms.string("(dr03TkSumPt+dr03EcalRecHitSumEt+dr03HcalTowerSumEt)/pt<0.2"),
00513     ),
00514     ## [optional] : when omitted all monitoring plots for muons
00515     ## will be filled w/o extras
00516     muonExtras = cms.PSet(
00517       ## when omitted muon plots will be filled w/o additional pre-
00518       ## selection of the muon candidates   
00519       select = cms.string("pt>10. && abs(eta)<2.4 && abs(globalTrack.d0)<1. && abs(globalTrack.dz)<20."),
00520       ## when omitted isolated muon multiplicity plot will be equi-
00521       ## valent to inclusive muon multiplicity plot                                                  
00522       isolation = cms.string("(isolationR03.sumPt+isolationR03.emEt+isolationR03.hadEt)/pt<0.2"),
00523     ),
00524     ## [optional] : when omitted all monitoring plots for jets will
00525     ## be filled from uncorrected jets
00526     jetExtras = cms.PSet(
00527       ## when omitted monitor plots for pt will be filled from uncorrected
00528       ## jets    
00529       jetCorrector = cms.string("ak5CaloL2L3"),
00530       ## when omitted monitor plots will be filled w/o additional cut on
00531       ## jetID                                                   
00532       jetID  = cms.PSet(
00533         label  = cms.InputTag("ak5JetID"),
00534         select = cms.string("fHPD < 0.98 & n90Hits>1 & restrictedEMF<1")
00535       ),
00536       ## when omitted no extra selection will be applied on jets before
00537       ## filling the monitor histograms; if jetCorrector is present the
00538       ## selection will be applied to corrected jets
00539       select = cms.string("pt>30. & abs(eta)<2.4 & emEnergyFraction>0.01"), 
00540     ),
00541     ## [optional] : when omitted no mass window will be applied
00542     ## for the same flavor lepton monitoring plots 
00543     massExtras = cms.PSet(
00544       lowerEdge = cms.double( 76.0),
00545       upperEdge = cms.double(106.0)
00546     ),
00547     ## [optional] : when omitted all monitoring plots for triggering
00548     ## will be empty
00549     #triggerExtras = cms.PSet(
00550         #src = cms.InputTag("TriggerResults","","HLT"),
00551         #pathsELECMU = cms.vstring([ 'HLT_Mu9:HLT_Ele15_SW_L1R',
00552                                     #'HLT_Mu15:HLT_Ele15_SW_L1R',
00553                                     #'HLT_DoubleMu3:HLT_Ele15_SW_L1R',
00554                                     #'HLT_Ele15_SW_L1R:HLT_Mu9',
00555                                     #'HLT_Ele15_SW_L1R:HLT_DoubleMu3']),
00556         #pathsDIMUON = cms.vstring([ 'HLT_Mu15:HLT_Mu9',
00557                                     #'HLT_DoubleMu3:HLT_Mu9',
00558                                     #'HLT_Mu9:HLT_DoubleMu3',
00559                                     #'HLT_Mu15:HLT_DoubleMu3'])
00560     #)    
00561   ),
00562                                   
00563   ## ------------------------------------------------------
00564   ## PRESELECTION
00565   ##
00566   ## setup of the event preselection, which will not
00567   ## be monitored
00568   ## [mandatory] : but may be empty
00569   ##
00570   preselection = cms.PSet(
00571     ## [optional] : when omitted no preselection is applied
00572     trigger = cms.PSet(
00573         src    = cms.InputTag("TriggerResults","","HLT"),
00574         select = cms.vstring(['HLT_Mu9','HLT_Ele15_SW_L1R','HLT_DoubleMu3'])
00575     ),
00576     ## [optional] : when omitted no preselection is applied
00577     vertex = cms.PSet(
00578       src    = cms.InputTag("offlinePrimaryVertices"),
00579       select = cms.string('abs(x)<1. && abs(y)<1. && abs(z)<20. && tracksSize>3 && !isFake')
00580     )
00581   ),
00582   
00583   ## ------------------------------------------------------    
00584   ## SELECTION
00585   ##
00586   ## monitor histrograms are filled after each selection
00587   ## step, the selection is applied in the order defined
00588   ## by this vector
00589   ## [mandatory] : may be empty or contain an arbitrary
00590   ## number of PSets as given below:
00591   ##
00592   selection = cms.VPSet(
00593     #cms.PSet(
00594       ### [mandatory] : 'jets' defines the objects to
00595       ### select on, 'step0' labels the histograms;
00596       ### instead of 'step0' you can choose any label
00597       #label  = cms.string("empty:step0")
00598     #),
00599     cms.PSet(
00600       label  = cms.string("Hlt:step0"),
00601       src    = cms.InputTag(""),
00602       select = cms.string(""),
00603       min    = cms.int32(0),
00604       max    = cms.int32(0),
00605     ),
00606 
00607     cms.PSet(
00608       label  = cms.string("muons:step1"),
00609       src    = cms.InputTag("muons"),
00610       select = cms.string("pt>20 & abs(eta)<2.4 & isGlobalMuon & innerTrack.numberOfValidHits>10 & globalTrack.normalizedChi2>-1 & globalTrack.normalizedChi2<10"),
00611       min    = cms.int32(1),
00612       max    = cms.int32(1),
00613     ),
00614     cms.PSet(
00615       label = cms.string("elecs:step2"),
00616       src   = cms.InputTag("gsfElectrons"),
00617       electronId = cms.PSet(
00618         src = cms.InputTag("simpleEleId70cIso"),
00619         pattern = cms.int32(1)
00620       ),
00621       select = cms.string("pt>20 & abs(eta)<2.4 & (dr03TkSumPt+dr03EcalRecHitSumEt+dr03HcalTowerSumEt)/pt<0.17"),
00622       min = cms.int32(1),
00623       max = cms.int32(1),
00624     ),
00625     cms.PSet(
00626       label  = cms.string("jets/calo:step3"),
00627       src    = cms.InputTag("ak5CaloJets"),
00628       jetCorrector = cms.string("ak5CaloL2L3"),
00629       select = cms.string("pt>30. & abs(eta)<2.4 & emEnergyFraction>0.01"),
00630       jetID  = cms.PSet(
00631         label  = cms.InputTag("ak5JetID"),
00632         select = cms.string("fHPD < 0.98 & n90Hits>1 & restrictedEMF<1")
00633       ),
00634       min = cms.int32(2),
00635       #max = cms.int32(2),
00636     ),
00637   ),
00638 )
00639