Exemplo n.º 1
0
process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff")
process.GlobalTag.globaltag = cms.string(dataVersion.getGlobalTag())
print "GlobalTag="+dataVersion.getGlobalTag()

process.load("HiggsAnalysis.HeavyChHiggsToTauNu.HChCommon_cfi")

# Uncomment the following in order to print the counters at the end of
# the job (note that if many other modules are being run in the same
# job, their INFO messages are printed too)
#process.MessageLogger.cerr.threshold = cms.untracked.string("INFO")

# Fragment to run PAT on the fly if requested from command line
options.doPat = 1
options.trigger="HLT_SingleIsoTau20_Trk15_MET20"
from HiggsAnalysis.HeavyChHiggsToTauNu.HChPatTuple import addPatOnTheFly
process.commonSequence, additionalCounters = addPatOnTheFly(process, options, dataVersion)

# Add configuration information to histograms.root
#from HiggsAnalysis.HeavyChHiggsToTauNu.HChTools import addConfigInfo
#process.infoPath = addConfigInfo(process, options, dataVersion)


################################################################################
# The "golden" version of the signal analysis

#import HiggsAnalysis.HeavyChHiggsToTauNu.HChSignalAnalysisParameters_cff as param
#param.overrideTriggerFromOptions(options)
# Set tau selection mode to 'standard' or 'factorized'
#param.setAllTauSelectionOperatingMode('standard')
#param.setAllTauSelectionOperatingMode('factorized')
    fileNames = cms.untracked.vstring(
        "/store/group/local/HiggsChToTauNuFullyHadronic/pattuples/CMSSW_4_4_X/TTJets_TuneZ2_Fall11/TTJets_TuneZ2_7TeV-madgraph-tauola/Fall11_PU_S6_START44_V9B_v1_AODSIM_tauembedding_gentauskim_v44_5/9ecb3a23e436fc2ffd8a803eac2a3a15/pattuple_1012_1_LSv.root",
    ),
)

process.load("HiggsAnalysis.HeavyChHiggsToTauNu.HChCommon_cfi")
# Fragment to run PAT on the fly if requested from command line
from HiggsAnalysis.HeavyChHiggsToTauNu.HChPatTuple import addPatOnTheFly
patArgs = {"doPatTrigger": False,
#           "doPatTaus": False,
#           "doHChTauDiscriminators": False,
           "doPatElectronID": True,
           "doTauHLTMatching": False,
           }
process.commonSequence, additionalCounters = addPatOnTheFly(process, options, dataVersion, patArgs=patArgs,
                                                            doHBHENoiseFilter=False,
                                                            )
import HiggsAnalysis.HeavyChHiggsToTauNu.AnalysisConfiguration as AnalysisConfiguration
dataEras = [
    "Run2011AB",
    "Run2011A",
    "Run2011B",
]
puWeights = AnalysisConfiguration.addPuWeightProducers(dataVersion, process, process.commonSequence, dataEras)

# Add GenTau skim counters
import HiggsAnalysis.HeavyChHiggsToTauNu.CustomGenTauSkim as tauSkim
additionalCounters = tauSkim.getCounters() + additionalCounters

# Add configuration information to histograms.root
import HiggsAnalysis.HeavyChHiggsToTauNu.HChTools as HChTools
Exemplo n.º 3
0
# the job (note that if many other modules are being run in the same
# job, their INFO messages are printed too)
#process.MessageLogger.cerr.threshold = cms.untracked.string("INFO")

# Fragment to run PAT on the fly if requested from command line
from HiggsAnalysis.HeavyChHiggsToTauNu.HChPatTuple import addPatOnTheFly
from PhysicsTools.PatAlgos.tools.coreTools import removeSpecificPATObjects
patArgs = {
    "doPatTrigger": False,
    #           "doPatTaus": False,
    #           "doHChTauDiscriminators": False,
    "doPatElectronID": True,
    "doTauHLTMatching": False,
    "doPatMuonPFIsolation": True,
}
process.commonSequence, additionalCounters = addPatOnTheFly(
    process, options, dataVersion, plainPatArgs=patArgs)
#process.commonSequence.remove(process.goodPrimaryVertices10)
if options.doPat == 0:
    process.load("HiggsAnalysis.HeavyChHiggsToTauNu.HChPrimaryVertex_cfi")
    process.commonSequence *= (process.goodPrimaryVertices *
                               process.goodPrimaryVertices10)

