Exemplo n.º 1
0
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)
Exemplo n.º 2
0
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)
Exemplo n.º 3
0
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)
Exemplo n.º 4
0
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 )
Exemplo n.º 5
0
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 )