ATLAS Offline Software
Loading...
Searching...
No Matches
AsgPhotonBDTSelectorConfig.py
Go to the documentation of this file.
1#
2# Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3#
4from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
5from AthenaConfiguration.ComponentFactory import CompFactory
6from AthenaConfiguration.Enums import LHCPeriod
7
8
10 flags, name="PhotonSingleBDTCalculator", isConv=True, useNFs=False, **kwargs):
11 acc = ComponentAccumulator()
12
13 modelFile = "ElectronPhotonSelectorTools/offline/"
14 if flags.GeoModel.Run >= LHCPeriod.Run3:
15 modelFile += "mc23_20260310/" + (
16 "NFs/LightGBM_model_mc23ade_v23NF" if useNFs else
17 "FudgeFactors/LightGBM_model_mc23ade_v23")
18 else:
19 modelFile += "mc20_20260310/" + (
20 "NFs/LightGBM_model_mc20ade_v15NF" if useNFs else
21 "FudgeFactors/LightGBM_model_mc20ade_v15")
22 modelFile += ("_converted" if isConv else "_unconverted") + ".root"
23
24 kwargs.setdefault("ModelFile", modelFile)
25 kwargs.setdefault("BDTTreeName", "lgbm")
26
27 acc.setPrivateTools(CompFactory.PhotonIDBDT.PhotonSingleBDTCalculator(
28 name + ("Conv" if isConv else "Unconv") + ("_NFs" if useNFs else ""), **kwargs))
29 return acc
30
31
33 flags, name="AsgPhotonBDTSelector", useNFs=False, **kwargs):
34 acc = ComponentAccumulator()
35
36 kwargs.setdefault("ReapplyWPIfNoShowerShapes", False)
37
38 suffix = "_NFs" if useNFs else ""
39 kwargs.setdefault("WorkingPoint", "TightBDTPhoton_" +
40 ("Run3" if flags.GeoModel.Run >= LHCPeriod.Run3 else "Run2") +
41 suffix)
42 kwargs.setdefault("IsEMDecoration", "BDTIsEM" + suffix)
43 kwargs.setdefault("ContainerName", "Photons")
44 kwargs.setdefault("ScoreDecoration", "BDTScore" + suffix)
45
46 acc.setPrivateTools(
47 CompFactory.PhotonIDBDT.AsgPhotonBDTSelector(name + suffix, **kwargs))
48 return acc
49
50
52 flags, name="PhotonBDTCalculator", useNFs=False, **kwargs):
53 acc = ComponentAccumulator()
54
55 if "ToolConv" not in kwargs:
56 singleConv = acc.popToolsAndMerge(
57 PhotonSingleBDTCalculator_Cfg(flags, isConv=True, useNFs=useNFs))
58 acc.addPublicTool(singleConv)
59 kwargs.setdefault("ToolConv", singleConv)
60
61 if "ToolUnconv" not in kwargs:
62 singleUnconv = acc.popToolsAndMerge(
63 PhotonSingleBDTCalculator_Cfg(flags, isConv=False, useNFs=useNFs))
64 acc.addPublicTool(singleUnconv)
65 kwargs.setdefault("ToolUnconv", singleUnconv)
66
67 suffix = ("_NFs" if useNFs else "")
68 kwargs.setdefault("DecorationName", "BDTScore" + suffix)
69 kwargs.setdefault("ExcludeTRT", flags.GeoModel.Run >= LHCPeriod.Run3)
70 kwargs.setdefault("ReserveVarsConv", 12)
71 kwargs.setdefault("ReserveVarsUnconv", 12)
72
73 acc.setPrivateTools(CompFactory.PhotonIDBDT.PhotonBDTCalculator(
74 name + suffix, **kwargs))
75 return acc
PhotonSingleBDTCalculator_Cfg(flags, name="PhotonSingleBDTCalculator", isConv=True, useNFs=False, **kwargs)
PhotonBDTCalculatorCfg(flags, name="PhotonBDTCalculator", useNFs=False, **kwargs)
AsgPhotonBDTSelectorCfg(flags, name="AsgPhotonBDTSelector", useNFs=False, **kwargs)