from HiggsAnalysis.HeavyChHiggsToTauNu.HChTools import *
# Pileup weighting
if dataVersion.isMC():
    import HiggsAnalysis.HeavyChHiggsToTauNu.HChSignalAnalysisParameters_cff as param

    # Pileup weighting
    process.pileupWeight = cms.EDProducer(
        "HPlusVertexWeightProducer",
        alias=cms.string("pileupWeight"),
    fileNames = cms.untracked.vstring(
        "/store/group/local/HiggsChToTauNuFullyHadronic/pattuples/CMSSW_4_4_X/TTJets_TuneZ2_Fall11/TTJets_TuneZ2_7TeV-madgraph-tauola/Fall11_PU_S6_START44_V9B_v1_AODSIM_tauembedding_gentauskim_v44_5/9ecb3a23e436fc2ffd8a803eac2a3a15/pattuple_1012_1_LSv.root",
    ),
)

process.load("HiggsAnalysis.HeavyChHiggsToTauNu.HChCommon_cfi")
# Fragment to run PAT on the fly if requested from command line
from HiggsAnalysis.HeavyChHiggsToTauNu.HChPatTuple import addPatOnTheFly
patArgs = {"doPatTrigger": False,
#           "doPatTaus": False,
#           "doHChTauDiscriminators": False,
           "doPatElectronID": True,
           "doTauHLTMatching": False,
           }
process.commonSequence, additionalCounters = addPatOnTheFly(process, options, dataVersion, patArgs=patArgs,
                                                            doHBHENoiseFilter=False,
                                                            )
import HiggsAnalysis.HeavyChHiggsToTauNu.AnalysisConfiguration as AnalysisConfiguration
dataEras = [
    "Run2011AB",
    "Run2011A",
    "Run2011B",
]
puWeights = AnalysisConfiguration.addPuWeightProducers(dataVersion, process, process.commonSequence, dataEras)

# Add GenTau skim counters
import HiggsAnalysis.HeavyChHiggsToTauNu.CustomGenTauSkim as tauSkim
additionalCounters = tauSkim.getCounters() + additionalCounters
import HiggsAnalysis.HeavyChHiggsToTauNu.tauEmbedding.customisations as customisations
process.genTaus = cms.EDFilter("GenParticleSelector",
    src = cms.InputTag("genParticles"),
Exemplo n.º 5
0
                               fileName=cms.untracked.string('dummy.root'),
                               outputCommands=cms.untracked.vstring())

from HiggsAnalysis.HeavyChHiggsToTauNu.HChPatTuple import addPatOnTheFly
patArgs = {
    #    "doPatTaus": False,
    "doPatMET": False,
    "doPatElectronID": False,
    "doPatCalo": False,
    "doBTagging": False,
    "doPatMuonPFIsolation": True,
    "doTauHLTMatching": False,
}
process.commonSequence, counters = addPatOnTheFly(process,
                                                  options,
                                                  dataVersion,
                                                  plainPatArgs=patArgs,
                                                  doMcPreselection=False)
del process.out
process.patDefaultSequence.remove(process.countPatTaus)

# Triggering
if dataVersion.isMC():
    process.load("HLTrigger.HLTfilters.triggerResultsFilter_cfi")
    process.triggerResultsFilter.hltResults = cms.InputTag(
        "TriggerResults", "", dataVersion.getTriggerProcess())
    process.triggerResultsFilter.l1tResults = cms.InputTag("")  # dummy
    process.triggerResultsFilter.throw = cms.bool(True)
    process.triggerResultsFilter.triggerConditions = cms.vstring(trigger)
    process.commonSequence *= process.triggerResultsFilter
else:
Exemplo n.º 6
0
process.out = cms.OutputModule("PoolOutputModule",
    fileName = cms.untracked.string('dummy.root'),
    outputCommands = cms.untracked.vstring()
)

from HiggsAnalysis.HeavyChHiggsToTauNu.HChPatTuple import addPatOnTheFly
patArgs = {
#    "doPatTaus": False,
    "doPatMET": False,
    "doPatElectronID": False,
    "doPatCalo": False,
    "doBTagging": False,
    "doPatMuonPFIsolation": True,
    "doTauHLTMatching": False,
    }
process.commonSequence, counters = addPatOnTheFly(process, options, dataVersion, plainPatArgs=patArgs, doMcPreselection=False)
del process.out
process.patDefaultSequence.remove(process.countPatTaus)

