1 """Define methods to construct a configured TRT R-t calibration algorithm
3 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
5 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
6 from AthenaConfiguration.ComponentFactory
import CompFactory
11 kwargs.setdefault(
"MinRt",10000)
12 kwargs.setdefault(
"MinT0",500)
13 kwargs.setdefault(
"Hittuple",
"merged.root")
14 kwargs.setdefault(
"RtRelation",
"basic")
15 kwargs.setdefault(
"RtBinning",
"t")
16 kwargs.setdefault(
"FloatP3",
True)
17 kwargs.setdefault(
"T0Offset",0.0)
18 kwargs.setdefault(
"DoShortStrawCorrection",
False)
19 kwargs.setdefault(
"DoArgonXenonSep",
True)
20 if "TRTStrawSummaryTool" not in kwargs:
21 from TRT_ConditionsServices.TRT_ConditionsServicesConfig
import (
22 TRT_StrawStatusSummaryToolCfg)
23 kwargs.setdefault(
"TRTStrawSummaryTool", acc.popToolsAndMerge(
25 if "NeighbourSvc" not in kwargs:
26 from TRT_ConditionsServices.TRT_ConditionsServicesConfig
import (
27 TRT_StrawNeighbourSvcCfg)
28 kwargs.setdefault(
"NeighbourSvc", acc.getPrimaryAndMerge(
30 if "TRTCalDbTool" not in kwargs:
31 from TRT_ConditionsServices.TRT_ConditionsServicesConfig
import TRT_CalDbToolCfg
32 kwargs.setdefault(
"TRT_CalDbTool", acc.popToolsAndMerge(
TRT_CalDbToolCfg(flags)))
34 acc.setPrivateTools(CompFactory.TRTCalibrator(name, **kwargs))
44 kwargs.setdefault(
"DoCalibrate",
False)
45 kwargs.setdefault(
"DoRefit",
False)
47 if "AlignTrkTools" not in kwargs:
48 from TRT_CalibTools.TRTCalibToolsConfig
import (
49 FillAlignTrkInfoCfg, FillAlignTRTHitsCfg)
50 kwargs.setdefault(
"AlignTrkTools", [
54 if "FitTools" not in kwargs:
55 from TRT_CalibTools.TRTCalibToolsConfig
import FitToolCfg
56 kwargs.setdefault(
"FitTools", [acc.popToolsAndMerge(
FitToolCfg(flags))])
58 if "TrackFitter" not in kwargs:
59 from TrkConfig.CommonTrackFitterConfig
import InDetTrackFitterCfg
62 if "TrackSelectorTool" not in kwargs:
63 from InDetConfig.InDetTrackSelectorToolConfig
import TRT_InDetDetailedTrackSelectorToolCfg
73 if not calibconstants==
"":
75 from TRT_ConditionsAlgs.TRT_ConditionsAlgsConfig
import TRTCondWriteCfg
76 acc.merge(TRTCondWriteCfg(flags,calibconstants))
79 acc.addEventAlgo(CompFactory.TRTCalibrationMgr(name, **kwargs))
88 from TRT_ConditionsServices.TRT_ConditionsServicesConfig
import (
89 TRT_StrawStatusSummaryToolCfg)
90 kwargs.setdefault(
"TRT_StrawStatusSummaryTool", acc.popToolsAndMerge(
93 from InDetConfig.TRT_TrackHoleSearchConfig
import TRTTrackHoleSearchToolCfg
94 kwargs.setdefault(
"trt_hole_finder", acc.popToolsAndMerge(
97 acc.addEventAlgo(CompFactory.InDet.TRT_StrawStatus(name,**kwargs))
103 from AthenaConfiguration.DetectorConfigFlags
import setupDetectorFlags
107 flags.Reco.EnableTau=
False
108 flags.Reco.EnableCombinedMuon=
False
109 flags.Reco.EnableMet=
False
110 flags.Reco.EnableTrigger =
False
111 flags.Reco.EnableEgamma=
False
112 flags.Reco.EnableCaloRinger=
False
113 flags.Reco.EnableCaloExtension=
False
116 flags.Detector.EnableMuon=
False
117 flags.Detector.EnableCalo=
False
120 flags.DQ.doMonitoring=
False
121 flags.DQ.Steering.InDet.doPerfMon=
False
122 flags.DQ.Steering.InDet.doGlobalMon=
False
123 flags.DQ.Steering.doPixelMon=
False
124 flags.DQ.Steering.doSCTMon=
False
127 flags.Tracking.doCaloSeededBrem=
False
128 flags.Tracking.doCaloSeededAmbi=
False
129 flags.Tracking.doTRTSegments=
False
130 flags.Tracking.doTRTStandalone=
False
131 flags.Tracking.doBackTracking=
False
137 if __name__ ==
'__main__':
139 import glob, argparse
140 parser = argparse.ArgumentParser(prog=
'python -m TRT_CalibAlgs.TRTCalibrationMgrConfig',
141 description=
"""Run R-t TRT calibration.\n\n
142 Example: python -m TRT_CalibAlgs.TRTCalibrationMgrConfig --filesInput "/path/to/files/data22*" --evtMax 10""")
144 parser.add_argument(
'--evtMax',type=int,default=10,help=
"Number of events. Default 10 (Run all events)")
145 parser.add_argument(
'--filesInput', nargs=
'+', default=[],help=
"Input files. RAW data")
146 parser.add_argument(
'--fileOutput', default=
"basic.root" ,help=
"Output file name. Flat Ntuple")
147 args = parser.parse_args()
149 from AthenaConfiguration.AllConfigFlags
import initConfigFlags
152 from AthenaConfiguration.TestDefaults
import defaultGeometryTags, defaultTestFiles
153 if not args.filesInput:
154 flags.Input.Files = defaultTestFiles.RAW_RUN3
156 flags.Input.Files = [file
for x
in args.filesInput
for file
in glob.glob(x)]
158 flags.Output.HISTFileName = args.fileOutput
159 flags.Exec.MaxEvents = args.evtMax
161 flags.GeoModel.AtlasVersion = defaultGeometryTags.RUN3
162 flags.IOVDb.GlobalTag =
"CONDBR2-BLKPA-2023-03"
169 flags = flags.cloneAndReplace(
170 "Tracking.ActiveConfig",
171 f
"Tracking.{flags.Tracking.PrimaryPassConfig.value}Pass",
180 from AthenaConfiguration.MainServicesConfig
import MainServicesCfg
183 from ByteStreamCnvSvc.ByteStreamConfig
import ByteStreamReadCfg
186 from InDetConfig.TrackRecoConfig
import InDetTrackRecoCfg
195 with open(
"TRTCalibConfigCA.pkl",
"wb")
as f:
201 sys.exit(
not acc.run().isSuccess())