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