# Triggering
if dataVersion.isMC():
    process.load("HLTrigger.HLTfilters.triggerResultsFilter_cfi")
    process.triggerResultsFilter.hltResults = cms.InputTag("TriggerResults", "", dataVersion.getTriggerProcess())
    process.triggerResultsFilter.l1tResults = cms.InputTag("") # dummy
    process.triggerResultsFilter.throw = cms.bool(True)
    process.triggerResultsFilter.triggerConditions = cms.vstring(trigger)
    process.commonSequence *= process.triggerResultsFilter
else:
    process.TriggerFilter.triggerConditions = [trigger]

process.triggeredCount = cms.EDProducer("EventCountProducer")
Exemplo n.º 7
0
from HiggsAnalysis.HeavyChHiggsToTauNu.HChPatTuple import addPatOnTheFly
patArgs = {
    #    "doPatTaus": False,
    #    "doPatMET": False,
    "doPatElectronID": False,
    #    "doPatCalo": False,
    #    "doBTagging": False,
    "doTauHLTMatching": False,
}
process.out = cms.OutputModule(
    "PoolOutputModule",
    fileName=cms.untracked.string('dummy.root'),
    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,
        src = cms.InputTag("genMuons"),
        minNumber = cms.uint32(1),
    )
    process.genMuonsCount = cms.EDProducer("EventCountProducer")
    process.commonSequence += (
        process.allEvents +
        process.genMuons +
        process.genMuonsFilter +
        process.genMuonsCount
    )
    additionalCounters.extend(["allEvents", "genMuonsCount"])

    # PAT muons
    options.doPat = 1
    from HiggsAnalysis.HeavyChHiggsToTauNu.HChPatTuple import addPatOnTheFly
    process.fooSequenceSequence, fooCounters = addPatOnTheFly(process, options, dataVersion)
    process.patMuons.userData.userFloats.src = []
    process.selectedPatMuons.src = "patMuons"
    process.selectedPatMuons.cut = ""
    process.commonSequence += (
        process.pfParticleSelectionSequence +
        process.muIsoSequence +
        process.makePatMuons +
        process.selectedPatMuons
    )

    # MuScleFit correction
    # https://twiki.cern.ch/twiki/bin/view/CMSPublic/MuScleFitCorrections2012
    process.muscleMuons = cms.EDProducer("MuScleFitPATMuonCorrector", 
        src = cms.InputTag("selectedPatMuons"), 
        debug = cms.bool(False), 
Exemplo n.º 9
0
process.out = cms.OutputModule("PoolOutputModule",
    SelectEvents = cms.untracked.PSet(
        SelectEvents = cms.vstring("path")
    ),
    fileName = cms.untracked.string('skim.root'),
    outputCommands = cms.untracked.vstring()
)

process.selectionSequence = cms.Sequence()

from HiggsAnalysis.HeavyChHiggsToTauNu.HChPatTuple import addPatOnTheFly
patArgs = {"doTauHLTMatching": False,
           "doPatTaus": True,
           "doPatMuonPFIsolation": True,
           }
process.commonSequence, additionalCounters = addPatOnTheFly(process, options, dataVersion, plainPatArgs=patArgs, doPlainPat=True, doMcPreselection=True)
# In order to avoid transient references and generalTracks is available anyway
if hasattr(process, "patMuons"):
    process.patMuons.embedTrack = False

# Override the outputCommands here, since PAT modifies it
process.load("HiggsAnalysis.HeavyChHiggsToTauNu.tauEmbedding.HChEventContent_cff")
process.out.outputCommands = cms.untracked.vstring(
    "keep *",
    "drop *_MEtoEDMConverter_*_*", # drop DQM histos
    "drop *_*_*_MUONSKIM",
)

import re
name_re = re.compile("_\*$")
process.out.outputCommands.extend([name_re.sub("_MUONSKIM", x) for x in process.HChEventContent.outputCommands])
Exemplo n.º 10
0
# PAT, if requested
from HiggsAnalysis.HeavyChHiggsToTauNu.HChPatTuple import addPatOnTheFly
patArgs = {
#    "doPatTaus": False,
#    "doPatMET": False,
    "doPatElectronID": False,
#    "doPatCalo": False,
#    "doBTagging": False,
    "doTauHLTMatching": False,
    }
process.out = cms.OutputModule("PoolOutputModule",
    fileName = cms.untracked.string('dummy.root'),
    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"
Exemplo n.º 11
0
    SelectEvents=cms.untracked.PSet(SelectEvents=cms.vstring("path")),
    fileName=cms.untracked.string('skim.root'),
    outputCommands=cms.untracked.vstring())

process.selectionSequence = cms.Sequence()

from HiggsAnalysis.HeavyChHiggsToTauNu.HChPatTuple import addPatOnTheFly
patArgs = {
    "doTauHLTMatching": False,
    "doPatTaus": True,
    "doPatMuonPFIsolation": True,
}
process.commonSequence, additionalCounters = addPatOnTheFly(
    process,
    options,
    dataVersion,
    plainPatArgs=patArgs,
    doPlainPat=True,
    doMcPreselection=True)
# In order to avoid transient references and generalTracks is available anyway
if hasattr(process, "patMuons"):
    process.patMuons.embedTrack = False

# Override the outputCommands here, since PAT modifies it
process.load(
    "HiggsAnalysis.HeavyChHiggsToTauNu.tauEmbedding.HChEventContent_cff")
process.out.outputCommands = cms.untracked.vstring(
    "keep *",
    "drop *_MEtoEDMConverter_*_*",  # drop DQM histos
    "drop *_*_*_MUONSKIM",
)
Exemplo n.º 12
0
            "abs(pdgId()) == 13 && pt() > 40 && abs(eta()) < 2.1 && abs(mother().pdgId()) != 13"
        ))
    process.genMuonsFilter = cms.EDFilter(
        "CandViewCountFilter",
        src=cms.InputTag("genMuons"),
        minNumber=cms.uint32(1),
    )
    process.genMuonsCount = cms.EDProducer("EventCountProducer")
    process.commonSequence += (process.allEvents + process.genMuons +
                               process.genMuonsFilter + process.genMuonsCount)
    additionalCounters.extend(["allEvents", "genMuonsCount"])

    # PAT muons
    options.doPat = 1
    from HiggsAnalysis.HeavyChHiggsToTauNu.HChPatTuple import addPatOnTheFly
    process.fooSequenceSequence, fooCounters = addPatOnTheFly(
        process, options, dataVersion)
    process.patMuons.userData.userFloats.src = []
    process.selectedPatMuons.src = "patMuons"
    process.selectedPatMuons.cut = ""
    process.commonSequence += (process.pfParticleSelectionSequence +
                               process.muIsoSequence + process.makePatMuons +
                               process.selectedPatMuons)

    # MuScleFit correction
    # https://twiki.cern.ch/twiki/bin/view/CMSPublic/MuScleFitCorrections2012
    process.muscleMuons = cms.EDProducer(
        "MuScleFitPATMuonCorrector",
        src=cms.InputTag("selectedPatMuons"),
        debug=cms.bool(False),
        identifier=cms.string("Fall11_START44"),
        applySmearing=cms.bool(False),
Exemplo n.º 13
0
    outputCommands = cms.untracked.vstring(
        "keep *",
        "drop *_MEtoEDMConverter_*_*", # drop DQM histos
        "drop *_*_*_MUONSKIM",
        "keep *_tightMuons*_*_MUONSKIM",
        "keep *_goodJets*_*_MUONSKIM",
    )
)

process.selectionSequence = cms.Sequence()

from HiggsAnalysis.HeavyChHiggsToTauNu.HChPatTuple import addPatOnTheFly
patArgs = {"doTauHLTMatching": False,
           }
process.commonSequence, additionalCounters = addPatOnTheFly(process, options, dataVersion, patArgs=patArgs,
                                                            doHBHENoiseFilter=False, # Only save the HBHE result to event, don't filter
                                                            calculateEventCleaning=True, # This requires the tags from test/pattuple/checkoutTags.sh
)
# In order to avoid transient references and generalTracks is available anyway
#if hasattr(process, "patMuons"):
#    process.patMuons.embedTrack = False
#    process.patMuonsPFlow.embedTrack = False
#    process.patMuonsPFlowChs.embedTrack = False

# Override the outputCommands here, since PAT modifies it
# process.load("HiggsAnalysis.HeavyChHiggsToTauNu.tauEmbedding.HChEventContent_cff")
# process.out.outputCommands = cms.untracked.vstring(
# )
# import re
# name_re = re.compile("_\*$")
# process.out.outputCommands.extend([name_re.sub("_MUONSKIM", x) for x in process.HChEventContent.outputCommands])