Ejemplo n.º 1
0
def getFatrasSimHitCreatorMS(name="ISF_FatrasSimHitCreatorMS", **kwargs):
    mergeable_collection_suffix = "_Fatras"

    mdt_bare_collection_name = "MDT_Hits"
    mdt_merger_input_property = "MDTHits"
    mdt_hits_collection_name = generate_mergeable_collection_name(mdt_bare_collection_name,
                                                                  mergeable_collection_suffix,
                                                                  mdt_merger_input_property)
    rpc_bare_collection_name = "RPC_Hits"
    rpc_merger_input_property = "RPCHits"
    rpc_hits_collection_name = generate_mergeable_collection_name(rpc_bare_collection_name,
                                                                  mergeable_collection_suffix,
                                                                  rpc_merger_input_property)
    tgc_bare_collection_name = "TGC_Hits"
    tgc_merger_input_property = "TGCHits"
    tgc_hits_collection_name = generate_mergeable_collection_name(tgc_bare_collection_name,
                                                                  mergeable_collection_suffix,
                                                                  tgc_merger_input_property)
    csc_bare_collection_name = "CSC_Hits"
    csc_merger_input_property = "CSCHits"
    csc_hits_collection_name = generate_mergeable_collection_name(csc_bare_collection_name,
                                                                  mergeable_collection_suffix,
                                                                  csc_merger_input_property)

    from G4AtlasApps.SimFlags import simFlags
    kwargs.setdefault("RandomNumberService" , simFlags.RandomSvc() )
    kwargs.setdefault("RandomStreamName"    , ISF_FatrasFlags.RandomStreamName())
    kwargs.setdefault("Extrapolator" , getPublicTool('ISF_FatrasExtrapolator'))
    kwargs.setdefault("MDTCollectionName", mdt_hits_collection_name)
    kwargs.setdefault("RPCCollectionName", rpc_hits_collection_name)
    kwargs.setdefault("TGCCollectionName", tgc_hits_collection_name)
    kwargs.setdefault("CSCCollectionName", csc_hits_collection_name)

    from ISF_FatrasToolsMS.ISF_FatrasToolsMSConf import iFatras__SimHitCreatorMS
    return iFatras__SimHitCreatorMS(name, **kwargs )
Ejemplo n.º 2
0
def fatrasSimHitCreatorMSCfg(flags,
                             name="ISF_FatrasSimHitCreatorMS",
                             **kwargs):
    """Return ISF_FatrasSimHitCreatorMS configured with ComponentAccumulator"""

    mlog = logging.getLogger(name)
    mlog.debug('Start configuration')

    result = ComponentAccumulator()

    mergeable_collection_suffix = "_Fatras"

    mdt_hits_collection_name = generate_mergeable_collection_name(
        bare_collection_name="MDT_Hits",
        mergeable_collection_suffix=mergeable_collection_suffix,
        merger_input_property="MDTHits")

    rpc_hits_collection_name = generate_mergeable_collection_name(
        bare_collection_name="RPC_Hits",
        mergeable_collection_suffix=mergeable_collection_suffix,
        merger_input_property="RPCHits")

    tgc_hits_collection_name = generate_mergeable_collection_name(
        bare_collection_name="TGC_Hits",
        mergeable_collection_suffix=mergeable_collection_suffix,
        merger_input_property="TGCHits")

    csc_hits_collection_name = generate_mergeable_collection_name(
        bare_collection_name="CSC_Hits",
        mergeable_collection_suffix=mergeable_collection_suffix,
        merger_input_property="CSCHits")
    result.merge(RNG(flags.Random.Engine))
    kwargs.setdefault("RandomNumberService", result.getService("AthRNGSvc"))
    kwargs.setdefault("RandomStreamName", flags.Sim.Fatras.RandomStreamName)
    #####
    # Extrapolator from ACTS to be added TODO
    # kwargs.setdefault("Extrapolator" , getPublicTool('ISF_FatrasExtrapolator'))
    #####
    kwargs.setdefault("MDTCollectionName", mdt_hits_collection_name)
    kwargs.setdefault("RPCCollectionName", rpc_hits_collection_name)
    kwargs.setdefault("TGCCollectionName", tgc_hits_collection_name)
    kwargs.setdefault("CSCCollectionName", csc_hits_collection_name)

    Muon__MuonTGMeasurementTool = CompFactory.Muon.MuonTGMeasurementTool
    muon_tgmeasurement_tool = Muon__MuonTGMeasurementTool(
        name='MuonTGMeasurementTool', UseDSManager=True)
    result.addPublicTool(muon_tgmeasurement_tool)
    kwargs.setdefault("MeasurementTool", muon_tgmeasurement_tool)

    iFatras__SimHitCreatorMS = CompFactory.iFatras.SimHitCreatorMS
    result.addPublicTool(iFatras__SimHitCreatorMS(name=name, **kwargs))
    return result
