Esempio n. 1
0
    ),
    SelectEvents = cms.untracked.PSet(
        SelectEvents = cms.vstring('generation_step')
    )
)

process.RAWSIMoutput.outputCommands.append('keep  *_*_MergedTrackTruth_*')

process.generation_step      = cms.Path(process.pgen)
process.simulation_step      = cms.Path(process.psim)
process.genfiltersummary_step= cms.EndPath(process.genFilterSummary)
process.digitisation_step    = cms.Path(process.pdigi)
process.L1TrackTrigger_step  = cms.Path(process.TrackTriggerClustersStubs)
process.L1TTAssociator_step  = cms.Path(process.TrackTriggerAssociatorClustersStubs)
process.endjob_step          = cms.EndPath(process.endOfProcess)
process.RAWSIMoutput_step    = cms.EndPath(process.RAWSIMoutput)

process.schedule = cms.Schedule(process.generation_step,process.genfiltersummary_step,process.simulation_step,process.digitisation_step,process.L1TrackTrigger_step,process.L1TTAssociator_step,process.endjob_step,process.RAWSIMoutput_step)

# filter all path with the production filter sequence
for path in process.paths:
	getattr(process,path)._seq = process.generator * getattr(process,path)._seq
	
# Automatic addition of the customisation function

from SLHCUpgradeSimulations.Configuration.phase2TkCustomsBE5D import customise as customiseBE5D
from SLHCUpgradeSimulations.Configuration.phase2TkCustomsBE5D import l1EventContent as customise_ev_BE5D

process=customiseBE5D(process)
process=customise_ev_BE5D(process)
def cust_phase2_BE5D(process):
    process = customisePostLS1(process)
    process = customiseBE5D(process)
    process = customise_HcalPhase1(process)
    process = customise_ev_BE5D(process)
    return process
