def addPUWeightVariation(name): # Up variation module = getattr(process, name).clone() module.Tree.fill = False param.setPileupWeight(dataVersion, process, process.commonSequence, pset=module.vertexWeight, psetReader=module.pileupWeightReader, era=puweight, suffix="up") addAnalysis(process, name + "PUWeightPlus", module, preSequence=process.commonSequence, additionalCounters=additionalCounters, signalAnalysisCounters=True) # Down variation module = module.clone() param.setPileupWeight(dataVersion, process, process.commonSequence, pset=module.vertexWeight, psetReader=module.pileupWeightReader, era=puweight, suffix="down") addAnalysis(process, name + "PUWeightMinus", module, preSequence=process.commonSequence, additionalCounters=additionalCounters, signalAnalysisCounters=True)
def addPUWeightVariation(name): # Up variation module = getattr(process, name).clone() module.Tree.fill = False param.setPileupWeight(dataVersion, process, process.commonSequence, pset=module.vertexWeight, psetReader=module.pileupWeightReader, era=puweight, suffix="up") addAnalysis(process, name+"PUWeightPlus", module, preSequence=process.commonSequence, additionalCounters=additionalCounters, signalAnalysisCounters=True) # Down variation module = module.clone() param.setPileupWeight(dataVersion, process, process.commonSequence, pset=module.vertexWeight, psetReader=module.pileupWeightReader, era=puweight, suffix="down") addAnalysis(process, name+"PUWeightMinus", module, preSequence=process.commonSequence, additionalCounters=additionalCounters, signalAnalysisCounters=True)
# Set tau sources to trigger matched tau collections #param.setAllTauSelectionSrcSelectedPatTaus() param.setAllTauSelectionSrcSelectedPatTausTriggerMatched() # Switch to PF2PAT objects #param.changeCollectionsToPF2PAT() param.changeCollectionsToPF2PAT(postfix=PF2PATVersion) # Trigger with scale factors (at the moment hard coded) if applyTriggerScaleFactor and dataVersion.isMC(): param.triggerEfficiencyScaleFactor.mode = "scaleFactor" # Set the data scenario for vertex/pileup weighting if len(options.puWeightEra) > 0: puweight = options.puWeightEra param.setPileupWeight(dataVersion, process=process, commonSequence=process.commonSequence, pset=param.vertexWeight, psetReader=param.pileupWeightReader, era=puweight) # Reweight by true PU distribution param.setDataTriggerEfficiency(dataVersion, era=puweight) print "PU weight era =",puweight #param.trigger.selectionType = "disabled" import HiggsAnalysis.HeavyChHiggsToTauNu.tauEmbedding.customisations as tauEmbeddingCustomisations if options.tauEmbeddingInput != 0: #tauEmbeddingCustomisations.addMuonIsolationEmbeddingForSignalAnalysis(process, process.commonSequence) tauEmbeddingCustomisations.setCaloMetSum(process, process.commonSequence, options, dataVersion) tauEmbeddingCustomisations.customiseParamForTauEmbedding(param, options, dataVersion) if dataVersion.isMC(): process.muonTriggerFixSequence = cms.Sequence() additionalCounters.extend(tauEmbeddingCustomisations.addMuonTriggerFix(process, dataVersion, process.muonTriggerFixSequence, options)) process.commonSequence.replace(process.patSequence, process.muonTriggerFixSequence*process.patSequence) if tauEmbeddingFinalizeMuonSelection:
# Vertex selection from HiggsAnalysis.HeavyChHiggsToTauNu.HChPrimaryVertex import addPrimaryVertexSelection addPrimaryVertexSelection(process, process.commonSequence) # Pileup weights import HiggsAnalysis.HeavyChHiggsToTauNu.HChSignalAnalysisParameters_cff as param puWeights = [ "Run2011A", "Run2011B", "Run2011AB", ] puWeightNames = [] for era in puWeights: prodName = param.setPileupWeight(dataVersion, process=process, commonSequence=process.commonSequence, era=era) puWeightNames.append(prodName) process.commonSequence.remove(getattr(process, prodName)) process.commonSequence.insert(0, getattr(process, prodName)) # FIXME: this is only a consequence of the swiss-knive effect... process.commonSequence.remove(process.goodPrimaryVertices) process.commonSequence.insert(0, process.goodPrimaryVertices) # Switch to PF2PAT objects #PF2PATVersion = "PFlow" #param.changeCollectionsToPF2PAT(postfix=PF2PATVersion) muons = cms.InputTag("tauEmbeddingMuons") #taus = cms.InputTag("selectedPatTausShrinkingConePFTau")
patArgs=patArgs) del process.out # Pileup weighting from HiggsAnalysis.HeavyChHiggsToTauNu.HChTools import * import HiggsAnalysis.HeavyChHiggsToTauNu.HChSignalAnalysisParameters_cff as param process.pileupWeight = cms.EDProducer( "HPlusVertexWeightProducer", alias=cms.string("pileupWeight"), ) puweight = "Run2011AB" if len(options.puWeightEra) > 0: puweight = options.puWeightEra param.setPileupWeight(dataVersion, process=process, commonSequence=process.commonSequence, era=puweight) insertPSetContentsTo(param.vertexWeight, process.pileupWeight) process.pileupWeight.vertexSrc = "offlinePrimaryVertices" if dataVersion.isData(): process.pileupWeight.enabled = False process.commonSequence.insert(0, process.pileupWeight) counterProto = cms.EDProducer("EventCountProducer") # All events (after trigger) process.allEventsCount = counterProto.clone() process.eventPreSelection *= process.allEventsCount counters.append("allEventsCount") # Primary vertex
from HiggsAnalysis.HeavyChHiggsToTauNu.HChTools import * # Vertex selection from HiggsAnalysis.HeavyChHiggsToTauNu.HChPrimaryVertex import addPrimaryVertexSelection addPrimaryVertexSelection(process, process.commonSequence) # Pileup weights import HiggsAnalysis.HeavyChHiggsToTauNu.HChSignalAnalysisParameters_cff as param puWeights = [ "Run2011A", "Run2011B", "Run2011AB", ] puWeightNames = [] for era in puWeights: prodName = param.setPileupWeight(dataVersion, process=process, commonSequence=process.commonSequence, era=era) puWeightNames.append(prodName) process.commonSequence.remove(getattr(process, prodName)) process.commonSequence.insert(0, getattr(process, prodName)) # FIXME: this is only a consequence of the swiss-knive effect... process.commonSequence.remove(process.goodPrimaryVertices) process.commonSequence.insert(0, process.goodPrimaryVertices) # Switch to PF2PAT objects #PF2PATVersion = "PFlow" #param.changeCollectionsToPF2PAT(postfix=PF2PATVersion) muons = cms.InputTag("tauEmbeddingMuons") #taus = cms.InputTag("selectedPatTausShrinkingConePFTau") taus = cms.InputTag("selectedPatTausHpsPFTau")
outputCommands = cms.untracked.vstring(), ) process.commonSequence, counters = addPatOnTheFly(process, options, dataVersion, patArgs=patArgs) del process.out # Pileup weighting from HiggsAnalysis.HeavyChHiggsToTauNu.HChTools import * import HiggsAnalysis.HeavyChHiggsToTauNu.HChSignalAnalysisParameters_cff as param process.pileupWeight = cms.EDProducer("HPlusVertexWeightProducer", alias = cms.string("pileupWeight"), ) puweight = "Run2011AB" if len(options.puWeightEra) > 0: puweight = options.puWeightEra param.setPileupWeight(dataVersion, process=process, commonSequence=process.commonSequence, era=puweight) insertPSetContentsTo(param.vertexWeight, process.pileupWeight) process.pileupWeight.vertexSrc = "offlinePrimaryVertices" if dataVersion.isData(): process.pileupWeight.enabled = False process.commonSequence.insert(0, process.pileupWeight) counterProto = cms.EDProducer( "EventCountProducer") # All events (after trigger) process.allEventsCount = counterProto.clone() process.eventPreSelection *= process.allEventsCount counters.append("allEventsCount") # Primary vertex process.firstPrimaryVertex = cms.EDProducer("HPlusFirstVertexSelector",
param.setAllTauSelectionSrcSelectedPatTausTriggerMatched() # Switch to PF2PAT objects #param.changeCollectionsToPF2PAT() param.changeCollectionsToPF2PAT(postfix=PF2PATVersion) # Trigger with scale factors (at the moment hard coded) if applyTriggerScaleFactor and dataVersion.isMC(): param.triggerEfficiencyScaleFactor.mode = "scaleFactor" # Set the data scenario for vertex/pileup weighting if len(options.puWeightEra) > 0: puweight = options.puWeightEra param.setPileupWeight(dataVersion, process=process, commonSequence=process.commonSequence, pset=param.vertexWeight, psetReader=param.pileupWeightReader, era=puweight) # Reweight by true PU distribution param.setDataTriggerEfficiency(dataVersion, era=puweight) print "PU weight era =", puweight #param.trigger.selectionType = "disabled" import HiggsAnalysis.HeavyChHiggsToTauNu.tauEmbedding.customisations as tauEmbeddingCustomisations if options.tauEmbeddingInput != 0: #tauEmbeddingCustomisations.addMuonIsolationEmbeddingForSignalAnalysis(process, process.commonSequence) tauEmbeddingCustomisations.setCaloMetSum(process, process.commonSequence, options, dataVersion) tauEmbeddingCustomisations.customiseParamForTauEmbedding( param, options, dataVersion) if dataVersion.isMC():