ATLAS Offline Software
Loading...
Searching...
No Matches
DiTauCommonConfig.py
Go to the documentation of this file.
1# Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
2
3from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
4from AthenaConfiguration.ComponentFactory import CompFactory
5
6# Low pT di-taus
7def AddDiTauLowPtCfg(flags, **kwargs):
8 """Configure the low-pt di-tau building"""
9
10 acc = ComponentAccumulator()
11
12 from JetRecConfig.JetRecConfig import JetRecCfg
13 from JetRecConfig.StandardLargeRJets import AntiKt10LCTopo
14 acc.merge(JetRecCfg(flags,AntiKt10LCTopo))
15
16 from DiTauRec.DiTauBuilderConfig import DiTauBuilderCfg
17 acc.merge(DiTauBuilderCfg(flags, name="DiTauLowPtBuilder", doLowPt=True))
18
19 return acc
20
21
22def AddDiTauIDDecorationCfg(flags, **kwargs):
23 """Decorate ditau ID scores """
24
25 acc = ComponentAccumulator()
26
27 import DiTauRec.DiTauToolsConfig as DiTauTools
28
29 diTauOnnxScoreCalculator = acc.popToolsAndMerge(DiTauTools.DiTauOnnxScoreCalculatorCfg(
30 flags,
31 onnxModelPath = "TrigTauRec/00-11-02/dev/boosted_ditau_omni_model.onnx",
32 ))
33
34 diTauWPDecorator = acc.popToolsAndMerge(DiTauTools.DiTauWPDecoratorCfg(
35 flags,
36 ))
37
38 kwargs.setdefault("DiTauContainerName", "DiTauJets")
39 wpDecorationKeys = diTauWPDecorator.DecorWPNames
40 decorWPCuts = diTauWPDecorator.DecorWPCuts
41 acc.addPublicTool(diTauOnnxScoreCalculator)
42 acc.addPublicTool(diTauWPDecorator)
43
44 DiTauIDDecoratorWrapper = CompFactory.DerivationFramework.DiTauIDDecoratorWrapper
45 DiTauIDDecoratorKernel = CompFactory.DerivationFramework.CommonAugmentation
46
47 DiTauIDDecoratorWrapper = DiTauIDDecoratorWrapper(name = "DiTauIDDecoratorWrapper",
48 DiTauContainerName = kwargs['DiTauContainerName'],
49 DiTauOnnxDiscriminantTool = diTauOnnxScoreCalculator,
50 DiTauWPDecorator = diTauWPDecorator,
51 WPDecorationKeys = wpDecorationKeys,
52 DecorWPCuts = decorWPCuts)
53
54 acc.addPublicTool(DiTauIDDecoratorWrapper)
55 acc.addEventAlgo(DiTauIDDecoratorKernel(name = "DiTauIDDecorKernel",
56 AugmentationTools = [DiTauIDDecoratorWrapper]))
57 return acc
58
59
60def AddDiTauChargeDecoratorCfg(flags, **kwargs):
61 """Decorate DiTau charge"""
62
63 kwargs.setdefault("DiTauContainerName", "DiTauJets")
64 kwargs.setdefault("prefix", kwargs['DiTauContainerName'])
65
66 acc = ComponentAccumulator()
67
68 DiTauChargeDecorator = CompFactory.DerivationFramework.DiTauChargeDecorator
69 DiTauChargeDecoratorKernel = CompFactory.DerivationFramework.CommonAugmentation
70
71 prefix = kwargs['prefix']
72 diTauChargeDecorator = DiTauChargeDecorator(name = f"{prefix}_DiTauChargeDecorator",
73 DiTauContainerName = kwargs['DiTauContainerName'])
74 acc.addPublicTool(diTauChargeDecorator)
75 acc.addEventAlgo(DiTauChargeDecoratorKernel(name = f"{prefix}_DiTauIDDecorKernel",
76 AugmentationTools = [diTauChargeDecorator]))
77
78 return acc
AddDiTauLowPtCfg(flags, **kwargs)
AddDiTauIDDecorationCfg(flags, **kwargs)
AddDiTauChargeDecoratorCfg(flags, **kwargs)