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