ATLAS Offline Software
IDTR2.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
2 
3 # ====================================================================
4 # IDTR2.py
5 # ====================================================================
6 
7 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
8 from AthenaConfiguration.ComponentFactory import CompFactory
9 from AthenaConfiguration.Enums import MetadataCategory
10 
11 streamName = "StreamDAOD_IDTR2"
12 
13 
14 def IDTR2Cfg(flags):
15 
16  acc = ComponentAccumulator()
17 
18  # LRT merge
19  from DerivationFrameworkInDet.InDetToolsConfig import InDetLRTMergeCfg
20  acc.merge(InDetLRTMergeCfg(flags))
21 
22  # VrtSecInclusive
23  from VrtSecInclusive.VrtSecInclusiveConfig import VrtSecInclusiveCfg
24  acc.merge(VrtSecInclusiveCfg(
25  flags,
26  name="VrtSecInclusive",
27  AugmentingVersionString="",
28  FillIntermediateVertices=False,
29  TrackLocation="InDetWithLRTTrackParticles"))
30 
31  # NewVrtSecInclusive
32  from NewVrtSecInclusiveTool.NewVrtSecInclusiveConfig import (
33  MaterialSVFinderToolCfg, DVFinderToolCfg)
34  MaterialSVFinderTool = acc.popToolsAndMerge(
36  acc.addEventAlgo(CompFactory.Rec.NewVrtSecInclusiveAlg(
37  name="NewVrtSecInclusive_Material",
38  TrackParticleContainer="InDetWithLRTTrackParticles",
39  PrimaryVertexContainer="PrimaryVertices",
40  BVertexContainerName="NewVrtSecInclusive_SecondaryVertices_Material",
41  BVertexTool=MaterialSVFinderTool))
42 
43  DVFinderTool = acc.popToolsAndMerge(DVFinderToolCfg(flags))
44  acc.addEventAlgo(CompFactory.Rec.NewVrtSecInclusiveAlg(
45  name="NewVrtSecInclusive_DV",
46  TrackParticleContainer="InDetWithLRTTrackParticles",
47  PrimaryVertexContainer="PrimaryVertices",
48  BVertexContainerName="NewVrtSecInclusive_SecondaryVertices_DV",
49  BVertexTool=DVFinderTool))
50 
51  # V0Finder
52  IDTR2V0ContainerName = "IDTR2RecoV0Candidates"
53  IDTR2KshortContainerName = "IDTR2RecoKshortCandidates"
54  IDTR2LambdaContainerName = "IDTR2RecoLambdaCandidates"
55  IDTR2LambdabarContainerName = "IDTR2RecoLambdabarCandidates"
56 
57  from InDetConfig.InDetV0FinderConfig import IDTR2_V0FinderToolCfg
58  V0FinderTool = acc.popToolsAndMerge(IDTR2_V0FinderToolCfg(
59  flags,
60  name="IDTR2_V0FinderTool",
61  TrackParticleCollection="InDetWithLRTTrackParticles",
62  V0ContainerName=IDTR2V0ContainerName,
63  KshortContainerName=IDTR2KshortContainerName,
64  LambdaContainerName=IDTR2LambdaContainerName,
65  LambdabarContainerName=IDTR2LambdabarContainerName))
66 
67  from DerivationFrameworkBPhys.V0ToolConfig import BPHY_Reco_V0FinderCfg
68  IDTR2_Reco_V0Finder = acc.popToolsAndMerge(BPHY_Reco_V0FinderCfg(
69  flags, derivation = "IDTR2",
70  V0ContainerName = IDTR2V0ContainerName,
71  KshortContainerName = IDTR2KshortContainerName,
72  LambdaContainerName = IDTR2LambdaContainerName,
73  LambdabarContainerName = IDTR2LambdabarContainerName,
74  CheckVertexContainers = ['PrimaryVertices'],
75  V0FinderTool = V0FinderTool))
76 
77  skimmingTools = []
78  augmentationTools = [IDTR2_Reco_V0Finder]
79 
80  if flags.Input.isMC:
81  from InDetTrackSystematicsTools.InDetTrackSystematicsToolsConfig import TrackSystematicsAlgCfg
82  acc.merge(TrackSystematicsAlgCfg(
83  flags,
84  InputTrackContainer="InDetWithLRTTrackParticles",
85  OutputTrackContainer=(
86  "InDetWithLRTTrackParticles_TRK_EFF_LARGED0_GLOBAL__1down")))
87 
88  V0FinderToolSyst = acc.popToolsAndMerge(IDTR2_V0FinderToolCfg(
89  flags,
90  name="IDTR2_V0FinderTool_Syst",
91  TrackParticleCollection=(
92  "InDetWithLRTTrackParticles_TRK_EFF_LARGED0_GLOBAL__1down"),
93  V0ContainerName=IDTR2V0ContainerName + "Syst",
94  KshortContainerName=IDTR2KshortContainerName + "Syst",
95  LambdaContainerName=IDTR2LambdaContainerName + "Syst",
96  LambdabarContainerName=IDTR2LambdabarContainerName + "Syst"))
97 
98  IDTR2_Reco_V0FinderSyst = acc.popToolsAndMerge(BPHY_Reco_V0FinderCfg(
99  flags, derivation = "IDTR2", suffix = "_Syst",
100  V0ContainerName = IDTR2V0ContainerName + "Syst",
101  KshortContainerName = IDTR2KshortContainerName + "Syst",
102  LambdaContainerName = IDTR2LambdaContainerName + "Syst",
103  LambdabarContainerName = IDTR2LambdabarContainerName + "Syst",
104  CheckVertexContainers = ['PrimaryVertices'],
105  V0FinderTool = V0FinderToolSyst))
106 
107  augmentationTools += [IDTR2_Reco_V0FinderSyst]
108 
109  for t in augmentationTools:
110  acc.addPublicTool(t)
111 
112  # Define the main kernel
113  DerivationKernel = CompFactory.DerivationFramework.DerivationKernel
114  acc.addEventAlgo(DerivationKernel("IDTR2Kernel",
115  AugmentationTools=augmentationTools,
116  SkimmingTools=skimmingTools))
117 
118  # ============================
119  # Define contents of the format
120  # =============================
121  from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
122  from xAODMetaDataCnv.InfileMetaDataConfig import SetupMetaDataForStreamCfg
123  from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper
124 
125  IDTR2SlimmingHelper = SlimmingHelper(
126  "IDTR2SlimmingHelper",
127  NamesAndTypes=flags.Input.TypedCollections,
128  flags=flags)
129 
130  IDTR2SlimmingHelper.AllVariables = [
131  "EventInfo",
132  "PrimaryVertices",
133  "InDetTrackParticles",
134  "InDetLargeD0TrackParticles",
135  "TruthParticles",
136  "TruthVertices"
137  ]
138 
139  StaticContent = []
140  StaticContent += ["xAOD::VertexContainer#VrtSecInclusive_SecondaryVertices"]
141  StaticContent += ["xAOD::VertexAuxContainer#VrtSecInclusive_SecondaryVerticesAux."]
142 
143  for vertexContainer in ["NewVrtSecInclusive_SecondaryVertices_DV",
144  "NewVrtSecInclusive_SecondaryVertices_Material",
145  "IDTR2RecoV0Candidates",
146  "IDTR2RecoKshortCandidates",
147  "IDTR2RecoLambdaCandidates",
148  "IDTR2RecoLambdabarCandidates",
149  "IDTR2RecoV0CandidatesSyst",
150  "IDTR2RecoKshortCandidatesSyst",
151  "IDTR2RecoLambdaCandidatesSyst",
152  "IDTR2RecoLambdabarCandidatesSyst"]:
153  StaticContent += ["xAOD::VertexContainer#%s" % vertexContainer]
154  StaticContent += ["xAOD::VertexAuxContainer#%sAux.-vxTrackAtVertex" %
155  vertexContainer]
156 
157  IDTR2SlimmingHelper.StaticContent = StaticContent
158 
159  IDTR2ItemList = IDTR2SlimmingHelper.GetItemList()
160  acc.merge(OutputStreamCfg(flags, "DAOD_IDTR2",
161  ItemList=IDTR2ItemList,
162  AcceptAlgs=["IDTR2Kernel"]))
163  acc.merge(SetupMetaDataForStreamCfg(flags, "DAOD_IDTR2",
164  AcceptAlgs=["IDTR2Kernel"],
165  createMetadata=[MetadataCategory.CutFlowMetaData]))
166 
167  return acc
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
python.OutputStreamConfig.OutputStreamCfg
def OutputStreamCfg(flags, streamName, ItemList=[], MetadataItemList=[], disableEventTag=False, trigNavThinningSvc=None, takeItemsFromInput=False, extendProvenanceRecord=True, AcceptAlgs=[], HelperTools=[])
Definition: OutputStreamConfig.py:12
HION12.DerivationKernel
DerivationKernel
Definition: HION12.py:67
VrtSecInclusiveConfig.VrtSecInclusiveCfg
def VrtSecInclusiveCfg(flags, name="VrtSecInclusive", **kwargs)
Definition: VrtSecInclusiveConfig.py:10
python.InDetV0FinderConfig.IDTR2_V0FinderToolCfg
def IDTR2_V0FinderToolCfg(flags, name="IDTR2_V0FinderTool", **kwargs)
Definition: InDetV0FinderConfig.py:83
V0ToolConfig.BPHY_Reco_V0FinderCfg
def BPHY_Reco_V0FinderCfg(flags, derivation="", suffix="", V0ContainerName="", KshortContainerName="", LambdaContainerName="", LambdabarContainerName="", CheckVertexContainers=[], **kwargs)
Definition: V0ToolConfig.py:46
python.IDTR2.IDTR2Cfg
def IDTR2Cfg(flags)
Definition: IDTR2.py:14
NewVrtSecInclusiveConfig.MaterialSVFinderToolCfg
def MaterialSVFinderToolCfg(flags, name="MaterialSVFinderTool", **myargs)
Definition: NewVrtSecInclusiveConfig.py:118
InDetTrackSystematicsToolsConfig.TrackSystematicsAlgCfg
def TrackSystematicsAlgCfg(flags, name="InDetTrackSystematicsAlg", **kwargs)
Definition: InDetTrackSystematicsToolsConfig.py:53
NewVrtSecInclusiveConfig.DVFinderToolCfg
def DVFinderToolCfg(flags, name="DVFinderTool", **myargs)
Definition: NewVrtSecInclusiveConfig.py:153
python.InDetToolsConfig.InDetLRTMergeCfg
def InDetLRTMergeCfg(flags, name="InDetLRTMerge", **kwargs)
Definition: InDetToolsConfig.py:14
InfileMetaDataConfig.SetupMetaDataForStreamCfg
def SetupMetaDataForStreamCfg(flags, streamName="", AcceptAlgs=None, createMetadata=None, propagateMetadataFromInput=True, *args, **kwargs)
Definition: InfileMetaDataConfig.py:216
SlimmingHelper
Definition: SlimmingHelper.py:1