def setModules(process, options): process.sampleInfo = cms.EDProducer("tnp::SampleInfoTree", genInfo = cms.InputTag("generator") ) from HLTrigger.HLTfilters.hltHighLevel_cfi import hltHighLevel process.hltFilter = hltHighLevel.clone() process.hltFilter.throw = cms.bool(True) process.hltFilter.HLTPaths = options['TnPPATHS'] from PhysicsTools.TagAndProbe.pileupConfiguration_cfi import pileupProducer process.pileupReweightingProducer = pileupProducer.clone() ################################################################### ## ELECTRON MODULES ################################################################### process.goodPhotons = cms.EDFilter("PATPhotonRefSelector", src = cms.InputTag(options['PHOTON_COLL']), cut = cms.string(options['PHOTON_CUTS']) ) ################################################################### ## PHOTON ISOLATION ################################################################### process.load("RecoEgamma/PhotonIdentification/PhotonIDValueMapProducer_cfi") ################################################################### ## HLT MATCHING ################################################################### process.goodPhotonsTagHLT = cms.EDProducer("PatPhotonTriggerCandProducer", filterNames = options['TnPHLTTagFilters'], inputs = cms.InputTag("goodPhotonsTAGCutBasedTight"), bits = cms.InputTag('TriggerResults::HLT'), objects = cms.InputTag('selectedPatTrigger'), dR = cms.double(0.3), isAND = cms.bool(True) ) process.goodPhotonsProbeHLT = cms.EDProducer("PatPhotonTriggerCandProducer", filterNames = options['TnPHLTProbeFilters'], inputs = cms.InputTag("goodPhotons"), bits = cms.InputTag('TriggerResults::HLT'), objects = cms.InputTag('selectedPatTrigger'), dR = cms.double(0.3), isAND = cms.bool(True) ) process.tagTightRECO = cms.EDProducer("CandViewShallowCloneCombiner", decay = cms.string("goodPhotonsTagHLT@+ goodPhotonsProbeHLT@-"), checkCharge = cms.bool(False), cut = cms.string("60<mass<120"), )
def setModules(process, options): process.sampleInfo = cms.EDProducer("tnp::SampleInfoTree", #vertexCollection = cms.InputTag("offlineSlimmedPrimaryVertices"), genInfo = cms.InputTag("generator") ) process.eleVarHelper = cms.EDProducer("PatElectronVariableHelper", probes = cms.InputTag(options['ELECTRON_COLL']), vertexCollection = cms.InputTag("offlineSlimmedPrimaryVertices"), mvaValuesMap = cms.InputTag("electronMVAValueMapProducer:ElectronMVAEstimatorRun2Spring15NonTrig25nsV1Values"), photonSrc = cms.InputTag("packedPFCandidates"), packedPFCandidates = cms.InputTag("packedPFCandidates") ) from HLTrigger.HLTfilters.hltHighLevel_cfi import hltHighLevel process.hltFilter = hltHighLevel.clone() process.hltFilter.throw = cms.bool(True) process.hltFilter.HLTPaths = options['TnPPATHS'] from PhysicsTools.TagAndProbe.pileupConfiguration_cfi import pileupProducer process.pileupReweightingProducer = pileupProducer.clone() ################################################################### ## ELECTRON MODULES ################################################################### process.goodElectrons = cms.EDFilter("PATElectronRefSelector", src = cms.InputTag(options['ELECTRON_COLL']), cut = cms.string(options['ELECTRON_CUTS']) ) ################################################################### ## SUPERCLUSTER MODULES ################################################################### process.superClusterCands = cms.EDProducer("ConcreteEcalCandidateProducer", src = cms.InputTag(options['SUPERCLUSTER_COLL']), particleType = cms.int32(11), ) process.goodSuperClusters = cms.EDFilter("RecoEcalCandidateRefSelector", src = cms.InputTag("superClusterCands"), cut = cms.string(options['SUPERCLUSTER_CUTS']), filter = cms.bool(True) ) process.GsfMatchedSuperClusterCands = cms.EDProducer("ElectronMatchedCandidateProducer", src = cms.InputTag("superClusterCands"), ReferenceElectronCollection = cms.untracked.InputTag("goodElectrons"), cut = cms.string(options['SUPERCLUSTER_CUTS']) ) ################################################################### ## TRIGGER MATCHING ################################################################### process.goodElectronsTagHLT = cms.EDProducer("PatElectronTriggerCandProducer", filterNames = cms.vstring(options['TnPHLTTagFilters']), inputs = cms.InputTag("goodElectronsTAGCutBasedTight"), bits = cms.InputTag('TriggerResults::HLT'), objects = cms.InputTag('selectedPatTrigger'), dR = cms.double(0.3), isAND = cms.bool(True) ) process.goodElectronsProbeHLT = cms.EDProducer("PatElectronTriggerCandProducer", filterNames = cms.vstring(options['TnPHLTProbeFilters']), inputs = cms.InputTag("goodElectrons"), bits = cms.InputTag('TriggerResults::HLT'), objects = cms.InputTag('selectedPatTrigger'), dR = cms.double(0.3), isAND = cms.bool(True) ) process.goodElectronsProbeMeasureHLT = cms.EDProducer("PatElectronTriggerCandProducer", filterNames = cms.vstring(options['TnPHLTProbeFilters']), inputs = cms.InputTag("goodElectrons"), bits = cms.InputTag('TriggerResults::HLT'), objects = cms.InputTag('selectedPatTrigger'), dR = cms.double(0.3), isAND = cms.bool(True) ) process.goodElectronsMeasureHLT = cms.EDProducer("PatElectronTriggerCandProducer", filterNames = cms.vstring(options['HLTFILTERTOMEASURE']), inputs = cms.InputTag("goodElectronsProbeMeasureHLT"), bits = cms.InputTag('TriggerResults::HLT'), objects = cms.InputTag('selectedPatTrigger'), dR = cms.double(0.3), isAND = cms.bool(False) ) process.goodSuperClustersHLT = cms.EDProducer("RecoEcalCandidateTriggerCandProducer", filterNames = cms.vstring(options['TnPHLTProbeFilters']), inputs = cms.InputTag("goodSuperClusters"), bits = cms.InputTag('TriggerResults::HLT'), objects = cms.InputTag('selectedPatTrigger'), dR = cms.double(0.3), isAND = cms.bool(True) ) ################################################################### ## MC MATCHES ################################################################### process.McMatchHLT = cms.EDProducer("MCTruthDeltaRMatcherNew", matchPDGId = cms.vint32(11), src = cms.InputTag("goodElectrons"), distMin = cms.double(0.3), matched = cms.InputTag("prunedGenParticles"), checkCharge = cms.bool(True) ) process.McMatchSC = cms.EDProducer("MCTruthDeltaRMatcherNew", matchPDGId = cms.vint32(11), src = cms.InputTag("goodSuperClusters"), distMin = cms.double(0.3), matched = cms.InputTag("prunedGenParticles"), checkCharge = cms.bool(False) ) process.McMatchTag = cms.EDProducer("MCTruthDeltaRMatcherNew", matchPDGId = cms.vint32(11), src = cms.InputTag("goodElectronsTAGCutBasedTight"), distMin = cms.double(0.2), matched = cms.InputTag("prunedGenParticles"), checkCharge = cms.bool(True) ) process.McMatchRECO = cms.EDProducer("MCTruthDeltaRMatcherNew", matchPDGId = cms.vint32(11), src = cms.InputTag("goodElectrons"), distMin = cms.double(0.2), matched = cms.InputTag("prunedGenParticles"), checkCharge = cms.bool(True) ) ################################################################### ## TnP PAIRS ################################################################### process.tagTightHLT = cms.EDProducer("CandViewShallowCloneCombiner", decay = cms.string("goodElectronsTagHLT@+ goodElectronsProbeMeasureHLT@-"), checkCharge = cms.bool(True), cut = cms.string("40<mass<1000"), ) process.tagTightSC = cms.EDProducer("CandViewShallowCloneCombiner", decay = cms.string("goodElectronsTagHLT goodSuperClustersHLT"), checkCharge = cms.bool(False), cut = cms.string("40<mass<1000"), ) process.tagTightRECO = cms.EDProducer("CandViewShallowCloneCombiner", decay = cms.string("goodElectronsTagHLT@+ goodElectronsProbeHLT@-"), checkCharge = cms.bool(True), cut = cms.string("40<mass<1000"), )
def setModules(process, options): process.sampleInfo = cms.EDProducer("tnp::FlashggSampleInfoTree", ) from HLTrigger.HLTfilters.hltHighLevel_cfi import hltHighLevel process.hltFilter = hltHighLevel.clone() process.hltFilter.throw = cms.bool(False) process.hltFilter.HLTPaths = options['TnPPATHS'] from PhysicsTools.TagAndProbe.pileupConfiguration_cfi import pileupProducer process.pileupReweightingProducer = pileupProducer.clone() ################################################################### ## ELECTRON MODULES ################################################################### #produces photons for tag+probe process.photonFromDiPhotons = cms.EDProducer( "FlashggPhotonFromDiPhotonProducer", src=cms.InputTag(options['DIPHOTON_COLL']), cut=cms.string(options['PHOTON_CUTS']), leadingPreselection=cms.string(options['LEADING_PRESELECTION']), subleadingPreselection=cms.string(options['SUBLEADING_PRESELECTION']), vertexSelection=cms.int32( -1 ), # -1 means take the chosen vertex, otherwise use the index to select 2it #diPhotonMVATag = cms.InputTag("flashggUpdatedIdMVADiPhotons"), diPhotonMVATag=cms.InputTag("flashggDiPhotonMVA"), diphotonMVAThreshold=cms.double(-0.6)) #produces tag collection from diphotons process.goodPhotonTags = cms.EDFilter( "FlashggPhotonRefSelector", src=cms.InputTag("photonFromDiPhotons"), cut=cms.string(options['PHOTON_TAG_CUTS'])) #produces probe collection from diphotons process.goodPhotonProbes = cms.EDFilter( "FlashggPhotonRefSelector", src=cms.InputTag("photonFromDiPhotons"), cut=cms.string(options['PHOTON_PROBE_CUTS'])) ################################################################### #IDMVA for probes process.goodPhotonProbesIDMVA = cms.EDProducer( "FlashggPhotonSelectorByDoubleValueMap", input=cms.InputTag("goodPhotonProbes"), cut=cms.string(options['PHOTON_PROBE_CUTS']), selection=cms.InputTag("photonFromDiPhotons:idmva"), id_cut=cms.double(-0.9)) process.goodPhotonsProbeTnPprobe = cms.EDProducer( "FlashggPhotonTriggerCandProducer", filterNames=options['TnPHLTProbeFilters'], inputs=cms.InputTag("goodPhotonProbesIDMVA"), bits=cms.InputTag(options['TRIGGER_RES']), objects=cms.InputTag(options['PAT_TRIG']), dR=cms.double(0.3), isAND=cms.bool(False)) #numerator for Preselection process.goodPhotonProbesPreselection = cms.EDProducer( "FlashggPhotonSelectorByValueMap", input=cms.InputTag("goodPhotonsProbeTnPprobe"), cut=cms.string(options['PHOTON_PROBE_CUTS']), selection=cms.InputTag("photonFromDiPhotons:preselection"), id_cut=cms.bool(True)) #probes match to l1 #process.goodPhotonProbesL1 = cms.EDProducer("FlashggPhotonL1CandProducer", process.goodPhotonProbesL1 = cms.EDProducer( "FlashggPhotonL1Stage2CandProducer", inputs=cms.InputTag("goodPhotonProbesPreselection"), #isoObjects = cms.InputTag("l1extraParticles:Isolated"), #nonIsoObjects = cms.InputTag("l1extraParticles:NonIsolated"), #objects = cms.InputTag("hltCaloStage2Digis:EGamma"), objects=cms.InputTag("caloStage2Digis:EGamma"), #minET = cms.double(15), #lead eff only minET=cms.double(10), #sublead eff only dRmatch=cms.double( 0.2), #defined to match L1 online matching to hlt (0.261) dRmatchEE=cms.double( 0.2 ), #defined to match L1 online matching to hlt (should probably be tightened for stage2) isolatedOnly=cms.bool(False)) #numerator passing HLT requiring preselection and L1 process.goodPhotonsProbeHLT = cms.EDProducer( "FlashggPhotonTriggerCandProducer", filterNames=options['HLTFILTERTOMEASURE'], inputs=cms.InputTag("goodPhotonProbesPreselection"), bits=cms.InputTag(options['TRIGGER_RES']), objects=cms.InputTag(options['PAT_TRIG']), dR=cms.double(0.3), isAND=cms.bool(False)) ################################################################### #IDMVA for tags process.goodPhotonTagsIDMVA = cms.EDProducer( "FlashggPhotonSelectorByDoubleValueMap", input=cms.InputTag("goodPhotonTags"), cut=cms.string(options['PHOTON_TAG_CUTS']), selection=cms.InputTag("photonFromDiPhotons:idmva"), id_cut=cms.double(-0.5)) #preselection for tags process.goodPhotonTagsPreselection = cms.EDProducer( "FlashggPhotonSelectorByValueMap", input=cms.InputTag("goodPhotonTagsIDMVA"), cut=cms.string(options['PHOTON_TAG_CUTS']), selection=cms.InputTag("photonFromDiPhotons:preselection"), id_cut=cms.bool(True)) #good match to lead HggFilter tag photons for denominator PRESELECTED process.goodPhotonsTagLeadMatch = cms.EDProducer( "FlashggPhotonTriggerCandProducer", filterNames=options['TagLeadMatchFilters'], inputs=cms.InputTag("goodPhotonTagsPreselection"), bits=cms.InputTag(options['TRIGGER_RES']), objects=cms.InputTag(options['PAT_TRIG']), dR=cms.double(0.3), isAND=cms.bool(False)) #good preselected tag photons for denominator process.goodPhotonsTagHLT = cms.EDProducer( "FlashggPhotonTriggerCandProducer", filterNames=options['TnPHLTTagFilters'], inputs=cms.InputTag("goodPhotonsTagLeadMatch"), bits=cms.InputTag(options['TRIGGER_RES']), objects=cms.InputTag(options['PAT_TRIG']), dR=cms.double(0.3), isAND=cms.bool(False)) ################################################################### ## PHOTON ISOLATION ################################################################### process.load( "RecoEgamma/PhotonIdentification/PhotonIDValueMapProducer_cfi") process.noL1RECO = cms.EDProducer( "CandViewShallowCloneCombiner", decay=cms.string("goodPhotonsTagHLT goodPhotonProbesPreselection"), #decay = cms.string("goodPhotonsTagHLT goodPhotonsProbeHLT"), checkCharge=cms.bool(False), cut=cms.string("40<mass<180"), ) #efficiency for HLT with L1 requirement in denominator process.L1RECO = cms.EDProducer( "CandViewShallowCloneCombiner", decay=cms.string("goodPhotonsTagHLT goodPhotonProbesL1"), checkCharge=cms.bool(False), cut=cms.string("40<mass<180"), )
def setModules(process, options): process.sampleInfo = cms.EDProducer("tnp::FlashggSampleInfoTree", ) from HLTrigger.HLTfilters.hltHighLevel_cfi import hltHighLevel process.hltFilter = hltHighLevel.clone() process.hltFilter.throw = cms.bool(False) process.hltFilter.HLTPaths = options['TnPPATHS'] from PhysicsTools.TagAndProbe.pileupConfiguration_cfi import pileupProducer process.pileupReweightingProducer = pileupProducer.clone() ################################################################### ## ELECTRON MODULES ################################################################### #produces photons for tag+probe process.photonFromDiPhotons = cms.EDProducer("FlashggPhotonFromDiPhotonProducer", src = cms.InputTag(options['DIPHOTON_COLL']), cut = cms.string(options['PHOTON_CUTS']), leadingPreselection = cms.string(options['LEADING_PRESELECTION']), subleadingPreselection = cms.string(options['SUBLEADING_PRESELECTION']), vertexSelection = cms.int32(-1), # -1 means take the chosen vertex, otherwise use the index to select 2it #diPhotonMVATag = cms.InputTag("flashggUpdatedIdMVADiPhotons"), diPhotonMVATag = cms.InputTag("flashggDiPhotonMVA"), diphotonMVAThreshold = cms.double(-0.6) ) #produces tag collection from diphotons process.goodPhotonTags = cms.EDFilter("FlashggPhotonRefSelector", src = cms.InputTag("photonFromDiPhotons"), cut = cms.string(options['PHOTON_TAG_CUTS']) ) #produces probe collection from diphotons process.goodPhotonProbes = cms.EDFilter("FlashggPhotonRefSelector", src = cms.InputTag("photonFromDiPhotons"), cut = cms.string(options['PHOTON_PROBE_CUTS']) ) ################################################################### #IDMVA for probes process.goodPhotonProbesIDMVA = cms.EDProducer("FlashggPhotonSelectorByDoubleValueMap", input = cms.InputTag("goodPhotonProbes"), cut = cms.string(options['PHOTON_PROBE_CUTS']), selection = cms.InputTag("photonFromDiPhotons:idmva"), id_cut = cms.double(-0.9) ) process.goodPhotonsProbeTnPprobe = cms.EDProducer("FlashggPhotonTriggerCandProducer", filterNames = options['TnPHLTProbeFilters'], inputs = cms.InputTag("goodPhotonProbesIDMVA"), bits = cms.InputTag(options['TRIGGER_RES']), objects = cms.InputTag(options['PAT_TRIG']), dR = cms.double(0.3), isAND = cms.bool(False) ) #numerator for Preselection process.goodPhotonProbesPreselection = cms.EDProducer("FlashggPhotonSelectorByValueMap", input = cms.InputTag("goodPhotonsProbeTnPprobe"), cut = cms.string(options['PHOTON_PROBE_CUTS']), selection = cms.InputTag("photonFromDiPhotons:preselection"), id_cut = cms.bool(True) ) #probes match to l1 #process.goodPhotonProbesL1 = cms.EDProducer("FlashggPhotonL1CandProducer", process.goodPhotonProbesL1 = cms.EDProducer("FlashggPhotonL1Stage2CandProducer", inputs = cms.InputTag("goodPhotonProbesPreselection"), #isoObjects = cms.InputTag("l1extraParticles:Isolated"), #nonIsoObjects = cms.InputTag("l1extraParticles:NonIsolated"), #objects = cms.InputTag("hltCaloStage2Digis:EGamma"), objects = cms.InputTag("caloStage2Digis:EGamma"), #minET = cms.double(15), #lead eff only minET = cms.double(10), #sublead eff only dRmatch = cms.double(0.2), #defined to match L1 online matching to hlt (0.261) dRmatchEE = cms.double(0.2), #defined to match L1 online matching to hlt (should probably be tightened for stage2) isolatedOnly = cms.bool(False) ) #numerator passing HLT requiring preselection and L1 process.goodPhotonsProbeHLT = cms.EDProducer("FlashggPhotonTriggerCandProducer", filterNames = options['HLTFILTERTOMEASURE'], inputs = cms.InputTag("goodPhotonProbesPreselection"), bits = cms.InputTag(options['TRIGGER_RES']), objects = cms.InputTag(options['PAT_TRIG']), dR = cms.double(0.3), isAND = cms.bool(False) ) ################################################################### #IDMVA for tags process.goodPhotonTagsIDMVA = cms.EDProducer("FlashggPhotonSelectorByDoubleValueMap", input = cms.InputTag("goodPhotonTags"), cut = cms.string(options['PHOTON_TAG_CUTS']), selection = cms.InputTag("photonFromDiPhotons:idmva"), id_cut = cms.double(-0.5) ) #preselection for tags process.goodPhotonTagsPreselection = cms.EDProducer("FlashggPhotonSelectorByValueMap", input = cms.InputTag("goodPhotonTagsIDMVA"), cut = cms.string(options['PHOTON_TAG_CUTS']), selection = cms.InputTag("photonFromDiPhotons:preselection"), id_cut = cms.bool(True) ) #good match to lead HggFilter tag photons for denominator PRESELECTED process.goodPhotonsTagLeadMatch = cms.EDProducer("FlashggPhotonTriggerCandProducer", filterNames = options['TagLeadMatchFilters'], inputs = cms.InputTag("goodPhotonTagsPreselection"), bits = cms.InputTag(options['TRIGGER_RES']), objects = cms.InputTag(options['PAT_TRIG']), dR = cms.double(0.3), isAND = cms.bool(False) ) #good preselected tag photons for denominator process.goodPhotonsTagHLT = cms.EDProducer("FlashggPhotonTriggerCandProducer", filterNames = options['TnPHLTTagFilters'], inputs = cms.InputTag("goodPhotonsTagLeadMatch"), bits = cms.InputTag(options['TRIGGER_RES']), objects = cms.InputTag(options['PAT_TRIG']), dR = cms.double(0.3), isAND = cms.bool(False) ) ################################################################### ## PHOTON ISOLATION ################################################################### process.load("RecoEgamma/PhotonIdentification/PhotonIDValueMapProducer_cfi") process.noL1RECO = cms.EDProducer("CandViewShallowCloneCombiner", decay = cms.string("goodPhotonsTagHLT goodPhotonProbesPreselection"), #decay = cms.string("goodPhotonsTagHLT goodPhotonsProbeHLT"), checkCharge = cms.bool(False), cut = cms.string("40<mass<180"), ) #efficiency for HLT with L1 requirement in denominator process.L1RECO = cms.EDProducer("CandViewShallowCloneCombiner", decay = cms.string("goodPhotonsTagHLT goodPhotonProbesL1"), checkCharge = cms.bool(False), cut = cms.string("40<mass<180"), )
def setModules(process, options): process.sampleInfo = cms.EDProducer("tnp::FlashggSampleInfoTree", ) from HLTrigger.HLTfilters.hltHighLevel_cfi import hltHighLevel process.hltFilter = hltHighLevel.clone() process.hltFilter.throw = cms.bool(False) process.hltFilter.HLTPaths = options['TnPPATHS'] from PhysicsTools.TagAndProbe.pileupConfiguration_cfi import pileupProducer process.pileupReweightingProducer = pileupProducer.clone() ################################################################### ## ELECTRON MODULES ################################################################### process.photonFromDiPhotons = cms.EDProducer("FlashggPhotonFromDiPhotonProducer", src = cms.InputTag(options['DIPHOTON_COLL']), cut = cms.string(options['PHOTON_CUTS']), leadingPreselection = cms.string(options['LEADING_PRESELECTION']), subleadingPreselection = cms.string(options['SUBLEADING_PRESELECTION']), vertexSelection = cms.int32(-1), # -1 means take the chosen vertex, otherwise use the index to select 2it diPhotonMVATag = cms.InputTag("flashggDiPhotonMVA"), diphotonMVAThreshold = cms.double(-0.6) #Previous value was -1.0 ) process.goodPhotonTagL1 = cms.EDProducer("FlashggPhotonL1CandProducer", inputs = cms.InputTag("goodPhotonTags"), isoObjects = cms.InputTag("goodPhotonTags"), nonIsoObjects = cms.InputTag(""), minET = cms.double(25), dRmatch = cms.double(0.2), isolatedOnly = cms.bool(False) ) process.goodPhotonTags = cms.EDFilter("FlashggPhotonRefSelector", src = cms.InputTag("photonFromDiPhotons"), cut = cms.string(options['PHOTON_TAG_CUTS']) ) process.goodPhotonProbes = cms.EDFilter("FlashggPhotonRefSelector", src = cms.InputTag("photonFromDiPhotons"), cut = cms.string(options['PHOTON_CUTS']) ) ################################################################### process.goodPhotonProbesPreselection = cms.EDProducer("FlashggPhotonSelectorByValueMap", input = cms.InputTag("goodPhotonProbes"), cut = cms.string(options['PHOTON_CUTS']), selection = cms.InputTag("photonFromDiPhotons:preselection"), id_cut = cms.bool(True) ) process.goodPhotonProbesIDMVA = cms.EDProducer("FlashggPhotonSelectorByDoubleValueMap", input = cms.InputTag("goodPhotonProbes"), cut = cms.string(options['PHOTON_CUTS']), selection = cms.InputTag("photonFromDiPhotons:idmva"), id_cut = cms.double(-0.9) ) process.goodPhotonTagsIDMVA = cms.EDProducer("FlashggPhotonSelectorByDoubleValueMap", input = cms.InputTag("goodPhotonTags"), cut = cms.string(options['PHOTON_CUTS']), selection = cms.InputTag("photonFromDiPhotons:idmva"), id_cut = cms.double(-0.6) ) ################################################################### process.goodPhotonsTagHLT = cms.EDProducer("FlashggPhotonTriggerCandProducer", filterNames = options['TnPHLTTagFilters'], inputs = cms.InputTag("goodPhotonTagsIDMVA"), bits = cms.InputTag('TriggerResults::HLT'), objects = cms.InputTag('selectedPatTrigger'), dR = cms.double(0.3), isAND = cms.bool(True) ) process.goodPhotonsProbeHLT = cms.EDProducer("FlashggPhotonTriggerCandProducer", filterNames = options['TnPHLTProbeFilters'], inputs = cms.InputTag("goodPhotonProbes"), bits = cms.InputTag('TriggerResults::HLT'), objects = cms.InputTag('selectedPatTrigger'), dR = cms.double(0.3), isAND = cms.bool(True) ) process.goodPhotonProbesL1 = cms.EDProducer("FlashggPhotonL1Stage2CandProducer", inputs = cms.InputTag("goodPhotonProbes"), objects = cms.InputTag("caloStage2Digis:EGamma"), minET = cms.double(40), dRmatch = cms.double(0.2), dRmatchEE = cms.double(0.2), isolatedOnly = cms.bool(False) ) ################################################################### ## PHOTON ISOLATION ################################################################### process.load("RecoEgamma/PhotonIdentification/PhotonIDValueMapProducer_cfi") process.tagTightRECO = cms.EDProducer("CandViewShallowCloneCombiner", decay = cms.string("goodPhotonsTagHLT goodPhotonsProbeHLT"), checkCharge = cms.bool(False), cut = cms.string("40<mass<130"), )
def setModules(process, options): process.sampleInfo = cms.EDProducer("tnp::SampleInfoTree", #vertexCollection = cms.InputTag("offlineSlimmedPrimaryVertices"), genInfo = cms.InputTag("generator") ) process.eleVarHelper = cms.EDProducer("PatElectronVariableHelper", probes = cms.InputTag(options['ELECTRON_COLL']), vertexCollection = cms.InputTag("offlineSlimmedPrimaryVertices") ) from HLTrigger.HLTfilters.hltHighLevel_cfi import hltHighLevel process.hltFilter = hltHighLevel.clone() process.hltFilter.throw = cms.bool(True) process.hltFilter.HLTPaths = options['TnPPATHS'] from PhysicsTools.TagAndProbe.pileupConfiguration_cfi import pileupProducer process.pileupReweightingProducer = pileupProducer.clone() ################################################################### ## ELECTRON MODULES ################################################################### process.goodElectrons = cms.EDFilter("PATElectronRefSelector", src = cms.InputTag(options['ELECTRON_COLL']), cut = cms.string(options['ELECTRON_CUTS']) ) ################################################################### ## SUPERCLUSTER MODULES ################################################################### process.superClusterCands = cms.EDProducer("ConcreteEcalCandidateProducer", src = cms.InputTag(options['SUPERCLUSTER_COLL']), particleType = cms.int32(11), ) process.goodSuperClusters = cms.EDFilter("RecoEcalCandidateRefSelector", src = cms.InputTag("superClusterCands"), cut = cms.string(options['SUPERCLUSTER_CUTS']), filter = cms.bool(True) ) process.GsfMatchedSuperClusterCands = cms.EDProducer("PatElectronMatchedCandidateProducer", src = cms.InputTag("superClusterCands"), ReferenceElectronCollection = cms.untracked.InputTag("goodElectrons"), cut = cms.string(options['SUPERCLUSTER_CUTS']) ) ################################################################### ## TRIGGER MATCHING ################################################################### process.goodElectronsTagHLT = cms.EDProducer("PatElectronTriggerCandProducer", filterNames = cms.vstring(options['TnPHLTTagFilters']), inputs = cms.InputTag("goodElectronsTAGCutBasedTight"), bits = cms.InputTag('TriggerResults::HLT'), objects = cms.InputTag('selectedPatTrigger'), dR = cms.double(0.3), isAND = cms.bool(True) ) process.goodElectronsProbeHLT = cms.EDProducer("PatElectronTriggerCandProducer", filterNames = cms.vstring(options['TnPHLTProbeFilters']), inputs = cms.InputTag("goodElectrons"), bits = cms.InputTag('TriggerResults::HLT'), objects = cms.InputTag('selectedPatTrigger'), dR = cms.double(0.3), isAND = cms.bool(True) ) process.goodElectronsProbeMeasureHLT = cms.EDProducer("PatElectronTriggerCandProducer", filterNames = cms.vstring(options['TnPHLTProbeFilters']), inputs = cms.InputTag("goodElectrons"), bits = cms.InputTag('TriggerResults::HLT'), objects = cms.InputTag('selectedPatTrigger'), dR = cms.double(0.3), isAND = cms.bool(True) ) process.goodElectronsMeasureHLT = cms.EDProducer("PatElectronTriggerCandProducer", filterNames = cms.vstring(options['HLTFILTERTOMEASURE']), inputs = cms.InputTag("goodElectronsProbeMeasureHLT"), bits = cms.InputTag('TriggerResults::HLT'), objects = cms.InputTag('selectedPatTrigger'), dR = cms.double(0.3), isAND = cms.bool(False) ) process.goodSuperClustersHLT = cms.EDProducer("RecoEcalCandidateTriggerCandProducer", filterNames = cms.vstring(options['TnPHLTProbeFilters']), inputs = cms.InputTag("goodSuperClusters"), bits = cms.InputTag('TriggerResults::HLT'), objects = cms.InputTag('selectedPatTrigger'), dR = cms.double(0.3), isAND = cms.bool(True) ) ################################################################### ## TnP PAIRS ################################################################### process.tagTightHLT = cms.EDProducer("CandViewShallowCloneCombiner", decay = cms.string("goodElectronsTagHLT@+ goodElectronsProbeMeasureHLT@-"), checkCharge = cms.bool(True), cut = cms.string("60<mass<120"), ) process.tagTightSC = cms.EDProducer("CandViewShallowCloneCombiner", decay = cms.string("goodElectronsTagHLT goodSuperClustersHLT"), checkCharge = cms.bool(False), cut = cms.string("60<mass<120"), ) process.tagTightRECO = cms.EDProducer("CandViewShallowCloneCombiner", decay = cms.string("goodElectronsTagHLT@+ goodElectronsProbeHLT@-"), checkCharge = cms.bool(True), cut = cms.string("60<mass<120"), )
def setModules(process, options): process.sampleInfo = cms.EDProducer("tnp::FlashggSampleInfoTree", ) from HLTrigger.HLTfilters.hltHighLevel_cfi import hltHighLevel process.hltFilter = hltHighLevel.clone() process.hltFilter.throw = cms.bool(False) process.hltFilter.HLTPaths = options['TnPPATHS'] from PhysicsTools.TagAndProbe.pileupConfiguration_cfi import pileupProducer process.pileupReweightingProducer = pileupProducer.clone() ################################################################### ## ELECTRON MODULES ################################################################### process.photonFromDiPhotons = cms.EDProducer( "FlashggPhotonFromDiPhotonProducer", src=cms.InputTag(options['DIPHOTON_COLL']), cut=cms.string(options['PHOTON_CUTS']), leadingPreselection=cms.string(options['LEADING_PRESELECTION']), subleadingPreselection=cms.string(options['SUBLEADING_PRESELECTION']), vertexSelection=cms.int32( -1 ), # -1 means take the chosen vertex, otherwise use the index to select 2it diPhotonMVATag=cms.InputTag("flashggDiPhotonMVA"), diphotonMVAThreshold=cms.double(-1.0)) process.goodPhotonTagL1 = cms.EDProducer( "FlashggPhotonL1CandProducer", inputs=cms.InputTag("goodPhotonTags"), isoObjects=cms.InputTag("goodPhotonTags"), nonIsoObjects=cms.InputTag(""), minET=cms.double(25), dRmatch=cms.double(0.2), isolatedOnly=cms.bool(False)) process.goodPhotonTags = cms.EDFilter( "FlashggPhotonRefSelector", src=cms.InputTag("photonFromDiPhotons"), cut=cms.string(options['PHOTON_TAG_CUTS'])) process.goodPhotonProbes = cms.EDFilter( "FlashggPhotonRefSelector", src=cms.InputTag("photonFromDiPhotons"), cut=cms.string(options['PHOTON_CUTS'])) ################################################################### process.goodPhotonProbesPreselection = cms.EDProducer( "FlashggPhotonSelectorByValueMap", input=cms.InputTag("goodPhotonProbes"), cut=cms.string(options['PHOTON_CUTS']), selection=cms.InputTag("photonFromDiPhotons:preselection"), id_cut=cms.bool(True)) process.goodPhotonProbesIDMVA = cms.EDProducer( "FlashggPhotonSelectorByDoubleValueMap", input=cms.InputTag("goodPhotonProbes"), cut=cms.string(options['PHOTON_CUTS']), selection=cms.InputTag("photonFromDiPhotons:idmva"), id_cut=cms.double(-0.9)) process.goodPhotonTagsIDMVA = cms.EDProducer( "FlashggPhotonSelectorByDoubleValueMap", input=cms.InputTag("goodPhotonTags"), cut=cms.string(options['PHOTON_CUTS']), selection=cms.InputTag("photonFromDiPhotons:idmva"), id_cut=cms.double(0.0)) ################################################################### process.goodPhotonsTagHLT = cms.EDProducer( "FlashggPhotonTriggerCandProducer", filterNames=options['TnPHLTTagFilters'], inputs=cms.InputTag("goodPhotonTagsIDMVA"), bits=cms.InputTag('TriggerResults::HLT'), objects=cms.InputTag('selectedPatTrigger'), dR=cms.double(0.3), isAND=cms.bool(True)) process.goodPhotonsProbeHLT = cms.EDProducer( "FlashggPhotonTriggerCandProducer", filterNames=options['TnPHLTProbeFilters'], inputs=cms.InputTag("goodPhotonProbes"), bits=cms.InputTag('TriggerResults::HLT'), objects=cms.InputTag('selectedPatTrigger'), dR=cms.double(0.3), isAND=cms.bool(True)) process.goodPhotonProbesL1 = cms.EDProducer( "FlashggPhotonL1CandProducer", inputs=cms.InputTag("goodPhotonProbes"), isoObjects=cms.InputTag("l1extraParticles:Isolated"), nonIsoObjects=cms.InputTag("l1extraParticles:NonIsolated"), minET=cms.double(40), dRmatch=cms.double(0.2), isolatedOnly=cms.bool(False)) ################################################################### ## PHOTON ISOLATION ################################################################### process.load( "RecoEgamma/PhotonIdentification/PhotonIDValueMapProducer_cfi") process.tagTightRECO = cms.EDProducer( "CandViewShallowCloneCombiner", decay=cms.string("goodPhotonsTagHLT goodPhotonsProbeHLT"), checkCharge=cms.bool(False), cut=cms.string("40<mass<130"), )
def setModules(process, options): process.sampleInfo = cms.EDProducer("tnp::SampleInfoTree", #vertexCollection = cms.InputTag("offlineSlimmedPrimaryVertices"), genInfo = cms.InputTag("generator") ) process.eleVarHelper = cms.EDProducer("GsfElectronVariableHelper", probes = cms.InputTag(options['ELECTRON_COLL']), vertexCollection = cms.InputTag("offlinePrimaryVertices") ) process.hltVarHelper = cms.EDProducer("GsfElectronHLTVariableHelper", probes = cms.InputTag(options['ELECTRON_COLL']), hltCandidateCollection = cms.InputTag("hltEgammaCandidates"), mapOutputNames = cms.vstring("hltsieie", "hltecaliso", "hlthcaliso", "hlthoe", "hlttkiso", "hltdeta", "hltdetaseed", "hltdphi", "hlteop", "hltmishits"), mapInputTags = cms.VInputTag("hltEgammaClusterShape:sigmaIEtaIEta5x5", "hltEgammaEcalPFClusterIso", "hltEgammaHcalPFClusterIso", "hltEgammaHoverE", "hltEgammaEleGsfTrackIso", "hltEgammaGsfTrackVars:Deta", "hltEgammaGsfTrackVars:DetaSeed", "hltEgammaGsfTrackVars:Dphi", "hltEgammaGsfTrackVars:OneOESuperMinusOneOP", "hltEgammaGsfTrackVars:MissingHits") ) from HLTrigger.HLTfilters.hltHighLevel_cfi import hltHighLevel process.hltFilter = hltHighLevel.clone() process.hltFilter.throw = cms.bool(True) process.hltFilter.HLTPaths = options['TnPPATHS'] from PhysicsTools.TagAndProbe.pileupConfiguration_cfi import pileupProducer process.pileupReweightingProducer = pileupProducer.clone() ################################################################### ## ELECTRON MODULES ################################################################### process.goodElectrons = cms.EDFilter("GsfElectronRefSelector", src = cms.InputTag(options['ELECTRON_COLL']), cut = cms.string(options['ELECTRON_CUTS']) ) ################################################################### ## SUPERCLUSTER MODULES ################################################################### process.superClusterCands = cms.EDProducer("ConcreteEcalCandidateProducer", src = cms.InputTag(options['SUPERCLUSTER_COLL']), particleType = cms.int32(11), ) process.goodSuperClusters = cms.EDFilter("RecoEcalCandidateRefSelector", src = cms.InputTag("superClusterCands"), cut = cms.string(options['SUPERCLUSTER_CUTS']), filter = cms.bool(True) ) process.GsfMatchedSuperClusterCands = cms.EDProducer("ElectronMatchedCandidateProducer", src = cms.InputTag("superClusterCands"), ReferenceElectronCollection = cms.untracked.InputTag("goodElectrons"), cut = cms.string(options['SUPERCLUSTER_CUTS']) ) ################################################################### ## TRIGGER MATCHING ################################################################### process.goodElectronsTagHLT = cms.EDProducer("GsfElectronTriggerCandProducer", filterNames = cms.vstring(options['TnPHLTTagFilters']), inputs = cms.InputTag("goodElectronsTAGCutBasedTight"), bits = cms.InputTag('TriggerResults::HLT'), objects = cms.InputTag('hltTriggerSummaryAOD'), dR = cms.double(0.3), isAND = cms.bool(True) ) process.goodElectronsProbeHLT = cms.EDProducer("GsfElectronTriggerCandProducer", filterNames = cms.vstring(options['TnPHLTProbeFilters']), inputs = cms.InputTag("goodElectrons"), bits = cms.InputTag('TriggerResults::HLT'), objects = cms.InputTag('hltTriggerSummaryAOD'), dR = cms.double(0.3), isAND = cms.bool(True) ) process.goodElectronsProbeMeasureHLT = cms.EDProducer("GsfElectronTriggerCandProducer", filterNames = cms.vstring(options['TnPHLTProbeFilters']), inputs = cms.InputTag("goodElectrons"), bits = cms.InputTag('TriggerResults::HLT'), objects = cms.InputTag('hltTriggerSummaryAOD'), dR = cms.double(0.3), isAND = cms.bool(True) ) process.goodElectronsMeasureHLT = cms.EDProducer("GsfElectronTriggerCandProducer", filterNames = cms.vstring(options['HLTFILTERTOMEASURE']), inputs = cms.InputTag("goodElectronsProbeMeasureHLT"), bits = cms.InputTag('TriggerResults::HLT'), objects = cms.InputTag('hltTriggerSummaryAOD'), dR = cms.double(0.3), isAND = cms.bool(False) ) process.goodSuperClustersHLT = cms.EDProducer("RecoEcalCandidateTriggerCandProducer", filterNames = cms.vstring(options['TnPHLTProbeFilters']), inputs = cms.InputTag("goodSuperClusters"), bits = cms.InputTag('TriggerResults::HLT'), objects = cms.InputTag('hltTriggerSummaryAOD'), dR = cms.double(0.3), isAND = cms.bool(True) ) ################################################################### ## MC MATCHES ################################################################### #process.McMatchHLT = cms.EDProducer("MCTruthDeltaRMatcherNew", # matchPDGId = cms.vint32(11), # src = cms.InputTag("goodElectrons"), # distMin = cms.double(0.3), # matched = cms.InputTag("prunedGenParticles"), # checkCharge = cms.bool(True) # ) # #process.McMatchSC = cms.EDProducer("MCTruthDeltaRMatcherNew", # matchPDGId = cms.vint32(11), # src = cms.InputTag("goodSuperClusters"), # distMin = cms.double(0.3), # matched = cms.InputTag("prunedGenParticles"), # checkCharge = cms.bool(False) # ) # #process.McMatchTag = cms.EDProducer("MCTruthDeltaRMatcherNew", # matchPDGId = cms.vint32(11), # src = cms.InputTag("goodElectronsTAGCutBasedTight"), # distMin = cms.double(0.2), # matched = cms.InputTag("prunedGenParticles"), # checkCharge = cms.bool(True) # ) # #process.McMatchRECO = cms.EDProducer("MCTruthDeltaRMatcherNew", # matchPDGId = cms.vint32(11), # src = cms.InputTag("goodElectrons"), # distMin = cms.double(0.2), # matched = cms.InputTag("prunedGenParticles"), # checkCharge = cms.bool(True) # ) ################################################################### ## TnP PAIRS ################################################################### process.tagTightHLT = cms.EDProducer("CandViewShallowCloneCombiner", decay = cms.string("goodElectronsTagHLT@+ goodElectronsProbeMeasureHLT@-"), checkCharge = cms.bool(True), cut = cms.string("40<mass<1000"), ) process.tagTightSC = cms.EDProducer("CandViewShallowCloneCombiner", decay = cms.string("goodElectronsTagHLT goodSuperClustersHLT"), checkCharge = cms.bool(False), cut = cms.string("40<mass<1000"), ) process.tagTightRECO = cms.EDProducer("CandViewShallowCloneCombiner", decay = cms.string("goodElectronsTagHLT@+ goodElectronsProbeHLT@-"), checkCharge = cms.bool(True), cut = cms.string("40<mass<1000"), )
def setModules(process, options): process.sampleInfo = cms.EDProducer( "tnp::SampleInfoTree", #vertexCollection = cms.InputTag("offlineSlimmedPrimaryVertices"), genInfo=cms.InputTag("generator")) process.eleVarHelper = cms.EDProducer( "GsfElectronVariableHelper", probes=cms.InputTag(options['ELECTRON_COLL']), vertexCollection=cms.InputTag("offlinePrimaryVertices")) process.hltVarHelper = cms.EDProducer( "GsfElectronHLTVariableHelper", probes=cms.InputTag(options['ELECTRON_COLL']), hltCandidateCollection=cms.InputTag("hltEgammaCandidates"), mapOutputNames=cms.vstring("hltsieie", "hltecaliso", "hlthcaliso", "hlthoe", "hlttkiso", "hltdeta", "hltdetaseed", "hltdphi", "hlteop", "hltmishits"), mapInputTags=cms.VInputTag( "hltEgammaClusterShape:sigmaIEtaIEta5x5", "hltEgammaEcalPFClusterIso", "hltEgammaHcalPFClusterIso", "hltEgammaHoverE", "hltEgammaEleGsfTrackIso", "hltEgammaGsfTrackVars:Deta", "hltEgammaGsfTrackVars:DetaSeed", "hltEgammaGsfTrackVars:Dphi", "hltEgammaGsfTrackVars:OneOESuperMinusOneOP", "hltEgammaGsfTrackVars:MissingHits")) from HLTrigger.HLTfilters.hltHighLevel_cfi import hltHighLevel process.hltFilter = hltHighLevel.clone() process.hltFilter.throw = cms.bool(True) process.hltFilter.HLTPaths = options['TnPPATHS'] from PhysicsTools.TagAndProbe.pileupConfiguration_cfi import pileupProducer process.pileupReweightingProducer = pileupProducer.clone() ################################################################### ## ELECTRON MODULES ################################################################### process.goodElectrons = cms.EDFilter( "GsfElectronRefSelector", src=cms.InputTag(options['ELECTRON_COLL']), cut=cms.string(options['ELECTRON_CUTS'])) ################################################################### ## SUPERCLUSTER MODULES ################################################################### process.superClusterMerger = cms.EDProducer( "EgammaSuperClusterMerger", src=cms.VInputTag( cms.InputTag( "particleFlowSuperClusterECAL:particleFlowSuperClusterECALBarrel" ), cms.InputTag( "particleFlowSuperClusterECAL:particleFlowSuperClusterECALEndcapWithPreshower" ))) process.superClusterCands = cms.EDProducer( "ConcreteEcalCandidateProducer", src=cms.InputTag("superClusterMerger"), particleType=cms.int32(11), ) process.goodSuperClusters = cms.EDFilter( "RecoEcalCandidateRefSelector", src=cms.InputTag("superClusterCands"), cut=cms.string(options['SUPERCLUSTER_CUTS']), filter=cms.bool(True)) process.GsfMatchedSuperClusterCands = cms.EDProducer( "GsfElectronMatchedCandidateProducer", src=cms.InputTag("superClusterCands"), ReferenceElectronCollection=cms.untracked.InputTag("goodElectrons"), cut=cms.string(options['SUPERCLUSTER_CUTS'])) ################################################################### ## TRIGGER MATCHING ################################################################### process.goodElectronsTagHLT = cms.EDProducer( "GsfElectronTriggerCandProducer", filterNames=cms.vstring(options['TnPHLTTagFilters']), inputs=cms.InputTag("goodElectronsTAGCutBasedTight"), bits=cms.InputTag('TriggerResults::HLT'), objects=cms.InputTag('hltTriggerSummaryAOD'), dR=cms.double(0.3), isAND=cms.bool(True)) process.goodElectronsProbeHLT = cms.EDProducer( "GsfElectronTriggerCandProducer", filterNames=cms.vstring(options['TnPHLTProbeFilters']), inputs=cms.InputTag("goodElectrons"), bits=cms.InputTag('TriggerResults::HLT'), objects=cms.InputTag('hltTriggerSummaryAOD'), dR=cms.double(0.3), isAND=cms.bool(True)) process.goodElectronsProbeMeasureHLT = cms.EDProducer( "GsfElectronTriggerCandProducer", filterNames=cms.vstring(options['TnPHLTProbeFilters']), inputs=cms.InputTag("goodElectrons"), bits=cms.InputTag('TriggerResults::HLT'), objects=cms.InputTag('hltTriggerSummaryAOD'), dR=cms.double(0.3), isAND=cms.bool(True)) process.goodElectronsMeasureHLT = cms.EDProducer( "GsfElectronTriggerCandProducer", filterNames=cms.vstring(options['HLTFILTERTOMEASURE']), inputs=cms.InputTag("goodElectronsProbeMeasureHLT"), bits=cms.InputTag('TriggerResults::HLT'), objects=cms.InputTag('hltTriggerSummaryAOD'), dR=cms.double(0.3), isAND=cms.bool(False)) process.goodSuperClustersHLT = cms.EDProducer( "RecoEcalCandidateTriggerCandProducer", filterNames=cms.vstring(options['TnPHLTProbeFilters']), inputs=cms.InputTag("goodSuperClusters"), bits=cms.InputTag('TriggerResults::HLT'), objects=cms.InputTag('hltTriggerSummaryAOD'), dR=cms.double(0.3), isAND=cms.bool(True)) ################################################################### ## TnP PAIRS ################################################################### process.tagTightHLT = cms.EDProducer( "CandViewShallowCloneCombiner", decay=cms.string( "goodElectronsTagHLT@+ goodElectronsProbeMeasureHLT@-"), checkCharge=cms.bool(True), cut=cms.string("60<mass<120"), ) process.tagTightSC = cms.EDProducer( "CandViewShallowCloneCombiner", decay=cms.string("goodElectronsTagHLT goodSuperClustersHLT"), checkCharge=cms.bool(False), cut=cms.string("60<mass<120"), ) process.tagTightRECO = cms.EDProducer( "CandViewShallowCloneCombiner", decay=cms.string("goodElectronsTagHLT@+ goodElectronsProbeHLT@-"), checkCharge=cms.bool(True), cut=cms.string("60<mass<120"), )
def setModules(process, options): process.sampleInfo = cms.EDProducer("tnp::SampleInfoTree", genInfo=cms.InputTag("generator")) from HLTrigger.HLTfilters.hltHighLevel_cfi import hltHighLevel process.hltFilter = hltHighLevel.clone() process.hltFilter.throw = cms.bool(True) process.hltFilter.HLTPaths = options["TnPPATHS"] from PhysicsTools.TagAndProbe.pileupConfiguration_cfi import pileupProducer process.pileupReweightingProducer = pileupProducer.clone() ################################################################### ## ELECTRON MODULES ################################################################### process.goodPhotons = cms.EDFilter( "PATPhotonRefSelector", src=cms.InputTag(options["PHOTON_COLL"]), cut=cms.string(options["PHOTON_CUTS"]) ) ################################################################### ## PHOTON ISOLATION ################################################################### process.load("RecoEgamma/PhotonIdentification/PhotonIDValueMapProducer_cfi") ################################################################### ## HLT MATCHING ################################################################### process.goodPhotonsTagHLT = cms.EDProducer( "PatPhotonTriggerCandProducer", filterNames=options["TnPHLTTagFilters"], inputs=cms.InputTag("goodPhotonsTAGCutBasedTight"), bits=cms.InputTag("TriggerResults::HLT"), objects=cms.InputTag("selectedPatTrigger"), dR=cms.double(0.3), isAND=cms.bool(True), ) process.goodPhotonsProbeHLT = cms.EDProducer( "PatPhotonTriggerCandProducer", filterNames=options["TnPHLTProbeFilters"], inputs=cms.InputTag("goodPhotons"), bits=cms.InputTag("TriggerResults::HLT"), objects=cms.InputTag("selectedPatTrigger"), dR=cms.double(0.3), isAND=cms.bool(True), ) process.tagTightRECO = cms.EDProducer( "CandViewShallowCloneCombiner", decay=cms.string("goodPhotonsTagHLT@+ goodPhotonsProbeHLT@-"), checkCharge=cms.bool(False), cut=cms.string("40<mass<1000"), ) ################################################################### ## MC MATCHING ################################################################### process.McMatchTag = cms.EDProducer( "MCTruthDeltaRMatcherNew", matchPDGId=cms.vint32(11), src=cms.InputTag("goodPhotonsTAGCutBasedTight"), distMin=cms.double(0.2), matched=cms.InputTag("prunedGenParticles"), checkCharge=cms.bool(False), ) process.McMatchRECO = cms.EDProducer( "MCTruthDeltaRMatcherNew", matchPDGId=cms.vint32(11), src=cms.InputTag("goodPhotons"), distMin=cms.double(0.2), matched=cms.InputTag("prunedGenParticles"), checkCharge=cms.bool(False), )