Skip to content
Snippets Groups Projects
Commit 3c511559 authored by Thomas Strebler's avatar Thomas Strebler
Browse files

Updated TRT tool configs

parent 6270e92e
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