ATLAS Offline Software
Loading...
Searching...
No Matches
DiTauBuilderConfig.py
Go to the documentation of this file.
1# Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
2from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
3from AthenaConfiguration.ComponentFactory import CompFactory
4from DiTauRec.DiTauToolsConfig import (
5 SeedJetBuilderCfg,
6 SubjetBuilderCfg,
7 JetAlgCfg,
8 VertexFinderCfg,
9 DiTauTrackFinderCfg,
10 CellFinderCfg,
11 DiTauConstituentFinderCfg,
12 DiTauExtraVarDecoratorCfg,
13 DiTauOnnxScoreCalculatorCfg
14)
15
16def DiTauBuilderCfg(flags, name="DiTauBuilder", doLowPt=False):
17 acc = ComponentAccumulator()
18
19 tools = [
20 acc.popToolsAndMerge(SeedJetBuilderCfg(flags)),
21 acc.popToolsAndMerge(SubjetBuilderCfg(flags))
22 ]
23
24 if flags.Tracking.doVertexFinding: # Simplified wrt old config
25 acc.merge(JetAlgCfg(flags)) # To run TVA tool for VertexFinder
26 tools.append(acc.popToolsAndMerge(VertexFinderCfg(flags)))
27
28 tools.append(acc.popToolsAndMerge(DiTauTrackFinderCfg(flags)))
29 if doLowPt:
30 tools.append(acc.popToolsAndMerge(DiTauConstituentFinderCfg(flags, UseRawConstit=True)))
31 else:
32 tools.append(acc.popToolsAndMerge(CellFinderCfg(flags)))
33
34 if flags.DiTau.doExtraVariables:
35 tools.append(acc.popToolsAndMerge(DiTauExtraVarDecoratorCfg(flags)))
36
37 if flags.DiTau.doRunDiTauDiscriminant:
38 tools.append(acc.popToolsAndMerge(DiTauOnnxScoreCalculatorCfg(flags)))
39
40 acc.addEventAlgo(CompFactory.DiTauBuilder(name,
41 DiTauContainer = flags.DiTau.DiTauContainer[1] if doLowPt else flags.DiTau.DiTauContainer[0],
42 minPt = flags.DiTau.JetSeedPt[1] if doLowPt else flags.DiTau.JetSeedPt[0],
43 Tools = tools,
44 SeedJetName = flags.DiTau.SeedJetCollection[0],
45 maxEta = flags.DiTau.MaxEta,
46 Rjet = flags.DiTau.Rjet,
47 Rsubjet = flags.DiTau.Rsubjet,
48 Rcore = flags.DiTau.Rcore))
49 return acc
50
DiTauBuilderCfg(flags, name="DiTauBuilder", doLowPt=False)