ATLAS Offline Software
MuonConfig/python/MuonTruthAlgsConfig.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
2 
3 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
4 from AthenaConfiguration.ComponentFactory import CompFactory
5 
6 def MuonDetailedTrackTruthMakerCfg(flags, name="MuonDetailedTrackTruthMaker", **kwargs):
7  result = ComponentAccumulator()
8 
9  PRD_TruthNames = []
10  if flags.Detector.EnableRPC:
11  PRD_TruthNames+=["RPC_TruthMap"]
12  if flags.Detector.EnableTGC:
13  PRD_TruthNames+=["TGC_TruthMap"]
14  if flags.Detector.EnableMDT:
15  PRD_TruthNames+=["MDT_TruthMap"]
16  if flags.Detector.EnableCSC:
17  PRD_TruthNames += ["CSC_TruthMap"]
18  if flags.Detector.EnableMM:
19  PRD_TruthNames += ["MM_TruthMap"]
20  if flags.Detector.EnablesTGC:
21  PRD_TruthNames += ["STGC_TruthMap"]
22 
23  kwargs.setdefault("PRD_TruthNames", PRD_TruthNames)
24  result.addEventAlgo(CompFactory.MuonDetailedTrackTruthMaker(name, **kwargs))
25  return result
26 
27 # The following 4 configuration fragments replace the ld MuonTruthDecorationAlg config
28 def TruthMuonMakerAlgCfg(flags, name="TruthMuonMakerAlg", **kwargs):
29  result = ComponentAccumulator()
30 
31  from MCTruthClassifier.MCTruthClassifierConfig import MCTruthClassifierCfg
32  kwargs.setdefault("MCTruthClassifier", result.popToolsAndMerge(MCTruthClassifierCfg(flags)))
33 
34  result.addEventAlgo(CompFactory.Muon.TruthMuonMakerAlg(name, **kwargs))
35  return result
36 
37 def MuonTruthAddTrackRecordsAlgCfg(flags, name="MuonTruthAddTrackRecordsAlg", **kwargs):
38  result = ComponentAccumulator()
39 
40  from TrkConfig.AtlasExtrapolatorConfig import AtlasExtrapolatorCfg
41  kwargs.setdefault("Extrapolator", result.popToolsAndMerge(AtlasExtrapolatorCfg(flags)))
42 
43  trackRecords = [item for item in ["CaloEntryLayer", "MuonEntryLayer", "MuonExitLayer"] if item in flags.Input.Collections]
44  kwargs.setdefault("TrackRecordCollectionNames", trackRecords)
45 
46  result.addEventAlgo(CompFactory.Muon.TruthTrackRecordsAlg(name, **kwargs))
47  return result
48 
49 def MuonTruthHitCountsAlgCfg(flags, name="MuonTruthHitSummaryAlg", **kwargs):
50  result = ComponentAccumulator()
51 
52  PRD_TruthNames = []
53  if flags.Detector.EnableRPC:
54  PRD_TruthNames+=["RPC_TruthMap"]
55  if flags.Detector.EnableTGC:
56  PRD_TruthNames+=["TGC_TruthMap"]
57  if flags.Detector.EnableMDT:
58  PRD_TruthNames+=["MDT_TruthMap"]
59  if flags.Detector.EnableCSC:
60  PRD_TruthNames += ["CSC_TruthMap"]
61  if flags.Detector.EnableMM:
62  PRD_TruthNames += ["MM_TruthMap"]
63  if flags.Detector.EnablesTGC:
64  PRD_TruthNames += ["STGC_TruthMap"]
65 
66  kwargs.setdefault("PRD_TruthMaps", PRD_TruthNames)
67 
68  result.addEventAlgo(CompFactory.Muon.TruthHitSummaryAlg(name, **kwargs))
69  return result
70 
71 def MuonTruthSegmentCreationAlgCfg(flags, name="MuonTruthSegmentCreationAlg", **kwargs):
72  result = ComponentAccumulator()
73 
74  SDOs = ["RPC_SDO","TGC_SDO","MDT_SDO"]
75  CSCSDOs = "CSC_SDO"
76 
77  if flags.Detector.EnablesTGC and flags.Detector.EnableMM:
78  SDOs += ["MM_SDO","sTGC_SDO"]
79  if not flags.Detector.EnableCSC:
80  CSCSDOs = ""
81 
82  kwargs.setdefault("SDOs", SDOs)
83  kwargs.setdefault("CSCSDOs", CSCSDOs)
84 
85  result.addEventAlgo(CompFactory.Muon.MuonTruthSegmentCreationAlg(name, **kwargs))
86  return result
87 
88 
89 def MuonTruthAssociationAlgCfg(flags, name="MuonTruthAssociationAlg", **kwargs):
90  result = ComponentAccumulator()
91  result.addEventAlgo(CompFactory.Muon.RecoToTruthAssociationAlg(name, **kwargs))
92  return result
93 
94 def MuonSegmentTruthAssociationAlgCfg(flags, name="MuonSegmentTruthAssociationAlg", **kwargs):
95  result = ComponentAccumulator()
96  result.addEventAlgo(CompFactory.Muon.MuonSegmentTruthAssociationAlg(name, **kwargs))
97  return result
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
MuonTruthAlgsConfig.MuonDetailedTrackTruthMakerCfg
def MuonDetailedTrackTruthMakerCfg(flags, name="MuonDetailedTrackTruthMaker", **kwargs)
Definition: MuonConfig/python/MuonTruthAlgsConfig.py:6
python.AtlasExtrapolatorConfig.AtlasExtrapolatorCfg
def AtlasExtrapolatorCfg(flags, name='AtlasExtrapolator')
Definition: AtlasExtrapolatorConfig.py:63
MuonTruthAlgsConfig.MuonSegmentTruthAssociationAlgCfg
def MuonSegmentTruthAssociationAlgCfg(flags, name="MuonSegmentTruthAssociationAlg", **kwargs)
Definition: MuonConfig/python/MuonTruthAlgsConfig.py:94
MuonTruthAlgsConfig.MuonTruthSegmentCreationAlgCfg
def MuonTruthSegmentCreationAlgCfg(flags, name="MuonTruthSegmentCreationAlg", **kwargs)
Definition: MuonConfig/python/MuonTruthAlgsConfig.py:71
MCTruthClassifierConfig.MCTruthClassifierCfg
def MCTruthClassifierCfg(flags, name="MCTruthClassifier", **kwargs)
Definition: MCTruthClassifier/python/MCTruthClassifierConfig.py:12
MuonTruthAlgsConfig.MuonTruthAssociationAlgCfg
def MuonTruthAssociationAlgCfg(flags, name="MuonTruthAssociationAlg", **kwargs)
Definition: MuonConfig/python/MuonTruthAlgsConfig.py:89
MuonTruthAlgsConfig.MuonTruthHitCountsAlgCfg
def MuonTruthHitCountsAlgCfg(flags, name="MuonTruthHitSummaryAlg", **kwargs)
Definition: MuonConfig/python/MuonTruthAlgsConfig.py:49
MuonTruthAlgsConfig.MuonTruthAddTrackRecordsAlgCfg
def MuonTruthAddTrackRecordsAlgCfg(flags, name="MuonTruthAddTrackRecordsAlg", **kwargs)
Definition: MuonConfig/python/MuonTruthAlgsConfig.py:37
MuonTruthAlgsConfig.TruthMuonMakerAlgCfg
def TruthMuonMakerAlgCfg(flags, name="TruthMuonMakerAlg", **kwargs)
Definition: MuonConfig/python/MuonTruthAlgsConfig.py:28