Ejemplo n.º 3
0
def fatrasHitCreatorPixelCfg(flags,
                             name="ISF_FatrasHitCreatorPixel",
                             **kwargs):
    """Return ISF_FatrasHitCreatorPixel configured with ComponentAccumulator"""
    mlog = logging.getLogger(name)
    mlog.debug('Start configuration')

    result = ComponentAccumulator()

    hits_collection_name = generate_mergeable_collection_name(
        bare_collection_name="PixelHits",
        mergeable_collection_suffix="_Fatras",
        merger_input_property="PixelHits")

    result.merge(RNG(flags.Random.Engine))
    kwargs.setdefault("RandomNumberService", result.getService("AthRNGSvc"))
    kwargs.setdefault("RandomStreamName", flags.Sim.Fatras.RandomStreamName)
    kwargs.setdefault("IdHelperName", 'PixelID')
    kwargs.setdefault("CollectionName", hits_collection_name)

    # NOTE   why it is here ?
    # FastHitConvertTool = CompFactory.FastHitConvertTool
    kwargs.setdefault("UseConditionsTool", False)

    iFatras__HitCreatorSilicon = CompFactory.iFatras.HitCreatorSilicon
    result.addPublicTool(iFatras__HitCreatorSilicon(name=name, **kwargs))
    return result
Ejemplo n.º 4
0
def getFatrasSimHitCreatorMS(name="ISF_FatrasSimHitCreatorMS", **kwargs):
    mergeable_collection_suffix = "_Fatras"
    region = 'MUON'

    mdt_bare_collection_name = "MDT_Hits"
    mdt_merger_input_property = "MDTHits"
    mdt_hits_collection_name = generate_mergeable_collection_name(mdt_bare_collection_name,
                                                                  mergeable_collection_suffix,
                                                                  mdt_merger_input_property,
                                                                  region)
    rpc_bare_collection_name = "RPC_Hits"
    rpc_merger_input_property = "RPCHits"
    rpc_hits_collection_name = generate_mergeable_collection_name(rpc_bare_collection_name,
                                                                  mergeable_collection_suffix,
                                                                  rpc_merger_input_property,
                                                                  region)
    tgc_bare_collection_name = "TGC_Hits"
    tgc_merger_input_property = "TGCHits"
    tgc_hits_collection_name = generate_mergeable_collection_name(tgc_bare_collection_name,
                                                                  mergeable_collection_suffix,
                                                                  tgc_merger_input_property,
                                                                  region)
    csc_bare_collection_name = "CSC_Hits"
    csc_merger_input_property = "CSCHits"
    csc_hits_collection_name = generate_mergeable_collection_name(csc_bare_collection_name,
                                                                  mergeable_collection_suffix,
                                                                  csc_merger_input_property,
                                                                  region)

    from G4AtlasApps.SimFlags import simFlags
    kwargs.setdefault("RandomNumberService" , simFlags.RandomSvc() )
    kwargs.setdefault("RandomStreamName"    , ISF_FatrasFlags.RandomStreamName())
    kwargs.setdefault("Extrapolator" , getPublicTool('ISF_FatrasExtrapolator'))
    kwargs.setdefault("MDTCollectionName", mdt_hits_collection_name)
    kwargs.setdefault("RPCCollectionName", rpc_hits_collection_name)
    kwargs.setdefault("TGCCollectionName", tgc_hits_collection_name)
    kwargs.setdefault("CSCCollectionName", csc_hits_collection_name)

    from MuonTGRecTools.MuonTGRecToolsConf import Muon__MuonTGMeasurementTool
    MuonTGMeasurementTool = Muon__MuonTGMeasurementTool(  name = 'MuonTGMeasurementTool', 
                                                          UseDSManager = True )
    from AthenaCommon.AppMgr import ToolSvc
    ToolSvc += MuonTGMeasurementTool
    kwargs.setdefault("MeasurementTool", MuonTGMeasurementTool)

    from ISF_FatrasToolsMS.ISF_FatrasToolsMSConf import iFatras__SimHitCreatorMS
    return iFatras__SimHitCreatorMS(name, **kwargs )
