ATLAS Offline Software
InDetSelectionConfig.py
Go to the documentation of this file.
1 #
2 # Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 #
4 
5 '''@file InDetSelectionConfig.py
6 @author M. Aparo
7 @date 02-10-2023
8 @brief CA-based python configurations for selection tools in this package
9 '''
10 
11 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
12 from AthenaConfiguration.ComponentFactory import CompFactory
13 
14 
15 def RoiSelectionToolCfg( flags, name="RoiSelectionTool", **kwargs ) :
16  '''
17  CA-based configuration for the Tool to retrieve and select RoIs
18  '''
19  acc = ComponentAccumulator()
20 
21  kwargs.setdefault( "RoiKey", flags.PhysVal.IDTPM.currentTrkAna.RoiKey )
22  kwargs.setdefault( "ChainLeg", flags.PhysVal.IDTPM.currentTrkAna.ChainLeg )
23  kwargs.setdefault( "doTagNProbe", flags.PhysVal.IDTPM.currentTrkAna.doTagNProbe )
24  kwargs.setdefault( "RoiKeyTag", flags.PhysVal.IDTPM.currentTrkAna.RoiKeyTag )
25  kwargs.setdefault( "ChainLegTag", flags.PhysVal.IDTPM.currentTrkAna.ChainLegTag )
26  kwargs.setdefault( "RoiKeyProbe", flags.PhysVal.IDTPM.currentTrkAna.RoiKeyProbe )
27  kwargs.setdefault( "ChainLegProbe", flags.PhysVal.IDTPM.currentTrkAna.ChainLegProbe )
28 
29  acc.setPrivateTools( CompFactory.IDTPM.RoiSelectionTool( name, **kwargs ) )
30  return acc
31 
32 
33 def TrackRoiSelectionToolCfg( flags, name="TrackRoiSelectionTool", **kwargs ):
34  acc = ComponentAccumulator()
35 
36  kwargs.setdefault( "TriggerTrkParticleContainerName",
37  flags.PhysVal.IDTPM.currentTrkAna.TrigTrkKey )
38 
39  acc.setPrivateTools( CompFactory.IDTPM.TrackRoiSelectionTool( name, **kwargs ) )
40  return acc
41 
42 
43 def TrackObjectSelectionToolCfg( flags, name="TrackObjectSelectionTool", **kwargs ):
44  acc = ComponentAccumulator()
45 
46  objStr = flags.PhysVal.IDTPM.currentTrkAna.SelectOfflineObject
47  kwargs.setdefault( "ObjectType", objStr )
48  kwargs.setdefault( "ObjectQuality", flags.PhysVal.IDTPM.currentTrkAna.ObjectQuality )
49 
50  if "Tau" in objStr:
51  kwargs.setdefault( "TauType", flags.PhysVal.IDTPM.currentTrkAna.TauType )
52  kwargs.setdefault( "TauNprongs", flags.PhysVal.IDTPM.currentTrkAna.TauNprongs )
53 
54  if "Truth" in objStr:
55  kwargs.setdefault( "MatchingTruthProb", flags.PhysVal.IDTPM.currentTrkAna.TruthProbMin )
56 
57  acc.setPrivateTools( CompFactory.IDTPM.TrackObjectSelectionTool( name, **kwargs ) )
58  return acc
59 
60 def OfflineQualitySelectionCfg(flags, name):
61  acc = ComponentAccumulator()
62  offlineTool = CompFactory.InDet.InDetTrackSelectionTool(CutLevel=flags.PhysVal.IDTPM.currentTrkAna.OfflineQualityWP)
63  selTool = CompFactory.IDTPM.OfflineTrackQualitySelectionTool(name, offlineTool=offlineTool)
64  acc.setPrivateTools(selTool)
65  return acc
66 
67 def TrackQualitySelectionToolCfg( flags, name="TrackQualitySelectionTool", **kwargs ):
68  acc = ComponentAccumulator()
69 
70 
71  if flags.PhysVal.IDTPM.currentTrkAna.SelectOfflineObject != "":
72  kwargs.setdefault( "DoObjectSelection", True )
73 
74  if "TrackObjectSelectionTool" not in kwargs:
75  kwargs.setdefault( "TrackObjectSelectionTool", acc.popToolsAndMerge(
77  name="TrackObjectSelectionTool" + flags.PhysVal.IDTPM.currentTrkAna.anaTag ) ) )
78 
79  if flags.PhysVal.IDTPM.currentTrkAna.OfflineQualityWP != "":
80  kwargs.setdefault("OfflineSelectionTool", acc.popToolsAndMerge(
81  OfflineQualitySelectionCfg(flags, name="OfflineSelectionTool"+flags.PhysVal.IDTPM.currentTrkAna.anaTag)))
82 
83  if flags.Input.isMC:
84  truthSelectionTool = acc.popToolsAndMerge(TruthTrackQualitySelectionToolCfg(flags))
85  kwargs.setdefault( "TruthTrackSelectionTool" , truthSelectionTool)
86  acc.setPrivateTools( CompFactory.IDTPM.TrackQualitySelectionTool( name, **kwargs ) )
87  return acc
88 
89 
90 def TruthTrackQualitySelectionToolCfg( flags, name="TruthQualitySelectionTool", **kwargs):
91  acc = ComponentAccumulator()
92 
93  from InDetPhysValMonitoring.InDetPhysValMonitoringConfig import InDetRttTruthSelectionToolCfg
94  truthSelectionTool = acc.popToolsAndMerge(InDetRttTruthSelectionToolCfg(flags))
95  kwargs.setdefault( "truthTool" , truthSelectionTool)
96  acc.setPrivateTools( CompFactory.IDTPM.TruthTrackQualitySelectionTool( name, **kwargs ) )
97  return acc
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
InDetSelectionConfig.TrackObjectSelectionToolCfg
def TrackObjectSelectionToolCfg(flags, name="TrackObjectSelectionTool", **kwargs)
Definition: InDetSelectionConfig.py:43
InDetSelectionConfig.OfflineQualitySelectionCfg
def OfflineQualitySelectionCfg(flags, name)
Definition: InDetSelectionConfig.py:60
InDetSelectionConfig.TruthTrackQualitySelectionToolCfg
def TruthTrackQualitySelectionToolCfg(flags, name="TruthQualitySelectionTool", **kwargs)
Definition: InDetSelectionConfig.py:90
InDetSelectionConfig.TrackRoiSelectionToolCfg
def TrackRoiSelectionToolCfg(flags, name="TrackRoiSelectionTool", **kwargs)
Definition: InDetSelectionConfig.py:33
InDetPhysValMonitoringConfig.InDetRttTruthSelectionToolCfg
def InDetRttTruthSelectionToolCfg(flags, name="InDetRttTruthSelectionTool", **kwargs)
Definition: InDetPhysValMonitoringConfig.py:38
InDetSelectionConfig.TrackQualitySelectionToolCfg
def TrackQualitySelectionToolCfg(flags, name="TrackQualitySelectionTool", **kwargs)
Definition: InDetSelectionConfig.py:67
InDetSelectionConfig.RoiSelectionToolCfg
def RoiSelectionToolCfg(flags, name="RoiSelectionTool", **kwargs)
Definition: InDetSelectionConfig.py:15