import FWCore.ParameterSet.Config as cms # Define the CMSSW process process = cms.Process("TREE") # Load the standard set of configuration modules process.load('Configuration.StandardSequences.Services_cff') process.load('Configuration.StandardSequences.GeometryDB_cff') process.load('Configuration.StandardSequences.MagneticField_38T_cff') process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff') # Message Logger settings process.load("FWCore.MessageService.MessageLogger_cfi") process.MessageLogger.destinations = ['cout', 'cerr'] process.MessageLogger.cerr.FwkReport.reportEvery = 1000 # Set the process options -- Display summary at the end, enable unscheduled execution process.options = cms.untracked.PSet( allowUnscheduled = cms.untracked.bool(True), wantSummary = cms.untracked.bool(True) ) # How many events to process process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(-1) ) # Is this a simulation or real data isMC = False # Filter on high MET events filterHighMETEvents = False # Define the input source process.source = cms.Source("PoolSource", fileNames = cms.untracked.vstring( '/store/data/Run2015B/MET/MINIAOD/PromptReco-v1/000/251/244/00000/5E425D83-6B27-E511-98E0-02163E01345F.root', #'root://cms-xrd-global.cern.ch///store/mc/RunIISpring15DR74/DYJetsToLL_M-50_TuneCUETP8M1_13TeV-amcatnloFXFX-pythia8/MINIAODSIM/Asympt50ns_MCRUN2_74_V9A-v2/00000/00C4781D-6B08-E511-8A0A-0025905A6084.root' # ADDMonojet # 'file:80CF5456-B9EC-E411-93DA-002618FDA248.root' # TTbar # 'file:0A9E2CED-C9EC-E411-A8E4-003048FFCBA8.root' ) ) #import FWCore.PythonUtilities.LumiList as LumiList #process.source.lumisToProcess = LumiList.LumiList(filename = 'Cert_246908-251883_13TeV_PromptReco_Collisions15_JSON_MuonPhys_v2.txt').getVLuminosityBlockRange() # Muon Physics process.source.lumisToProcess = LumiList.LumiList(filename = 'Cert_246908-251883_13TeV_PromptReco_Collisions15_JSON.txt').getVLuminosityBlockRange() # Golden JSON # Setup the service to make a ROOT TTree process.TFileService = cms.Service("TFileService", fileName = cms.string("tree.root")) # Set the global tag depending on the sample type process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff') if isMC: process.GlobalTag.globaltag = 'MCRUN2_74_V9::All' # for Simulation else: process.GlobalTag.globaltag = 'GR_P_V56::All' # for Data # Set the process for reading MET filter flags from TriggerResults if isMC: metFilterProcess = "PAT" else : metFilterProcess = "RECO" # Select good primary vertices process.goodVertices = cms.EDFilter("VertexSelector", src = cms.InputTag("offlineSlimmedPrimaryVertices"), cut = cms.string("!isFake && ndof > 4 && abs(z) <= 24 && position.Rho <= 2"), filter = cms.bool(True) ) # Electron and Photon ValueMaps for identification from PhysicsTools.SelectorUtils.tools.vid_id_tools import * dataFormat = DataFormat.MiniAOD switchOnVIDElectronIdProducer(process, dataFormat) switchOnVIDPhotonIdProducer(process, dataFormat) ele_id_modules = ['RecoEgamma.ElectronIdentification.Identification.cutBasedElectronID_PHYS14_PU20bx25_V2_cff'] ph_id_modules = ['RecoEgamma.PhotonIdentification.Identification.cutBasedPhotonID_PHYS14_PU20bx25_V2_cff'] for idmod in ele_id_modules: setupAllVIDIdsInModule(process,idmod,setupVIDElectronSelection) for idmod in ph_id_modules: setupAllVIDIdsInModule(process,idmod,setupVIDPhotonSelection) process.selectedObjects = cms.EDProducer("PFCleaner", vertices = cms.InputTag("goodVertices"), muons = cms.InputTag("slimmedMuons"), electrons = cms.InputTag("slimmedElectrons"), photons = cms.InputTag("slimmedPhotons"), electronidveto = cms.InputTag("egmGsfElectronIDs:cutBasedElectronID-PHYS14-PU20bx25-V2-standalone-veto"), electronidmedium = cms.InputTag("egmGsfElectronIDs:cutBasedElectronID-PHYS14-PU20bx25-V2-standalone-medium"), photonidloose = cms.InputTag("egmPhotonIDs:cutBasedPhotonID-PHYS14-PU20bx25-V2-standalone-loose") ) # Define all the METs corrected for lepton/photon momenta process.mumet = cms.EDProducer("MuonCorrectedMETProducer", met = cms.InputTag("slimmedMETs"), muons = cms.InputTag("selectedObjects", "muons"), useuncorrmet = cms.bool(True) ) process.pfmupt = cms.EDProducer("MuonCorrectedMETProducer", met = cms.InputTag("slimmedMETs"), muons = cms.InputTag("selectedObjects", "muons"), muptonly = cms.bool(True) ) process.phmet = cms.EDProducer("CandCorrectedMETProducer", met = cms.InputTag("slimmedMETs"), cands = cms.VInputTag(cms.InputTag("selectedObjects", "photons")), useuncorrmet = cms.bool(True) ) process.t1mumet = cms.EDProducer("MuonCorrectedMETProducer", met = cms.InputTag("slimmedMETs"), muons = cms.InputTag("selectedObjects", "muons") ) process.t1phmet = cms.EDProducer("CandCorrectedMETProducer", met = cms.InputTag("slimmedMETs"), cands = cms.VInputTag(cms.InputTag("selectedObjects", "photons")) ) process.tree = cms.EDAnalyzer("MonoJetTreeMaker", pileup = cms.InputTag("addPileupInfo"), vertices = cms.InputTag("goodVertices"), gens = cms.InputTag("prunedGenParticles"), pfcands = cms.InputTag("packedPFCandidates"), muons = cms.InputTag("selectedObjects", "muons"), electrons = cms.InputTag("selectedObjects", "electrons"), photons = cms.InputTag("selectedObjects", "photons"), tightmuons = cms.InputTag("selectedObjects", "tightmuons"), tightelectrons = cms.InputTag("selectedObjects", "tightelectrons"), tightphotons = cms.InputTag("selectedObjects", "tightphotons"), taus = cms.InputTag("slimmedTaus"), jets = cms.InputTag("slimmedJets"), fatjets = cms.InputTag("slimmedJetsAK8"), pfmet = cms.InputTag("pfMet"), t1pfmet = cms.InputTag("slimmedMETs"), pfmupt = cms.InputTag("pfmupt"), mumet = cms.InputTag("mumet"), phmet = cms.InputTag("phmet"), t1mumet = cms.InputTag("t1mumet"), t1phmet = cms.InputTag("t1phmet"), triggerResults = cms.InputTag("TriggerResults", "", "HLT"), weight = cms.double(1.0), isWorZMCSample = cms.bool(False) ) process.metfilter = cms.EDFilter("CandViewSelector", src = cms.InputTag("mumet"), cut = cms.string("et > 200"), filter = cms.bool(True) ) if filterHighMETEvents: process.treePath = cms.Path(process.goodVertices + process.metfilter + process.tree) else : process.treePath = cms.Path(process.goodVertices + process.tree)