5 '''Function to configure LVL1 Gfex simulation comparison algorithm in the monitoring system.'''
8 from AthenaConfiguration.ComponentFactory
import CompFactory
9 from TrigT1CaloMonitoring.LVL1CaloMonitoringConfig
import L1CaloMonitorCfgHelper
10 helper = L1CaloMonitorCfgHelper(flags,CompFactory.GfexSimMonitorAlgorithm,
'GfexSimMonAlg')
13 helper.defineHistogram(
'LBN,Signature;h_mismatched_SimReady',
14 fillGroup=
"mismatches",
15 paths=[
'Shifter/Sim',
'Expert/Sim'],
16 hanConfig={
"algorithm":
"Histogram_Empty",
"description":
"Number of events with a mismatch, per LB (x-axis), per signature (y-axis) for signatures that are deemed simulation-ready"},
17 type=
'TH2I', cutmask=
'SimulationReady',
18 title=
'Mismatched Simulation-Ready Events;LB;Signature;Events',
19 xbins=1,xmin=0,xmax=1,
20 ylabels=[
"gJ",
"gLJ",
"jJ",
"jTAU",
"jXE",
"jTE",
"eTAU",
"eEM"],
21 opt=[
'kAddBinsDynamically',
'kCanRebin',
'kAlwaysCreate'],merge=
'merge')
22 helper.defineHistogram(
'EventType,Signature,tobMismatched;h_simSummary',title=
'Sim-HW Mismatches (percentage);Event Type;Signature',
23 fillGroup=
"mismatches",
24 path=
'Expert/Sim/detail',
25 hanConfig={
"display":
"SetPalette(87),Draw=COLZTEXT"},
27 xlabels=[
"DataTowers",
"EmulatedTowers"],
28 ymin=0,ymax=len(L1CaloMonitorCfgHelper.SIGNATURES),ylabels=L1CaloMonitorCfgHelper.SIGNATURES,
29 opt=[
'kCanRebin',
'kAlwaysCreate'],merge=
"merge")
30 helper.defineTree(
'LBNString,Signature,LBN,EventNumber,dataEtas,dataPhis,dataWord0s,simEtas,simPhis,simWord0s;mismatched',
31 "lbnString/string:Signature/string:lbn/l:eventNumber/l:dataEtas/vector<float>:dataPhis/vector<float>:dataWord0s/vector<unsigned int>:simEtas/vector<float>:simPhis/vector<float>:simWord0s/vector<unsigned int>",
32 title=
"mismatched;LBN:EventNumber;Signature",fillGroup=
"mismatches")
34 return helper.result()