def cust_2023HGCalPandoraNoExtPix_common(process):
    process = customisePostLS1(process)
    process = customiseBE5D(process)
    process = customise_HcalPhase2(process)
    process = customise_ev_BE5D(process)
    process = customise_gem2023(process)
    process = customise_rpc(process)
    process = jetCustoms.customise_jets(process)
    if hasattr(process, 'L1simulation_step'):
        process.simEcalTriggerPrimitiveDigis.BarrelOnly = cms.bool(True)
    if hasattr(process, 'digitisation_step'):
        process.mix.digitizers.ecal.accumulatorType = cms.string(
            'EcalPhaseIIDigiProducer')
        process.load('SimGeneral.MixingModule.hgcalDigitizer_cfi')
        process.mix.digitizers.hgceeDigitizer = process.hgceeDigitizer
        process.mix.digitizers.hgchebackDigitizer = process.hgchebackDigitizer
        process.mix.digitizers.hgchefrontDigitizer = process.hgchefrontDigitizer
        # Also need to tell the MixingModule to make the correct collections available from
        # the pileup, even if not creating CrossingFrames.
        process.mix.mixObjects.mixCH.input.append(
            cms.InputTag("g4SimHits",
                         process.hgceeDigitizer.hitCollection.value()))
        process.mix.mixObjects.mixCH.input.append(
            cms.InputTag("g4SimHits",
                         process.hgchebackDigitizer.hitCollection.value()))
        process.mix.mixObjects.mixCH.input.append(
            cms.InputTag("g4SimHits",
                         process.hgchefrontDigitizer.hitCollection.value()))
        process.mix.mixObjects.mixCH.subdets.append(
            process.hgceeDigitizer.hitCollection.value())
        process.mix.mixObjects.mixCH.subdets.append(
            process.hgchebackDigitizer.hitCollection.value())
        process.mix.mixObjects.mixCH.subdets.append(
            process.hgchefrontDigitizer.hitCollection.value())
    if hasattr(process, 'raw2digi_step'):
        process.ecalDigis.FEDs = cms.vint32(
            # EE-:
            #601, 602, 603, 604, 605,
            #606, 607, 608, 609,
            # EB-:
            610,
            611,
            612,
            613,
            614,
            615,
            616,
            617,
            618,
            619,
            620,
            621,
            622,
            623,
            624,
            625,
            626,
            627,
            # EB+:
            628,
            629,
            630,
            631,
            632,
            633,
            634,
            635,
            636,
            637,
            638,
            639,
            640,
            641,
            642,
            643,
            644,
            645,
            # EE+:
            #646, 647, 648, 649, 650,
            #651, 652, 653, 654
        )
        print "RAW2DIGI only for EB FEDs"
    if hasattr(process, 'reconstruction_step'):
        process.particleFlowRecHitHGCNoEB = cms.Sequence(
            process.particleFlowRecHitHGCEE + process.particleFlowRecHitHGCHEF)
        process.particleFlowClusterHGCNoEB = cms.Sequence(
            process.particleFlowClusterHGCEE +
            process.particleFlowClusterHGCHEF)
        process.particleFlowCluster += process.particleFlowRecHitHGCNoEB
        process.particleFlowCluster += process.particleFlowClusterHGCNoEB
        if hasattr(process, 'particleFlowSuperClusterECAL'):
            process.particleFlowSuperClusterHGCEE = process.particleFlowSuperClusterECAL.clone(
            )
            process.particleFlowSuperClusterHGCEE.useHGCEmPreID = cms.bool(
                True)
            process.particleFlowSuperClusterHGCEE.PFClusters = cms.InputTag(
                'particleFlowClusterHGCEE')
            process.particleFlowSuperClusterHGCEE.use_preshower = cms.bool(
                False)
            process.particleFlowSuperClusterHGCEE.PFSuperClusterCollectionEndcapWithPreshower = cms.string(
                '')
            process.particleFlowCluster += process.particleFlowSuperClusterHGCEE
            if hasattr(process, 'ecalDrivenElectronSeeds'):
                process.ecalDrivenElectronSeeds.endcapSuperClusters = cms.InputTag(
                    'particleFlowSuperClusterHGCEE')
                process.ecalDrivenElectronSeeds.SeedConfiguration.endcapHCALClusters = cms.InputTag(
                    'particleFlowClusterHGCHEF')
                process.ecalDrivenElectronSeeds.SeedConfiguration.hOverEMethodEndcap = cms.int32(
                    3)
                process.ecalDrivenElectronSeeds.SeedConfiguration.hOverEConeSizeEndcap = cms.double(
                    0.087)
                process.ecalDrivenElectronSeeds.SeedConfiguration.maxHOverEEndcaps = cms.double(
                    0.1)
                process.ecalDrivenElectronSeeds.SeedConfiguration.z2MinB = cms.double(
                    -0.15)
                process.ecalDrivenElectronSeeds.SeedConfiguration.z2MaxB = cms.double(
                    0.15)
                if hasattr(process, 'ecalDrivenGsfElectrons'):
                    process.ecalDrivenGsfElectrons.hOverEMethodEndcap = cms.int32(
                        3)
                    process.ecalDrivenGsfElectrons.hOverEConeSizeEndcap = cms.double(
                        0.087)
                    process.ecalDrivenGsfElectrons.maxDeltaEtaEndcaps = cms.double(
                        0.015)
                    process.ecalDrivenGsfElectrons.hcalEndcapClusters = cms.InputTag(
                        'particleFlowClusterHGCHEF')
                    if hasattr(process, 'gsfElectrons'):
                        process.gsfElectrons.hOverEMethodEndcap = cms.int32(3)
                        process.gsfElectrons.hOverEConeSizeEndcap = cms.double(
                            0.087)
                        process.gsfElectrons.maxDeltaEtaEndcaps = cms.double(
                            0.015)
                        process.gsfElectrons.hcalEndcapClusters = cms.InputTag(
                            'particleFlowClusterHGCHEF')
        # load pandora customization (note we have removed HGC clusters entirely from standard ParticleFlow
        # doing this)
        process.load(
            'RecoParticleFlow.PandoraTranslator.HGCalTrackCollection_cfi')
        process.load('RecoParticleFlow.PandoraTranslator.runPandora_cfi')
        process.pandorapfanew.pf_electron_output_col = process.particleFlowTmp.pf_electron_output_col
        process.particleFlowBlock.elementImporters[5].source = cms.InputTag(
            'HGCalTrackCollection:TracksNotInHGCal')
        process.pandoraSequence = cms.Sequence(process.HGCalTrackCollection *
                                               process.particleFlowBlock *
                                               process.pandorapfanew)
        process.particleFlowReco.replace(process.particleFlowBlock,
                                         process.pandoraSequence)
        process.particleFlowBarrel = process.particleFlowTmp.clone()
        process.particleFlowTmp = cms.EDProducer(
            "PFCandidateListMerger",
            src=cms.VInputTag("particleFlowBarrel", "pandorapfanew"),
            src1=cms.VInputTag(
                "particleFlowBarrel:" +
                str(process.particleFlowTmp.pf_electron_output_col),
                "pandorapfanew:" +
                str(process.particleFlowTmp.pf_electron_output_col)),
            label1=process.particleFlowTmp.pf_electron_output_col)
        process.mergedParticleFlowSequence = cms.Sequence(
            process.particleFlowBarrel * process.particleFlowTmp)
        process.particleFlowReco.replace(process.particleFlowTmp,
                                         process.mergedParticleFlowSequence)

    #mod event content
    process.load('RecoLocalCalo.Configuration.hgcalLocalReco_EventContent_cff')
    if hasattr(process, 'FEVTDEBUGHLTEventContent'):
        process.FEVTDEBUGHLTEventContent.outputCommands.extend(
            process.hgcalLocalRecoFEVT.outputCommands)
        process.FEVTDEBUGHLTEventContent.outputCommands.append(
            'keep *_particleFlowSuperClusterHGCEE_*_*')
        process.FEVTDEBUGHLTEventContent.outputCommands.append(
            'keep *_pandorapfanew_*_*')

    if hasattr(process, 'RECOSIMEventContent'):
        process.RECOSIMEventContent.outputCommands.extend(
            process.hgcalLocalRecoFEVT.outputCommands)
        process.RECOSIMEventContent.outputCommands.append(
            'keep *_particleFlowSuperClusterHGCEE_*_*')
        process.RECOSIMEventContent.outputCommands.append(
            'keep *_pandorapfanew_*_*')
    return process
Esempio n. 4
0
                                                   "AML1Patterns")
process.MIBextraction.L1track_tag = cms.InputTag("MergeFITOutput",
                                                 "AML1Tracks")
process.MIBextraction.CLUS_container = cms.string("TTStubsFromPixelDigis")
process.MIBextraction.CLUS_name = cms.string("ClusterAccepted")

# Keep the PR output
process.RAWSIMoutput.outputCommands.append('keep  *_*_*_AMPRBASE')

# Keep the FIT output
process.RAWSIMoutput.outputCommands.append('keep  *_*_*_AMFITBASE')
process.RAWSIMoutput.outputCommands.append('drop *_TTTracksFromPattern_*_*')
process.RAWSIMoutput.outputCommands.append('keep  *_*_MergedTrackTruth_*')

# Path and EndPath definitions
process.L1AMFIT_step = cms.Path(process.TTTracksFromPatternswStubs)
process.p = cms.Path(process.MIBextraction)
process.endjob_step = cms.EndPath(process.endOfProcess)
process.RAWSIMoutput_step = cms.EndPath(process.RAWSIMoutput)

process.schedule = cms.Schedule(process.L1AMFIT_step, process.p,
                                process.endjob_step, process.RAWSIMoutput_step)

# Automatic addition of the customisation function

from SLHCUpgradeSimulations.Configuration.phase2TkCustomsBE5D import customise as customiseBE5D
from SLHCUpgradeSimulations.Configuration.phase2TkCustomsBE5D import l1EventContent as customise_ev_BE5D

process = customiseBE5D(process)
process = customise_ev_BE5D(process)
def cust_phase2_BE5D(process):
    process=customisePostLS1(process)
    process=customise_HcalPhase1(process)
    process=customiseBE5D(process)
    process=customise_ev_BE5D(process)
    return process