ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Reconstruction
DiTauRec
python
DiTauToolsConfig.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
SeedJetBuilderCfg
(flags, name="DiTauRec_SeedJetBuilder", jetCollection=""):
7
"""Configure the seed jet builder"""
8
acc = ComponentAccumulator()
9
acc.setPrivateTools(CompFactory.SeedJetBuilder(name,
10
JetCollection = jetCollection if jetCollection != "" else flags.DiTau.SeedJetCollection[0]))
11
return acc
12
13
14
def SubjetBuilderCfg(flags, name="DiTauRec_SubjetBuilder"):
15
"""
Configure the subjet builde
r"""
16
acc = ComponentAccumulator()
17
acc.setPrivateTools(CompFactory.SubjetBuilder(name,
18
Rsubjet = flags.DiTau.Rsubjet,
19
ptminsubjet = flags.DiTau.PtMinSubjet))
20
return acc
21
22
def TVAToolCfg(flags, name="TVATool_forDiTaus", **kwargs):
23
"""
Configure the TVA tool"""
24
acc = ComponentAccumulator()
25
26
kwargs.setdefault("TrackParticleContainer", "InDetTrackParticles")
27
kwargs.setdefault("TrackVertexAssociation", "JetTrackVtxAssoc_forDiTaus")
28
kwargs.setdefault("VertexContainer", "PrimaryVertices")
29
kwargs.setdefault("MaxTransverseDistance", 2.5) # in mm
30
kwargs.setdefault("MaxLongitudinalDistance", 2) # in mm
31
32
acc.setPrivateTools(CompFactory.TrackVertexAssociationTool(name, **kwargs))
33
return acc
34
35
def JetAlgCfg(flags, name="DiTauRec_JetAlgorithm", **kwargs): # Name changed wrt legacy config DiTauRec_TVATool
36
"""Configure the JetAlgorithm"""
37
acc = ComponentAccumulator()
38
39
tools = [acc.popToolsAndMerge(TVAToolCfg(flags))]
40
kwargs.setdefault("Tools", tools)
41
42
acc.addEventAlgo(CompFactory.JetAlgorithm(name, **kwargs))
43
return acc
44
45
# require TrackVertexAssociation to be produced by TVA tool - see above
46
def VertexFinderCfg(flags, name="DiTauRec_VertexFinder", **kwargs):
47
"""Configure the vertex finde
r"""
48
acc = ComponentAccumulator()
49
50
kwargs.setdefault("PrimVtxContainerName", "PrimaryVertices")
51
kwargs.setdefault("AssociatedTracks", "GhostTrack")
52
kwargs.setdefault("TrackVertexAssociation", "JetTrackVtxAssoc_forDiTaus")
53
kwargs.setdefault("UseTJVA", flags.Tau.doTJVA)
54
55
acc.setPrivateTools(CompFactory.VertexFinder(name, **kwargs))
56
return acc
57
58
def DiTauTrackFinderCfg(flags, name="DiTauRec_DiTauTrackFinder", **kwargs):
59
"""
Configure the di-tau track finde
r"""
60
acc = ComponentAccumulator()
61
62
kwargs.setdefault("MaxDrJet", 1.0)
63
kwargs.setdefault("MaxDrSubjet", 0.2)
64
kwargs.setdefault("MaxNTracksSubjet", -1)
65
kwargs.setdefault("TrackParticleContainer", "InDetTrackParticles")
66
67
if "TrackSelectorTool" not in kwargs:
68
from InDetConfig.InDetTrackSelectorToolConfig import TauRecInDetTrackSelectorToolCfg
69
InDetTrackSelectorTool = acc.popToolsAndMerge(TauRecInDetTrackSelectorToolCfg(flags))
70
acc.addPublicTool(InDetTrackSelectorTool)
71
kwargs.setdefault("TrackSelectorTool", InDetTrackSelectorTool)
72
73
acc.setPrivateTools(CompFactory.DiTauTrackFinder(name, **kwargs))
74
return acc
75
76
def CellFinderCfg(flags, name="DiTauRec_CellFinder"):
77
"""
Configure the cell finde
r"""
78
acc = ComponentAccumulator()
79
80
CellFinder = CompFactory.CellFinder(name,
81
Rsubjet = flags.DiTau.Rsubjet,)
82
acc.setPrivateTools(CellFinder)
83
return acc
84
85
def DiTauConstituentFinderCfg(flags, name="DiTauRec_DiTauConstituentFinder", **kwargs):
86
"""
Configure the di-tau constituent finde
r"""
87
acc = ComponentAccumulator()
88
kwargs.setdefault("Rsubjet", 0.2)
89
kwargs.setdefault("UseRawConstit", True)
90
91
acc.setPrivateTools(CompFactory.DiTauConstituentFinder(name, **kwargs))
92
return acc
93
94
def DiTauExtraVarDecoratorCfg(flags, name="DiTauRec_ExtraVarDecorator", **kwargs):
95
"""
Configure the ExtraVarDecorato
r"""
96
acc = ComponentAccumulator()
97
acc.setPrivateTools(CompFactory.DiTauExtraVarDecorator(name, **kwargs))
98
return acc
99
100
def DiTauOnnxScoreCalculatorCfg(flags, name="DiTauRec_OnnxScoreCalculator", **kwargs):
101
"""
Configure the OnnxScoreCalculato
r"""
102
acc = ComponentAccumulator()
103
kwargs.setdefault("onnxModelPath", "TrigTauRec/00-11-02/dev/boosted_ditau_omni_model.onnx")
104
kwargs.setdefault("maxTracks", 10)
105
acc.setPrivateTools(CompFactory.DiTauOnnxDiscriminantTool(name, **kwargs))
106
return acc
107
108
def DiTauWPDecoratorCfg(flags, name="DiTauRec_WPDecorator", **kwargs):
109
"""
Configure the WPDecorato
r"""
110
acc = ComponentAccumulator()
111
kwargs.setdefault("ScoreName", "omni_score")
112
kwargs.setdefault("DiTauContainerName", "DiTauJets")
113
kwargs.setdefault("DecorWPNames", ["omni_score_VL", "omni_score_L", "omni_score_M", "omni_score_T"])
114
kwargs.setdefault("DecorWPCuts", [0.99, 0.995, 0.9990, 0.9994]) #NOTE: the 0.9994 is currently used by Boosted H->tautau analysis
115
acc.setPrivateTools(CompFactory.DiTauWPDecorator(name, **kwargs))
116
return acc
117
DiTauToolsConfig.SeedJetBuilderCfg
SeedJetBuilderCfg(flags, name="DiTauRec_SeedJetBuilder", jetCollection="")
Definition
DiTauToolsConfig.py:6
Generated on
for ATLAS Offline Software by
1.17.0