5 from AthenaConfiguration.ComponentFactory
import CompFactory
6 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
7 from AthenaCommon.Logging
import logging
8 log = logging.getLogger(__name__)
12 Takes precision Tracks as input and applies GSF refits on top
16 log.debug(
'precisionTracks_GSFRefitted(RoIs = %s, variant = %s)',RoIs,variant)
18 tag =
'_ion' if ion
else ''
21 from TriggerMenuMT.HLT.Egamma.TrigEgammaKeys
import getTrigEgammaKeys
24 signatureName =
'electronLRT' if 'LRT' in variant
else 'electron'
25 from TrigInDetConfig.utils
import getFlagsForActiveConfig
28 precisionGsfVDV = CompFactory.AthViews.ViewDataVerifier(
"PrecisionTrackViewDataVerifier_forGSFRefit"+tag+
'VDV')
31 trackParticles = TrigEgammaKeys.precisionTrackingContainer
32 ambimap = flags.Trigger.InDetTracking.ClusterAmbiguitiesMap
33 if flags.Detector.GeometryITk:
34 ambimap = flags.Trigger.ITkTracking.ClusterAmbiguitiesMap
36 dataObjects = [(
'xAOD::TrackParticleContainer',
'StoreGateSvc+%s' % trackParticles),
37 (
'SG::AuxElement' ,
'StoreGateSvc+EventInfo.averageInteractionsPerCrossing' ),
38 (
'InDet::PixelGangedClusterAmbiguities' ,
'StoreGateSvc+%s' % ambimap ),
39 (
'SG::AuxElement' ,
'StoreGateSvc+EventInfo.AveIntPerXDecor' ),
42 if flags.Trigger.useActsTracking
and flags.Acts.GsfRefitActs:
43 dataObjects += [(
'ActsGeometryContext' ,
'StoreGateSvc+ActsAlignment' ),
44 (
'xAOD::TrackParticleContainer',
'StoreGateSvc+%s.actsTrack' % trackParticles)]
48 if flags.Detector.GeometryTRT:
49 dataObjects += [(
'InDet::TRT_DriftCircleContainer' ,
'StoreGateSvc+%s' %
"TRT_TrigDriftCircles" )]
51 dataObjects += [(
'TRT_RDO_Container' ,
'StoreGateSvc+TRT_RDOs' ),
52 (
'InDet::TRT_DriftCircleContainerCache' ,
53 f
'StoreGateSvc+{flags.Trigger.InDetTracking.TRT_DriftCircleCacheKey}' )]
55 dataObjects += [(
'TRT_RDO_Cache' , f
'StoreGateSvc+{flags.Trigger.InDetTracking.TRTRDOCacheKey}' )]
59 if not flags.Input.isMC:
60 dataObjects.append((
'IDCInDetBSErrContainer' ,
'StoreGateSvc+PixelByteStreamErrs' ))
62 from TrigInDetConfig.TrigInDetConfig
import InDetExtraDataObjectsFromDataPrep
65 precisionGsfVDV.DataObjects = dataObjects
67 acc.addEventAlgo(precisionGsfVDV)
70 if flags.Acts.GsfRefitActs:
71 from egammaAlgs.ActsEMBremCollectionBuilderConfig
import (
72 TrigActsEMBremCollectionBuilderCfg)
74 RefittedTracksLocation = TrigEgammaKeys.precisionElectronTrkCollectionGSF,
75 SelectedTrackParticleContainerName = trackParticles,
76 TrackParticlesOutKey = TrigEgammaKeys.precisionElectronTrackParticleContainerGSF))
80 from TriggerMenuMT.HLT.Electron.TrigEMBremCollectionBuilder
import TrigEMBremCollectionBuilderCfg
82 name =
"TrigEMBremCollectionBuilderCfg"+variant,
83 TrackParticleContainerName=TrigEgammaKeys.precisionTrackingContainer,
84 SelectedTrackParticleContainerName=TrigEgammaKeys.precisionTrackingContainer,
85 OutputTrkPartContainerName=TrigEgammaKeys.precisionElectronTrackParticleContainerGSF,
86 OutputTrackContainerName=TrigEgammaKeys.precisionElectronTrkCollectionGSF))