4 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
5 from AthenaConfiguration.ComponentFactory
import CompFactory
6 from AthenaConfiguration.Enums
import MetadataCategory
7 from AthenaCommon.CFElements
import seqAND
11 """Configure the derivation framework driving algorithm (kernel) for SCTVALID"""
19 SCTVALIDSequenceName=
'SCTVALIDSequence'
20 acc.addSequence(
seqAND(SCTVALIDSequenceName))
25 from DerivationFrameworkTools.DerivationFrameworkToolsConfig
import PrescaleToolCfg
28 flags, name=
"SCTxAOD_PrescaleTool", Prescale=flags.InDet.SCTxAODPrescale))
30 skimmingTools += [prescaleTool]
32 SCTVALIDKernelPresel = CompFactory.DerivationFramework.DerivationKernel(
"SCTVALIDKernelPresel",
33 SkimmingTools=skimmingTools)
34 acc.addEventAlgo(SCTVALIDKernelPresel, sequenceName=
"SCTVALIDSequence")
36 from InDetConfig.InDetPrepRawDataToxAODConfig
import InDetSCT_PrepDataToxAODCfg
39 WriteRDOinformation=
True,
42 UseTruthInfo=flags.Input.isMC),
43 sequenceName=SCTVALIDSequenceName)
46 from InDetConfig.InDetPrepRawDataToxAODConfig
import InDetSCT_RawDataToxAODCfg
48 sequenceName=SCTVALIDSequenceName)
53 if flags.Reco.EnableTracking
is True:
54 from DerivationFrameworkInDet.InDetToolsConfig
import TrackStateOnSurfaceDecoratorCfg
61 augmentationTools.append(DFTSOS)
63 from DerivationFrameworkInDet.InDetToolsConfig
import EventInfoBSErrDecoratorCfg
65 augmentationTools.append(DFEI)
67 from DerivationFrameworkInDet.InDetToolsConfig
import UnassociatedHitsGetterToolCfg
69 TrackCollection =
"CombinedInDetTracks",
70 PixelClusters =
"PixelClusters",
71 SCTClusterContainer =
"SCT_Clusters",
72 TRTDriftCircleContainer =
"TRT_DriftCircles"))
74 from DerivationFrameworkInDet.InDetToolsConfig
import UnassociatedHitsDecoratorCfg
76 name=
'SCTxAOD_unassociatedHitsDecorator',
77 UnassociatedHitsGetter = unassociatedHitsGetterTool))
78 augmentationTools.append(unassociatedHitsDecorator)
80 acc.addEventAlgo(CompFactory.DerivationFramework.DerivationKernel(
82 AugmentationTools=augmentationTools,
83 SkimmingTools=skimmingTools,
85 OutputLevel=INFO), sequenceName=SCTVALIDSequenceName)
90 """Main config fragment for SCTVALID"""
95 name =
"SCTVALIDKernel",
96 StreamName =
'StreamDAOD_SCTVALID') )
101 from OutputStreamAthenaPool.OutputStreamConfig
import OutputStreamCfg
102 from xAODMetaDataCnv.InfileMetaDataConfig
import SetupMetaDataForStreamCfg
103 from DerivationFrameworkCore.SlimmingHelper
import SlimmingHelper
105 "SCTVALIDSlimmingHelper",
106 NamesAndTypes = flags.Input.TypedCollections,
112 SmartCollections = []
115 SCTVALIDSlimmingHelper.AppendToDictionary.update({
116 "EventInfo":
"xAOD::EventInfo",
"EventInfoAux":
"xAOD::EventAuxInfo",
117 "Muons":
"xAOD::MuonContainer",
"MuonsAux":
"xAOD::MuonAuxContainer",
118 "Electrons":
"xAOD::ElectronContainer",
"ElectronsAux":
"xAOD::ElectronAuxContainer",
119 "GSFTrackParticles":
"xAOD::TrackParticleContainer",
120 "GSFTrackParticlesAux":
"xAOD::TrackParticleAuxContainer",
124 AllVariables += [
"EventInfo",
"InDetTrackParticles",]
125 SmartCollections += [
"Muons",
"Electrons"]
127 excludedPrimaryVerticesAuxData =
"-VTAV"
128 excludedInDetTrackParticlesAuxData =
".-clusterAssociation.-trackParameterCovarianceMatrices.-parameterX.-parameterY.-parameterZ.-parameterPX.-parameterPY.-parameterPZ.-parameterPosition"
129 excludedGSFTrackParticlesAuxData =
".-clusterAssociation.-trackParameterCovarianceMatrices.-parameterX.-parameterY.-parameterZ.-parameterPX.-parameterPY.-parameterPZ.-parameterPosition"
132 StaticContent += [
"xAOD::VertexContainer#PrimaryVertices"]
133 StaticContent += [
"xAOD::VertexAuxContainer#PrimaryVerticesAux" + excludedPrimaryVerticesAuxData]
134 StaticContent += [
"xAOD::TrackParticleContainer#InDetTrackParticles"]
135 StaticContent += [
"xAOD::TrackParticleAuxContainer#InDetTrackParticlesAux" + excludedInDetTrackParticlesAuxData]
136 StaticContent += [
"xAOD::TrackParticleAuxContainer#InDetTrackParticlesAux"]
138 StaticContent += [
"xAOD::TrackParticleContainer#GSFTrackParticles"]
139 StaticContent += [
"xAOD::TrackParticleAuxContainer#GSFTrackParticlesAux" + excludedGSFTrackParticlesAuxData]
142 StaticContent += [
"TileCellContainer#MBTSContainer"]
143 StaticContent += [
"BCM_RDOs#BCM_RDO_Container"]
145 SCTVALIDSlimmingHelper.AppendToDictionary.update(
147 "SCT_MSOSs":
"xAOD::TrackStateValidationContainer",
148 "SCT_MSOSsAux":
"xAOD::TrackStateValidationAuxContainer",
149 "SCT_Clusters":
"xAOD::TrackMeasurementValidationContainer",
150 "SCT_ClustersAux":
"xAOD::TrackMeasurementValidationAuxContainer",
151 "SCT_RawHits":
"xAOD::SCTRawHitValidationContainer",
152 "SCT_RawHitsAux":
"xAOD::SCTRawHitValidationAuxContainer"})
162 SCTVALIDSlimmingHelper.AppendToDictionary.update({
163 "TruthEvents":
"xAOD::TruthEventContainer",
164 "TruthEventsAux":
"xAOD::TruthEventAuxContainer",
165 "TruthParticles":
"xAOD::TruthParticleContainer",
166 "TruthParticlesAux":
"xAOD::TruthParticleAuxContainer",
167 "TruthVertices":
"xAOD::TruthVertexContainer",
168 "TruthVerticesAux":
"xAOD::TruthVertexAuxContainer"})
170 AllVariables += [
"TruthEvents",
"TruthParticles",
"TruthVertices"]
173 SCTVALIDSlimmingHelper.IncludeTriggerNavigation =
True
174 SCTVALIDSlimmingHelper.IncludeAdditionalTriggerContent =
True
176 SCTVALIDSlimmingHelper.AllVariables = AllVariables
177 SCTVALIDSlimmingHelper.StaticContent = StaticContent
178 SCTVALIDSlimmingHelper.SmartCollections = SmartCollections
179 SCTVALIDSlimmingHelper.ExtraVariables = ExtraVariables
182 SCTVALIDItemList = SCTVALIDSlimmingHelper.GetItemList()
184 ItemList=SCTVALIDItemList, AcceptAlgs=[
"SCTVALIDKernel"]))
186 flags,
"DAOD_SCTVALID",
187 AcceptAlgs=[
"SCTVALIDKernel"],
188 createMetadata=[MetadataCategory.CutFlowMetaData,
189 MetadataCategory.TriggerMenuMetaData]))