Ejemplo n.º 5
0
def getBLMSensorSD(name="BLMSensorSD", **kwargs):
    bare_collection_name = "BLMHits"
    mergeable_collection_suffix = "_G4"
    merger_input_property = "BLMHits"
    hits_collection_name = generate_mergeable_collection_name(bare_collection_name,
                                                              mergeable_collection_suffix,
                                                              merger_input_property)
    kwargs.setdefault("LogicalVolumeNames", ["Pixel::blmDiamondLog"])
    kwargs.setdefault("OutputCollectionNames", [hits_collection_name])
    return CfgMgr.BLMSensorSDTool(name, **kwargs)
Ejemplo n.º 6
0
def getRPCSensitiveDetector(name="RPCSensitiveDetector", **kwargs):
    bare_collection_name = "RPC_Hits"
    mergeable_collection_suffix = "_G4"
    merger_input_property = "RPCHits"
    hits_collection_name = generate_mergeable_collection_name(
        bare_collection_name, mergeable_collection_suffix,
        merger_input_property)
    kwargs.setdefault("LogicalVolumeNames", ["Muon::gazGap"])
    kwargs.setdefault("OutputCollectionNames", [hits_collection_name])
    return CfgMgr.RPCSensitiveDetectorTool(name, **kwargs)
Ejemplo n.º 7
0
def getTGCSensitiveDetectorCosmics(name="TGCSensitiveDetectorCosmics",
                                   **kwargs):
    bare_collection_name = "TGC_Hits"
    mergeable_collection_suffix = "_G4"
    merger_input_property = "TGCHits"
    hits_collection_name = generate_mergeable_collection_name(
        bare_collection_name, mergeable_collection_suffix,
        merger_input_property)
    kwargs.setdefault("LogicalVolumeNames", ["Muon::muo::TGCGas"])
    kwargs.setdefault("OutputCollectionNames", [hits_collection_name])
    return CfgMgr.TGCSensitiveDetectorCosmicsTool(name, **kwargs)
Ejemplo n.º 8
0
def getMDTSensitiveDetector(name="MDTSensitiveDetector", **kwargs):
    bare_collection_name = "MDT_Hits"
    mergeable_collection_suffix = "_G4"
    merger_input_property = "MDTHits"
    region = "MUON"
    hits_collection_name = generate_mergeable_collection_name(
        bare_collection_name, mergeable_collection_suffix,
        merger_input_property, region)
    kwargs.setdefault("LogicalVolumeNames", ["Muon::SensitiveGas"])
    kwargs.setdefault("OutputCollectionNames", [hits_collection_name])
    return CfgMgr.MDTSensitiveDetectorTool(name, **kwargs)
Ejemplo n.º 9
0
def getTileGeoG4SD(name="TileGeoG4SD", **kwargs):
    bare_collection_name = "TileHitVec"
    mergeable_collection_suffix = "_G4"
    merger_input_property = "TileHits"
    region = "CALO"
    hits_collection_name = generate_mergeable_collection_name(
        bare_collection_name, mergeable_collection_suffix,
        merger_input_property, region)
    kwargs.setdefault("LogicalVolumeNames", ["Tile::Scintillator"])
    kwargs.setdefault("OutputCollectionNames", [hits_collection_name])
    return CfgMgr.TileGeoG4SDTool(name, **kwargs)
