ATLAS Offline Software
HION2.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
2 # HION2.py
3 
4 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
5 from AthenaConfiguration.ComponentFactory import CompFactory
6 from AthenaConfiguration.Enums import MetadataCategory
7 from AthenaCommon.CFElements import seqAND
8 from InDetConfig.InDetTrackSelectionToolConfig import InDetTrackSelectionTool_HITight_Cfg
9 
10 
13  """Configure the example skimming tool"""
14  from TrigDecisionTool.TrigDecisionToolConfig import TrigDecisionToolCfg
15  acc = ComponentAccumulator()
16 
17  ExtraData = []
18  ExtraData += ['xAOD::VertexContainer/PrimaryVertices']
19 
20  acc.addSequence( seqAND("HION2Sequence") )
21  acc.getSequence("HION2Sequence").ExtraDataForDynamicConsumers = ExtraData
22  acc.getSequence("HION2Sequence").ProcessDynamicDataDependencies = True
23 
24  #Building jet skimming triggers
25  from DerivationFrameworkHI import ListTriggers
26 
27  triggers = []
28  triggers += ListTriggers.HION2MinBias2024()
29 
30  expression = ' ( ' +' || '.join(triggers) + ' ) && (count(abs(PrimaryVertices.z)<100)>1)'
31 
32  tdt = acc.getPrimaryAndMerge(TrigDecisionToolCfg(flags))
33  acc.addPublicTool(CompFactory.DerivationFramework.xAODStringSkimmingTool(name = "HION2StringSkimmingTool",
34  expression = expression,
35  TrigDecisionTool=tdt),
36  primary = True)
37  return(acc)
38 
39 
41  """Configure the example augmentation tool"""
42  acc = ComponentAccumulator()
43 
44  from InDetConfig.InDetTrackSelectionToolConfig import InDetTrackSelectionTool_HILoose_Cfg
45 
46  TrkSelTool_hi_loose = acc.popToolsAndMerge(InDetTrackSelectionTool_HILoose_Cfg(flags,
47  name = "TrackSelectionTool_hi_loose",
48  minPt = 100))
49 
50  TrkSelTool_hi_tight = acc.popToolsAndMerge(InDetTrackSelectionTool_HITight_Cfg(flags,
51  name = "TrackSelectionTool_hi_tight",
52  minPt = 100))
53  acc.addPublicTool(TrkSelTool_hi_loose)
54  acc.addPublicTool(TrkSelTool_hi_tight)
55 
56  acc.addPublicTool(CompFactory.DerivationFramework.HITrackQualityAugmentationTool(name= "HION2AugmentationTool",
57  TrackSelectionTool_pp = TrkSelTool_hi_loose, #didnt find a tool for minbias
58  TrackSelectionTool_hi_loose =TrkSelTool_hi_loose,
59  TrackSelectionTool_hi_tight =TrkSelTool_hi_tight),
60  primary = True)
61  return(acc)
62 
63 def HION2KernelCfg(flags, name='HION2Kernel', **kwargs):
64  """Configure the derivation framework driving algorithm (kernel)"""
65  acc = ComponentAccumulator()
66 
67  skimmingTool = acc.getPrimaryAndMerge(HION2SkimmingToolCfg(flags))
68  augmentationTool = acc.getPrimaryAndMerge(HION2AugmentationToolCfg(flags))
69 
70  DerivationKernel = CompFactory.DerivationFramework.DerivationKernel
71  acc.addEventAlgo(DerivationKernel(name,
72  SkimmingTools = [skimmingTool],
73  AugmentationTools = [augmentationTool]),
74  sequenceName = "HION2Sequence")
75 
76  return acc
77 
78 def HION2Cfg(flags):
79 
80  acc = ComponentAccumulator()
81  acc.merge(HION2KernelCfg(flags, name="HION2Kernel",StreamName = "StreamDAOD_HION2"))
82 
83  from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
84  from xAODMetaDataCnv.InfileMetaDataConfig import SetupMetaDataForStreamCfg
85  from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper
86 
87 
89  from DerivationFrameworkHI import ListSlimming
90 
91  HION2SlimmingHelper = SlimmingHelper("HION2SlimmingHelper", NamesAndTypes = flags.Input.TypedCollections, flags = flags)
92 
93  AllVar = []
94  AllVar += ListSlimming.HION2AllVariablesGeneral()
95  AllVar += ListSlimming.HION2AllVariablesPbPb_2015_5TeV()
96  AllVar += ListSlimming.HION2AllVariablespPb_2016()
97 
98  ExtraVar = []
99  ExtraVar += ListSlimming.HION2ExtraVariablesGeneral()
100  ExtraVar += ListSlimming.HION2ExtraVariablesPbPb_2015_5TeV()
101 
102  HION2SlimmingHelper.AllVariables = AllVar
103  HION2SlimmingHelper.ExtraVariables = ExtraVar
104 
105  HION2ItemList = HION2SlimmingHelper.GetItemList()
106 
107  acc.merge(OutputStreamCfg(flags, "DAOD_HION2", ItemList=HION2ItemList, AcceptAlgs=["HION2Kernel"]))
108  acc.merge(SetupMetaDataForStreamCfg(flags, "DAOD_HION2", AcceptAlgs=["HION2Kernel"], createMetadata=[MetadataCategory.CutFlowMetaData]))
109 
110  return acc
python.HION2.HION2Cfg
def HION2Cfg(flags)
Definition: HION2.py:78
python.HION2.HION2KernelCfg
def HION2KernelCfg(flags, name='HION2Kernel', **kwargs)
Definition: HION2.py:63
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
python.HION2.HION2SkimmingToolCfg
def HION2SkimmingToolCfg(flags)
Skiming.
Definition: HION2.py:12
python.OutputStreamConfig.OutputStreamCfg
def OutputStreamCfg(flags, streamName, ItemList=[], MetadataItemList=[], disableEventTag=False, trigNavThinningSvc=None, takeItemsFromInput=False, extendProvenanceRecord=True, keepProvenanceTagsRegEx=None, AcceptAlgs=[], HelperTools=[])
Definition: OutputStreamConfig.py:16
python.CFElements.seqAND
def seqAND(name, subs=[])
Definition: CFElements.py:25
python.HION2.HION2AugmentationToolCfg
def HION2AugmentationToolCfg(flags)
Definition: HION2.py:40
python.InDetTrackSelectionToolConfig.InDetTrackSelectionTool_HITight_Cfg
def InDetTrackSelectionTool_HITight_Cfg(flags, name="InDetTrackSelectionTool_HITight", **kwargs)
Definition: InDetTrackSelectionToolConfig.py:73
TCS::join
std::string join(const std::vector< std::string > &v, const char c=',')
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/Root/StringUtils.cxx:10
python.TriggerInterface.TrigDecisionToolCfg
def TrigDecisionToolCfg(flags)
Definition: TriggerInterface.py:14
python.InDetTrackSelectionToolConfig.InDetTrackSelectionTool_HILoose_Cfg
def InDetTrackSelectionTool_HILoose_Cfg(flags, name="InDetTrackSelectionTool_HILoose", **kwargs)
Definition: InDetTrackSelectionToolConfig.py:68
InfileMetaDataConfig.SetupMetaDataForStreamCfg
def SetupMetaDataForStreamCfg(flags, streamName="", AcceptAlgs=None, createMetadata=None, propagateMetadataFromInput=True, *args, **kwargs)
Definition: InfileMetaDataConfig.py:222
SlimmingHelper
Definition: SlimmingHelper.py:1
python.HION12.DerivationKernel
DerivationKernel
Definition: HION12.py:66