diff --git a/HeavyIonsAnalysis/Configuration/python/CommonFunctions_cff.py b/HeavyIonsAnalysis/Configuration/python/CommonFunctions_cff.py index c4e86fd6c1091..c31f88f715e3a 100644 --- a/HeavyIonsAnalysis/Configuration/python/CommonFunctions_cff.py +++ b/HeavyIonsAnalysis/Configuration/python/CommonFunctions_cff.py @@ -764,6 +764,17 @@ def overrideJEC_pPb8TeV(process): connect = cms.string("frontier://FrontierProd/CMS_CONDITIONS"), label = cms.untracked.string("AK4PF") ), +##adding PU = nonPU TEMPORARILY + cms.PSet(record = cms.string("JetCorrectionsRecord"), + tag = cms.string("JetCorrectorParametersCollection_Spring16_25nsV6_MC_AK4Calo"), + connect = cms.string("frontier://FrontierProd/CMS_CONDITIONS"), + label = cms.untracked.string("AKPu4Calo_offline") + ), + cms.PSet(record = cms.string("JetCorrectionsRecord"), + tag = cms.string("JetCorrectorParametersCollection_Spring16_25nsV6_MC_AK4PF"), + connect = cms.string("frontier://FrontierProd/CMS_CONDITIONS"), + label = cms.untracked.string("AKPu4PF_offline") + ) ]) return process diff --git a/HeavyIonsAnalysis/JetAnalysis/python/FullJetSequence_JECPPb.py b/HeavyIonsAnalysis/JetAnalysis/python/FullJetSequence_JECPPb.py index 2781b5373ddec..e8ef014de2bf7 100644 --- a/HeavyIonsAnalysis/JetAnalysis/python/FullJetSequence_JECPPb.py +++ b/HeavyIonsAnalysis/JetAnalysis/python/FullJetSequence_JECPPb.py @@ -1,9 +1,21 @@ import FWCore.ParameterSet.Config as cms -from HeavyIonsAnalysis.JetAnalysis.jets.HiReRecoJets_pp_cff import * +from HeavyIonsAnalysis.JetAnalysis.jets.HiReRecoJets_pPb_cff import * from HeavyIonsAnalysis.JetAnalysis.jets.ak4PFJetSequence_pPb_jec_cff import * +from HeavyIonsAnalysis.JetAnalysis.jets.akPu4PFJetSequence_pp_jec_cff import * from HeavyIonsAnalysis.JetAnalysis.jets.ak4CaloJetSequence_pPb_jec_cff import * +from HeavyIonsAnalysis.JetAnalysis.jets.akPu4CaloJetSequence_pp_jec_cff import * +from HeavyIonsAnalysis.JetAnalysis.jets.akCs4PFJetSequence_pPb_jec_cff import * + +from RecoJets.JetProducers.kt4PFJets_cfi import kt4PFJets +from RecoHI.HiJetAlgos.hiFJRhoProducer import hiFJRhoProducer +from RecoHI.HiJetAlgos.hiFJGridEmptyAreaCalculator_cff import hiFJGridEmptyAreaCalculator +kt4PFJets.src = cms.InputTag('particleFlow') +kt4PFJets.doAreaFastjet = True +kt4PFJets.jetPtMin = cms.double(0.0) +kt4PFJets.GhostArea = cms.double(0.005) +kt2PFJets = kt4PFJets.clone(rParam = cms.double(0.2)) ak4PFJetAnalyzer.doSubEvent = True ak4CaloJetAnalyzer.doSubEvent = True @@ -24,13 +36,25 @@ cut = cms.string('quality("highPurity")') ) +#custom for 80X +PFTowers.src = cms.InputTag("particleFlow") + jetSequences = cms.Sequence( akGenJets + # ppReRecoPFJets + # ppReRecoCaloJets + + #kt2PFJets + + #kt4PFJets + + hiReRecoCaloJets + + PFTowers + + hiReRecoPFJets + + #hiFJRhoProducer + + #hiFJGridEmptyAreaCalculator + makePartons + highPurityTracks + - ak4CaloJets + ak4PFJetSequence + - ak4CaloJetSequence + akPu4PFJetSequence + + ak4CaloJetSequence + + akPu4CaloJetSequence + #akCs4PFJetSequence ) diff --git a/HeavyIonsAnalysis/JetAnalysis/python/hiFJRhoAnalyzer_cff.py b/HeavyIonsAnalysis/JetAnalysis/python/hiFJRhoAnalyzer_cff.py index 40d3f666feb16..07f5ba789aaaf 100644 --- a/HeavyIonsAnalysis/JetAnalysis/python/hiFJRhoAnalyzer_cff.py +++ b/HeavyIonsAnalysis/JetAnalysis/python/hiFJRhoAnalyzer_cff.py @@ -1,7 +1,7 @@ import FWCore.ParameterSet.Config as cms hiFJRhoAnalyzer = cms.EDAnalyzer('HiFJRhoAnalyzer', - etaMap = cms.InputTag('hiFJRhoProducer','mapEtaEdges','HiForest'), + etaMap = cms.InputTag('hiFJRhoProducer','mapEtaEdges'), rho = cms.InputTag('hiFJRhoProducer','mapToRho'), rhom = cms.InputTag('hiFJRhoProducer','mapToRhoM'), rhoCorr = cms.InputTag('hiFJGridEmptyAreaCalculator','mapToRhoCorr'), diff --git a/HeavyIonsAnalysis/JetAnalysis/python/jets/HiReRecoJets_pPb_cff.py b/HeavyIonsAnalysis/JetAnalysis/python/jets/HiReRecoJets_pPb_cff.py new file mode 100644 index 0000000000000..0169484fa0ced --- /dev/null +++ b/HeavyIonsAnalysis/JetAnalysis/python/jets/HiReRecoJets_pPb_cff.py @@ -0,0 +1,155 @@ +import FWCore.ParameterSet.Config as cms +from RecoHI.HiJetAlgos.HiRecoJets_cff import * +from RecoHI.HiJetAlgos.HiRecoPFJets_cff import * +# from RecoJets.JetProducers.ak8PFJetsCS_cfi import ak8PFJetsCS +from RecoJets.JetProducers.akCs4PFJets_cfi import akCs4PFJets + +# akCs4PFJets = ak8PFJetsCS.clone( + # src = cms.InputTag('particleFlowTmp'), + # rParam = cms.double(0.4), + # jetPtMin = cms.double(0.0), + # doAreaFastjet = cms.bool(True), + # GhostArea = cms.double(0.005), + # useConstituentSubtraction = cms.bool(False), + # useConstituentSubtractionHi = cms.bool(True), + # etaMap = cms.InputTag('hiFJRhoProducer','mapEtaEdges'), + # rho = cms.InputTag('hiFJGridEmptyAreaCalculator','mapToRhoCorr'), + # rhom = cms.InputTag('hiFJGridEmptyAreaCalculator','mapToRhoMCorr'), + # csAlpha = cms.double(1.), + # writeJetsWithConst = cms.bool(True), + # verbosity = cms.int32(0), + # jetCollInstanceName = cms.string("pfParticlesCs") + + ##writeCompound = cms.bool(True) + # ) + +akCs4PFJets.src = cms.InputTag("particleFlow") +akCs4PFJets.rho = cms.InputTag('hiFJGridEmptyAreaCalculator','mapToRhoCorr1Bin') +akCs4PFJets.rhom = cms.InputTag('hiFJGridEmptyAreaCalculator','mapToRhoMCorr1Bin') +akCs1PFJets = akCs4PFJets.clone(rParam = cms.double(0.1)) +akCs2PFJets = akCs4PFJets.clone(rParam = cms.double(0.2)) +akCs3PFJets = akCs4PFJets.clone(rParam = cms.double(0.3)) +akCs5PFJets = akCs4PFJets.clone(rParam = cms.double(0.5)) +akCs6PFJets = akCs4PFJets.clone(rParam = cms.double(0.6)) + +from RecoJets.JetProducers.PFJetParameters_cfi import * +from RecoJets.JetProducers.AnomalousCellParameters_cfi import * +akCsSoftDrop4PFJets = cms.EDProducer( + "FastjetJetProducer", + PFJetParameters, + AnomalousCellParameters, + jetAlgorithm = cms.string("AntiKt"), + rParam = cms.double(0.4), + useSoftDrop = cms.bool(True), + zcut = cms.double(0.1), + beta = cms.double(0.0), + R0 = cms.double(0.4), + useExplicitGhosts = cms.bool(True), + writeCompound = cms.bool(True), + jetCollInstanceName=cms.string("SubJets") +) +akCsSoftDrop4PFJets.src = cms.InputTag("akCs4PFJets","pfParticlesCs") +akCsSoftDrop5PFJets = akCsSoftDrop4PFJets.clone(rParam = cms.double(0.5), + src = cms.InputTag("akCs5PFJets","pfParticlesCs")) +akCsSoftDrop6PFJets = akCsSoftDrop4PFJets.clone(rParam = cms.double(0.6), + src = cms.InputTag("akCs6PFJets","pfParticlesCs")) + +akCsFilter4PFJets = cms.EDProducer( + "FastjetJetProducer", + PFJetParameters, + AnomalousCellParameters, + jetAlgorithm = cms.string("AntiKt"), + rParam = cms.double(0.4), + useFiltering = cms.bool(True), + nFilt = cms.int32(4), + rFilt = cms.double(0.15), + useExplicitGhosts = cms.bool(True), + writeCompound = cms.bool(True), + jetCollInstanceName=cms.string("SubJets") +) +akCsFilter4PFJets.src = cms.InputTag("akCs4PFJets","pfParticlesCs") +akCsFilter5PFJets = akCsFilter4PFJets.clone(rParam = cms.double(0.5), + src = cms.InputTag("akCs5PFJets","pfParticlesCs")) +akCsFilter6PFJets = akCsFilter4PFJets.clone(rParam = cms.double(0.6), + src = cms.InputTag("akCs6PFJets","pfParticlesCs")) + +ak5PFJets.doAreaFastjet = cms.bool(True) +ak5PFJets.src = cms.InputTag('particleFlow') + +ak1PFJets = ak5PFJets.clone(rParam = cms.double(0.1)) +ak2PFJets = ak5PFJets.clone(rParam = cms.double(0.2)) +ak3PFJets = ak5PFJets.clone(rParam = cms.double(0.3)) +ak4PFJets = ak5PFJets.clone(rParam = cms.double(0.4)) +ak6PFJets = ak5PFJets.clone(rParam = cms.double(0.6)) + +akPu1PFJets.jetPtMin = 1 +akPu1CaloJets.jetPtMin = 1 +akPu2PFJets.jetPtMin = 1 +akPu2CaloJets.jetPtMin = 1 +akPu3PFJets.jetPtMin = 1 +akPu3CaloJets.jetPtMin = 1 +akPu4PFJets.jetPtMin = 1 +akPu4CaloJets.jetPtMin = 1 +akPu5PFJets.jetPtMin = 1 +akPu5CaloJets.jetPtMin = 1 +akPu6PFJets.jetPtMin = 1 +akPu6CaloJets.jetPtMin = 1 +ak1PFJets.jetPtMin = 1 +#ak1PFJets.src = cms.InputTag("particleFlowTmp") +ak1CaloJets.jetPtMin = 1 +ak2PFJets.jetPtMin = 1 +#ak2PFJets.src = cms.InputTag("particleFlowTmp") +ak2CaloJets.jetPtMin = 1 +ak3PFJets.jetPtMin = 1 +#ak3PFJets.src = cms.InputTag("particleFlowTmp") +ak3CaloJets.jetPtMin = 1 +ak4PFJets.jetPtMin = 1 +#ak4PFJets.src = cms.InputTag("particleFlowTmp") +ak4CaloJets.jetPtMin = 1 +ak5PFJets.jetPtMin = 1 +#ak5PFJets.src = cms.InputTag("particleFlowTmp") +ak5CaloJets.jetPtMin = 1 +ak6PFJets.jetPtMin = 1 +#ak6PFJets.src = cms.InputTag("particleFlowTmp") + +hiReRecoPFJets = cms.Sequence( +akPu3PFJets ++ +akPu4PFJets ++ +akPu5PFJets ++ +ak3PFJets ++ +ak4PFJets ++ +ak5PFJets ++ +akCs3PFJets ++ +akCs4PFJets ++ +akCs5PFJets +#+ +#akCsSoftDrop4PFJets +#+ +#akCsSoftDrop5PFJets +#+ +#akCsFilter4PFJets +#+ +#akCsFilter5PFJets +) + +hiReRecoCaloJets = cms.Sequence( +akPu3CaloJets ++ +akPu4CaloJets ++ +akPu5CaloJets ++ +ak3CaloJets ++ +ak4CaloJets ++ +ak5CaloJets +) diff --git a/HeavyIonsAnalysis/JetAnalysis/python/rechitanalyzer_cfi.py b/HeavyIonsAnalysis/JetAnalysis/python/rechitanalyzer_cfi.py index 51f58f1265ce0..26c8071ac658e 100644 --- a/HeavyIonsAnalysis/JetAnalysis/python/rechitanalyzer_cfi.py +++ b/HeavyIonsAnalysis/JetAnalysis/python/rechitanalyzer_cfi.py @@ -8,6 +8,7 @@ hcalHBHERecHitSrc = cms.untracked.InputTag("hbhereco"), towersSrc = cms.untracked.InputTag("towerMaker"), JetSrc = cms.untracked.InputTag("iterativeConePu5CaloJets"), + zdcRecHitSrc = cms.untracked.InputTag("zdcreco"), useJets = cms.untracked.bool(True), doBasicClusters = cms.untracked.bool(False), doTowers = cms.untracked.bool(True), diff --git a/HeavyIonsAnalysis/JetAnalysis/test/runForestAOD_pPb_MC_testHLT_80X.py b/HeavyIonsAnalysis/JetAnalysis/test/runForestAOD_pPb_MC_testHLT_80X.py new file mode 100644 index 0000000000000..90b403c36f0bc --- /dev/null +++ b/HeavyIonsAnalysis/JetAnalysis/test/runForestAOD_pPb_MC_testHLT_80X.py @@ -0,0 +1,252 @@ +### HiForest Configuration +# Collisions: pp +# Type: MC +# Input: AOD + +import FWCore.ParameterSet.Config as cms +process = cms.Process('HiForest') +process.options = cms.untracked.PSet() + +##################################################################################### +# HiForest labelling info +##################################################################################### + +process.load("HeavyIonsAnalysis.JetAnalysis.HiForest_cff") +process.HiForest.inputLines = cms.vstring("HiForest V3",) +import subprocess +version = subprocess.Popen(["(cd $CMSSW_BASE/src && git describe --tags)"], stdout=subprocess.PIPE, shell=True).stdout.read() + +if version == '': + version = 'no git info' +process.HiForest.HiForestVersion = cms.string(version) + +##################################################################################### +# Input source +##################################################################################### + +process.source = cms.Source("PoolSource", + duplicateCheckMode = cms.untracked.string("noDuplicateCheck"), + fileNames = cms.untracked.vstring( + #"/store/user/gsfs/ReggeGribovPartonMC_EposLHC_pPb_4080_4080/EPOS_MinBias_pPb_RECO25ns_10272016/161027_121447/0000/step3_25ns_RAW2DIGI_L1Reco_RECO_1.root" + #'/store/group/phys_heavyions/kjung/Pythia8Epos_RECOStep/pPb_Pythia8Epos_8TeV_HLT_pthat15/HIRun2016PA/crab_pPb_Pythia8Epos_8022Validation_RECO_pthat15/161102_015603/0000/pPb_Pythia8Epos_RECO_101.root' + 'file:/afs/cern.ch/user/k/kjung/run2Validation/HLTchecks/CMSSW_8_0_22/src/pPb_5TeVEpos_RECO.root' + ) +) + +# Number of events we want to process, -1 = all events +process.maxEvents = cms.untracked.PSet( + input = cms.untracked.int32(-1)) + + +##################################################################################### +# Load Global Tag, Geometry, etc. +##################################################################################### + +process.load('Configuration.StandardSequences.Services_cff') +process.load('Configuration.Geometry.GeometryDB_cff') +process.load('Configuration.StandardSequences.MagneticField_38T_cff') +process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_condDBv2_cff') +process.load('FWCore.MessageService.MessageLogger_cfi') +process.load("CondCore.DBCommon.CondDBCommon_cfi") + +from Configuration.AlCa.GlobalTag_condDBv2 import GlobalTag +process.GlobalTag = GlobalTag(process.GlobalTag, '80X_mcRun2_asymptotic_2016_miniAODv2_v1', '') +process.HiForest.GlobalTagLabel = process.GlobalTag.globaltag + + +# Customization +from HeavyIonsAnalysis.Configuration.CommonFunctions_cff import overrideJEC_pPb8TeV +process = overrideJEC_pPb8TeV(process) + +##################################################################################### +# Define tree output +##################################################################################### + +process.TFileService = cms.Service("TFileService", + fileName=cms.string("HiForestAOD.root")) + +##################################################################################### +# Additional Reconstruction and Analysis: Main Body +##################################################################################### + +#################################################################################### + +############################# +# Jets +############################# + +process.load("HeavyIonsAnalysis.JetAnalysis.FullJetSequence_JECPPb") +# Use this version for JEC +#process.load("HeavyIonsAnalysis.JetAnalysis.FullJetSequence_JECPP") + +##################################################################################### + +############################ +# Event Analysis +############################ + +## temporary centrality bin +process.load("RecoHI.HiCentralityAlgos.CentralityBin_cfi") +process.centralityBin.Centrality = cms.InputTag("pACentrality") +process.centralityBin.centralityVariable = cms.string("HFtowers") +process.centralityBin.nonDefaultGlauberModel = cms.string("Hydjet_Drum") + +process.load('HeavyIonsAnalysis.EventAnalysis.hltanalysis_cff') +process.load('HeavyIonsAnalysis.EventAnalysis.hltobject_pPb_cfi') +process.load('HeavyIonsAnalysis.EventAnalysis.hievtanalyzer_data_cfi') #use data version to avoid PbPb MC +process.hiEvtAnalyzer.Vertex = cms.InputTag("offlinePrimaryVertices") +process.hiEvtAnalyzer.doCentrality = cms.bool(True) +process.hiEvtAnalyzer.CentralitySrc = cms.InputTag("pACentrality") +process.hiEvtAnalyzer.doEvtPlane = cms.bool(False) +process.hiEvtAnalyzer.doMC = cms.bool(True) #general MC info +process.hiEvtAnalyzer.doHiMC = cms.bool(False) #HI specific MC info + +process.load('HeavyIonsAnalysis.JetAnalysis.HiGenAnalyzer_cfi') +process.HiGenParticleAna.genParticleSrc = cms.untracked.InputTag("genParticles") +process.HiGenParticleAna.doHI = False +process.load('HeavyIonsAnalysis.EventAnalysis.runanalyzer_cff') +process.load("HeavyIonsAnalysis.JetAnalysis.pfcandAnalyzer_pp_cfi") +process.pfcandAnalyzer.skipCharged = False +process.pfcandAnalyzer.pfPtMin = 0 +process.pfcandAnalyzer.pfCandidateLabel = cms.InputTag("particleFlow") +process.pfcandAnalyzer.doVS = cms.untracked.bool(False) +process.pfcandAnalyzer.doUEraw_ = cms.untracked.bool(False) +process.pfcandAnalyzer.genLabel = cms.InputTag("genParticles") + +##################################################################################### + +######################### +# Track Analyzer +######################### +process.load('HeavyIonsAnalysis.JetAnalysis.ExtraTrackReco_cff') +process.load('HeavyIonsAnalysis.JetAnalysis.TrkAnalyzers_cff') + +# Use this instead for track corrections +## process.load('HeavyIonsAnalysis.JetAnalysis.TrkAnalyzers_Corr_cff') + +##################################################################################### + +##################### +# photons +###################### +process.load('HeavyIonsAnalysis.PhotonAnalysis.ggHiNtuplizer_cfi') +process.ggHiNtuplizer.gsfElectronLabel = cms.InputTag("gedGsfElectrons") +process.ggHiNtuplizer.recoPhotonHiIsolationMap = cms.InputTag('photonIsolationHIProducerpp') +process.ggHiNtuplizer.VtxLabel = cms.InputTag("offlinePrimaryVertices") +process.ggHiNtuplizer.particleFlowCollection = cms.InputTag("particleFlow") +process.ggHiNtuplizer.doVsIso = cms.bool(False) +process.ggHiNtuplizer.doElectronVID = cms.bool(True) +process.ggHiNtuplizerGED = process.ggHiNtuplizer.clone(recoPhotonSrc = cms.InputTag('gedPhotons'), + recoPhotonHiIsolationMap = cms.InputTag('photonIsolationHIProducerppGED')) + +#################################################################################### +##################### +# Electron ID +##################### + +from PhysicsTools.SelectorUtils.tools.vid_id_tools import * +# turn on VID producer, indicate data format to be processed +# DataFormat.AOD or DataFormat.MiniAOD +dataFormat = DataFormat.AOD +switchOnVIDElectronIdProducer(process, dataFormat) + +# define which IDs we want to produce. Check here https://twiki.cern.ch/twiki/bin/viewauth/CMS/CutBasedElectronIdentificationRun2#Recipe_for_regular_users_for_7_4 +my_id_modules = ['RecoEgamma.ElectronIdentification.Identification.cutBasedElectronID_Spring15_25ns_V1_cff'] + +#add them to the VID producer +for idmod in my_id_modules: + setupAllVIDIdsInModule(process,idmod,setupVIDElectronSelection) +##################################################################################### +##################### +# Rechit analyzer +##################### +process.load('HeavyIonsAnalysis.JetAnalysis.rechitanalyzer_pp_cfi') +process.rechitanalyzer.doVS = cms.untracked.bool(False) +process.rechitanalyzer.doEcal = cms.untracked.bool(False) +process.rechitanalyzer.doHcal = cms.untracked.bool(False) +process.rechitanalyzer.doHF = cms.untracked.bool(False) +process.rechitanalyzer.JetSrc = cms.untracked.InputTag("ak4CaloJets") +process.pfTowers.JetSrc = cms.untracked.InputTag("ak4CaloJets") + +##################### +# New rho analyzer +##################### +process.load('HeavyIonsAnalysis.JetAnalysis.hiFJRhoAnalyzer_cff') + +##################### +# D-Meson Analyzer +##################### +from Bfinder.finderMaker.OnlyTrack_finderMaker_80X_pPb_cff import OnlyTrack_finderMaker_80X_pPb +OnlyTrack_finderMaker_80X_pPb(process) + +##################### +# Muon Analyzer +##################### +process.load('HeavyIonsAnalysis.MuonAnalysis.hltMuTree_cfi') +process.hltMuTree.vertices = cms.InputTag("offlinePrimaryVertices") +process.hltMuTree.genparticle = cms.InputTag("genParticles") + +######################### +# Main analysis list +######################### +process.ana_step = cms.Path(process.hltanalysis * + process.hltobject * + process.centralityBin * + process.hiEvtAnalyzer * + process.HiGenParticleAna* + process.jetSequences + + process.egmGsfElectronIDSequence + #Should be added in the path for VID module + process.ggHiNtuplizer + + process.ggHiNtuplizerGED + + process.hiFJRhoAnalyzer + + process.pfcandAnalyzer + + process.DfinderSequence + + process.hltMuTree + + process.HiForest + + process.trackSequencesPP + + process.runAnalyzer + + process.rechitanalyzer +) + +##################################################################################### + +######################### +# Event Selection +######################### + +process.load('HeavyIonsAnalysis.JetAnalysis.EventSelection_cff') +process.pHBHENoiseFilterResultProducer = cms.Path( process.HBHENoiseFilterResultProducer ) +process.HBHENoiseFilterResult = cms.Path(process.fHBHENoiseFilterResult) +process.HBHENoiseFilterResultRun1 = cms.Path(process.fHBHENoiseFilterResultRun1) +process.HBHENoiseFilterResultRun2Loose = cms.Path(process.fHBHENoiseFilterResultRun2Loose) +process.HBHENoiseFilterResultRun2Tight = cms.Path(process.fHBHENoiseFilterResultRun2Tight) +process.HBHEIsoNoiseFilterResult = cms.Path(process.fHBHEIsoNoiseFilterResult) + +process.PAprimaryVertexFilter = cms.EDFilter("VertexSelector", + src = cms.InputTag("offlinePrimaryVertices"), + cut = cms.string("!isFake && abs(z) <= 25 && position.Rho <= 2 && tracksSize >= 2"), + filter = cms.bool(True), # otherwise it won't filter the events +) + +process.NoScraping = cms.EDFilter("FilterOutScraping", + applyfilter = cms.untracked.bool(True), + debugOn = cms.untracked.bool(False), + numtrack = cms.untracked.uint32(10), + thresh = cms.untracked.double(0.25) +) + +process.pPAprimaryVertexFilter = cms.Path(process.PAprimaryVertexFilter) +process.pBeamScrapingFilter=cms.Path(process.NoScraping) + +process.load("HeavyIonsAnalysis.VertexAnalysis.PAPileUpVertexFilter_cff") + +process.pVertexFilterCutG = cms.Path(process.pileupVertexFilterCutG) +process.pVertexFilterCutGloose = cms.Path(process.pileupVertexFilterCutGloose) +process.pVertexFilterCutGtight = cms.Path(process.pileupVertexFilterCutGtight) +process.pVertexFilterCutGplus = cms.Path(process.pileupVertexFilterCutGplus) +process.pVertexFilterCutE = cms.Path(process.pileupVertexFilterCutE) +process.pVertexFilterCutEandG = cms.Path(process.pileupVertexFilterCutEandG) + +process.pAna = cms.EndPath(process.skimanalysis) + +# Customization diff --git a/HeavyIonsAnalysis/MuonAnalysis/interface/HLTMuTree.h b/HeavyIonsAnalysis/MuonAnalysis/interface/HLTMuTree.h index 197f23f64b79d..e29ad1c514ff7 100644 --- a/HeavyIonsAnalysis/MuonAnalysis/interface/HLTMuTree.h +++ b/HeavyIonsAnalysis/MuonAnalysis/interface/HLTMuTree.h @@ -80,10 +80,10 @@ class HLTMuTree : public edm::EDAnalyzer { virtual void endJob() ; // ----------member data --------------------------- - edm::InputTag tagRecoMu; - edm::InputTag tagGenPtl; - edm::InputTag tagSimTrk; - edm::InputTag tagVtx; + edm::EDGetTokenT > tagRecoMu; + edm::EDGetTokenT > tagGenPtl; + //edm::EDGetTokenT > tagSimTrk; + edm::EDGetTokenT > tagVtx; edm::InputTag MuCandTag1; edm::InputTag MuCandTag2; edm::InputTag MuCandTag3; diff --git a/HeavyIonsAnalysis/MuonAnalysis/python/hltMuTree_cfi.py b/HeavyIonsAnalysis/MuonAnalysis/python/hltMuTree_cfi.py index 71f06d8c499ec..44578ca8b61e5 100644 --- a/HeavyIonsAnalysis/MuonAnalysis/python/hltMuTree_cfi.py +++ b/HeavyIonsAnalysis/MuonAnalysis/python/hltMuTree_cfi.py @@ -5,6 +5,6 @@ vertices = cms.InputTag("hiSelectedVertex"), doReco = cms.untracked.bool(True), doGen = cms.untracked.bool(False), - genparticle = cms.InputTag("hiGenParticles"), - simtrack = cms.InputTag("mergedtruth","MergedTrackTruth"), + genparticle = cms.InputTag("hiGenParticles") +# simtrack = cms.InputTag("mergedtruth","MergedTrackTruth"), ) diff --git a/HeavyIonsAnalysis/MuonAnalysis/src/HLTMuTree.cc b/HeavyIonsAnalysis/MuonAnalysis/src/HLTMuTree.cc index 5cf2e80f51db8..51f77bc16fbe0 100644 --- a/HeavyIonsAnalysis/MuonAnalysis/src/HLTMuTree.cc +++ b/HeavyIonsAnalysis/MuonAnalysis/src/HLTMuTree.cc @@ -34,12 +34,12 @@ using namespace HepMC; HLTMuTree::HLTMuTree(const edm::ParameterSet& iConfig) { //now do what ever initialization is needed - tagRecoMu = iConfig.getParameter("muons"); - tagVtx = iConfig.getParameter("vertices"); + tagRecoMu = consumes>(iConfig.getParameter("muons")); + tagVtx = consumes>(iConfig.getParameter("vertices")); doReco = iConfig.getUntrackedParameter("doReco"); doGen = iConfig.getUntrackedParameter("doGen"); - tagGenPtl = iConfig.getParameter("genparticle"); - tagSimTrk = iConfig.getParameter("simtrack"); + tagGenPtl = consumes>(iConfig.getParameter("genparticle")); +// tagSimTrk = consumes>(iConfig.getParameter("simtrack")); // tagCompVtx = iConfig.getParameter(" //higherPuritySelection_(iConfig.getParameter("higherPuritySelection")), //lowerPuritySelection_(iConfig.getParameter("lowerPuritySelection")), @@ -135,7 +135,7 @@ HLTMuTree::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup) int nGen = 0; edm::Handle genColl; - iEvent.getByLabel(tagGenPtl,genColl); + iEvent.getByToken(tagGenPtl,genColl); if (genColl.isValid()) { for (reco::GenParticleCollection::size_type i=0; i+1size(); i++) { const GenParticleRef genPtl(genColl,i); @@ -197,7 +197,7 @@ HLTMuTree::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup) /* edm::Handle simColl; - iEvent.getByLabel(tagSimTrk,simColl); + iEvent.getByToken(tagSimTrk,simColl); if (simColl.isValid()) { for (TrackingParticleCollection::size_type i=0; i+1size(); i++) { const TrackingParticleRef simTrk(simColl,i); @@ -235,7 +235,7 @@ HLTMuTree::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup) if (doReco) { //Get vertex position edm::Handle< vector > vertex; - iEvent.getByLabel(tagVtx,vertex); + iEvent.getByToken(tagVtx,vertex); if(vertex->size() > 0){ vx = vertex->begin()->x(); vy = vertex->begin()->y(); @@ -249,8 +249,8 @@ HLTMuTree::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup) // edm::Handle compvertex; // iEvent.getByLabel( - edm::Handle< edm::View > muons; - iEvent.getByLabel(tagRecoMu,muons); + edm::Handle > muons; + iEvent.getByToken(tagRecoMu,muons); int nGlb = 0; int nSta = 0; @@ -322,7 +322,7 @@ HLTMuTree::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup) //vertex probability cuts edm::Handle< edm::View > muons2; - iEvent.getByLabel(tagRecoMu,muons2); + iEvent.getByToken(tagRecoMu,muons2); edm::ESHandle theTTBuilder; iSetup.get().get("TransientTrackBuilder",theTTBuilder);