Ejemplo n.º 10
0
def getCSCSensitiveDetectorCosmics(name="CSCSensitiveDetectorCosmics",
                                   **kwargs):
    bare_collection_name = "CSC_Hits"
    mergeable_collection_suffix = "_G4"
    merger_input_property = "CSCHits"
    region = "MUON"
    hits_collection_name = generate_mergeable_collection_name(
        bare_collection_name, mergeable_collection_suffix,
        merger_input_property, region)
    kwargs.setdefault("LogicalVolumeNames", ["Muon::CscArCO2"])
    kwargs.setdefault("OutputCollectionNames", [hits_collection_name])
    return CfgMgr.CSCSensitiveDetectorCosmicsTool(name, **kwargs)
Ejemplo n.º 11
0
def getSctSensorSD(name="SctSensorSD", **kwargs):
    bare_collection_name = "SCT_Hits"
    mergeable_collection_suffix = "_G4"
    merger_input_property = "SCTHits"
    region = "ID"
    hits_collection_name = generate_mergeable_collection_name(bare_collection_name,
                                                              mergeable_collection_suffix,
                                                              merger_input_property,
                                                              region)
    kwargs.setdefault("LogicalVolumeNames", ["SCT::BRLSensor","SCT::ECSensor0","SCT::ECSensor1",
                                             "SCT::ECSensor2","SCT::ECSensor3"])
    kwargs.setdefault("OutputCollectionNames", [hits_collection_name])
    return CfgMgr.SctSensorSDTool(name, **kwargs)
Ejemplo n.º 12
0
def getPixelSensorSD(name="PixelSensorSD", **kwargs):
    bare_collection_name = "PixelHits"
    mergeable_collection_suffix = "_G4"
    merger_input_property = "PixelHits"
    region = "ID"
    hits_collection_name = generate_mergeable_collection_name(bare_collection_name,
                                                              mergeable_collection_suffix,
                                                              merger_input_property,
                                                              region)
    kwargs.setdefault("LogicalVolumeNames", ["Pixel::siBLayLog","Pixel::siLog","Pixel::dbmDiamondLog"])
    #kwargs.setdefault("LogicalVolumeNames", ["Pixel::siBLayLog","Pixel::siLog"])
    kwargs.setdefault("OutputCollectionNames", [hits_collection_name])
    return CfgMgr.PixelSensorSDTool(name, **kwargs)
Ejemplo n.º 13
0
    def test_isNotISFRunAndHITSMergingRequired_expectBareCollectioNameReturned(
            self):
        simFlags.ISFRun.set_Value(False)
        ISF_Flags.HITSMergingRequired.set_Value(True)

        bare_collection_name = 'aTestCollection'
        collection_suffix = '_TESTSUFFIX'
        merger_input_property = 'PixelHits'
        actual_collection_name = generate_mergeable_collection_name(
            bare_collection_name, collection_suffix, merger_input_property)

        expected_collection_name = 'aTestCollection'
        self.assertEqual(expected_collection_name, actual_collection_name)
Ejemplo n.º 14
0
def getFatrasHitCreatorTRT(name="ISF_FatrasHitCreatorTRT", **kwargs):
    bare_collection_name = "TRTUncompressedHits"
    mergeable_collection_suffix = "_Fatras"
    merger_input_property = "TRTUncompressedHits"
    hits_collection_name = generate_mergeable_collection_name(bare_collection_name,
                                                              mergeable_collection_suffix,
                                                              merger_input_property)
    from G4AtlasApps.SimFlags import simFlags
    kwargs.setdefault("RandomNumberService" , simFlags.RandomSvc() )
    kwargs.setdefault("RandomStreamName"    , ISF_FatrasFlags.RandomStreamName())
    kwargs.setdefault("CollectionName"  , hits_collection_name)

    from ISF_FatrasToolsID.ISF_FatrasToolsIDConf import iFatras__HitCreatorTRT
    return iFatras__HitCreatorTRT(name, **kwargs )
