Skip to content
Snippets Groups Projects
Commit 424107ae authored by Vakhtang Tsulaia's avatar Vakhtang Tsulaia
Browse files

Merge branch 'TRT_ToolCfg' into 'main'

Updated TRT tool configs

See merge request atlas/athena!69487
parents c4b237b6 3c511559
No related branches found
No related tags found
No related merge requests found
......@@ -18,12 +18,15 @@ def TRTCalibratorCfg(flags, name="TRTCalibrator", **kwargs) :
kwargs.setdefault("DoShortStrawCorrection",False)
kwargs.setdefault("DoArgonXenonSep",True)
if "TRTStrawSummaryTool" not in kwargs:
from TRT_ConditionsServices.TRT_ConditionsServicesConfig import TRT_StrawStatusSummaryToolCfg
InDetStrawSummaryTool = acc.popToolsAndMerge(TRT_StrawStatusSummaryToolCfg(flags))
kwargs.setdefault("TRTStrawSummaryTool", InDetStrawSummaryTool)
from TRT_ConditionsServices.TRT_ConditionsServicesConfig import (
TRT_StrawStatusSummaryToolCfg)
kwargs.setdefault("TRTStrawSummaryTool", acc.popToolsAndMerge(
TRT_StrawStatusSummaryToolCfg(flags)))
if "NeighbourSvc" not in kwargs:
from TRT_ConditionsServices.TRT_ConditionsServicesConfig import TRT_StrawNeighbourSvcCfg
kwargs.setdefault("NeighbourSvc", acc.getPrimaryAndMerge(TRT_StrawNeighbourSvcCfg(flags)))
from TRT_ConditionsServices.TRT_ConditionsServicesConfig import (
TRT_StrawNeighbourSvcCfg)
kwargs.setdefault("NeighbourSvc", acc.getPrimaryAndMerge(
TRT_StrawNeighbourSvcCfg(flags)))
if "TRTCalDbTool" not in kwargs:
from TRT_ConditionsServices.TRT_ConditionsServicesConfig import TRT_CalDbToolCfg
kwargs.setdefault("TRT_CalDbTool", acc.popToolsAndMerge(TRT_CalDbToolCfg(flags)))
......@@ -41,17 +44,20 @@ def TRT_CalibrationMgrCfg(flags,name='TRT_CalibrationMgr',calibconstants='',**kw
kwargs.setdefault("DoCalibrate",False)
kwargs.setdefault("DoRefit",False)
from TRT_CalibTools.TRTCalibToolsConfig import FillAlignTrkInfoCfg, FillAlignTRTHitsCfg, FitToolCfg
kwargs.setdefault("AlignTrkTools", [acc.addPublicTool(acc.popToolsAndMerge(FillAlignTrkInfoCfg(flags))),
acc.addPublicTool(acc.popToolsAndMerge(FillAlignTRTHitsCfg(flags)))] )
from TRT_CalibTools.TRTCalibToolsConfig import (
FillAlignTrkInfoCfg, FillAlignTRTHitsCfg, FitToolCfg)
kwargs.setdefault("AlignTrkTools", [
acc.addPublicTool(acc.popToolsAndMerge(FillAlignTrkInfoCfg(flags))),
acc.addPublicTool(acc.popToolsAndMerge(FillAlignTRTHitsCfg(flags))) ] )
kwargs.setdefault("FitTools", [acc.popToolsAndMerge(FitToolCfg(flags))])
from ActsConfig.ActsTrackFittingConfig import ActsFitterCfg
kwargs.setdefault("TrackFitter", acc.popToolsAndMerge(ActsFitterCfg(flags)))
from InDetConfig.InDetTrackSelectorToolConfig import InDetDetailedTrackSelectorToolCfg
kwargs.setdefault("TrackSelectorTool", acc.popToolsAndMerge(InDetDetailedTrackSelectorToolCfg(flags)))
from InDetConfig.InDetTrackSelectorToolConfig import TRT_InDetDetailedTrackSelectorToolCfg
kwargs.setdefault("TrackSelectorTool", acc.popToolsAndMerge(
TRT_InDetDetailedTrackSelectorToolCfg(flags)))
# FIXME! Let all straws participate in trackfinding as default - SERGI This is wrong and needs to be UPDATED @peter
# acc.merge(addOverride('/TRT/Cond/Status','TRTCondStatus-empty-00-00'))
......@@ -69,39 +75,20 @@ def TRT_CalibrationMgrCfg(flags,name='TRT_CalibrationMgr',calibconstants='',**kw
acc.addEventAlgo(CompFactory.TRTCalibrationMgr(name, **kwargs))
return acc
# FIXME - This needs to be moved to the InnerDetector/InDetRecTools/TRT_TrackHoleSearch/python/
def TRTTrackHoleSearch(flags,name="TRT_TrackHoleSearch",**kwargs):
acc = ComponentAccumulator()
from TrkConfig.AtlasExtrapolatorConfig import AtlasExtrapolatorCfg
kwargs.setdefault("extrapolator", acc.addPublicTool(acc.popToolsAndMerge(AtlasExtrapolatorCfg(flags))))
kwargs.setdefault("use_conditions_svc",True)
kwargs.setdefault("do_dump_bad_straw_log",False)
kwargs.setdefault("begin_at_first_trt_hit",False)
kwargs.setdefault("end_at_last_trt_hit",False)
kwargs.setdefault("max_trailing_holes",1)
kwargs.setdefault("locR_cut",-1)
kwargs.setdefault("locR_sigma_cut",-1)
acc.setPrivateTools(CompFactory.TRTTrackHoleSearchTool(name, **kwargs))
return acc
def TRT_StrawStatusCfg(flags,name='InDet_TRT_StrawStatus',**kwargs) :
acc = ComponentAccumulator()
from TRT_ConditionsServices.TRT_ConditionsServicesConfig import TRT_StrawStatusSummaryToolCfg
kwargs.setdefault("TRT_StrawStatusSummaryTool", acc.popToolsAndMerge(TRT_StrawStatusSummaryToolCfg(flags)))
from TRT_ConditionsServices.TRT_ConditionsServicesConfig import (
TRT_StrawStatusSummaryToolCfg)
kwargs.setdefault("TRT_StrawStatusSummaryTool", acc.popToolsAndMerge(
TRT_StrawStatusSummaryToolCfg(flags)))
kwargs.setdefault("trt_hole_finder", acc.popToolsAndMerge(TRTTrackHoleSearch(flags)))
from InDetConfig.TRT_TrackHoleSearchConfig import TRTTrackHoleSearchToolCfg
kwargs.setdefault("trt_hole_finder", acc.popToolsAndMerge(
TRTTrackHoleSearchToolCfg(flags)))
acc.addEventAlgo(CompFactory.InDet.TRT_StrawStatus(name,**kwargs))
return acc
......@@ -144,4 +131,4 @@ if __name__ == '__main__':
import sys
sys.exit(not acc.run().isSuccess())
\ No newline at end of file
......@@ -267,7 +267,8 @@ def InDetTrigTRTDriftCircleCutToolCfg(flags, name='InDetTrigTRTDriftCircleCutToo
# Tool to select tracks to be used for TRT calibration
def InDetDetailedTrackSelectorToolCfg(flags,name="InDetDetailedTrackSelectorTool",**kwargs):
def TRT_InDetDetailedTrackSelectorToolCfg(
flags, name="TRT_InDetDetailedTrackSelectorTool", **kwargs):
from AthenaCommon.SystemOfUnits import GeV, mm
......@@ -291,5 +292,6 @@ def InDetDetailedTrackSelectorToolCfg(flags,name="InDetDetailedTrackSelectorTool
from TrkConfig.AtlasExtrapolatorConfig import InDetExtrapolatorCfg
kwargs.setdefault("Extrapolator", acc.popToolsAndMerge(InDetExtrapolatorCfg(flags)))
acc.setPrivateTools(acc.popToolsAndMerge(InDetTrackSelectorToolCfg(flags, name=name , **kwargs)))
acc.setPrivateTools(acc.popToolsAndMerge(
InDetTrackSelectorToolCfg(flags, name, **kwargs)))
return acc
# Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
# Configuration of TRT_TrackHoleSearch package
from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
from AthenaConfiguration.ComponentFactory import CompFactory
def TRTTrackHoleSearchToolCfg(flags, name="TRTTrackHoleSearchTool", **kwargs):
acc = ComponentAccumulator()
if "extrapolator" not in kwargs:
from TrkConfig.AtlasExtrapolatorConfig import AtlasExtrapolatorCfg
kwargs.setdefault("extrapolator", acc.addPublicTool(
acc.popToolsAndMerge(AtlasExtrapolatorCfg(flags))))
acc.setPrivateTools(CompFactory.TRTTrackHoleSearchTool(name, **kwargs))
return acc
#
# Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
# Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
#
def TRTHoleSearchCfg(flags, **kwargs) :
from TrkConfig.AtlasExtrapolatorConfig import AtlasExtrapolatorCfg
from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
from AthenaConfiguration.ComponentFactory import CompFactory
acc=ComponentAccumulator()
kwargs.setdefault('name','TRTTrackHoleSearchTool')
if 'Extrapolator' not in kwargs :
extrapolator = acc.popToolsAndMerge( AtlasExtrapolatorCfg(flags) )
acc.addPublicTool(extrapolator)
kwargs.setdefault('extrapolator',extrapolator)
acc.setPrivateTools( CompFactory.TRTTrackHoleSearchTool(**kwargs) )
return acc
def TRTHoleSearch(name='TRTTrackHoleSearchTool', **kwargs) :
kwargs.setdefault('name',name)
if 'Extrapolator' not in kwargs :
from TrkExTools.AtlasExtrapolator import AtlasExtrapolator
kwargs.setDefaults(kwargs,Extrapolator = AtlasExtrapolator())
from TRT_TrackHoleSearch.TRT_TrackHoleSearchConf import TRTTrackHoleSearchTool
return TRTTrackHoleSearchTool(**kwargs)
def TRTMonitoringRun3RAW_AlgConfig(inputFlags):
def TRTMonitoringRun3RAW_AlgConfig(flags):
from AthenaMonitoring import AthMonitorCfgHelper
from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
rv = ComponentAccumulator()
helper = AthMonitorCfgHelper(inputFlags, 'TRTMonitoringCfg')
helper = AthMonitorCfgHelper(flags, 'TRTMonitoringCfg')
from AthenaConfiguration.ComponentFactory import CompFactory
algTRTMonitoringRun3RAW = helper.addAlgorithm(CompFactory.TRTMonitoringRun3RAW_Alg,
'AlgTRTMonitoringRun3RAW',
ByteStreamErrors= "" if inputFlags.Input.isMC else "TRT_ByteStreamErrs",
TrackSummaryTool= "InDetTrackSummaryTool"
)
algTRTMonitoringRun3RAW = helper.addAlgorithm(
CompFactory.TRTMonitoringRun3RAW_Alg,
'AlgTRTMonitoringRun3RAW',
ByteStreamErrors= "" if flags.Input.isMC else "TRT_ByteStreamErrs"
)
# @TODO really run the TRT hole search ? Hole search still seems to use a condition service
from TrkConfig.TrkTrackSummaryToolConfig import InDetTrackSummaryToolCfg
algTRTMonitoringRun3RAW.TrackSummaryTool = rv.popToolsAndMerge(InDetTrackSummaryToolCfg(inputFlags))
algTRTMonitoringRun3RAW.trt_hole_search= rv.popToolsAndMerge( TRTHoleSearchCfg(inputFlags) )
algTRTMonitoringRun3RAW.TrackSummaryTool = rv.popToolsAndMerge(
InDetTrackSummaryToolCfg(flags))
from InDetConfig.TRT_TrackHoleSearchConfig import TRTTrackHoleSearchToolCfg
algTRTMonitoringRun3RAW.trt_hole_search= rv.popToolsAndMerge(
TRTTrackHoleSearchToolCfg(flags))
maxLumiBlockSummary = 3000
......@@ -132,7 +111,7 @@ def TRTMonitoringRun3RAW_AlgConfig(inputFlags):
rdoEndcapGroup.defineHistogram('strawNumber,HitWMap_Ar_passed;hHitWMap_Ar_{0}'.format(side[iside]),cutmask='isAr',type='TProfile',title='Leading Edge in Time Window: Argon Straws (E{0});Straw Number in Stack;Probability'.format(side[iside]),path='TRT/Shift/{0}'.format(barrelOrEndcap[ibe]),xbins=strawMax[ibe],xmin=0,xmax=strawMax[ibe],opt='kAlwaysCreate')
for iside in range(2):
regionTag = ' (' + beId[ibe] + sideId[iside] + ')'
regionMarker = (beId[ibe] + sideId[iside]) if inputFlags.Common.isOnline is True else (sideId[iside])
regionMarker = (beId[ibe] + sideId[iside]) if flags.Common.isOnline else (sideId[iside])
rdoLLHLOccGroup = helper.addGroup(algTRTMonitoringRun3RAW,'RDOLLHLOccHistograms{0}{1}'.format(ibe,iside))
rdoLLHLOccGroup.defineHistogram('AvgHLOcc_side_x,AvgHLOcc_side_y;hAvgHLOcc_{0}'.format(regionMarker),type='TProfile',title='Avg. HL Occupancy{0};{1};Occupancy'.format(regionTag,stackOrSector[ibe]),path='TRT/Shift/{0}'.format(barrelOrEndcap[ibe]),xbins=32,xmin=1,xmax=33,opt='kAlwaysCreate')
rdoLLHLOccGroup.defineHistogram('AvgLLOcc_side_x,AvgLLOcc_side_y;hAvgLLOcc_{0}'.format(regionMarker),type='TProfile',title='Avg. LL Occupancy{0};{1};Occupancy'.format(regionTag,stackOrSector[ibe]),path='TRT/Shift/{0}'.format(barrelOrEndcap[ibe]),xbins=32,xmin=1,xmax=33,opt='kAlwaysCreate')
......
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