def getFastCaloSimSvcV2(name="ISF_FastCaloSimSvcV2", **kwargs): from ISF_FastCaloSimServices.ISF_FastCaloSimJobProperties import ISF_FastCaloSimFlags kwargs.setdefault("CaloCellsOutputName", ISF_FastCaloSimFlags.CaloCellsName()) kwargs.setdefault("CaloCellMakerTools_setup", ['ISF_EmptyCellBuilderTool']) kwargs.setdefault( "CaloCellMakerTools_release", ['ISF_CaloCellContainerFinalizerTool', 'ISF_FastHitConvertTool']) kwargs.setdefault("ParamsInputFilename", ISF_FastCaloSimFlags.ParamsInputFilename()) kwargs.setdefault("ParamsInputObject", 'SelPDGID') kwargs.setdefault("FastCaloSimCaloExtrapolation", 'FastCaloSimCaloExtrapolation') # register the FastCaloSim random number streams from G4AtlasApps.SimFlags import simFlags if not simFlags.RandomSeedList.checkForExistingSeed( ISF_FastCaloSimFlags.RandomStreamName()): simFlags.RandomSeedList.addSeed( ISF_FastCaloSimFlags.RandomStreamName(), 98346412, 12461240) kwargs.setdefault("RandomStream", ISF_FastCaloSimFlags.RandomStreamName()) kwargs.setdefault("RandomSvc", simFlags.RandomSvc.get_Value()) return CfgMgr.ISF__FastCaloSimSvcV2(name, **kwargs)
def getFastCaloSimPileupOTSvc(name="ISF_FastCaloSimPileupOTSvc", **kwargs): from ISF_FastCaloSimServices.ISF_FastCaloSimJobProperties import ISF_FastCaloSimFlags kwargs.setdefault("BatchProcessMcTruth", False) kwargs.setdefault("SimulateUndefinedBarcodeParticles", False) kwargs.setdefault("Identifier", 'FastCaloSim') kwargs.setdefault("CaloCellsOutputName", ISF_FastCaloSimFlags.CaloCellsName() + 'PileUp') kwargs.setdefault("PunchThroughTool", 'ISF_PunchThroughTool') kwargs.setdefault("DoPunchThroughSimulation", False) #kwargs.setdefault("PUWeights" , FastChain_Flags.FastChainPUWeights() ) kwargs.setdefault("PUWeights_lar_bapre", FastChain_Flags.FastChainPUWeights_lar_bapre()) kwargs.setdefault("PUWeights_lar_hec", FastChain_Flags.FastChainPUWeights_lar_hec()) kwargs.setdefault("PUWeights_lar_em", FastChain_Flags.FastChainPUWeights_lar_em()) kwargs.setdefault("PUWeights_tile", FastChain_Flags.FastChainPUWeights_tile()) kwargs.setdefault("ParticleBroker", 'ISF_ParticleBrokerSvc') kwargs.setdefault("CaloCellMakerTools_setup", ['ISF_EmptyCellBuilderTool']) kwargs.setdefault("CaloCellMakerTools_simulate", ['ISF_FastShowerCellBuilderTool']) kwargs.setdefault( "CaloCellMakerTools_release", [ #'ISF_AddNoiseCellBuilderTool', 'ISF_CaloCellContainerFinalizerTool', 'ISF_FastHitConvertTool' ]) kwargs.setdefault("Extrapolator", 'ISF_NITimedExtrapolator') # register the FastCaloSim random number streams from G4AtlasApps.SimFlags import simFlags if not simFlags.RandomSeedList.checkForExistingSeed( ISF_FastCaloSimFlags.RandomStreamName()): simFlags.RandomSeedList.addSeed( ISF_FastCaloSimFlags.RandomStreamName(), 98346412, 12461240) return CfgMgr.ISF__FastCaloSimSvcPU(name, **kwargs)
def getFastCaloSimPileupSvc(name="ISF_FastCaloSimPileupSvc", **kwargs): from ISF_FastCaloSimServices.ISF_FastCaloSimJobProperties import ISF_FastCaloSimFlags kwargs.setdefault("CaloCellsOutputName", ISF_FastCaloSimFlags.CaloCellsName() + 'PileUp') kwargs.setdefault("CaloCellMakerTools_simulate", ['ISF_PileupFastShowerCellBuilderTool']) return getFastCaloSimSvc(name, **kwargs)
def getFastHitConvAlg(name="ISF_FastHitConvAlg", **kwargs): from ISF_FastCaloSimServices.ISF_FastCaloSimJobProperties import ISF_FastCaloSimFlags kwargs.setdefault("CaloCellsInputName" , ISF_FastCaloSimFlags.CaloCellsName() ) # TODO: do we need this? #from AthenaCommon.DetFlags import DetFlags #if DetFlags.pileup.LAr_on() or DetFlags.pileup.Tile_on(): # kwargs.setdefault("doPileup", True) #else: # kwargs.setdefault("doPileup", False) from FastCaloSimHit.FastCaloSimHitConf import FastHitConv return FastHitConv(name, **kwargs )
def getFastCaloSimV2ParamSvc(name="ISF_FastCaloSimV2ParamSvc", **kwargs): from ISF_FastCaloSimServices.ISF_FastCaloSimJobProperties import ISF_FastCaloSimFlags kwargs.setdefault("ParamsInputFilename" , ISF_FastCaloSimFlags.ParamsInputFilename()) kwargs.setdefault("ParamsInputObject" , 'SelPDGID') return CfgMgr.ISF__FastCaloSimV2ParamSvc(name, **kwargs )