49def TrigADComboHypoToolFromDict(flags, chainDict):
50 name = chainDict['chainName']
51 group = chainDict['groups']
52
53 log.debug("Inside AD ComboHypoToolFromDict")
54 log.debug("chainDict: %s", chainDict)
55
56 cfg_name = TrigADGetConfigValue(chainDict, "anomdet")
57 cfg = config_dict[cfg_name]
58
59 obj_cuts = object_cuts_sets[cfg["object_cuts"]]
60
61 if "adWrite" in group:
62 adScoreName = recordable("HLT_AnomDet_ComboHypo")
63 else:
64 adScoreName = ""
65
66 tool = CompFactory.TrigADComboHypoTool(
67 name,
68 max_jets = obj_cuts["max_jets"],
69 max_electrons = obj_cuts["max_electrons"],
70 max_muons = obj_cuts["max_muons"],
71 max_photons = obj_cuts["max_photons"],
72 ModelFileName = "TrigAnomalyDetectionHypo/2025-03-12/HLT_AD_v2.onnx",
73 adScoreThres = float(cfg["adScoreThres"]),
74 adScoreKey = adScoreName,
75 )
76
77 if "adMon:online" in group:
78 monTool =
GenericMonitoringTool(flags,
'MonTool', HistPath=
'TrigADComboHypoTool/'+name.replace(
"leg000_",
""))
79 monTool.defineHistogram("adScore", path='EXPERT', type='TH1F', title="HLT AD Score;;Entries", xbins=200, xmin=0, xmax=20 )
80 monFlag = True
81 tool.monTool = monTool
82 tool.monFlag = monFlag
83 else:
84 monFlag = False
85 tool.monFlag = monFlag
86
87 return tool