diff --git a/Configuration/Skimming/python/HI_BJetSkim_cff.py b/Configuration/Skimming/python/HI_BJetSkim_cff.py new file mode 100644 index 0000000000000..58614ab7394bd --- /dev/null +++ b/Configuration/Skimming/python/HI_BJetSkim_cff.py @@ -0,0 +1,34 @@ +import FWCore.ParameterSet.Config as cms + +# HLT jet trigger +import HLTrigger.HLTfilters.hltHighLevel_cfi +hltJetHI = HLTrigger.HLTfilters.hltHighLevel_cfi.hltHighLevel.clone() +hltJetHI.HLTPaths = ["HLT_PuAK4CaloBJetCSV80_Eta2p1_v*"] +hltJetHI.throw = False +hltJetHI.andOr = True + +# selection of valid vertex +primaryVertexFilterForBJets = cms.EDFilter("VertexSelector", + src = cms.InputTag("hiSelectedVertex"), + cut = cms.string("!isFake && abs(z) <= 25 && position.Rho <= 2"), + filter = cms.bool(True), # otherwise it won't filter the events + ) + +# jet energy correction (L2+L3) +from JetMETCorrections.Configuration.JetCorrectionServicesAllAlgos_cff import * +akVs4PFJetsL2L3 = cms.EDProducer('PFJetCorrectionProducer', + src = cms.InputTag('akVs4PFJets'), + correctors = cms.vstring('ak4PFL2L3') + ) + +hiPtBJet = cms.EDFilter("PFJetSelector", + src = cms.InputTag("akVs4PFJetsL2L3"), + cut = cms.string("pt > 110") + ) + +# dijet skim sequence +bJetSkimSequence = cms.Sequence(hltJetHI + * primaryVertexFilterForBJets + * akVs4PFJetsL2L3 + * hiPtBJet + ) diff --git a/Configuration/Skimming/python/HI_D0MesonSkim_cff.py b/Configuration/Skimming/python/HI_D0MesonSkim_cff.py new file mode 100644 index 0000000000000..83a1c77c28d47 --- /dev/null +++ b/Configuration/Skimming/python/HI_D0MesonSkim_cff.py @@ -0,0 +1,20 @@ +import FWCore.ParameterSet.Config as cms + +import HLTrigger.HLTfilters.hltHighLevel_cfi +hltDmeson60 = HLTrigger.HLTfilters.hltHighLevel_cfi.hltHighLevel.clone() +hltDmeson60.HLTPaths = ["HLT_DmesonHITrackingGlobal_Dpt60_v*"] +hltDmeson60.throw = False +hltDmeson60.andOr = True + +# selection of valid vertex +primaryVertexFilterForD0Meson = cms.EDFilter("VertexSelector", + src = cms.InputTag("hiSelectedVertex"), + cut = cms.string("!isFake && abs(z) <= 25 && position.Rho <= 2"), + filter = cms.bool(True), # otherwise it won't filter the events + + ) + +d0MesonSkimSequence = cms.Sequence( + primaryVertexFilterForD0Meson + *hltDmeson60 +) diff --git a/Configuration/Skimming/python/HI_HighPtJetSkim_cff.py b/Configuration/Skimming/python/HI_HighPtJetSkim_cff.py new file mode 100644 index 0000000000000..d4c2ec2e73f59 --- /dev/null +++ b/Configuration/Skimming/python/HI_HighPtJetSkim_cff.py @@ -0,0 +1,22 @@ +import FWCore.ParameterSet.Config as cms + +# HLT jet trigger +import HLTrigger.HLTfilters.hltHighLevel_cfi +hltHIJet150 = HLTrigger.HLTfilters.hltHighLevel_cfi.hltHighLevel.clone() +hltHIJet150.HLTPaths = ["HLT_PuAK4CaloJet150_Eta2p1_v*"] +hltHIJet150.throw = False +hltHIJet150.andOr = True + +# selection of valid vertex +primaryVertexFilterForHighPtJets = cms.EDFilter("VertexSelector", + src = cms.InputTag("hiSelectedVertex"), + cut = cms.string("!isFake && abs(z) <= 25 && position.Rho <= 2"), + filter = cms.bool(True), # otherwise it won't filter the events + ) + +highPtJetSkimSequence = cms.Sequence( + hltHIJet150* + primaryVertexFilterForHighPtJets +) + + diff --git a/Configuration/Skimming/python/HI_MinBiasSkim_cff.py b/Configuration/Skimming/python/HI_MinBiasSkim_cff.py new file mode 100644 index 0000000000000..d5e4fb3721390 --- /dev/null +++ b/Configuration/Skimming/python/HI_MinBiasSkim_cff.py @@ -0,0 +1,21 @@ +import FWCore.ParameterSet.Config as cms + +# HLT dimuon trigger +import HLTrigger.HLTfilters.hltHighLevel_cfi +hltMinBiasHI = HLTrigger.HLTfilters.hltHighLevel_cfi.hltHighLevel.clone() +hltMinBiasHI.HLTPaths = ["HLT_L1MinimumBiasHF2AND_v*"] +hltMinBiasHI.throw = False +hltMinBiasHI.andOr = True + +# selection of valid vertex +primaryVertexFilterForMinBias = cms.EDFilter("VertexSelector", + src = cms.InputTag("hiSelectedVertex"), + cut = cms.string("!isFake && abs(z) <= 25 && position.Rho <= 2"), + filter = cms.bool(True), # otherwise it won't filter the events + ) + +# MinBias skim sequence +minBiasSkimSequence = cms.Sequence( + hltMinBiasHI * + primaryVertexFilterForMinBias + ) diff --git a/Configuration/Skimming/python/HI_OniaCentralSkim_cff.py b/Configuration/Skimming/python/HI_OniaCentralSkim_cff.py new file mode 100644 index 0000000000000..60f28e37543b4 --- /dev/null +++ b/Configuration/Skimming/python/HI_OniaCentralSkim_cff.py @@ -0,0 +1,49 @@ +import FWCore.ParameterSet.Config as cms + +# HLT dimuon trigger +import HLTrigger.HLTfilters.hltHighLevel_cfi +hltCentralOniaMMHI = HLTrigger.HLTfilters.hltHighLevel_cfi.hltHighLevel.clone() +hltCentralOniaMMHI.HLTPaths = ["HLT_HIL3DoubleMu0_Cent30_OS_m2p5to4p5_v*","HLT_HIL3DoubleMu0_Cent30_OS_m7to14_v*"] +hltCentralOniaMMHI.throw = False +hltCentralOniaMMHI.andOr = True + +# selection of valid vertex +primaryVertexFilterForOniaMMCentral = cms.EDFilter("VertexSelector", + src = cms.InputTag("hiSelectedVertex"), + cut = cms.string("!isFake && abs(z) <= 25 && position.Rho <= 2"), + filter = cms.bool(True), # otherwise it won't filter the events + ) + +# selection of dimuons with mass in Jpsi or +muonSelectorForOniaMMCentral = cms.EDFilter("MuonSelector", + src = cms.InputTag("muons"), + cut = cms.string("(isTrackerMuon && isGlobalMuon) && pt > 1.5"), + filter = cms.bool(True) + ) + +muonFilterForOniaMMCentral = cms.EDFilter("MuonCountFilter", + src = cms.InputTag("muonSelectorForOniaMMCentral"), + minNumber = cms.uint32(2) + ) + +# opposite charge only +dimuonMassCutForOniaMMCentral = cms.EDProducer("CandViewShallowCloneCombiner", + checkCharge = cms.bool(True), + cut = cms.string(' (2.6 < mass < 3.5) || (7.0 < mass < 14.0)'), + decay = cms.string("muonSelectorForOniaMMCentral@+ muonSelectorForOniaMMCentral@-") + ) + +dimuonMassCutFilterForOniaMMCentral = cms.EDFilter("CandViewCountFilter", + src = cms.InputTag("dimuonMassCutForOniaMMCentral"), + minNumber = cms.uint32(1) + ) + +# onia skim sequence +oniaCentralSkimSequence = cms.Sequence( + hltCentralOniaMMHI * + primaryVertexFilterForOniaMMCentral * + muonSelectorForOniaMMCentral * + muonFilterForOniaMMCentral * + dimuonMassCutForOniaMMCentral * + dimuonMassCutFilterForOniaMMCentral + ) diff --git a/Configuration/Skimming/python/HI_OniaPeripheralSkim_cff.py b/Configuration/Skimming/python/HI_OniaPeripheralSkim_cff.py new file mode 100644 index 0000000000000..67f664aba1f8c --- /dev/null +++ b/Configuration/Skimming/python/HI_OniaPeripheralSkim_cff.py @@ -0,0 +1,50 @@ +import FWCore.ParameterSet.Config as cms + +# HLT dimuon trigger +import HLTrigger.HLTfilters.hltHighLevel_cfi +hltPeripheralOniaMMHI = HLTrigger.HLTfilters.hltHighLevel_cfi.hltHighLevel.clone() +hltPeripheralOniaMMHI.HLTPaths = ["HLT_HIL1DoubleMu0_2HF_Cent30100_v*","HLT_HIL1DoubleMu0_2HF0_Cent30100_v*"] +hltPeripheralOniaMMHI.throw = False +hltPeripheralOniaMMHI.andOr = True + +# selection of valid vertex +primaryVertexFilterForOniaMMPeripheral = cms.EDFilter("VertexSelector", + src = cms.InputTag("hiSelectedVertex"), + cut = cms.string("!isFake && abs(z) <= 25 && position.Rho <= 2"), + filter = cms.bool(True), # otherwise it won't filter the events + ) + +# selection of dimuons with mass in Jpsi or +muonSelectorForOniaMMPeripheral = cms.EDFilter("MuonSelector", + src = cms.InputTag("muons"), + cut = cms.string("(isTrackerMuon && isGlobalMuon) && pt > 1.5"), + filter = cms.bool(True) + ) + +muonFilterForOniaMMPeripheral = cms.EDFilter("MuonCountFilter", + src = cms.InputTag("muonSelectorForOniaMMPeripheral"), + minNumber = cms.uint32(2) + ) + +# opposite charge only +dimuonMassCutForOniaMMPeripheral = cms.EDProducer("CandViewShallowCloneCombiner", + checkCharge = cms.bool(True), + cut = cms.string(' (2.6 < mass < 3.5) || (7.0 < mass < 14.0)'), + decay = cms.string("muonSelectorForOniaMMPeripheral@+ muonSelectorForOniaMMPeripheral@-") + ) + +dimuonMassCutFilterForOniaMMPeripheral = cms.EDFilter("CandViewCountFilter", + src = cms.InputTag("dimuonMassCutForOniaMMPeripheral"), + minNumber = cms.uint32(1) + ) + +# onia skim sequence +oniaPeripheralSkimSequence = cms.Sequence( + hltPeripheralOniaMMHI * + primaryVertexFilterForOniaMMPeripheral * + muonSelectorForOniaMMPeripheral * + muonFilterForOniaMMPeripheral * + dimuonMassCutForOniaMMPeripheral * + dimuonMassCutFilterForOniaMMPeripheral + ) + diff --git a/Configuration/Skimming/python/HI_OniaUPCSkim_cff.py b/Configuration/Skimming/python/HI_OniaUPCSkim_cff.py new file mode 100644 index 0000000000000..6157f0f81a684 --- /dev/null +++ b/Configuration/Skimming/python/HI_OniaUPCSkim_cff.py @@ -0,0 +1,13 @@ +import FWCore.ParameterSet.Config as cms + +# HLT dimuon trigger +import HLTrigger.HLTfilters.hltHighLevel_cfi +hltOniaUPCHI = HLTrigger.HLTfilters.hltHighLevel_cfi.hltHighLevel.clone() +hltOniaUPCHI.HLTPaths = ["HLT_HIUPCDoubleMuNotHF2Pixel_SingleTrack_v*"] +hltOniaUPCHI.throw = False +hltOniaUPCHI.andOr = True + +# UPC double mu skim sequence +oniaUPCSkimSequence = cms.Sequence( + hltOniaUPCHI + ) diff --git a/Configuration/Skimming/python/HI_PhotonSkim_cff.py b/Configuration/Skimming/python/HI_PhotonSkim_cff.py new file mode 100644 index 0000000000000..5b97c9b445b95 --- /dev/null +++ b/Configuration/Skimming/python/HI_PhotonSkim_cff.py @@ -0,0 +1,29 @@ +import FWCore.ParameterSet.Config as cms + +# HLT photon trigger +import HLTrigger.HLTfilters.hltHighLevel_cfi +hltPhotonHI = HLTrigger.HLTfilters.hltHighLevel_cfi.hltHighLevel.clone() +hltPhotonHI.HLTPaths = ["HLT_HISinglePhoton50_Eta1p5_v*"] +hltPhotonHI.throw = False +hltPhotonHI.andOr = True + +# photon selection +goodPhotons = cms.EDFilter("PhotonSelector", + src = cms.InputTag("photons"), + cut = cms.string('et > 60 && hadronicOverEm < 0.1 && r9 > 0.8 && sigmaIetaIeta > 0.002') +) + + +# leading photon E_T filter +photonFilter = cms.EDFilter("EtMinPhotonCountFilter", + src = cms.InputTag("goodPhotons"), + etMin = cms.double(60.0), + minNumber = cms.uint32(1) +) + +# photon skim sequence +photonSkimSequence = cms.Sequence(hltPhotonHI + * goodPhotons + * photonFilter + ) + diff --git a/Configuration/Skimming/python/HI_SingleTrackSkim_cff.py b/Configuration/Skimming/python/HI_SingleTrackSkim_cff.py new file mode 100644 index 0000000000000..7cb3f32df4282 --- /dev/null +++ b/Configuration/Skimming/python/HI_SingleTrackSkim_cff.py @@ -0,0 +1,20 @@ +import FWCore.ParameterSet.Config as cms + +# HLT jet trigger +import HLTrigger.HLTfilters.hltHighLevel_cfi +hltTrackHI = HLTrigger.HLTfilters.hltHighLevel_cfi.hltHighLevel.clone() +hltTrackHI.HLTPaths = ["HLT_HIFullTrack45_v*"] +hltTrackHI.throw = False +hltTrackHI.andOr = True + +# selection of valid vertex +primaryVertexFilterForTrack = cms.EDFilter("VertexSelector", + src = cms.InputTag("hiSelectedVertex"), + cut = cms.string("!isFake && abs(z) <= 25 && position.Rho <= 2"), + filter = cms.bool(True), # otherwise it won't filter the events + ) + +singleTrackSkimSequence = cms.Sequence( + primaryVertexFilterForTrack + *hltTrackHI +) diff --git a/Configuration/Skimming/python/HI_ZEESkim_cff.py b/Configuration/Skimming/python/HI_ZEESkim_cff.py new file mode 100644 index 0000000000000..14d6a06a72776 --- /dev/null +++ b/Configuration/Skimming/python/HI_ZEESkim_cff.py @@ -0,0 +1,21 @@ +import FWCore.ParameterSet.Config as cms + +# HLT dimuon trigger +import HLTrigger.HLTfilters.hltHighLevel_cfi +hltZEEHI = HLTrigger.HLTfilters.hltHighLevel_cfi.hltHighLevel.clone() +hltZEEHI.HLTPaths = ["HLT_HIDoublePhoton15_Eta1p5_Mass50_1000_R9HECut_v*"] +hltZEEHI.throw = False +hltZEEHI.andOr = True + +# selection of valid vertex +primaryVertexFilterForZEE = cms.EDFilter("VertexSelector", + src = cms.InputTag("hiSelectedVertex"), + cut = cms.string("!isFake && abs(z) <= 25 && position.Rho <= 2"), + filter = cms.bool(True), # otherwise it won't filter the events + ) + +# Z->ee skim sequence +zEESkimSequence = cms.Sequence( + hltZEEHI * + primaryVertexFilterForZEE + ) diff --git a/HeavyIonsAnalysis/Configuration/python/HI_ZMMSkim_cff.py b/Configuration/Skimming/python/HI_ZMMSkim_cff.py similarity index 53% rename from HeavyIonsAnalysis/Configuration/python/HI_ZMMSkim_cff.py rename to Configuration/Skimming/python/HI_ZMMSkim_cff.py index ae01e35d82e9f..f852a9816cde8 100644 --- a/HeavyIonsAnalysis/Configuration/python/HI_ZMMSkim_cff.py +++ b/Configuration/Skimming/python/HI_ZMMSkim_cff.py @@ -3,7 +3,7 @@ # HLT dimuon trigger import HLTrigger.HLTfilters.hltHighLevel_cfi hltZMMHI = HLTrigger.HLTfilters.hltHighLevel_cfi.hltHighLevel.clone() -hltZMMHI.HLTPaths = ["HLT_HIL2DoubleMu3"] +hltZMMHI.HLTPaths = ["HLT_HIL1DoubleMu10_v*","HLT_HIL3Mu20_2HF_v*","HLT_HIL3Mu20_2HF0_v*"] hltZMMHI.throw = False hltZMMHI.andOr = True @@ -15,25 +15,25 @@ ) # selection of dimuons (at least STA+STA) with mass in Z range -muonSelector = cms.EDFilter("MuonSelector", +muonSelectorForZMM = cms.EDFilter("MuonSelector", src = cms.InputTag("muons"), - cut = cms.string("(isStandAloneMuon || isGlobalMuon) && pt > 1."), + cut = cms.string("(isTrackerMuon && isGlobalMuon) && pt > 10."), filter = cms.bool(True) ) -muonFilter = cms.EDFilter("MuonCountFilter", - src = cms.InputTag("muonSelector"), - minNumber = cms.uint32(1) +muonFilterForZMM = cms.EDFilter("MuonCountFilter", + src = cms.InputTag("muonSelectorForZMM"), + minNumber = cms.uint32(2) ) -dimuonMassCut = cms.EDProducer("CandViewShallowCloneCombiner", +dimuonMassCutForZMM = cms.EDProducer("CandViewShallowCloneCombiner", checkCharge = cms.bool(True), - cut = cms.string(' 60 < mass < 120'), - decay = cms.string("muonSelector@+ muonSelector@-") + cut = cms.string(' 80 < mass < 110'), + decay = cms.string("muonSelectorForZMM@+ muonSelectorForZMM@-") ) -dimuonMassCutFilter = cms.EDFilter("CandViewCountFilter", - src = cms.InputTag("dimuonMassCut"), +dimuonMassCutFilterForZMM = cms.EDFilter("CandViewCountFilter", + src = cms.InputTag("dimuonMassCutForZMM"), minNumber = cms.uint32(1) ) @@ -41,8 +41,9 @@ zMMSkimSequence = cms.Sequence( hltZMMHI * primaryVertexFilterForZMM * - muonSelector * - muonFilter * - dimuonMassCut * - dimuonMassCutFilter + muonSelectorForZMM * + muonFilterForZMM * + dimuonMassCutForZMM * + dimuonMassCutFilterForZMM ) + diff --git a/Configuration/Skimming/python/PP_D0MesonSkim_cff.py b/Configuration/Skimming/python/PP_D0MesonSkim_cff.py new file mode 100644 index 0000000000000..a106a4b5146b5 --- /dev/null +++ b/Configuration/Skimming/python/PP_D0MesonSkim_cff.py @@ -0,0 +1,19 @@ +import FWCore.ParameterSet.Config as cms + +import HLTrigger.HLTfilters.hltHighLevel_cfi +hltDmeson60 = HLTrigger.HLTfilters.hltHighLevel_cfi.hltHighLevel.clone() +hltDmeson60.HLTPaths = ["HLT_DmesonPPTrackingGlobal_Dpt60_v*"] +hltDmeson60.throw = False +hltDmeson60.andOr = True + +# selection of valid vertex +primaryVertexFilterForD0Meson = cms.EDFilter("VertexSelector", + src = cms.InputTag("offlinePrimaryVerticesWithBS"), + cut = cms.string("!isFake && abs(z) <= 25 && position.Rho <= 2"), + filter = cms.bool(True), # otherwise it won't filter the events + ) + +d0MesonSkimSequence = cms.Sequence( + primaryVertexFilterForD0Meson + *hltDmeson60 +) diff --git a/Configuration/Skimming/python/PP_HighPtJetSkim_cff.py b/Configuration/Skimming/python/PP_HighPtJetSkim_cff.py new file mode 100644 index 0000000000000..c0a15f781a9c2 --- /dev/null +++ b/Configuration/Skimming/python/PP_HighPtJetSkim_cff.py @@ -0,0 +1,20 @@ +import FWCore.ParameterSet.Config as cms + +# HLT jet trigger +import HLTrigger.HLTfilters.hltHighLevel_cfi +hltJet150 = HLTrigger.HLTfilters.hltHighLevel_cfi.hltHighLevel.clone() +hltJet150.HLTPaths = ["HLT_AK4CaloJet150_Eta2p1_v*"] +hltJet150.throw = False +hltJet150.andOr = True + +# selection of valid vertex +primaryVertexFilterForHighPtJets = cms.EDFilter("VertexSelector", + src = cms.InputTag("offlinePrimaryVerticesWithBS"), + cut = cms.string("!isFake && abs(z) <= 25 && position.Rho <= 2"), + filter = cms.bool(True), # otherwise it won't filter the events + ) + +highPtJetSkimSequence = cms.Sequence( + hltJet150* + primaryVertexFilterForHighPtJets +) diff --git a/Configuration/Skimming/python/PP_OniaSkim_cff.py b/Configuration/Skimming/python/PP_OniaSkim_cff.py new file mode 100644 index 0000000000000..45657baec57c6 --- /dev/null +++ b/Configuration/Skimming/python/PP_OniaSkim_cff.py @@ -0,0 +1,49 @@ +import FWCore.ParameterSet.Config as cms + +# HLT dimuon trigger +import HLTrigger.HLTfilters.hltHighLevel_cfi +hltOniaMM = HLTrigger.HLTfilters.hltHighLevel_cfi.hltHighLevel.clone() +hltOniaMM.HLTPaths = ["HLT_HIL1DoubleMu0_v*"] +hltOniaMM.throw = False +hltOniaMM.andOr = True + +# selection of valid vertex +primaryVertexFilterForOniaMM = cms.EDFilter("VertexSelector", + src = cms.InputTag("offlinePrimaryVerticesWithBS"), + cut = cms.string("!isFake && abs(z) <= 25 && position.Rho <= 2"), + filter = cms.bool(True), # otherwise it won't filter the events + ) + +# selection of dimuons with mass in Jpsi or +muonSelectorForOniaMM = cms.EDFilter("MuonSelector", + src = cms.InputTag("muons"), + cut = cms.string("(isTrackerMuon && isGlobalMuon) && pt > 1.5"), + filter = cms.bool(True) + ) + +muonFilterForOniaMM = cms.EDFilter("MuonCountFilter", + src = cms.InputTag("muonSelectorForOniaMM"), + minNumber = cms.uint32(2) + ) + +# opposite charge only +dimuonMassCutForOniaMM = cms.EDProducer("CandViewShallowCloneCombiner", + checkCharge = cms.bool(True), + cut = cms.string(' (2.6 < mass < 3.5) || (7.0 < mass < 14.0)'), + decay = cms.string("muonSelectorForOniaMM@+ muonSelectorForOniaMM@-") + ) + +dimuonMassCutFilterForOniaMM = cms.EDFilter("CandViewCountFilter", + src = cms.InputTag("dimuonMassCutForOniaMM"), + minNumber = cms.uint32(1) + ) + +# onia skim sequence +oniaSkimSequence = cms.Sequence( + hltOniaMM * + primaryVertexFilterForOniaMM * + muonSelectorForOniaMM * + muonFilterForOniaMM * + dimuonMassCutForOniaMM * + dimuonMassCutFilterForOniaMM + ) diff --git a/Configuration/Skimming/python/PP_ZMMSkim_cff.py b/Configuration/Skimming/python/PP_ZMMSkim_cff.py new file mode 100644 index 0000000000000..3f344e0ea5d8c --- /dev/null +++ b/Configuration/Skimming/python/PP_ZMMSkim_cff.py @@ -0,0 +1,48 @@ +import FWCore.ParameterSet.Config as cms + +# HLT dimuon trigger +import HLTrigger.HLTfilters.hltHighLevel_cfi +hltZMM = HLTrigger.HLTfilters.hltHighLevel_cfi.hltHighLevel.clone() +hltZMM.HLTPaths = ["HLT_HIL1DoubleMu10_v*","HLT_HIL3Mu20_2HF_v*","HLT_HIL3Mu20_2HF0_v*"] +hltZMM.throw = False +hltZMM.andOr = True + +# selection of valid vertex +primaryVertexFilterForZMM = cms.EDFilter("VertexSelector", + src = cms.InputTag("offlinePrimaryVerticesWithBS"), + cut = cms.string("!isFake && abs(z) <= 25 && position.Rho <= 2"), + filter = cms.bool(True), # otherwise it won't filter the events + ) + +# selection of dimuons (at least STA+STA) with mass in Z range +muonSelectorForZMM = cms.EDFilter("MuonSelector", + src = cms.InputTag("muons"), + cut = cms.string("(isTrackerMuon && isGlobalMuon) && pt > 10."), + filter = cms.bool(True) + ) + +muonFilterForZMM = cms.EDFilter("MuonCountFilter", + src = cms.InputTag("muonSelectorForZMM"), + minNumber = cms.uint32(2) + ) + +dimuonMassCutForZMM = cms.EDProducer("CandViewShallowCloneCombiner", + checkCharge = cms.bool(True), + cut = cms.string(' 80 < mass < 110'), + decay = cms.string("muonSelectorForZMM@+ muonSelectorForZMM@-") + ) + +dimuonMassCutFilterForZMM = cms.EDFilter("CandViewCountFilter", + src = cms.InputTag("dimuonMassCutForZMM"), + minNumber = cms.uint32(1) + ) + +# Z->mumu skim sequence +zMMSkimSequence = cms.Sequence( + hltZMM * + primaryVertexFilterForZMM * + muonSelectorForZMM * + muonFilterForZMM * + dimuonMassCutForZMM * + dimuonMassCutFilterForZMM + ) diff --git a/Configuration/Skimming/python/Skims_HI_cff.py b/Configuration/Skimming/python/Skims_HI_cff.py new file mode 100644 index 0000000000000..acdccf7670fc7 --- /dev/null +++ b/Configuration/Skimming/python/Skims_HI_cff.py @@ -0,0 +1,162 @@ +import FWCore.ParameterSet.Config as cms + +from Configuration.EventContent.EventContentHeavyIons_cff import FEVTEventContent, RECOEventContent, AODEventContent + +skimFEVTContent = FEVTEventContent.clone() +skimFEVTContent.outputCommands.append("drop *_MEtoEDMConverter_*_*") +skimFEVTContent.outputCommands.append("drop *_*_*_SKIM") + +skimRECOContent = RECOEventContent.clone() +skimRECOContent.outputCommands.append("drop *_MEtoEDMConverter_*_*") +skimRECOContent.outputCommands.append("drop *_*_*_SKIM") + +skimAODContent = AODEventContent.clone() +skimAODContent.outputCommands.append("drop *_MEtoEDMConverter_*_*") +skimAODContent.outputCommands.append("drop *_*_*_SKIM") + +##################### + +from Configuration.Skimming.HI_PhotonSkim_cff import * +photonSkimPath = cms.Path( photonSkimSequence ) +SKIMStreamPhoton = cms.FilteredStream( + responsible = 'HI PAG', + name = 'Photon', + paths = (photonSkimPath), + content = skimAODContent.outputCommands, + selectEvents = cms.untracked.PSet(), + dataTier = cms.untracked.string('AOD') + ) + + +##################### + +from Configuration.Skimming.HI_ZEESkim_cff import * +zEESkimPath = cms.Path( zEESkimSequence ) +SKIMStreamZEE = cms.FilteredStream( + responsible = 'HI PAG', + name = 'ZEE', + paths = (zEESkimPath), + content = skimAODContent.outputCommands, + selectEvents = cms.untracked.PSet(), + dataTier = cms.untracked.string('AOD') + ) + +##################### + +from Configuration.Skimming.HI_ZMMSkim_cff import * +zMMSkimPath = cms.Path( zMMSkimSequence ) +SKIMStreamZMM = cms.FilteredStream( + responsible = 'HI PAG', + name = 'ZMM', + paths = (zMMSkimPath), + content = skimFEVTContent.outputCommands, + selectEvents = cms.untracked.PSet(), + dataTier = cms.untracked.string('RAW-RECO') + ) + +##################### + +from Configuration.Skimming.HI_BJetSkim_cff import * +bJetSkimPath = cms.Path( bJetSkimSequence ) +SKIMStreamBJet = cms.FilteredStream( + responsible = 'HI PAG', + name = 'BJet', + paths = (bJetSkimPath), + content = skimAODContent.outputCommands, + selectEvents = cms.untracked.PSet(), + dataTier = cms.untracked.string('AOD') + ) + +##################### + +from Configuration.Skimming.HI_D0MesonSkim_cff import * +d0MesonSkimPath = cms.Path( d0MesonSkimSequence ) +SKIMStreamD0Meson = cms.FilteredStream( + responsible = 'HI PAG', + name = 'D0Meson', + paths = (d0MesonSkimPath), + content = skimRECOContent.outputCommands, + selectEvents = cms.untracked.PSet(), + dataTier = cms.untracked.string('RECO') + ) + +##################### + +from Configuration.Skimming.HI_HighPtJetSkim_cff import * +highPtJetSkimPath = cms.Path( highPtJetSkimSequence ) +SKIMStreamHighPtJet = cms.FilteredStream( + responsible = 'HI PAG', + name = 'HighPtJet', + paths = (highPtJetSkimPath), + content = skimFEVTContent.outputCommands, + selectEvents = cms.untracked.PSet(), + dataTier = cms.untracked.string('RAW-RECO') + ) + +##################### + +from Configuration.Skimming.HI_OniaCentralSkim_cff import * +oniaCentralSkimPath = cms.Path( oniaCentralSkimSequence ) +SKIMStreamOniaCentral = cms.FilteredStream( + responsible = 'HI PAG', + name = 'OniaCentral', + paths = (oniaCentralSkimPath), + content = skimRECOContent.outputCommands, + selectEvents = cms.untracked.PSet(), + dataTier = cms.untracked.string('RECO') + ) + +##################### + +from Configuration.Skimming.HI_OniaPeripheralSkim_cff import * +oniaPeripheralSkimPath = cms.Path( oniaPeripheralSkimSequence ) +SKIMStreamOniaPeripheral = cms.FilteredStream( + responsible = 'HI PAG', + name = 'OniaPeripheral', + paths = (oniaPeripheralSkimPath), + content = skimRECOContent.outputCommands, + selectEvents = cms.untracked.PSet(), + dataTier = cms.untracked.string('RECO') + ) + +##################### + +from Configuration.Skimming.HI_SingleTrackSkim_cff import * +singleTrackSkimPath = cms.Path( singleTrackSkimSequence ) +SKIMStreamSingleTrack = cms.FilteredStream( + responsible = 'HI PAG', + name = 'SingleTrack', + paths = (singleTrackSkimPath), + content = skimAODContent.outputCommands, + selectEvents = cms.untracked.PSet(), + dataTier = cms.untracked.string('AOD') + ) + +##################### + +from Configuration.Skimming.HI_MinBiasSkim_cff import * +minBiasSkimPath = cms.Path( minBiasSkimSequence ) +SKIMStreamMinBias = cms.FilteredStream( + responsible = 'HI PAG', + name = 'MinBias', + paths = (minBiasSkimPath), + content = skimAODContent.outputCommands, + selectEvents = cms.untracked.PSet(), + dataTier = cms.untracked.string('AOD') + ) + +##################### + + +from Configuration.Skimming.HI_OniaUPCSkim_cff import * +oniaUPCSkimPath = cms.Path( oniaUPCSkimSequence ) +SKIMStreamOniaUPC = cms.FilteredStream( + responsible = 'HI PAG', + name = 'OniaUPC', + paths = (oniaUPCSkimPath), + content = skimFEVTContent.outputCommands, + selectEvents = cms.untracked.PSet(), + dataTier = cms.untracked.string('RAW-RECO') + ) + +##################### diff --git a/Configuration/Skimming/python/Skims_PPRef_cff.py b/Configuration/Skimming/python/Skims_PPRef_cff.py new file mode 100644 index 0000000000000..6764a65fde2ad --- /dev/null +++ b/Configuration/Skimming/python/Skims_PPRef_cff.py @@ -0,0 +1,65 @@ +import FWCore.ParameterSet.Config as cms + +from Configuration.EventContent.EventContent_cff import RECOEventContent, FEVTEventContent + +skimRECOContent = RECOEventContent.clone() +skimRECOContent.outputCommands.append("drop *_MEtoEDMConverter_*_*") +skimRECOContent.outputCommands.append("drop *_*_*_SKIM") + +skimFEVTContent = FEVTEventContent.clone() +skimFEVTContent.outputCommands.append("drop *_MEtoEDMConverter_*_*") +skimFEVTContent.outputCommands.append("drop *_*_*_SKIM") + +##################### + +from Configuration.Skimming.PP_HighPtJetSkim_cff import * +highPtJetSkimPath = cms.Path( highPtJetSkimSequence ) +SKIMStreamHighPtJet = cms.FilteredStream( + responsible = 'HI PAG', + name = 'HighPtJet', + paths = (highPtJetSkimPath), + content = skimFEVTContent.outputCommands, + selectEvents = cms.untracked.PSet(), + dataTier = cms.untracked.string('RAW-RECO') + ) + +##################### + +from Configuration.Skimming.PP_ZMMSkim_cff import * +zMMSkimPath = cms.Path( zMMSkimSequence ) +SKIMStreamZMM = cms.FilteredStream( + responsible = 'HI PAG', + name = 'ZMM', + paths = (zMMSkimPath), + content = skimFEVTContent.outputCommands, + selectEvents = cms.untracked.PSet(), + dataTier = cms.untracked.string('RAW-RECO') + ) + +##################### + +from Configuration.Skimming.PP_OniaSkim_cff import * +oniaSkimPath = cms.Path( oniaSkimSequence ) +SKIMStreamOnia = cms.FilteredStream( + responsible = 'HI PAG', + name = 'Onia', + paths = (oniaSkimPath), + content = skimRECOContent.outputCommands, + selectEvents = cms.untracked.PSet(), + dataTier = cms.untracked.string('RECO') + ) + +##################### + +from Configuration.Skimming.PP_D0MesonSkim_cff import * +d0MesonSkimPath = cms.Path( d0MesonSkimSequence ) +SKIMStreamD0Meson = cms.FilteredStream( + responsible = 'HI PAG', + name = 'D0Meson', + paths = (d0MesonSkimPath), + content = skimRECOContent.outputCommands, + selectEvents = cms.untracked.PSet(), + dataTier = cms.untracked.string('RECO') + ) + +##################### diff --git a/Configuration/StandardSequences/python/SkimsHeavyIons_cff.py b/Configuration/StandardSequences/python/SkimsHeavyIons_cff.py index 7e4011b11aee0..9ffbe141b97dc 100644 --- a/Configuration/StandardSequences/python/SkimsHeavyIons_cff.py +++ b/Configuration/StandardSequences/python/SkimsHeavyIons_cff.py @@ -25,4 +25,4 @@ def documentSkims(): ### HI Analysis Skims ### -from HeavyIonsAnalysis.Configuration.Skims_HI_cff import * +from Configuration.Skimming.Skims_HI_cff import * diff --git a/Configuration/StandardSequences/python/Skims_cff.py b/Configuration/StandardSequences/python/Skims_cff.py index 044d7badcd477..48a8d949959a8 100644 --- a/Configuration/StandardSequences/python/Skims_cff.py +++ b/Configuration/StandardSequences/python/Skims_cff.py @@ -30,3 +30,4 @@ def documentSkims(): ### Central Skims ### from Configuration.Skimming.Skims_PDWG_cff import * +from Configuration.Skimming.Skims_PPRef_cff import * diff --git a/HeavyIonsAnalysis/Configuration/python/HI_DiJetSkim_cff.py b/HeavyIonsAnalysis/Configuration/python/HI_DiJetSkim_cff.py deleted file mode 100644 index 0d4d9cbe1a189..0000000000000 --- a/HeavyIonsAnalysis/Configuration/python/HI_DiJetSkim_cff.py +++ /dev/null @@ -1,69 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# HLT jet trigger -import HLTrigger.HLTfilters.hltHighLevel_cfi -hltJetHI = HLTrigger.HLTfilters.hltHighLevel_cfi.hltHighLevel.clone() -hltJetHI.HLTPaths = ["HLT_HIJet50U"] -hltJetHI.throw = False -hltJetHI.andOr = True - -# selection of valid vertex -primaryVertexFilterForJets = cms.EDFilter("VertexSelector", - src = cms.InputTag("hiSelectedVertex"), - cut = cms.string("!isFake && abs(z) <= 25 && position.Rho <= 2"), - filter = cms.bool(True), # otherwise it won't filter the events - ) - -# jet energy correction (L2+L3) -from JetMETCorrections.Configuration.JetCorrectionServicesAllAlgos_cff import * -icPu5CaloJetsL2L3 = cms.EDProducer('CaloJetCorrectionProducer', - src = cms.InputTag('iterativeConePu5CaloJets'), - correctors = cms.vstring('ic5CaloL2L3') - ) - -# leading jet E_T filter -jetEtFilter = cms.EDFilter("EtMinCaloJetCountFilter", - src = cms.InputTag("icPu5CaloJetsL2L3"), - etMin = cms.double(110.0), - minNumber = cms.uint32(1) - ) - -# Dijet requirement -leadingCaloJet = cms.EDFilter( "LargestEtCaloJetSelector", - src = cms.InputTag( "icPu5CaloJetsL2L3" ), - filter = cms.bool( False ), - maxNumber = cms.uint32( 1 ) - ) - -goodLeadingJet = cms.EDFilter("CaloJetSelector", - src = cms.InputTag("leadingCaloJet"), - cut = cms.string("et > 130") - ) - -goodSecondJet = cms.EDFilter("CaloJetSelector", - src = cms.InputTag("icPu5CaloJetsL2L3"), - cut = cms.string("et > 50") - ) - -backToBackDijets = cms.EDProducer("CandViewShallowCloneCombiner", - checkCharge = cms.bool(False), - cut = cms.string('abs(deltaPhi(daughter(0).phi,daughter(1).phi)) > 2.5'), - decay = cms.string("goodLeadingJet goodSecondJet") - ) - -dijetFilter = cms.EDFilter("CandViewCountFilter", - src = cms.InputTag("backToBackDijets"), - minNumber = cms.uint32(1) - ) - -# dijet skim sequence -diJetSkimSequence = cms.Sequence(hltJetHI - * primaryVertexFilterForJets - * icPu5CaloJetsL2L3 - * jetEtFilter - * leadingCaloJet - * goodLeadingJet - * goodSecondJet - * backToBackDijets - * dijetFilter - ) diff --git a/HeavyIonsAnalysis/Configuration/python/HI_PhotonSkim_cff.py b/HeavyIonsAnalysis/Configuration/python/HI_PhotonSkim_cff.py deleted file mode 100644 index 934c01964a1c2..0000000000000 --- a/HeavyIonsAnalysis/Configuration/python/HI_PhotonSkim_cff.py +++ /dev/null @@ -1,90 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# HLT photon trigger -import HLTrigger.HLTfilters.hltHighLevel_cfi -hltPhotonHI = HLTrigger.HLTfilters.hltHighLevel_cfi.hltHighLevel.clone() -hltPhotonHI.HLTPaths = ["HLT_HIPhoton20"] -hltPhotonHI.throw = False -hltPhotonHI.andOr = True - -# photon selection -goodPhotons = cms.EDFilter("PhotonSelector", - src = cms.InputTag("photons"), - cut = cms.string('et > 20 && hadronicOverEm < 0.1 && r9 > 0.8 && sigmaIetaIeta > 0.002') -) - -goodPhotonsForZEE = goodPhotons.clone( - cut=cms.string('et > 20 && hadronicOverEm < 0.2 && r9 > 0.5 && sigmaIetaIeta > 0.002') -) - -# leading photon E_T filter -photonFilter = cms.EDFilter("EtMinPhotonCountFilter", - src = cms.InputTag("goodPhotons"), - etMin = cms.double(40.0), - minNumber = cms.uint32(1) -) - -# supercluster cleaning sequence (output = cleanPhotons) -from RecoHI.HiEgammaAlgos.HiEgamma_cff import * - -# photon selection of spike-cleaned collection -goodCleanPhotons = goodPhotons.clone(src=cms.InputTag("cleanPhotons")) -goodCleanPhotonsForZEE = goodPhotonsForZEE.clone(src=cms.InputTag("cleanPhotons")) - - -# leading E_T filter on cleaned collection -cleanPhotonFilter = photonFilter.clone(src=cms.InputTag("goodCleanPhotons")) - -# photon skim sequence -photonSkimSequence = cms.Sequence(hltPhotonHI - * goodPhotons - * photonFilter - * hiPhotonCleaningSequence - * goodCleanPhotons - * cleanPhotonFilter - ) - -# selection of valid vertex -primaryVertexFilterForZEE = cms.EDFilter("VertexSelector", - src = cms.InputTag("hiSelectedVertex"), - cut = cms.string("!isFake && abs(z) <= 25 && position.Rho <= 2"), - filter = cms.bool(True), # otherwise it won't filter the events - ) - -# two-photon E_T filter -twoPhotonFilter = cms.EDFilter("EtMinPhotonCountFilter", - src = cms.InputTag("goodPhotonsForZEE"), - etMin = cms.double(20.0), - minNumber = cms.uint32(2) -) - -# select pairs around Z mass -photonCombiner = cms.EDProducer("CandViewShallowCloneCombiner", - checkCharge = cms.bool(False), - cut = cms.string('60 < mass < 120'), - decay = cms.string('goodCleanPhotonsForZEE goodCleanPhotonsForZEE') -) - -photonPairCounter = cms.EDFilter("CandViewCountFilter", - src = cms.InputTag("photonCombiner"), - minNumber = cms.uint32(1) -) - -# run electron sequence (after remaking pixel seeds) -from Configuration.StandardSequences.ReconstructionHeavyIons_cff import * -from RecoHI.HiEgammaAlgos.HiElectronSequence_cff import * -rechits = cms.Sequence(siPixelRecHits*siStripMatchedRecHits) -electrons = cms.Sequence(rechits*hiPrimSeeds*hiElectronSequence) - -# Z->ee skim sequence -zEESkimSequence = cms.Sequence(hltPhotonHI - * primaryVertexFilterForZEE - * goodPhotonsForZEE - * twoPhotonFilter - * hiPhotonCleaningSequence - * goodCleanPhotonsForZEE - * photonCombiner - * photonPairCounter - * electrons - ) - diff --git a/HeavyIonsAnalysis/Configuration/python/Skims_HI_cff.py b/HeavyIonsAnalysis/Configuration/python/Skims_HI_cff.py deleted file mode 100644 index f7fed22af91d2..0000000000000 --- a/HeavyIonsAnalysis/Configuration/python/Skims_HI_cff.py +++ /dev/null @@ -1,59 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from Configuration.EventContent.EventContentHeavyIons_cff import FEVTEventContent -skimContent = FEVTEventContent.clone() -skimContent.outputCommands.append("drop *_MEtoEDMConverter_*_*") -skimContent.outputCommands.append("drop *_*_*_SKIM") - -##################### - -from HeavyIonsAnalysis.Configuration.HI_DiJetSkim_cff import * -diJetSkimPath = cms.Path( diJetSkimSequence ) -SKIMStreamDiJet = cms.FilteredStream( - responsible = 'HI PAG', - name = 'DiJet', - paths = (diJetSkimPath), - content = skimContent.outputCommands, - selectEvents = cms.untracked.PSet(), - dataTier = cms.untracked.string('RAW-RECO') - ) - -##################### - -from HeavyIonsAnalysis.Configuration.HI_PhotonSkim_cff import * -photonSkimPath = cms.Path( photonSkimSequence ) -SKIMStreamPhoton = cms.FilteredStream( - responsible = 'HI PAG', - name = 'Photon', - paths = (photonSkimPath), - content = skimContent.outputCommands, - selectEvents = cms.untracked.PSet(), - dataTier = cms.untracked.string('RAW-RECO') - ) - -zEESkimPath = cms.Path( zEESkimSequence ) -SKIMStreamZEE = cms.FilteredStream( - responsible = 'HI PAG', - name = 'ZEE', - paths = (zEESkimPath), - content = skimContent.outputCommands, - selectEvents = cms.untracked.PSet(), - dataTier = cms.untracked.string('RAW-RECO') - ) - -##################### - -from HeavyIonsAnalysis.Configuration.HI_ZMMSkim_cff import * -zMMSkimPath = cms.Path( zMMSkimSequence ) -SKIMStreamZMM = cms.FilteredStream( - responsible = 'HI PAG', - name = 'ZMM', - paths = (zMMSkimPath), - content = skimContent.outputCommands, - selectEvents = cms.untracked.PSet(), - dataTier = cms.untracked.string('RAW-RECO') - ) - -##################### - -