Esempio n. 1
0
import FWCore.ParameterSet.Config as cms
from HiggsAnalysis.HeavyChHiggsToTauNu.HChOptions import getOptions
from HiggsAnalysis.HeavyChHiggsToTauNu.HChDataVersion import DataVersion
import FWCore.ParameterSet.VarParsing as VarParsing

dataVersion = "36X"
#dataVersion = "36Xspring10"
#dataVersion = "37X"
#dataVersion = "38X"
#dataVersion = "data" # this is for collision data 

options = getOptions()
if options.dataVersion != "":
    dataVersion = options.dataVersion
options.doPat=1

print "Assuming data is ", dataVersion
dataVersion = DataVersion(dataVersion) # convert string to object

process = cms.Process("MUONNTUPLE")

#process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(10000) )
process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(10) )

process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff")
process.GlobalTag.globaltag = cms.string(dataVersion.getGlobalTag())

process.source = cms.Source('PoolSource',
    fileNames = cms.untracked.vstring(
        #dataVersion.getPatDefaultFileCastor()
        #dataVersion.getPatDefaultFileMadhatter()
import FWCore.ParameterSet.Config as cms
import FWCore.ParameterSet.VarParsing as VarParsing

from HiggsAnalysis.HeavyChHiggsToTauNu.HChOptions import getOptions
from HiggsAnalysis.HeavyChHiggsToTauNu.HChDataVersion import DataVersion

options = VarParsing.VarParsing()
options.register('inputFiles', '', options.multiplicity.list,
                 options.varType.string, "Files to process")
options.register("hltProcess", "", options.multiplicity.singleton,
                 options.varType.string, "HLT Process name")
options.register("printPaths", 0, options.multiplicity.singleton,
                 options.varType.int, "Print HLT paths")
options = getOptions(options)

hltProcess = "HLT"
if options.dataVersion != "":
    hltProcess = DataVersion(options.dataVersion).getTriggerProcess()
if options.hltProcess != "":
    hltProcess = options.hltProcess

print "Using HLT process name", hltProcess

process = cms.Process("HLTTABLEANALYZER")
maxEv = -1
if options.printPaths != 0:
    maxEv = 10
process.maxEvents = cms.untracked.PSet(input=cms.untracked.int32(maxEv))
process.options = cms.untracked.PSet(
    Rethrow=cms.untracked.vstring("ProductNotFound"))
options.register("hltProcess",
                 "",
                 options.multiplicity.singleton,
                 options.varType.string,
                 "HLT Process name")
options.register("printPaths",
                 0,
                 options.multiplicity.singleton,
                 options.varType.int,
                 "Print HLT paths")
options.register("globalTag",
                 "",
                 options.multiplicity.singleton,
                 options.varType.string,
                 "Specify GlobalTag")
options = getOptions(options)

hltProcess = "HLT"
if options.dataVersion != "":
    hltProcess = DataVersion(options.dataVersion).getTriggerProcess()
if options.hltProcess != "":
    hltProcess = options.hltProcess

print "Using HLT process name", hltProcess

process = cms.Process("HLTTABLEANALYZER")
maxEv = -1
if options.printPaths != 0:
    maxEv = 10
process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(maxEv) )
process.options = cms.untracked.PSet(
def customise(process):
    options = VarParsing.VarParsing()
    options.register(
        'overrideBeamSpot',
        0,  # default value, false
        VarParsing.VarParsing.multiplicity.singleton,
        VarParsing.VarParsing.varType.int,
        "should I override beamspot in globaltag?")
    options = getOptions(options)

    # Muon isolation
    import HiggsAnalysis.HeavyChHiggsToTauNu.tauEmbedding.customisations as customisations
    process.muonIsolationSequence = cms.Sequence()
    muons = customisations.addMuonIsolationEmbedding(
        process,
        process.muonIsolationSequence,
        muons=process.tightenedMuons.src.value())
    process.tightenedMuons.src = muons
    process.ProductionFilterSequence.replace(
        process.tightenedMuons,
        process.muonIsolationSequence * process.tightenedMuons)

    # output
    outputModule = None
    outdict = process.outputModules_()
    if len(outdict) == 1:
        outputModule = outdict.values()[0]
    elif outdict.has_key("RECOSIMoutput"):
        outputModule = outdict["RECOSIMoutput"]

    #process.TFileService = cms.Service("TFileService",  fileName = cms.string("histo_simulation.root")          )

    print "TAUOLA mdtau =", process.generator.ZTauTau.TauolaOptions.InputCards.mdtau

    #process.source.duplicateCheckMode = cms.untracked.string('noDuplicateCheck')

    processName = process.name_()

    print "Adjusting event content to RAWSIM+misc"
    process.load(
        "HiggsAnalysis.HeavyChHiggsToTauNu.tauEmbedding.HChEventContent_cff")
    #outputModule.outputCommands = cms.untracked.vstring("keep *")
    outputModule.outputCommands = cms.untracked.vstring("drop *")
    outputModule.outputCommands.extend(
        process.RAWSIMEventContent.outputCommands)
    #outputModule.outputCommands.extend(process.RAWEventContent.outputCommands)
    outputModule.outputCommands.extend(process.AODEventContent.outputCommands)
    #outputModule.outputCommands.extend(process.AODSIMEventContent.outputCommands)
    outputModule.outputCommands.extend(process.HChEventContent.outputCommands)

    outputModule.outputCommands.extend([
        "keep *_generalTracks_*_*",
        "keep *_adaptedMuonsFromWmunu_*_%s" % processName,
        "keep *_dimuonsGlobal_*_%s" % processName,
        "keep *_generator_*_%s" % processName
    ])

    # Remove duplicate "drop *"
    index = 0
    for item in outputModule.outputCommands[:]:
        if item == "drop *" and index > 0:
            del outputModule.outputCommands[index]
            index -= 1
        index += 1

    # Set the empty event filter source
    process.filterEmptyEv.src.setProcessName(processName)

    # Do we have to override the beam spot for data?
    if options.overrideBeamSpot != 0:
        bs = cms.string(
            "BeamSpotObjects_2009_LumiBased_SigmaZ_v21_offline")  # 42x data gt
        #bs = cms.string("BeamSpotObjects_2009_LumiBased_SigmaZ_v18_offline") # 39x data gt
        #bs = cms.string("BeamSpotObjects_2009_LumiBased_v17_offline") # 38x data gt
        process.GlobalTag.toGet = cms.VPSet(
            cms.PSet(record=cms.string("BeamSpotObjectsRcd"),
                     tag=bs,
                     connect=cms.untracked.string(
                         "frontier://FrontierProd/CMS_COND_31X_BEAMSPOT")))
        print "BeamSpot in globaltag set to ", bs
    else:
        print "BeamSpot in globaltag not changed"

    if hasattr(process, "hltTrigReport"):
        process.hltTrigReport.HLTriggerResults.setProcessName(processName)
    if hasattr(process, "DQM_FEDIntegrity_v2"):
        process.schedule.remove(process.DQM_FEDIntegrity_v2)
    if hasattr(process, "DQM_FEDIntegrity_v3"):
        process.schedule.remove(process.DQM_FEDIntegrity_v3)
    if hasattr(process, "HLTAnalyzerEndpath"):
        process.schedule.remove(process.HLTAnalyzerEndpath)
        del process.HLTAnalyzerEndpath

    #process.load("HiggsAnalysis.HeavyChHiggsToTauNu.tauEmbedding.printGenParticles_cff")
    #process.generation_step *= process.printGenParticles

    # Disable gen vertex smearing
    process.VtxSmeared = cms.EDProducer("FlatEvtVtxGenerator",
                                        MaxZ=cms.double(0.0),
                                        MaxX=cms.double(0.0),
                                        MaxY=cms.double(0.0),
                                        MinX=cms.double(0.0),
                                        MinY=cms.double(0.0),
                                        MinZ=cms.double(0.0),
                                        TimeOffset=cms.double(0.0),
                                        src=cms.InputTag("generator"))

    return process
Esempio n. 5
0
import FWCore.ParameterSet.Config as cms
from HiggsAnalysis.HeavyChHiggsToTauNu.HChOptions import getOptions
from HiggsAnalysis.HeavyChHiggsToTauNu.HChDataVersion import DataVersion
import FWCore.ParameterSet.VarParsing as VarParsing

#dataVersion = "36X"
#dataVersion = "36Xspring10"
#dataVersion = "37X"
#dataVersion = "38X"
dataVersion = "39Xredigi"

options = getOptions()
if options.dataVersion != "":
    dataVersion = options.dataVersion

print "Assuming data is ", dataVersion
dataVersion = DataVersion(dataVersion)  # convert string to object

process = cms.Process("PatValidation")
process.maxEvents = cms.untracked.PSet(input=cms.untracked.int32(10))

process.source = cms.Source(
    'PoolSource', fileNames=cms.untracked.vstring("file:pattuple.root"))

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

process.analyzer = cms.EDAnalyzer(
    "HPlusPatTupleValidationAnalyzer",
    electrons=cms.untracked.VPSet(
        cms.PSet(src=cms.untracked.InputTag("selectedPatElectrons"),
Esempio n. 6
0
def customise(process):
    options = VarParsing.VarParsing()
    options.register('overrideBeamSpot',
                     0, # default value, false
                     VarParsing.VarParsing.multiplicity.singleton,
                     VarParsing.VarParsing.varType.int,
                     "should I override beamspot in globaltag?")
    options = getOptions(options)

    # Muon isolation
    import HiggsAnalysis.HeavyChHiggsToTauNu.tauEmbedding.customisations as customisations
    process.muonIsolationSequence = cms.Sequence()
    muons = customisations.addMuonIsolationEmbedding(process, process.muonIsolationSequence, muons=process.tightenedMuons.src.value())
    process.tightenedMuons.src = muons
    process.ProductionFilterSequence.replace(process.tightenedMuons, process.muonIsolationSequence*process.tightenedMuons)

    # output
    outputModule = None
    outdict = process.outputModules_()
    if len(outdict) == 1:
        outputModule = outdict.values()[0]
    elif outdict.has_key("RECOSIMoutput"):
        outputModule = outdict["RECOSIMoutput"]

    #process.TFileService = cms.Service("TFileService",  fileName = cms.string("histo_simulation.root")          )

    print "TAUOLA mdtau =", process.generator.ZTauTau.TauolaOptions.InputCards.mdtau

    #process.source.duplicateCheckMode = cms.untracked.string('noDuplicateCheck')

    processName = process.name_()

    print "Adjusting event content to RAWSIM+misc"
    process.load("HiggsAnalysis.HeavyChHiggsToTauNu.tauEmbedding.HChEventContent_cff")
    #outputModule.outputCommands = cms.untracked.vstring("keep *")
    outputModule.outputCommands = cms.untracked.vstring("drop *")
    outputModule.outputCommands.extend(process.RAWSIMEventContent.outputCommands)
    #outputModule.outputCommands.extend(process.RAWEventContent.outputCommands)
    outputModule.outputCommands.extend(process.AODEventContent.outputCommands)
    #outputModule.outputCommands.extend(process.AODSIMEventContent.outputCommands)
    outputModule.outputCommands.extend(process.HChEventContent.outputCommands)

    outputModule.outputCommands.extend([
            "keep *_generalTracks_*_*",
            "keep *_adaptedMuonsFromWmunu_*_%s" % processName,
            "keep *_dimuonsGlobal_*_%s" % processName,
            "keep *_generator_*_%s" % processName
    ])

    # Remove duplicate "drop *"
    index = 0
    for item in outputModule.outputCommands[:]:
        if item == "drop *" and index > 0:
            del outputModule.outputCommands[index]
            index -= 1
        index += 1


    # Set the empty event filter source
    process.filterEmptyEv.src.setProcessName(processName)

    # Do we have to override the beam spot for data?
    if options.overrideBeamSpot !=  0:
        bs = cms.string("BeamSpotObjects_2009_LumiBased_SigmaZ_v21_offline") # 42x data gt
        #bs = cms.string("BeamSpotObjects_2009_LumiBased_SigmaZ_v18_offline") # 39x data gt
        #bs = cms.string("BeamSpotObjects_2009_LumiBased_v17_offline") # 38x data gt
        process.GlobalTag.toGet = cms.VPSet(
            cms.PSet(record = cms.string("BeamSpotObjectsRcd"),
                     tag = bs,
                     connect = cms.untracked.string("frontier://FrontierProd/CMS_COND_31X_BEAMSPOT")
            )
        )
        print "BeamSpot in globaltag set to ", bs
    else:
        print "BeamSpot in globaltag not changed"

    if hasattr(process, "hltTrigReport"):
        process.hltTrigReport.HLTriggerResults.setProcessName(processName)
    if hasattr(process, "DQM_FEDIntegrity_v2"):
        process.schedule.remove(process.DQM_FEDIntegrity_v2)
    if hasattr(process, "DQM_FEDIntegrity_v3"):
        process.schedule.remove(process.DQM_FEDIntegrity_v3)
    if hasattr(process, "HLTAnalyzerEndpath"):
        process.schedule.remove(process.HLTAnalyzerEndpath)
        del process.HLTAnalyzerEndpath

    #process.load("HiggsAnalysis.HeavyChHiggsToTauNu.tauEmbedding.printGenParticles_cff")
    #process.generation_step *= process.printGenParticles

    # Disable gen vertex smearing
    process.VtxSmeared = cms.EDProducer("FlatEvtVtxGenerator", 
        MaxZ = cms.double(0.0),
        MaxX = cms.double(0.0),
        MaxY = cms.double(0.0),
        MinX = cms.double(0.0),
        MinY = cms.double(0.0),
        MinZ = cms.double(0.0),
        TimeOffset = cms.double(0.0),
        src = cms.InputTag("generator")
    )
    
    return process