Ejemplo n.º 15
0
def getMinBiasScintillatorSD(name="MinBiasScintillatorSD", **kwargs):
    bare_collection_name = "MBTSHits"
    mergeable_collection_suffix = "_G4"
    merger_input_property = "MBTSHits"
    hits_collection_name = generate_mergeable_collection_name(
        bare_collection_name, mergeable_collection_suffix,
        merger_input_property)
    kwargs.setdefault("LogicalVolumeNames", ["LArMgr::MBTS1", "LArMgr::MBTS2"])
    kwargs.setdefault("OutputCollectionNames", [hits_collection_name])
    from G4AtlasApps.SimFlags import simFlags
    from AthenaCommon.BeamFlags import jobproperties
    if jobproperties.Beam.beamType() == 'cosmics' or (hasattr(
            simFlags, "ReadTR") and simFlags.ReadTR.statusOn):
        kwargs.setdefault("DeltaTHit", [1])
        kwargs.setdefault("DoTOFCorrection", False)
    return CfgMgr.MinBiasScintillatorSDTool(name, **kwargs)
Ejemplo n.º 16
0
def getFatrasHitCreatorSCT(name="ISF_FatrasHitCreatorSCT", **kwargs):
    bare_collection_name = "SCT_Hits"
    mergeable_collection_suffix = "_Fatras"
    merger_input_property = "SCTHits"
    hits_collection_name = generate_mergeable_collection_name(bare_collection_name,
                                                              mergeable_collection_suffix,
                                                              merger_input_property)
    from G4AtlasApps.SimFlags import simFlags
    kwargs.setdefault("RandomNumberService" , simFlags.RandomSvc() )
    kwargs.setdefault("RandomStreamName"    , ISF_FatrasFlags.RandomStreamName())
    kwargs.setdefault("IdHelperName"    , 'SCT_ID')
    kwargs.setdefault("CollectionName"  , hits_collection_name)
    kwargs.setdefault("UseConditionsSvc", False)

    from ISF_FatrasToolsID.ISF_FatrasToolsIDConf import iFatras__HitCreatorSilicon
    return iFatras__HitCreatorSilicon(name, **kwargs )
Ejemplo n.º 17
0
    def test_isNotISFRunAndNoHITSMergingRequired_expectBareCollectioNameReturned(self):
        simFlags.ISFRun.set_Value(False)
        mergeDict = {'ID':False, 'CALO':True, 'MUON':False}
        ISF_Flags.HITSMergingRequired.get_Value().update(mergeDict)

        bare_collection_name = 'aTestCollection'
        collection_suffix = '_TESTSUFFIX'
        merger_input_property = 'PixelHits'
        region = 'ID'
        actual_collection_name = generate_mergeable_collection_name(bare_collection_name,
                                                                    collection_suffix,
                                                                    merger_input_property,
                                                                    region)

        expected_collection_name = 'aTestCollection'
        self.assertEqual(expected_collection_name, actual_collection_name)
Ejemplo n.º 18
0
def getLArHECSensitiveDetector(name="LArHECSensitiveDetector", **kwargs):
    bare_collection_name = "LArHitHEC"
    mergeable_collection_suffix = "_G4"
    merger_input_property = "LArHECHits"
    region = "CALO"
    hits_collection_name = generate_mergeable_collection_name(bare_collection_name,
                                                              mergeable_collection_suffix,
                                                              merger_input_property,
                                                              region)
    #kwargs.setdefault("SliceVolumes",["LAr::HEC::Module::Depth::Slice"])
    #kwargs.setdefault("LocalVolumes",["LAr::HEC::Module::Depth::Slice::Local"])
    kwargs.setdefault("WheelVolumes",["LArMgr::LAr::HEC::Module::Depth::Slice"])
    #  You might think this should go here, but we don't think so!  LAr::HEC::Module::Depth::Slice::Wheel"])
    # No effect currently
    kwargs.setdefault("OutputCollectionNames", [hits_collection_name])
    return CfgMgr.LArG4__HECSDTool(name, **kwargs)
