Skip to content
Snippets Groups Projects
Commit 0ad2945e authored by Adam Edward Barton's avatar Adam Edward Barton
Browse files

Merge branch 'zaza-25092020' into 'master'

New configurations

See merge request atlas/athena!36705
parents c7250de1 68c8bff3
No related branches found
No related tags found
No related merge requests found
# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
from AthenaConfiguration.ComponentFactory import CompFactory
def InDetTrackSummaryToolCfg(flags, name='InDetTrackSummaryTool',**kwargs) :
acc = ComponentAccumulator()
ISF_TrackSummaryHelperTool = CompFactory.iFatras.ISF_TrackSummaryHelperTool(name = "ISF_TrackSummaryHelperTool",
AssoTool = "",
DoSharedHits = True)
kwargs.setdefault("doSharedHits", True)
kwargs.setdefault("InDetSummaryHelperTool", ISF_TrackSummaryHelperTool)
kwargs.setdefault("AddDetailedInDetSummary", False)
kwargs.setdefault("doHolesInDet", False)
kwargs.setdefault("doHolesMuon", False)
kwargs.setdefault("MuonSummaryHelperTool", "")
kwargs.setdefault("AddDetailedMuonSummary", False)
kwargs.setdefault("TRT_ElectronPidTool", "")
kwargs.setdefault("PixelToTPIDTool", "")
kwargs.setdefault("PixelExists", True)
acc.setPrivateTools(CompFactory.Trk.TrackSummaryTool(name = name, **kwargs))
return acc
def InDetCosmicsEventPhaseToolCfg(flags, name='InDetCosmicsEventPhaseTool', **kwargs) :
#
# --- load tool
#
acc = ComponentAccumulator()
if( not flags.Input.isMC ):
if flags.Beam.Type =='cosmics':
kwargs.setdefault("GlobalOffset", 8)
else:
kwargs.setdefault("GlobalOffset", 0)
else:
kwargs.setdefault("GlobalOffset", -3.125)
# CalDb tool
InDetTRTCalDbTool = CompFactory.TRT_CalDbTool(name = "TRT_CalDbTool")
kwargs.setdefault("UseNewEP", True)
kwargs.setdefault("TRTCalDbTool", InDetTRTCalDbTool)
acc.setPrivateTools(CompFactory.InDet.InDetCosmicsEventPhaseTool(name = name, **kwargs))
return acc
def InDetFixedWindowTrackTimeToolCfg(flags, name='InDetFixedWindowTrackTimeTool', **kwargs) :
#
# --- load tool
#
acc = ComponentAccumulator()
if( not flags.Input.isMC ):
if flags.Beam.Type =='cosmics':
kwargs.setdefault("GlobalOffset", 8)
else:
kwargs.setdefault("GlobalOffset", 0)
else:
kwargs.setdefault("GlobalOffset", -3.125)
# CalDb tool
InDetTRTCalDbTool = CompFactory.TRT_CalDbTool(name = "TRT_CalDbTool")
cutWindowCenter = -8.5
cutWindowSize = 7
kwargs.setdefault("UseNewEP" , True)
kwargs.setdefault("WindowCenter" , cutWindowCenter)
kwargs.setdefault("WindowSize" , cutWindowSize)
kwargs.setdefault("TRTCalDbTool" , InDetTRTCalDbTool)
acc.setPrivateTools(CompFactory.InDet.InDetFixedWindowTrackTimeTool(name = name, **kwargs))
return acc
def InDetSlidingWindowTrackTimeToolCfg(flags, name='InDetSlidingWindowTrackTimeTool', **kwargs) :
#
# --- load tool
#
acc = ComponentAccumulator()
if( not flags.Input.isMC ):
if flags.Beam.Type =='cosmics':
kwargs.setdefault("GlobalOffset", 8)
else:
kwargs.setdefault("GlobalOffset", 0)
else:
kwargs.setdefault("GlobalOffset", -3.125)
# CalDb tool
InDetTRTCalDbTool = CompFactory.TRT_CalDbTool(name = "TRT_CalDbTool")
numberIterations = 5
cutWindowSize = 7
kwargs.setdefault("UseNewEP" , True)
kwargs.setdefault("NumberIterations" , numberIterations)
kwargs.setdefault("WindowSize" , cutWindowSize)
kwargs.setdefault("TRTCalDbTool" , InDetTRTCalDbTool)
acc.setPrivateTools(CompFactory.InDet.InDetSlidingWindowTrackTimeTool(name = name, **kwargs))
return acc
def InDetCosmicsEventPhaseCfg(flags, InputTrackCollections, name = 'InDetCosmicsEventPhase', **kwargs):
#
# --- load algorithm
#
acc = ComponentAccumulator()
InDetCosmicsEventPhaseTool = acc.popToolsAndMerge(InDetCosmicsEventPhaseToolCfg(flags))
acc.addPublicTool(InDetCosmicsEventPhaseTool)
InDetSlidingWindowTrackTimeTool = acc.popToolsAndMerge(InDetSlidingWindowTrackTimeToolCfg(flags))
acc.addPublicTool(InDetSlidingWindowTrackTimeTool)
InDetFixedWindowTrackTimeTool = acc.popToolsAndMerge(InDetFixedWindowTrackTimeToolCfg(flags))
acc.addPublicTool(InDetFixedWindowTrackTimeTool )
InDetTrackSummaryTool = acc.popToolsAndMerge(InDetTrackSummaryToolCfg(flags))
acc.addPublicTool(InDetTrackSummaryTool)
# CalDb tool
InDetTRTCalDbTool = CompFactory.TRT_CalDbTool(name = "TRT_CalDbTool")
kwargs.setdefault("InputTracksNames" , InputTrackCollections)
kwargs.setdefault("TrackSummaryTool" , InDetTrackSummaryTool)
kwargs.setdefault("TRTCalDbTool" , InDetTRTCalDbTool)
kwargs.setdefault("EventPhaseTool" , InDetSlidingWindowTrackTimeTool)
#kwargs.setdefault("EventPhaseTool" , InDetFixedWindowTrackTimeTool)
if flags.Beam.Type =='cosmics':
kwargs.setdefault("EventPhaseTool" , InDetCosmicsEventPhaseTool)
acc.addEventAlgo(CompFactory.InDet.InDetCosmicsEventPhase(name = name, **kwargs))
return acc
# --------------------------------------------------------------------------------
#
# --- TRT phase calculation
#
# --------------------------------------------------------------------------------
def TRTPhaseCfg(flags, self, InputTrackCollections = [], **kwargs):
acc = ComponentAccumulator()
if flags.InDet.doPRDFormation and flags.Detector.RecoTRT:
#
# --- calculation of the event phase from all 3 input collections
#
acc.merge(InDetCosmicsEventPhaseCfg(flags, InputTrackCollections, **kwargs))
return acc
if __name__ == "__main__":
from AthenaCommon.Configurable import Configurable
Configurable.configurableRun3Behavior=1
from AthenaConfiguration.AllConfigFlags import ConfigFlags
numThreads=1
ConfigFlags.Concurrency.NumThreads=numThreads
ConfigFlags.Concurrency.NumConcurrentEvents=numThreads # Might change this later, but good enough for the moment.
ConfigFlags.Detector.RecoTRT = True
from AthenaConfiguration.TestDefaults import defaultTestFiles
ConfigFlags.Input.Files = defaultTestFiles.RDO
ConfigFlags.lock()
ConfigFlags.dump()
from AthenaConfiguration.MainServicesConfig import MainServicesCfg
top_acc = MainServicesCfg(ConfigFlags)
msgService = top_acc.getService('MessageSvc')
msgService.Format = "S:%s E:%e % F%138W%S%7W%R%T %0W%M"
from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
top_acc.merge(PoolReadCfg(ConfigFlags))
from TRT_GeoModel.TRT_GeoModelConfig import TRT_GeometryCfg
top_acc.merge(TRT_GeometryCfg( ConfigFlags ))
top_acc.merge(TRTPhaseCfg(ConfigFlags, ['TRTTracks_Phase', 'ExtendedTracksPhase'])) ## read from InDetKeys.TRT_Tracks_Phase, InDetKeys.ExtendedTracksPhase
iovsvc = top_acc.getService('IOVDbSvc')
iovsvc.OutputLevel=5
top_acc.printConfig()
top_acc.run(25)
top_acc.store(open("test_TRTPhaseConfig.pkl", "wb")) ##comment out to store top_acc into pkl file
\ No newline at end of file
# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
# ------------------------------------------------------------
#
# ----------- TRT Data-Preparation stage
#
# ------------------------------------------------------------
from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
from AthenaConfiguration.ComponentFactory import CompFactory
def InDetPRD_MultiTruthMakerTRTCfg(flags, name = "InDetTRT_PRD_MultiTruthMaker", **kwargs):
acc = ComponentAccumulator()
kwargs.setdefault("PixelClusterContainerName", "")
kwargs.setdefault("SCTClusterContainerName", "")
kwargs.setdefault("TRTDriftCircleContainerName", 'TRT_DriftCircles') ##read from InDetKeys.TRT_DriftCircles
kwargs.setdefault("SimDataMapNamePixel", "")
kwargs.setdefault("SimDataMapNameSCT", "")
kwargs.setdefault("SimDataMapNameTRT", 'TRT_SDO_Map') ##read from InDetKeys.TRT_SDOs
kwargs.setdefault("TruthNamePixel", "")
kwargs.setdefault("TruthNameSCT", "")
kwargs.setdefault("TruthNameTRT", 'PRD_MultiTruthTRT') ##read from InDetKeys.TRT_DriftCirclesTruth
acc.addEventAlgo(CompFactory.InDet.PRD_MultiTruthMaker(name, **kwargs))
return acc
def InDetPRD_MultiTruthMakerTRTPUCfg(flags, name = "InDetTRT_PRD_MultiTruthMakerPU", **kwargs):
acc = ComponentAccumulator()
kwargs.setdefault("PixelClusterContainerName", "")
kwargs.setdefault("SCTClusterContainerName", "")
kwargs.setdefault("TRTDriftCircleContainerName", 'TRT_PU_DriftCircles') ##read from InDetKeys.TRT_PU_DriftCircles
kwargs.setdefault("SimDataMapNamePixel", "")
kwargs.setdefault("SimDataMapNameSCT", "")
kwargs.setdefault("SimDataMapNameTRT", 'TRT_PU_SDO_Map') ##read from InDetKeys.TRT_PU_SDOs
kwargs.setdefault("TruthNamePixel", "")
kwargs.setdefault("TruthNameSCT", "")
kwargs.setdefault("TruthNameTRT", 'PRD_PU_MultiTruthTRT') ##read from InDetKeys.TRT_PU_DriftCirclesTruth
acc.addEventAlgo(CompFactory.InDet.PRD_MultiTruthMaker(name, **kwargs))
return acc
def InDetTRT_DriftFunctionToolCfg(flags, useTimeInfo, usePhase, name = "InDetTRT_DriftFunctionTool", **kwargs):
acc = ComponentAccumulator()
#
# --- TRT_DriftFunctionTool
#
# Calibration DB Service
from InDetOverlay.TRT_ConditionsConfig import TRT_CalDbToolCfg
InDetTRTCalDbTool = acc.popToolsAndMerge(TRT_CalDbToolCfg(flags))
acc.addPublicTool(InDetTRTCalDbTool)
# --- overwrite for uncalibrated DC production
if (not useTimeInfo) or flags.InDet.noTRTTiming:
kwargs.setdefault("DummyMode", True)
kwargs.setdefault("UniversalError", 1.15)
# --- set Data/MC flag
if( flags.Input.isMC ) :
kwargs.setdefault("IsMC", True)
else :
kwargs.setdefault("IsMC", False)
# --- overwrite for calibration of MC
if usePhase and flags.Beam.Type =='cosmics' and flags.Input.isMC:
kwargs.setdefault("AllowDigiVersionOverride", True)
kwargs.setdefault("ForcedDigiVersion", 9)
kwargs.setdefault("TRTCalDbTool", InDetTRTCalDbTool)
# --- set HT corrections
kwargs.setdefault("HTCorrectionBarrelXe", 1.5205)
kwargs.setdefault("HTCorrectionEndcapXe", 1.2712)
kwargs.setdefault("HTCorrectionBarrelAr", 1.5205)
kwargs.setdefault("HTCorrectionEndcapAr", 1.2712)
# --- set ToT corrections
kwargs.setdefault("ToTCorrectionsBarrelXe" , [0., 4.358121, 3.032195, 1.631892, 0.7408397, -0.004113, -0.613288, -0.73758, -0.623346, -0.561229,
-0.29828, -0.21344, -0.322892, -0.386718, -0.534751, -0.874178, -1.231799, -1.503689, -1.896464, -2.385958])
kwargs.setdefault("ToTCorrectionsEndcapXe" , [0., 5.514777, 3.342712, 2.056626, 1.08293693, 0.3907979, -0.082819, -0.457485, -0.599706, -0.427493,
-0.328962, -0.403399, -0.663656, -1.029428, -1.46008, -1.919092, -2.151582, -2.285481, -2.036822, -2.15805])
kwargs.setdefault("ToTCorrectionsBarrelAr" , [0., 4.358121, 3.032195, 1.631892, 0.7408397, -0.004113, -0.613288, -0.73758, -0.623346, -0.561229,
-0.29828, -0.21344, -0.322892, -0.386718, -0.534751, -0.874178, -1.231799, -1.503689, -1.896464, -2.385958])
kwargs.setdefault("ToTCorrectionsEndcapAr" , [0., 5.514777, 3.342712, 2.056626, 1.08293693, 0.3907979, -0.082819, -0.457485, -0.599706, -0.427493,
-0.328962, -0.403399, -0.663656, -1.029428, -1.46008, -1.919092, -2.151582, -2.285481, -2.036822, -2.15805])
# Second calibration DB Service in case pile-up and physics hits have different calibrations
if ConfigFlags.Detector.RecoTRT:
TRT_CalDbTool = CompFactory.TRT_CalDbTool
InDetTRTCalDbTool2 = TRT_CalDbTool( name="TRT_CalDbTool2",
RtFolderName="/TRT/Calib/MC/RT",
T0FolderName="/TRT/Calib/MC/T0")
acc.addPublicTool(InDetTRTCalDbTool2)
kwargs.setdefault("TRTCalDbTool2", InDetTRTCalDbTool2)
kwargs.setdefault("IsOverlay", True)
kwargs.setdefault("IsMC", False)
acc.setPrivateTools(CompFactory.TRT_DriftFunctionTool(name, **kwargs))
return acc
def TRT_DriftCircleToolCfg(flags, useTimeInfo, usePhase, prefix, name = "InDetTRT_DriftCircleTool", **kwargs):
acc = ComponentAccumulator()
#
# --- TRT_DriftCircleTool
#
if usePhase:
TRT_DriftCircleTool = CompFactory.InDet.TRT_DriftCircleToolCosmics
else:
TRT_DriftCircleTool = CompFactory.InDet.TRT_DriftCircleTool
# set gating values for MC/DATA
from AthenaCommon.SystemOfUnits import ns
MinTrailingEdge = 11.0*ns
MaxDriftTime = 60.0*ns
LowGate = 14.0625*ns # 4.5*3.125 ns
HighGate = 42.1875*ns # LowGate + 9*3.125 ns
if flags.Beam.Type == 'cosmics':
LowGate = 19.0*ns
HighGate = 44.0*ns
if not flags.Input.isMC:
MinTrailingEdge = 11.0*ns
MaxDriftTime = 60.0*ns
LowGate = 14.0625*ns ## 4.5*3.125 ns
HighGate = 42.1875*ns ## LowGate + 9*3.125 ns
if flags.Beam.Type == 'cosmics':
LowGate = 19.0*ns
HighGate = 44.0*ns
#
# --- TRT_DriftFunctionTool
#
InDetTRT_DriftFunctionTool = acc.popToolsAndMerge(InDetTRT_DriftFunctionToolCfg(flags, useTimeInfo, usePhase, name = prefix + "DriftFunctionTool", **kwargs))
acc.addPublicTool(InDetTRT_DriftFunctionTool)
from InDetOverlay.TRT_ConditionsConfig import TRT_StrawStatusSummaryToolCfg
InDetTRTStrawStatusSummaryTool = acc.popToolsAndMerge(TRT_StrawStatusSummaryToolCfg(flags))
acc.addPublicTool(InDetTRTStrawStatusSummaryTool)
kwargs.setdefault("TRTDriftFunctionTool", InDetTRT_DriftFunctionTool)
kwargs.setdefault("ConditionsSummaryTool", InDetTRTStrawStatusSummaryTool)
kwargs.setdefault("UseConditionsStatus", True)
kwargs.setdefault("UseConditionsHTStatus", True)
kwargs.setdefault("SimpleOutOfTimePileupSupression", flags.Beam.Type == 'cosmics') #flags.InDet.doCosmics
kwargs.setdefault("RejectIfFirstBit", False)
kwargs.setdefault("MinTrailingEdge", MinTrailingEdge)
kwargs.setdefault("MaxDriftTime", MaxDriftTime)
kwargs.setdefault("ValidityGateSuppression", flags.Beam.Type != 'cosmics') #not flags.InDet.doCosmics
kwargs.setdefault("LowGate", LowGate)
kwargs.setdefault("HighGate", HighGate)
kwargs.setdefault("SimpleOutOfTimePileupSupressionArgon" , flags.Beam.Type == 'cosmics') #flags.InDet.doCosmics
kwargs.setdefault("RejectIfFirstBitArgon", False)
kwargs.setdefault("MinTrailingEdgeArgon", MinTrailingEdge)
kwargs.setdefault("MaxDriftTimeArgon", MaxDriftTime)
kwargs.setdefault("ValidityGateSuppressionArgon" , flags.Beam.Type != 'cosmics') #not flags.InDet.doCosmics
kwargs.setdefault("LowGateArgon", LowGate)
kwargs.setdefault("HighGateArgon", HighGate)
kwargs.setdefault("useDriftTimeHTCorrection", True)
kwargs.setdefault("useDriftTimeToTCorrection", True)
if flags.InDet.InDet25nsec and flags.Beam.Type == "collisions":
kwargs.setdefault("ValidityGateSuppression", True)
kwargs.setdefault("SimpleOutOfTimePileupSupression", False)
if flags.Beam.Type == "cosmics":
kwargs.setdefault("SimpleOutOfTimePileupSupression", False)
acc.setPrivateTools(TRT_DriftCircleTool(name, **kwargs))
return acc
def TRT_LocalOccupancyCfg(flags, name = "InDet_TRT_LocalOccupancy", **kwargs):
acc = ComponentAccumulator()
# Calibration DB Service
from InDetOverlay.TRT_ConditionsConfig import TRT_CalDbToolCfg
InDetTRTCalDbTool = acc.popToolsAndMerge(TRT_CalDbToolCfg(flags))
acc.addPublicTool(InDetTRTCalDbTool)
# Straw status DB Tool
from InDetOverlay.TRT_ConditionsConfig import TRT_StrawStatusSummaryToolCfg
InDetTRTStrawStatusSummaryTool = acc.popToolsAndMerge(TRT_StrawStatusSummaryToolCfg(flags))
acc.addPublicTool(InDetTRTStrawStatusSummaryTool)
kwargs.setdefault("isTrigger", False)
kwargs.setdefault("TRTCalDbTool", InDetTRTCalDbTool)
kwargs.setdefault("TRTStrawStatusSummaryTool", InDetTRTStrawStatusSummaryTool)
InDetTRT_LocalOccupancy = CompFactory.TRT_LocalOccupancy(name, **kwargs)
acc.setPrivateTools(InDetTRT_LocalOccupancy)
return acc
def TRTOccupancyIncludeCfg(flags, name = "InDetTRT_TRTOccupancyInclude", **kwargs):
acc = ComponentAccumulator()
# Calibration DB Service
from InDetOverlay.TRT_ConditionsConfig import TRT_CalDbToolCfg
InDetTRTCalDbTool = acc.popToolsAndMerge( TRT_CalDbToolCfg(flags) )
acc.addPublicTool(InDetTRTCalDbTool)
# Straw status DB Tool
from InDetOverlay.TRT_ConditionsConfig import TRT_StrawStatusSummaryToolCfg
InDetTRTStrawStatusSummaryTool = acc.popToolsAndMerge(TRT_StrawStatusSummaryToolCfg(flags))
acc.addPublicTool(InDetTRTStrawStatusSummaryTool)
InDetTRT_LocalOccupancy = acc.popToolsAndMerge(TRT_LocalOccupancyCfg(flags))
acc.addPublicTool(InDetTRT_LocalOccupancy)
kwargs.setdefault("isTrigger", False)
kwargs.setdefault("TRTCalDbTool", InDetTRTCalDbTool)
kwargs.setdefault("TRTStrawStatusSummaryTool", InDetTRTStrawStatusSummaryTool)
kwargs.setdefault("TRT_LocalOccupancyTool", InDetTRT_LocalOccupancy)
acc.addEventAlgo(CompFactory.TRTOccupancyInclude(name, **kwargs))
return acc
def InDetTRT_RIO_MakerCfg(flags, useTimeInfo, usePhase, prefix, collection, name = "InDetTRT_RIO_Maker", **kwargs):
acc = ComponentAccumulator()
#
# --- TRT_DriftCircleTool
#
InDetTRT_DriftCircleTool = acc.popToolsAndMerge(TRT_DriftCircleToolCfg(flags, useTimeInfo, usePhase, prefix, name = "InDetTRT_DriftCircleTool"))
acc.addPublicTool(InDetTRT_DriftCircleTool)
#
# --- TRT_RIO_Maker Algorithm
#
kwargs.setdefault("TRT_DriftCircleTool", InDetTRT_DriftCircleTool)
kwargs.setdefault("TrtDescrManageLocation", 'TRT')
kwargs.setdefault("TRTRDOLocation", 'TRT_RDOs')
kwargs.setdefault("TRTRIOLocation", collection)
acc.addEventAlgo(CompFactory.InDet.TRT_RIO_Maker(name, **kwargs))
return acc
def InDetTRT_RIO_MakerPUCfg(flags, useTimeInfo, usePhase, prefix, collectionPU, name = "InDetTRT_RIO_MakerPU", **kwargs):
acc = ComponentAccumulator()
#
# --- TRT_DriftCircleTool
#
InDetTRT_DriftCircleTool = acc.popToolsAndMerge(TRT_DriftCircleToolCfg(flags, useTimeInfo, usePhase, prefix, name = "InDetTRT_DriftCircleTool"))
acc.addPublicTool(InDetTRT_DriftCircleTool)
#
# --- TRT_RIO_Maker Algorithm
#
kwargs.setdefault("TRT_DriftCircleTool", InDetTRT_DriftCircleTool)
kwargs.setdefault("TrtDescrManageLocation", 'TRT')
kwargs.setdefault("TRTRDOLocation", 'TRT_PU_RDOs')
kwargs.setdefault("TRTRIOLocation", collectionPU)
acc.addEventAlgo(CompFactory.InDet.TRT_RIO_Maker(name, **kwargs))
return acc
########################################################################################################
########################################################################################################
def TRTPreProcessingCfg(flags, useTimeInfo = True, usePhase = False, **kwargs):
acc = ComponentAccumulator()
if flags.InDet.doPRDFormation and flags.InDet.doTRT_PRDFormation:
#
# --- setup naming of tools and algs
#
if useTimeInfo:
prefix = "InDetTRT_"
collection = 'TRT_DriftCircles' ##InDetKeys.TRT_DriftCircles
if flags.InDet.doSplitReco:
collectionPU = 'TRT_PU_DriftCircles' ##read from InDetKeys.TRT_PU_DriftCircles
else:
prefix = "InDetTRT_noTime_"
collection = 'TRT_DriftCirclesUncalibrated' ##read from InDetKeys.TRT_DriftCirclesUncalibrated
if flags.InDet.doSplitReco:
collectionPU = 'TRT_PU_DriftCirclesUncalibrated' ##read from InDetKeys.TRT_PU_DriftCirclesUncalibrated
#
# --- TRT_RIO_Maker Algorithm
#
acc.merge(InDetTRT_RIO_MakerCfg(flags, useTimeInfo, usePhase, prefix, collection, name = prefix+"RIO_Maker"))
if flags.InDet.doSplitReco :
acc.merge(InDetTRT_RIO_MakerPUCfg(flags, useTimeInfo, usePhase, prefix, collectionPU, name = prefix+"RIO_MakerPU", **kwargs))
#
# Include alg to save the local occupancy inside xAOD::EventInfo
#
if flags.InDet.doTRTGlobalOccupancy:
acc.merge(TRTOccupancyIncludeCfg(flags, name = prefix +"TRTOccupancyInclude"))
#
# --- we need to do truth association if requested (not for uncalibrated hits in cosmics)
#
if flags.InDet.doTruth and useTimeInfo:
acc.merge(InDetPRD_MultiTruthMakerTRTCfg(flags, name = prefix + "PRD_MultiTruthMaker"))
if flags.InDet.doSplitReco :
acc.merge(InDetPRD_MultiTruthMakerTRTPUCfg(flags, name = prefix+"PRD_MultiTruthMakerPU"))
return acc
if __name__ == "__main__":
from AthenaCommon.Configurable import Configurable
Configurable.configurableRun3Behavior=1
from AthenaConfiguration.AllConfigFlags import ConfigFlags
from AthenaConfiguration.TestDefaults import defaultTestFiles
ConfigFlags.Input.Files=defaultTestFiles.RDO
ConfigFlags.Detector.RecoTRT = True
numThreads=1
ConfigFlags.Concurrency.NumThreads=numThreads
ConfigFlags.Concurrency.NumConcurrentEvents=numThreads # Might change this later, but good enough for the moment.
ConfigFlags.lock()
ConfigFlags.dump()
from AthenaConfiguration.MainServicesConfig import MainServicesCfg
top_acc = MainServicesCfg(ConfigFlags)
from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
top_acc.merge(PoolReadCfg(ConfigFlags))
from TRT_GeoModel.TRT_GeoModelConfig import TRT_GeometryCfg
top_acc.merge(TRT_GeometryCfg( ConfigFlags ))
msgService = top_acc.getService('MessageSvc')
msgService.Format = "S:%s E:%e % F%138W%S%7W%R%T %0W%M"
if not ConfigFlags.InDet.doDBMstandalone:
top_acc.merge(TRTPreProcessingCfg(ConfigFlags,(not ConfigFlags.InDet.doTRTPhaseCalculation or ConfigFlags.Beam.Type =="collisions"),False))
iovsvc = top_acc.getService('IOVDbSvc')
iovsvc.OutputLevel=5
top_acc.run(25)
top_acc.store(open("test_TRTPrepocessing.pkl", "wb"))
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment