ATLAS Offline Software
Loading...
Searching...
No Matches
TrackingAnalysisAlgorithmsConfig.py
Go to the documentation of this file.
1# Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
2
3from AthenaConfiguration.ComponentFactory import CompFactory
4from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
5from AthenaConfiguration.Enums import LHCPeriod
6
7def InDetSecVtxTruthMatchToolCfg(flags, name="InDetSecVtxTruthMatchTool", **kwargs):
8 acc = ComponentAccumulator()
9
10 kwargs.setdefault("trackMatchProb", 0.5)
11 kwargs.setdefault("vertexMatchWeight", 0.5)
12 kwargs.setdefault("trackPtCut", 1000.0)
13 kwargs.setdefault("doSMOrigin", False)
14
15 acc.setPrivateTools(CompFactory.InDetSecVtxTruthMatchTool(**kwargs))
16 return acc
17
18def InDetSecVtxTruthMatchToolMuSaCfg(flags, name="InDetSecVtxTruthMatchTool", **kwargs):
19 kwargs.setdefault("trackMatchProb", 0.99999)
20 kwargs.setdefault("vertexMatchWeight", 0.99999) #2trk means 1 real 1 fake would pass if 0.5
21 kwargs.setdefault("doMuSA", True)
22 kwargs.setdefault("MuonContainer", "StdWithLRTMuons")
23 kwargs.setdefault("FallbackMuonContainer", "Muons")
24 return InDetSecVtxTruthMatchToolCfg(flags, name, **kwargs)
25
26def _addHistogramOutputCfg(flags, acc):
27 acc.addService(CompFactory.THistSvc(Output = [f"ANALYSIS DATAFILE='{flags.Output.HISTFileName}' OPT='RECREATE'"]))
28 acc.setAppProperty("HistogramPersistency","ROOT")
29
30def SecVertexTruthMatchAlgCfg(flags, name="SecVertexTruthMatchAlg", useLRTTracks = False, **kwargs):
31
32 acc = ComponentAccumulator()
33
34 if useLRTTracks:
35 from DerivationFrameworkInDet.InDetToolsConfig import InDetLRTMergeCfg
36 acc.merge(InDetLRTMergeCfg(flags))
37 kwargs.setdefault("TrackParticleContainer", "InDetWithLRTTrackParticles")
38
39 kwargs.setdefault("TruthVertexContainer", "TruthVertices")
40 kwargs.setdefault("SecondaryVertexContainer", "VrtSecInclusive_SecondaryVertices")
41 kwargs.setdefault("TargetPDGIDs", [511,521])
42 kwargs.setdefault("doSMOrigin", False)
43
44 kwargs.setdefault("MatchTool", acc.popToolsAndMerge(InDetSecVtxTruthMatchToolCfg(
45 flags, doSMOrigin=kwargs["doSMOrigin"])))
46
47 acc.addEventAlgo(CompFactory.CP.SecVertexTruthMatchAlg(name, **kwargs))
48 _addHistogramOutputCfg(flags, acc)
49 return acc
50
51def SecVertexTruthMatchMuSaAlgCfg(flags, name="SecVertexTruthMatchMuSaAlg", **kwargs):
52
53 acc = ComponentAccumulator()
54
55 promptMuonContainer = kwargs.pop("PromptMuonContainer", "Muons")
56 lrtMuonContainer = kwargs.pop("LRTMuonContainer", "MuonsLRT")
57 mergedMuonContainer = kwargs.pop("MergedMuonContainer", "StdWithLRTMuons")
58 fallbackMuonContainer = kwargs.pop("FallbackMuonContainer", promptMuonContainer)
59
60 kwargs.setdefault("TruthVertexContainer", "TruthVertices")
61 kwargs.setdefault("SecondaryVertexContainer", "MuSAVertices")
62 kwargs.setdefault("TrackParticleContainer", "MuonSpectrometerTrackParticles")
63 kwargs.setdefault("TargetPDGIDs", [50, 72, 31, 32, 3000001])
64 kwargs.setdefault("doMuSA", True)
65 kwargs.setdefault("doSMOrigin", False)
66
67 from DerivationFrameworkLLP.LLPToolsConfig import LRTMuonMergerAlg
68 acc.merge(LRTMuonMergerAlg(
69 flags,
70 PromptMuonLocation=promptMuonContainer,
71 LRTMuonLocation=lrtMuonContainer,
72 OutputMuonLocation=mergedMuonContainer,
73 CreateViewCollection=True,
74 UseRun3WP=(flags.GeoModel.Run == LHCPeriod.Run3)))
75
76 kwargs.setdefault("MatchTool", acc.popToolsAndMerge(InDetSecVtxTruthMatchToolMuSaCfg(
77 flags,
78 doSMOrigin=kwargs["doSMOrigin"],
79 MuonContainer=mergedMuonContainer,
80 FallbackMuonContainer=fallbackMuonContainer)))
81
82 acc.addEventAlgo(CompFactory.CP.SecVertexTruthMatchAlg(name, **kwargs))
83 _addHistogramOutputCfg(flags, acc)
84 return acc
85
86
87
InDetSecVtxTruthMatchToolMuSaCfg(flags, name="InDetSecVtxTruthMatchTool", **kwargs)
SecVertexTruthMatchMuSaAlgCfg(flags, name="SecVertexTruthMatchMuSaAlg", **kwargs)
SecVertexTruthMatchAlgCfg(flags, name="SecVertexTruthMatchAlg", useLRTTracks=False, **kwargs)
InDetSecVtxTruthMatchToolCfg(flags, name="InDetSecVtxTruthMatchTool", **kwargs)