Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-17 11:13:00

0001 import FWCore.ParameterSet.Config as cms
0002 
0003 ## from CondCore.DBCommon.CondDBSetup_cfi import *
0004 from CondCore.CondDB.CondDB_cfi import *
0005 from PhysicsTools.SelectorUtils.tools.vid_id_tools import *
0006 from PhysicsTools.SelectorUtils.centralIDRegistry import central_id_registry
0007 from JetMETCorrections.Configuration.JetCorrectors_cff import *
0008 
0009 def L1NtupleCustomReco(process):
0010 
0011 
0012 ####  Custom Jet reco ####
0013 
0014     # load JEC from SQLite file
0015     process.load("CondCore.CondDB.CondDB_cfi")
0016 
0017     # re-apply JEC for AK4 CHS PF jets
0018     process.load('JetMETCorrections.Configuration.JetCorrectors_cff')
0019 
0020 ####  Custom Met Filter reco
0021 
0022     # load hbhe noise filter result producer
0023     process.load('CommonTools/RecoAlgos/HBHENoiseFilterResultProducer_cfi')
0024 
0025     # Type-1 pf MET correction
0026     process.load("JetMETCorrections.Type1MET.correctionTermsPfMetType1Type2_cff")
0027     process.load("JetMETCorrections.Type1MET.correctedMet_cff")
0028 
0029     # Bad PF Muon filter for MET & HT
0030     process.load('RecoMET.METFilters.BadPFMuonFilter_cfi')
0031     process.BadPFMuonFilter.muons = cms.InputTag("muons")
0032     process.BadPFMuonFilter.PFCandidates = cms.InputTag("particleFlow")
0033 
0034     # bad charged candidate filter
0035     process.load('RecoMET.METFilters.BadChargedCandidateFilter_cfi')
0036     process.BadChargedCandidateFilter.muons = cms.InputTag("muons")
0037     process.BadChargedCandidateFilter.PFCandidates = cms.InputTag("particleFlow")
0038 
0039 
0040 ####  Custom E/Gamma reco ####
0041 
0042     # turn on VID producer, indicate data format  to be
0043     # DataFormat.AOD or DataFormat.MiniAOD, as appropriate 
0044     dataFormat = DataFormat.AOD
0045     switchOnVIDElectronIdProducer(process, dataFormat)
0046     process.load("RecoEgamma.ElectronIdentification.egmGsfElectronIDs_cfi")
0047     process.egmGsfElectronIDSequence = cms.Sequence(process.egmGsfElectronIDs)
0048     # define which IDs we want to produce
0049     idmod = 'RecoEgamma.ElectronIdentification.Identification.cutBasedElectronID_Spring15_25ns_V1_cff'  
0050     setupAllVIDIdsInModule(process,idmod,setupVIDElectronSelection)
0051 
0052 
0053 
0054 
0055     process.l1CustomReco = cms.Path(
0056         process.ak4PFCHSL1FastL2L3ResidualCorrectorChain
0057         +process.ak4CaloL1FastL2L3ResidualCorrectorChain
0058         +process.HBHENoiseFilterResultProducer
0059         +process.correctionTermsPfMetType1Type2
0060         +process.pfMetT1
0061         +process.egmGsfElectronIDSequence
0062         +process.BadPFMuonFilter
0063         +process.BadChargedCandidateFilter
0064         )
0065     
0066     process.schedule.append(process.l1CustomReco)
0067 
0068     return process
0069 
0070 
0071 def getJECFromSQLite(process):
0072 
0073     process.load("CondCore.CondDB.CondDB_cfi")
0074 
0075     process.jec = cms.ESSource(
0076         "PoolDBESSource",
0077         DBParameters = cms.PSet(
0078             messageLevel = cms.untracked.int32(0)
0079             ),
0080         timetype = cms.string('runnumber'),
0081         toGet = cms.VPSet(
0082             cms.PSet(
0083                 record = cms.string('JetCorrectionsRecord'),
0084                 # for data
0085                 tag    = cms.string('JetCorrectorParametersCollection_Summer15_25nsV6_DATA_AK4PFchs'),
0086                 # for MC
0087                 #tag    = cms.string('JetCorrectorParametersCollection_Fall15_25nsV2_MC_AK4PFchs'),
0088                 label  = cms.untracked.string('AK4PFCHS')
0089                 ),
0090             ), 
0091         connect = cms.string('sqlite:Summer15_25nsV6_DATA.db')
0092         # uncomment above tag lines and this comment to use MC JEC
0093         # connect = cms.string('sqlite:Fall15_25nsV2_MC.db')
0094         )
0095     
0096     process.es_prefer_jec = cms.ESPrefer('PoolDBESSource','jec')
0097     
0098     return process