16 acc = ComponentAccumulator()
19 TrackParticleContainer =
"InDetTrackParticles"
20 if flags.Tracking.doLargeD0:
21 from DerivationFrameworkInDet.InDetToolsConfig
import InDetLRTMergeCfg
22 acc.merge(InDetLRTMergeCfg(flags))
23 TrackParticleContainer =
"InDetWithLRTTrackParticles"
26 from VrtSecInclusive.VrtSecInclusiveConfig
import VrtSecInclusiveCfg
27 acc.merge(VrtSecInclusiveCfg(
29 name=
"VrtSecInclusive",
30 AugmentingVersionString=
"",
31 FillIntermediateVertices=
False,
32 TrackLocation=TrackParticleContainer))
35 from NewVrtSecInclusiveTool.NewVrtSecInclusiveConfig
import (
36 MaterialSVFinderToolCfg, DVFinderToolCfg, KsFinderToolCfg)
37 MaterialSVFinderTool = acc.popToolsAndMerge(
38 MaterialSVFinderToolCfg(flags, AugmentingVersionString=
"_Material"))
39 acc.addEventAlgo(CompFactory.Rec.NewVrtSecInclusiveAlg(
40 name=
"NewVrtSecInclusive_Material",
41 TrackParticleContainer=TrackParticleContainer,
42 PrimaryVertexContainer=
"PrimaryVertices",
43 BVertexContainerName=
"NewVrtSecInclusive_SecondaryVertices_Material",
44 BVertexTool=MaterialSVFinderTool))
46 DVFinderTool = acc.popToolsAndMerge(
47 DVFinderToolCfg(flags, AugmentingVersionString=
"_DV"))
48 acc.addEventAlgo(CompFactory.Rec.NewVrtSecInclusiveAlg(
49 name=
"NewVrtSecInclusive_DV",
50 TrackParticleContainer=TrackParticleContainer,
51 PrimaryVertexContainer=
"PrimaryVertices",
52 BVertexContainerName=
"NewVrtSecInclusive_SecondaryVertices_DV",
53 BVertexTool=DVFinderTool))
55 KsFinderTool = acc.popToolsAndMerge(
56 KsFinderToolCfg(flags, AugmentingVersionString=
"_Ks"))
57 acc.addEventAlgo(CompFactory.Rec.NewVrtSecInclusiveAlg(
58 name=
"NewVrtSecInclusive_Ks",
59 TrackParticleContainer=TrackParticleContainer,
60 PrimaryVertexContainer=
"PrimaryVertices",
61 BVertexContainerName=
"NewVrtSecInclusive_SecondaryVertices_Ks",
62 BVertexTool=KsFinderTool))
65 IDTR2V0ContainerName =
"IDTR2RecoV0Candidates"
66 IDTR2KshortContainerName =
"IDTR2RecoKshortCandidates"
67 IDTR2LambdaContainerName =
"IDTR2RecoLambdaCandidates"
68 IDTR2LambdabarContainerName =
"IDTR2RecoLambdabarCandidates"
70 from InDetConfig.InDetV0FinderConfig
import IDTR2_V0FinderToolCfg
71 V0FinderTool = acc.popToolsAndMerge(IDTR2_V0FinderToolCfg(
73 name=
"IDTR2_V0FinderTool",
74 TrackParticleCollection=TrackParticleContainer,
75 V0ContainerName=IDTR2V0ContainerName,
76 KshortContainerName=IDTR2KshortContainerName,
77 LambdaContainerName=IDTR2LambdaContainerName,
78 LambdabarContainerName=IDTR2LambdabarContainerName))
80 from DerivationFrameworkBPhys.V0ToolConfig
import BPHY_Reco_V0FinderCfg
81 IDTR2_Reco_V0Finder = acc.popToolsAndMerge(BPHY_Reco_V0FinderCfg(
82 flags, derivation =
"IDTR2",
83 V0ContainerName = IDTR2V0ContainerName,
84 KshortContainerName = IDTR2KshortContainerName,
85 LambdaContainerName = IDTR2LambdaContainerName,
86 LambdabarContainerName = IDTR2LambdabarContainerName,
87 CheckVertexContainers = [
'PrimaryVertices'],
88 V0FinderTool = V0FinderTool))
91 augmentationTools = [IDTR2_Reco_V0Finder]
93 if flags.Derivation.InDet.doTrackSystematics:
94 from InDetTrackSystematicsTools.InDetTrackSystematicsToolsConfig
import TrackSystematicsAlgCfg
95 acc.merge(TrackSystematicsAlgCfg(
97 InputTrackContainer=TrackParticleContainer,
98 OutputTrackContainer=(
99 TrackParticleContainer+
"_TRK_EFF_LARGED0_GLOBAL__1down")))
101 V0FinderToolSyst = acc.popToolsAndMerge(IDTR2_V0FinderToolCfg(
103 name=
"IDTR2_V0FinderTool_Syst",
104 TrackParticleCollection=(
105 TrackParticleContainer+
"_TRK_EFF_LARGED0_GLOBAL__1down"),
106 V0ContainerName=IDTR2V0ContainerName +
"Syst",
107 KshortContainerName=IDTR2KshortContainerName +
"Syst",
108 LambdaContainerName=IDTR2LambdaContainerName +
"Syst",
109 LambdabarContainerName=IDTR2LambdabarContainerName +
"Syst"))
111 IDTR2_Reco_V0FinderSyst = acc.popToolsAndMerge(BPHY_Reco_V0FinderCfg(
112 flags, derivation =
"IDTR2", suffix =
"_Syst",
113 V0ContainerName = IDTR2V0ContainerName +
"Syst",
114 KshortContainerName = IDTR2KshortContainerName +
"Syst",
115 LambdaContainerName = IDTR2LambdaContainerName +
"Syst",
116 LambdabarContainerName = IDTR2LambdabarContainerName +
"Syst",
117 CheckVertexContainers = [
'PrimaryVertices'],
118 V0FinderTool = V0FinderToolSyst))
120 augmentationTools += [IDTR2_Reco_V0FinderSyst]
122 for t
in augmentationTools:
126 DerivationKernel = CompFactory.DerivationFramework.DerivationKernel
127 acc.addEventAlgo(DerivationKernel(
"IDTR2Kernel",
128 AugmentationTools=augmentationTools,
129 SkimmingTools=skimmingTools))
134 from OutputStreamAthenaPool.OutputStreamConfig
import OutputStreamCfg
135 from xAODMetaDataCnv.InfileMetaDataConfig
import SetupMetaDataForStreamCfg
136 from DerivationFrameworkCore.SlimmingHelper
import SlimmingHelper
139 "IDTR2SlimmingHelper",
140 NamesAndTypes=flags.Input.TypedCollections,
143 IDTR2SlimmingHelper.AllVariables = [
146 "InDetTrackParticles",
150 if flags.Tracking.doLargeD0:
151 IDTR2SlimmingHelper.AllVariables += [
"InDetLargeD0TrackParticles"]
154 StaticContent += [
"xAOD::VertexContainer#VrtSecInclusive_SecondaryVertices"]
155 StaticContent += [
"xAOD::VertexAuxContainer#VrtSecInclusive_SecondaryVerticesAux."]
157 for vertexContainer
in [
"NewVrtSecInclusive_SecondaryVertices_DV",
158 "NewVrtSecInclusive_SecondaryVertices_Material",
159 "NewVrtSecInclusive_SecondaryVertices_Ks",
160 "IDTR2RecoV0Candidates",
161 "IDTR2RecoKshortCandidates",
162 "IDTR2RecoLambdaCandidates",
163 "IDTR2RecoLambdabarCandidates",
164 "IDTR2RecoV0CandidatesSyst",
165 "IDTR2RecoKshortCandidatesSyst",
166 "IDTR2RecoLambdaCandidatesSyst",
167 "IDTR2RecoLambdabarCandidatesSyst"]:
168 StaticContent += [
"xAOD::VertexContainer#%s" % vertexContainer]
169 StaticContent += [
"xAOD::VertexAuxContainer#%sAux.-vxTrackAtVertex" %
172 IDTR2SlimmingHelper.StaticContent = StaticContent
174 IDTR2ItemList = IDTR2SlimmingHelper.GetItemList()
175 acc.merge(OutputStreamCfg(flags,
"DAOD_IDTR2",
176 ItemList=IDTR2ItemList,
177 AcceptAlgs=[
"IDTR2Kernel"]))
178 acc.merge(SetupMetaDataForStreamCfg(flags,
"DAOD_IDTR2",
179 AcceptAlgs=[
"IDTR2Kernel"],
180 createMetadata=[MetadataCategory.CutFlowMetaData]))