5 from AthenaConfiguration.AccumulatorCache
import AccumulatorCache
6 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
7 from AthenaConfiguration.ComponentFactory
import CompFactory
8 from AthenaCommon.Logging
import logging
11 if flags.Detector.GeometryITk:
12 if flags.Detector.EnableITkPixel:
13 dataObjects.append( (
'InDet::SiDetectorElementStatus' ,
'StoreGateSvc+ITkPixelDetectorElementStatus' ))
14 if flags.Detector.EnableITkStrip:
15 dataObjects.append( (
'InDet::SiDetectorElementStatus' ,
'StoreGateSvc+ITkStripDetectorElementStatus' ))
21 InDet__CacheCreator=CompFactory.getComp(
"InDet::CacheCreator")
22 InDetCacheCreatorTrig = InDet__CacheCreator(name =
"InDetCacheCreatorTrig",
23 TRT_DriftCircleKey = flags.Trigger.InDetTracking.TRT_DriftCircleCacheKey,
24 Pixel_ClusterKey = flags.Trigger.InDetTracking.PixelClusterCacheKey,
25 SCT_ClusterKey = flags.Trigger.InDetTracking.SCTClusterCacheKey,
26 SpacePointCachePix = flags.Trigger.InDetTracking.SpacePointCachePix,
27 SpacePointCacheSCT = flags.Trigger.InDetTracking.SpacePointCacheSCT,
28 SCTRDOCacheKey = flags.Trigger.InDetTracking.SCTRDOCacheKey,
29 SCTBSErrCacheKey = flags.Trigger.InDetTracking.SCTBSErrCacheKey,
30 SCTFlaggedCondCacheKey = flags.Trigger.InDetTracking.SCTFlaggedCondCacheKey,
31 PixRDOCacheKey = flags.Trigger.InDetTracking.PixRDOCacheKey,
32 PixBSErrCacheKey = flags.Trigger.InDetTracking.PixBSErrCacheKey,
33 TRTRDOCacheKey = flags.Trigger.InDetTracking.TRTRDOCacheKey)
35 if not flags.Detector.GeometryTRT:
36 InDetCacheCreatorTrig.disableTRT =
True
38 acc.addEventAlgo( InDetCacheCreatorTrig )
45 creator = CompFactory.ActsTrk.Cache.CreatorAlg(name=
"ActsCacheCreatorTrig",
46 PixelClustersCacheKey=
"ActsPixelClusterCache_Back",
47 StripClustersCacheKey=
"ActsStripClusterCache_Back",
48 PixelSpacePointCacheKey=
"ActsPixelSpacePointCache_Back",
49 StripSpacePointCacheKey=
"ActsStripSpacePointCache_Back",
50 StripOverlapSpacePointCacheKey=
"ActsStripOverlapSpacePointCache_Back")
52 acc.addEventAlgo(creator)
63 log = logging.getLogger(
"trigInDetFastTrackingCfg")
64 from TrigInDetConfig.utils
import getFlagsForActiveConfig
67 """ Generates fast tracking config, it is a primary config function """
69 from TrigInDetConfig.InnerTrackingTrigSequence
import InnerTrackingTrigSequence
71 seq = InnerTrackingTrigSequence.create(flags,
72 flags.Tracking.ActiveConfig.input_name,
74 inView =
"VDVInDetFTF" if in_view
else None)
75 if patternMode==
'FTF':
76 acc = seq.sequence(
"FastTrackFinder")
77 elif patternMode==
"fastTracking":
78 acc = seq.sequence(
"offlinePattern")
87 def trigInDetLRTCfg(flags, LRTInputCollection, roisKey, in_view, extra_view_inputs=tuple()):
88 from TrigInDetConfig.InnerTrackingTrigSequence
import InnerTrackingTrigSequence
89 viewname =
"VDVInDetLRT" if in_view
else None
90 seq = InnerTrackingTrigSequence.create(flags,
91 flags.Tracking.ActiveConfig.input_name,
96 acc.addEventAlgo( CompFactory.AthViews.ViewDataVerifier(
97 name =
"LRTInputVDV_"+viewname +
"_" + flags.Tracking.ActiveConfig.input_name,
98 DataObjects = { (
'TrigRoiDescriptorCollection' , f
'StoreGateSvc+{roisKey}' ),
99 (
'TrackCollection' ,
'StoreGateSvc+HLT_IDTrkTrack_FS_FTF' ),
100 } |
set(extra_view_inputs) ) )
103 acc.merge(seq.viewDataVerifier(viewname))
104 acc.merge(seq.dataPreparation())
105 acc.merge(seq.spacePointFormation())
107 acc.merge(seq.fastTrackFinder(inputTracksName = LRTInputCollection))
122 """ Generates precision tracking config, it is a primary config function """
125 log = logging.getLogger(
"trigInDetPrecisionTrackingCfg")
126 from TrigInDetConfig.utils
import getFlagsForActiveConfig
131 verifier = CompFactory.AthViews.ViewDataVerifier( name =
'VDVInDetPrecision'+flags.Tracking.ActiveConfig.input_name,
132 DataObjects= {(
'xAOD::EventInfo',
'StoreGateSvc+EventInfo'),
133 (
'TrigRoiDescriptorCollection' , f
'StoreGateSvc+{rois}' ),
134 (
'TagInfo',
'DetectorStore+ProcessingTags' ),
135 ( (
'ActsTrk::TrackContainer' if "Acts" in flags.Tracking.ActiveConfig.trkTracks_FTF
else 'TrackCollection'), flags.Tracking.ActiveConfig.trkTracks_FTF )} )
137 acc.addEventAlgo(verifier)
139 from TrigInDetConfig.InnerTrackingTrigSequence
import InnerTrackingTrigSequence
141 seq = InnerTrackingTrigSequence.create(flags,
142 flags.Tracking.ActiveConfig.input_name,
143 rois = flags.Tracking.ActiveConfig.roi,
144 inView = verifier.getName()
if in_view
else '')
146 acc.merge(seq.sequenceAfterPattern(rois = rois))
158 acc.addEventAlgo( CompFactory.AthViews.ViewDataVerifier(
159 name =
"VtxVDV_" + flags.Tracking.ActiveConfig.input_name,
161 (
'ActsGeometryContext' ,
'StoreGateSvc+ActsAlignment' )
165 from InDetConfig.InDetPriVxFinderConfig
import InDetTrigPriVxFinderCfg
173 if __name__ ==
"__main__":
174 from AthenaConfiguration.AllConfigFlags
import initConfigFlags
175 from AthenaConfiguration.TestDefaults
import defaultTestFiles, defaultGeometryTags
176 ComponentAccumulator.debugMode =
"trackCA trackPublicTool trackEventAlgo trackCondAlgo trackPrivateTool"
178 flags.Input.Files = defaultTestFiles.RAW_RUN2
179 flags.GeoModel.AtlasVersion = defaultGeometryTags.RUN2
183 from AthenaConfiguration.MainServicesConfig
import MainServicesCfg
185 roisKey =
"ElectronRoIs"
187 flags = flags.cloneAndReplace(
"Tracking.ActiveConfig",
"Trigger.InDetTracking.electron")
193 acc.printConfig(withDetails=
True, summariseProps=
True)
194 acc.store(
open(
"test.pkl",
"wb") )