Ejemplo n.º 19
0
    def test_isISFRunAndNoHITSMergingRequiredWithEmptyCollectionMergerAlgorithm_expectCollectionMergerAlgorithmUntouched(
            self):
        simFlags.ISFRun.set_Value(True)
        ISF_Flags.HITSMergingRequired.set_Value(False)

        bare_collection_name = 'aTestCollection'
        collection_suffix = '_TESTSUFFIX'
        merger_input_property = 'PixelHits'
        actual_collection_name = generate_mergeable_collection_name(
            bare_collection_name, collection_suffix, merger_input_property)

        collection_merger = getAlgorithm('ISF_CollectionMerger')
        actual_collection_merger_input = collection_merger.InputPixelHits

        expected_collection_merger_input = list()
        self.assertEqual(expected_collection_merger_input,
                         actual_collection_merger_input)
Ejemplo n.º 20
0
def getLArFCALSensitiveDetector(name="LArFCALSensitiveDetector", **kwargs):
    bare_collection_name = "LArHitFCAL"
    mergeable_collection_suffix = "_G4"
    merger_input_property = "LArFCALHits"
    region = "CALO"
    hits_collection_name = generate_mergeable_collection_name(bare_collection_name,
                                                              mergeable_collection_suffix,
                                                              merger_input_property,
                                                              region)
    kwargs.setdefault("FCAL1Volumes",["LArMgr::LAr::FCAL::Module1::Gap"])
    kwargs.setdefault("FCAL2Volumes",["LArMgr::LAr::FCAL::Module2::Gap"])
    kwargs.setdefault("FCAL3Volumes",["LArMgr::LAr::FCAL::Module3::Gap"])
    # No effect currently
    kwargs.setdefault("OutputCollectionNames", [hits_collection_name])
    # Hook for fast simulation
    from G4AtlasApps.SimFlags import simFlags
    kwargs.setdefault("UseFrozenShowers", simFlags.LArParameterization()>0)
    return CfgMgr.LArG4__FCALSDTool(name, **kwargs)
Ejemplo n.º 21
0
def getLArEMBSensitiveDetector(name="LArEMBSensitiveDetector", **kwargs):
    bare_collection_name = "LArHitEMB"
    mergeable_collection_suffix = "_G4"
    merger_input_property = "LArEMBHits"
    region = "CALO"
    hits_collection_name = generate_mergeable_collection_name(bare_collection_name,
                                                              mergeable_collection_suffix,
                                                              merger_input_property,
                                                              region)
    ## Main configuration
    kwargs.setdefault("StacVolumes",["LArMgr::LAr::EMB::STAC"])
    kwargs.setdefault("PresamplerVolumes",["LArMgr::LAr::Barrel::Presampler::Module"])
    # No effect currently
    kwargs.setdefault("OutputCollectionNames", [hits_collection_name])
    # Hook for fast simulation
    from G4AtlasApps.SimFlags import simFlags
    kwargs.setdefault("UseFrozenShowers", simFlags.LArParameterization()>0)
    return CfgMgr.LArG4__EMBSDTool(name, **kwargs)
Ejemplo n.º 22
0
def getTRTSensitiveDetector(name="TRTSensitiveDetector", **kwargs):
    bare_collection_name = "TRTUncompressedHits"
    mergeable_collection_suffix = "_G4"
    merger_input_property = "TRTUncompressedHits"
    hits_collection_name = generate_mergeable_collection_name(
        bare_collection_name, mergeable_collection_suffix,
        merger_input_property)
    logicalVolumeNames = ["TRT::Gas", "TRT::GasMA"]
    from AtlasGeoModel.InDetGMJobProperties import GeometryFlags as geoFlags
    if geoFlags.Run() == "RUN2":
        ## RUN2 configuration
        logicalVolumeNames += [
            "TRT::Gas_Ar", "TRT::GasMA_Ar", "TRT::Gas_Kr", "TRT::GasMA_Kr"
        ]
    kwargs.setdefault("LogicalVolumeNames", logicalVolumeNames)

    kwargs.setdefault("OutputCollectionNames", [hits_collection_name])
    return CfgMgr.TRTSensitiveDetectorTool(name, **kwargs)
