Пример #1
0
def CaloNoiseToolDefault(flag='',name='CaloNoiseToolDefault'):

    # check if tool already exists
    from AthenaCommon.AppMgr import ServiceMgr as svcMgr
    if hasattr(svcMgr.ToolSvc, name):
        # re-use previously configured (public) tool
        return getattr(svcMgr.ToolSvc, name)

    mlog = logging.getLogger( 'CaloNoiseToolDefault' )

    if flag=='db' :
       _useDB = True
    elif flag=='tool' :
       _useDB = False
    else :
       # will put here logic to select according to global flag
       from AthenaCommon.GlobalFlags import globalflags
       from AthenaCommon.BeamFlags import jobproperties
       if globalflags.DataSource()=='data' and globalflags.DetGeo()!='ctbh6' and globalflags.DetGeo()!='ctbh8':
           _useDB = True
       elif globalflags.DataSource()=='geant4' and jobproperties.Beam.zeroLuminosity():
           _useDB = True
       else:
          # now uses also calonoisetoolDB for MC with pileup.. requires a new global tag for pileup reco to have the noise properly read
           _useDB = True

    if _useDB :
        mlog.info(" Using CaloNoiseToolDB" )
        from AthenaCommon.GlobalFlags import globalflags
        if globalflags.DataSource()=='data':
            from CaloTools.CaloNoiseToolDBData import CaloNoiseToolDBData
            theTool = CaloNoiseToolDBData(name)
        else:
            from CaloTools.CaloNoiseToolDBMC import CaloNoiseToolDBMC
            theTool = CaloNoiseToolDBMC(name)
        return theTool
    else :
        mlog.info("Using CaloNoiseTool")
        from CaloTools.CaloToolsConf import CaloNoiseTool
        # Tile configuration
        from AthenaCommon.DetFlags      import DetFlags
        if DetFlags.Tile_on():
            from TileConditions.TileInfoConfigurator import TileInfoConfigurator
            tileInfoConfigurator = TileInfoConfigurator()
            tileInfoConfigurator.setupCOOL()
            UseTile = True
        else:
            UseTile = False
        
        # CaloNoiseTool configuration
        WorkMode=1
        WithOF=True
        TileInfoName="TileInfo"
        # get public tool LArADC2MeVTool
        from LArRecUtils.LArADC2MeVToolDefault import LArADC2MeVToolDefault
        theADC2MeVTool = LArADC2MeVToolDefault()
        from AthenaCommon.AppMgr import ToolSvc
        ToolSvc += theADC2MeVTool
        # get public tool LArOFCTool
        from LArRecUtils.LArOFCToolDefault import LArOFCToolDefault
        theOFCTool = LArOFCToolDefault()
        from AthenaCommon.AppMgr import ToolSvc
        ToolSvc += theOFCTool
        from AthenaCommon.BeamFlags import jobproperties
        if jobproperties.Beam.zeroLuminosity(): 
            ReturnNoise="electronicNoise"
            NMinBias=0
            deltaBunch=1
        else:
            ReturnNoise="totalNoise"
            NMinBias=jobproperties.Beam.numberOfCollisions()
            deltaBunch=int(jobproperties.Beam.bunchSpacing()/( 25.*ns)+0.5)
        from AthenaCommon.GlobalFlags import globalflags
        if globalflags.DataSource()=='data':
            IsMC = False
            UseSymmetry= False
        else:
            IsMC = True
            UseSymmetry= True

        from LArROD.LArRODFlags import larRODFlags
        theTool = CaloNoiseTool(name,
                          WorkMode = WorkMode,
                          WithOF = WithOF,
                          UseTile = UseTile,
                          TileInfoName = TileInfoName,
                          LArADC2MeVTool = theADC2MeVTool,
                          LArOFCTool = theOFCTool,
                          ReturnNoise = ReturnNoise,
                          NMinBias = NMinBias,
                          deltaBunch = deltaBunch,
                          IsMC = IsMC,
                          UseSymmetry = UseSymmetry,
                          firstSample=larRODFlags.firstSample())
        return theTool
Пример #2
0
        CfgGetter.getPrivateTool("EMBHitsTestTool", checkType=True)
    ]
    job.G4TestAlg.SimTestTools += [
        CfgGetter.getPrivateTool("EMECHitsTestTool", checkType=True)
    ]
    job.G4TestAlg.SimTestTools += [
        CfgGetter.getPrivateTool("FCALHitsTestTool", checkType=True)
    ]
    job.G4TestAlg.SimTestTools += [
        CfgGetter.getPrivateTool("HECHitsTestTool", checkType=True)
    ]
    if DetFlags.Truth_on():
        job.G4TestAlg.SimTestTools += [
            CfgGetter.getPrivateTool("CaloEntryLayerTestTool", checkType=True)
        ]
if DetFlags.Tile_on():
    job.G4TestAlg.SimTestTools += [
        CfgGetter.getPrivateTool("TileHitsTestTool", checkType=True)
    ]
if simFlags.CalibrationRun.get_Value() == 'LAr+Tile':
    job.G4TestAlg.SimTestTools += [
        CfgGetter.getPrivateTool("LArActiveCaloCalibHitsTestTool",
                                 checkType=True)
    ]
    job.G4TestAlg.SimTestTools += [
        CfgGetter.getPrivateTool("LArInactiveCaloCalibHitsTestTool",
                                 checkType=True)
    ]
    ##job.G4TestAlg.SimTestTools += [CfgGetter.getPrivateTool("LArDeadMaterialCaloCalibHitsTestTool", checkType=True)]
    job.G4TestAlg.SimTestTools += [
        CfgGetter.getPrivateTool("TileActiveCellCaloCalibHitsTestTool",
Пример #3
0
from GeoModelSvc.GeoModelSvcConf import GeoModelSvc
from DetDescrCnvSvc.DetDescrCnvSvcConf import DetDescrCnvSvc

GeoModelSvc = GeoModelSvc()
DetDescrCnvSvc = DetDescrCnvSvc()

DataSrc = jobproperties.Global.DataSource()
DGeo = jobproperties.Global.DetGeo()

if (DGeo == "ctbh8"):
    DDversion = "CTB"

elif (DDversion == "CTB"):
    GeoModelSvc.AtlasVersion = "ATLAS-CTB-01"
    if (DetFlags.Tile_on()):
        GeoModelSvc.TileVersionOverride = "TileTB-3B-00"

    DetDescrCnvSvc.InDetIDFileName = "IdDictParser/IdDictInnerDetector_CTB2004.xml"
    DetDescrCnvSvc.MuonIDFileName = "IdDictMuonSpectrometer_H8_2004.xml"

elif (DDversion == "ATLAS-H6-2004-00"):
    GeoModelSvc.AtlasVersion = "ATLAS-H6-2004-00"
    DetFlags.ID_setOff()
    DetFlags.Muon_setOff()
    DetFlags.Tile_setOff()

elif (DDversion == "ATLAS-H6-2003-00"):
    GeoModelSvc.AtlasVersion = "ATLAS-H6-2003-00"
    DetFlags.HEC_setOff()
    DetFlags.em_setOff()