Ejemplo n.º 23
0
def fatrasHitCreatorTRTCfg(flags, name="ISF_FatrasHitCreatorTRT", **kwargs):
    """Return ISF_FatrasHitCreatorTRT configured with ComponentAccumulator"""
    mlog = logging.getLogger(name)
    mlog.debug('Start configuration')

    result = ComponentAccumulator()

    hits_collection_name = generate_mergeable_collection_name(
        bare_collection_name="TRTUncompressedHits",
        mergeable_collection_suffix="_Fatras",
        merger_input_property="TRTUncompressedHits")
    result.merge(RNG(flags.Random.Engine))
    kwargs.setdefault("RandomNumberService", result.getService("AthRNGSvc"))
    kwargs.setdefault("RandomStreamName", flags.Sim.Fatras.RandomStreamName)
    kwargs.setdefault("CollectionName", hits_collection_name)

    iFatras__HitCreatorTRT = CompFactory.iFatras.HitCreatorTRT
    result.addPublicTool(iFatras__HitCreatorTRT(name=name, **kwargs))
    return result
Ejemplo n.º 24
0
    def test_isISFRunAndNoHITSMergingRequiredWithEmptyCollectionMergerAlgorithm_expectCollectionMergerAlgorithmUntouched(self):
        simFlags.ISFRun.set_Value(True)
        mergeDict = {'ID':False, 'CALO':True, 'MUON':False}
        ISF_Flags.HITSMergingRequired.get_Value().update(mergeDict)

        bare_collection_name = 'aTestCollection'
        collection_suffix = '_TESTSUFFIX'
        merger_input_property = 'PixelHits'
        region = 'ID'
        actual_collection_name = generate_mergeable_collection_name(bare_collection_name,
                                                                    collection_suffix,
                                                                    merger_input_property,
                                                                    region)

        collection_merger = getAlgorithm('ISF_CollectionMerger')
        actual_collection_merger_input = collection_merger.InputPixelHits

        expected_collection_merger_input = list()
        self.assertEqual(expected_collection_merger_input,
                         actual_collection_merger_input)
Ejemplo n.º 25
0
def getLArEMECSensitiveDetector(name="LArEMECSensitiveDetector", **kwargs):
    bare_collection_name = "LArHitEMEC"
    mergeable_collection_suffix = "_G4"
    merger_input_property = "LArEMECHits"
    region = "CALO"
    hits_collection_name = generate_mergeable_collection_name(bare_collection_name,
                                                              mergeable_collection_suffix,
                                                              merger_input_property,
                                                              region)
    from G4AtlasApps.SimFlags import simFlags
    if simFlags.SimLayout.get_Value() not in ["tb_LArH6_2002","tb_LArH6EC_2002"]:
        kwargs.setdefault("NegIWVolumes",["LArMgr::LAr::EMEC::Neg::InnerWheel"])
        kwargs.setdefault("NegOWVolumes",["LArMgr::LAr::EMEC::Neg::OuterWheel"])
        kwargs.setdefault("NegBOBarretteVolumes",["LArMgr::LAr::EMEC::Neg::BackOuterBarrette::Module::Phidiv"])
    if simFlags.SimLayout.get_Value()!="tb_LArH6EC_2002":
        kwargs.setdefault("PosIWVolumes",["LArMgr::LAr::EMEC::Pos::InnerWheel"])
        kwargs.setdefault("PosOWVolumes",["LArMgr::LAr::EMEC::Pos::OuterWheel"])
        kwargs.setdefault("PosBOBarretteVolumes",["LArMgr::LAr::EMEC::Pos::BackOuterBarrette::Module::Phidiv"])
    kwargs.setdefault("PresVolumes", ["LArMgr::LAr::Endcap::Presampler::LiquidArgon"])
    # No effect currently
    kwargs.setdefault("OutputCollectionNames", [hits_collection_name])
    # Hook for fast simulation
    kwargs.setdefault("UseFrozenShowers", simFlags.LArParameterization()>0)
    return CfgMgr.LArG4__EMECSDTool(name, **kwargs)