6 @file Run3AFPExampleMonitorAlgorithm.py
12 '''Function to configures some algorithms in the monitoring system.'''
13 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
17 if inputFlags.DQ.Environment
in (
'tier0Raw',):
20 from LumiBlockComps.BunchCrossingCondAlgConfig
import BunchCrossingCondAlgCfg
23 from AthenaMonitoring
import AthMonitorCfgHelper
24 helper = AthMonitorCfgHelper(inputFlags,
'Run3AFPMonitorCfg')
26 from AthenaConfiguration.ComponentFactory
import CompFactory
29 afpSiLayerAlgorithmFac = CompFactory.AFPSiLayerAlgorithm
30 afpSiLayerAlgorithm = helper.addAlgorithm(afpSiLayerAlgorithmFac,
'AFPSiLayerAlg')
33 afpToFAlgorithmFac = CompFactory.AFPToFAlgorithm
34 afpToFAlgorithm = helper.addAlgorithm(afpToFAlgorithmFac,
'AFPToFAlg')
36 afpToFSiTAlgorithmFac = CompFactory.AFPToFSiTAlgorithm
37 afpToFSiTAlgorithm = helper.addAlgorithm(afpToFSiTAlgorithmFac,
'AFPToFSiTAlg')
43 AFPSiGroup = helper.addGroup(afpSiLayerAlgorithm,
'AFPSiLayerTool',
'AFP/')
44 AFPToFGroup = helper.addGroup(afpToFAlgorithm,
'AFPToFTool',
'AFP/')
45 AFPToFSiTGroup = helper.addGroup(afpToFSiTAlgorithm,
'AFPToFSiTTool',
'AFP/')
47 xLabelsStations = [
'farAside',
'nearAside',
'nearCside',
'farCside']
48 xLabelsStationsPlanes = [
'fA3',
'fA2',
'fA1',
'fA0',
'nA3',
'nA2',
'nA1',
'nA0',
'nC0',
'nC1',
'nC2',
'nC3',
'fC0',
'fC1',
'fC2',
'fC3']
49 xLabelsForEventsPerStation = [
'fA',
'-',
'-',
'-',
'nA',
'-',
'-',
'-',
'nC',
'-',
'-',
'-',
'fC',
'-',
'-',
'-', ]
50 xLabelsHitBarVsTrain = [
'A',
'B',
'C',
'D']
51 yLabelsHitBarVsTrain = [
'0',
'1',
'2',
'3']
52 xLabelsToFEff = [
'A',
'B',
'C',
'D',
'Tr']
53 yLabelsToFEff = [
'0',
'1',
'2',
'3']
56 AFPSiGroup.defineHistogram(
'lb,nSiHits', title=
'Total number of hits divided by number of events;lumiblock;total number of hits', type=
'TProfile', path=
'SiT/', xbins=2000, xmin=0.5, xmax=2000.5)
57 AFPSiGroup.defineHistogram(
'eventsPerStation', title=
'Number of events per stations; station; events', type=
'TH1I', path=
'SiT/Aux/', xbins=16, xmin=-0.5, xmax=15.5, xlabels=xLabelsForEventsPerStation )
58 AFPSiGroup.defineHistogram(
'clustersInPlanes', title=
'Number of clusters per planes; plane; clusters', type=
'TH1I', path=
'SiT/Aux/', xbins=16, xmin=-0.5, xmax=15.5, xlabels=xLabelsStationsPlanes )
59 AFPSiGroup.defineHistogram(
'lb,muPerBX', title=
'<mu>;lumiBlock;<mu>', type=
'TProfile', path=
'SiT/', xbins=2000, xmin=0.5, xmax=2000.5)
60 AFPSiGroup.defineHistogram(
'planeHitsAll', title=
'Number of hits per plane;plane; hits', type=
'TH1I', path=
'SiT/HitsPerPlanes/', xbins=16, xmin=-0.5, xmax=15.5, xlabels=xLabelsStationsPlanes )
61 AFPSiGroup.defineHistogram(
'planeHitsAllMU', title=
'Number of hits per plane divided by <mu>;plane; hits/<mu>', type=
'TH1F', path=
'SiT/HitsPerPlanes/', xbins=16, xmin=-0.5, xmax=15.5, weight =
'weightAllPlanes', xlabels=xLabelsStationsPlanes )
62 AFPSiGroup.defineHistogram(
'numberOfHitsPerStation', title=
'Number of hits per station; station; hits', type=
'TH1I', path=
'SiT/Aux/', xbins=4, xmin=-0.5, xmax=3.5, xlabels=xLabelsStations)
63 AFPSiGroup.defineHistogram(
'lbEvents;NumberOfEventsPerLumiblock',title=
'Number of events per lumiblock; lumiblock; events', type=
'TH1I', path=
'SiT/Aux/', xbins=2000, xmin=0.5, xmax=2000.5)
64 AFPSiGroup.defineHistogram(
'lbHits;NumberOfHitsPerLumiblock',title=
'Number of hits per lumiblock; lumiblock; hits', type=
'TH1I', path=
'SiT/Aux/', xbins=2000, xmin=0.5, xmax=2000.5)
67 AFPSiGroup.defineHistogram(
'bcidAll', title=
'(All) Paired bunches - SiT; BX; entries', type=
'TH1I', path=
'SiT/BCID_Mask', xbins=4000, xmin=-0.5, xmax=3999.5)
68 AFPSiGroup.defineHistogram(
'bcidFront', title=
'(Front) Paired bunches - SiT; BX; entries', type=
'TH1I', path=
'SiT/BCID_Mask', xbins=4000, xmin=-0.5, xmax=3999.5)
69 AFPSiGroup.defineHistogram(
'bcidMiddle', title=
'(Middle) Paired bunches - SiT; BX; entries', type=
'TH1I', path=
'SiT/BCID_Mask', xbins=4000, xmin=-0.5, xmax=3999.5)
70 AFPSiGroup.defineHistogram(
'bcidEnd', title=
'(End) Paired bunches - SiT; BX; entries', type=
'TH1I', path=
'SiT/BCID_Mask', xbins=4000, xmin=-0.5, xmax=3999.5)
72 AFPSiGroup.defineHistogram(
'lbEventsStationsAll', title=
'Number of events per lumiblock for all stations;lumiblock; events', type=
'TH1I', path=
'SiT/StationEvents/', xbins=2000, xmin=0.5, xmax=2000.5)
73 AFPSiGroup.defineHistogram(
'numberOfEventsPerLumiblockFront', title=
'(Front) Number of events per lumiblock for all stations;lumiblock; events', type=
'TH1I', path=
'SiT/Aux/', xbins=2000, xmin=0.5, xmax=2000.5)
74 AFPSiGroup.defineHistogram(
'numberOfEventsPerLumiblockMiddle', title=
'(Middle) Number of events per lumiblock for all stations;lumiblock; events', type=
'TH1I', path=
'SiT/Aux/', xbins=2000, xmin=0.5, xmax=2000.5)
75 AFPSiGroup.defineHistogram(
'numberOfEventsPerLumiblockEnd', title=
'(End) Number of events per lumiblock for all stations;lumiblock; events', type=
'TH1I', path=
'SiT/Aux/', xbins=2000, xmin=0.5, xmax=2000.5)
78 AFPToFGroup.defineHistogram(
'lb,nTofHits', title=
'Multiplicity;lumiblock;total number of Hits', type=
'TProfile', path=
'ToF/', xbins=2000, xmin=0.5, xmax=2000.5)
79 AFPToFGroup.defineHistogram(
'numberOfHit_S0', title=
'Number of hit per bar station 0;bar', path=
'ToF/', xbins=4, xmin=-0.5, xmax=3.5)
80 AFPToFGroup.defineHistogram(
'numberOfHit_S3', title=
'Number of hit per bar station 3;bar', path=
'ToF/', xbins=4, xmin=-0.5, xmax=3.5)
81 AFPToFGroup.defineHistogram(
'barInTrainAllA', title=
'Number of hits in bar per stationA; barInTrain;hits',type=
'TH1I', path=
'ToF/HitsPerBarsInTrain/', xbins=16, xmin=-0.5, xmax=15.5)
82 AFPToFGroup.defineHistogram(
'barInTrainAllC', title=
'Number of hits in bar per stationC; barInTrain;hits',type=
'TH1I', path=
'ToF/HitsPerBarsInTrain/', xbins=16, xmin=-0.5, xmax=15.5)
84 AFPToFGroup.defineHistogram(
'ToFHits_sideA', title=
'ToF hits per lumiblock divided by <mu>, side A; lb; hits', path=
'ToF/StationHits', type=
'TH1F', xbins=2000, xmin=0.5, xmax=2000.5, weight =
'ToFHits_MU_Weight')
85 AFPToFGroup.defineHistogram(
'ToFHits_sideC', title=
'ToF hits per lumiblock divided by <mu>, side C; lb; hits', path=
'ToF/StationHits', type=
'TH1F', xbins=2000, xmin=0.5, xmax=2000.5, weight =
'ToFHits_MU_Weight')
86 AFPToFGroup.defineHistogram(
'lb,muPerBXToF', title=
'<mu>;lumiblock;<mu>', type=
'TProfile', path=
'ToF/', xbins=2000, xmin=0.5, xmax=2000.5)
88 AFPToFGroup.defineHistogram(
'lbAandCToFEvents', title=
'Number of events in ToF stations A and C vs lb; lumiblock; events', type=
'TH1I', path=
'ToF/Events', xbins=2000, xmin=0.5, xmax=2000.5)
89 AFPToFGroup.defineHistogram(
'lbAToFEvents', title=
'Number of events in ToF station A vs lb; lumiblock; events', type=
'TH1I', path=
'ToF/Events', xbins=2000, xmin=0.5, xmax=2000.5)
90 AFPToFGroup.defineHistogram(
'lbCToFEvents', title=
'Number of events in ToF station C vs lb; lumiblock; events', type=
'TH1I', path=
'ToF/Events', xbins=2000, xmin=0.5, xmax=2000.5)
93 AFPToFGroup.defineHistogram(
'bcidAllToF', title=
'(All) Paired bunches - ToF; BX; entries', type=
'TH1I', path=
'ToF/BCID_Mask', xbins=4000, xmin=-0.5, xmax=3999.5)
94 AFPToFGroup.defineHistogram(
'bcidFrontToF', title=
'(Front) Paired bunches - ToF; BX; entries', type=
'TH1I', path=
'ToF/BCID_Mask', xbins=4000, xmin=-0.5, xmax=3999.5)
95 AFPToFGroup.defineHistogram(
'bcidMiddleToF', title=
'(Middle) Paired bunches - ToF; BX; entries', type=
'TH1I', path=
'ToF/BCID_Mask', xbins=4000, xmin=-0.5, xmax=3999.5)
96 AFPToFGroup.defineHistogram(
'bcidEndToF', title=
'(End) Paired bunches - ToF; BX; entries', type=
'TH1I', path=
'ToF/BCID_Mask', xbins=4000, xmin=-0.5, xmax=3999.5)
99 AFPToFGroup.defineHistogram(
'lbAToF_T0', title=
'Number of hits per train (side A, train0) divided by <mu>; lb; hits/<mu>', type=
'TH1F', path=
'ToF/ToFHitsVsLb/sideA/All/', xbins=2000, xmin=-0.5, xmax=1999.5, weight=
'lbAToF_TAll_Weight')
100 AFPToFGroup.defineHistogram(
'lbAToF_T1', title=
'Number of hits per train (side A, train1) divided by <mu>; lb; hits/<mu>', type=
'TH1F', path=
'ToF/ToFHitsVsLb/sideA/All/', xbins=2000, xmin=-0.5, xmax=1999.5, weight=
'lbAToF_TAll_Weight')
101 AFPToFGroup.defineHistogram(
'lbAToF_T2', title=
'Number of hits per train (side A, train2) divided by <mu>; lb; hits/<mu>', type=
'TH1F', path=
'ToF/ToFHitsVsLb/sideA/All/', xbins=2000, xmin=-0.5, xmax=1999.5, weight=
'lbAToF_TAll_Weight')
102 AFPToFGroup.defineHistogram(
'lbAToF_T3', title=
'Number of hits per train (side A, train3) divided by <mu>; lb; hits/<mu>', type=
'TH1F', path=
'ToF/ToFHitsVsLb/sideA/All/', xbins=2000, xmin=-0.5, xmax=1999.5, weight=
'lbAToF_TAll_Weight')
105 AFPToFGroup.defineHistogram(
'lbAToF_T0_Front', title=
'(Front) Number of hits per train (side A, train0) divided by <mu>; lb; hits/<mu>', type=
'TH1F', path=
'ToF/ToFHitsVsLb/sideA/Front/', xbins=2000, xmin=-0.5, xmax=1999.5, weight=
'lbAToF_TFront_Weight')
106 AFPToFGroup.defineHistogram(
'lbAToF_T1_Front', title=
'(Front) Number of hits per train (side A, train1) divided by <mu>; lb; hits/<mu>', type=
'TH1F', path=
'ToF/ToFHitsVsLb/sideA/Front/', xbins=2000, xmin=-0.5, xmax=1999.5, weight=
'lbAToF_TFront_Weight')
107 AFPToFGroup.defineHistogram(
'lbAToF_T2_Front', title=
'(Front) Number of hits per train (side A, train2) divided by <mu>; lb; hits/<mu>', type=
'TH1F', path=
'ToF/ToFHitsVsLb/sideA/Front/', xbins=2000, xmin=-0.5, xmax=1999.5, weight=
'lbAToF_TFront_Weight')
108 AFPToFGroup.defineHistogram(
'lbAToF_T3_Front', title=
'(Front) Number of hits per train (side A, train3) divided by <mu>; lb; hits/<mu>', type=
'TH1F', path=
'ToF/ToFHitsVsLb/sideA/Front/', xbins=2000, xmin=-0.5, xmax=1999.5, weight=
'lbAToF_TFront_Weight')
111 AFPToFGroup.defineHistogram(
'lbAToF_T0_Middle', title=
'(Middle) Number of hits per train (side A, train0) divided by <mu>; lb; hits/<mu>', type=
'TH1F', path=
'ToF/ToFHitsVsLb/sideA/Middle/', xbins=2000, xmin=-0.5, xmax=1999.5, weight=
'lbAToF_TMiddle_Weight')
112 AFPToFGroup.defineHistogram(
'lbAToF_T1_Middle', title=
'(Middle) Number of hits per train (side A, train1) divided by <mu>; lb; hits/<mu>', type=
'TH1F', path=
'ToF/ToFHitsVsLb/sideA/Middle/', xbins=2000, xmin=-0.5, xmax=1999.5, weight=
'lbAToF_TMiddle_Weight')
113 AFPToFGroup.defineHistogram(
'lbAToF_T2_Middle', title=
'(Middle) Number of hits per train (side A, train2) divided by <mu>; lb; hits/<mu>', type=
'TH1F', path=
'ToF/ToFHitsVsLb/sideA/Middle/', xbins=2000, xmin=-0.5, xmax=1999.5, weight=
'lbAToF_TMiddle_Weight')
114 AFPToFGroup.defineHistogram(
'lbAToF_T3_Middle', title=
'(Middle) Number of hits per train (side A, train3) divided by <mu>; lb; hits/<mu>', type=
'TH1F', path=
'ToF/ToFHitsVsLb/sideA/Middle/', xbins=2000, xmin=-0.5, xmax=1999.5, weight=
'lbAToF_TMiddle_Weight')
117 AFPToFGroup.defineHistogram(
'lbAToF_T0_End', title=
'(End) Number of hits per train (side A, train0) divided by <mu>; lb; hits/<mu>', type=
'TH1F', path=
'ToF/ToFHitsVsLb/sideA/End/', xbins=2000, xmin=-0.5, xmax=1999.5, weight=
'lbAToF_TEnd_Weight')
118 AFPToFGroup.defineHistogram(
'lbAToF_T1_End', title=
'(End) Number of hits per train (side A, train1) divided by <mu>; lb; hits/<mu>', type=
'TH1F', path=
'ToF/ToFHitsVsLb/sideA/End/', xbins=2000, xmin=-0.5, xmax=1999.5, weight=
'lbAToF_TEnd_Weight')
119 AFPToFGroup.defineHistogram(
'lbAToF_T2_End', title=
'(End) Number of hits per train (side A, train2) divided by <mu>; lb; hits/<mu>', type=
'TH1F', path=
'ToF/ToFHitsVsLb/sideA/End/', xbins=2000, xmin=-0.5, xmax=1999.5, weight=
'lbAToF_TEnd_Weight')
120 AFPToFGroup.defineHistogram(
'lbAToF_T3_End', title=
'(End) Number of hits per train (side A, train3) divided by <mu>; lb; hits/<mu>', type=
'TH1F', path=
'ToF/ToFHitsVsLb/sideA/End/', xbins=2000, xmin=-0.5, xmax=1999.5, weight=
'lbAToF_TEnd_Weight')
124 AFPToFGroup.defineHistogram(
'lbCToF_T0', title=
'Number of hits per train (side C, train0) divided by <mu>; lb; hits/<mu>', type=
'TH1F', path=
'ToF/ToFHitsVsLb/sideC/All/', xbins=2000, xmin=-0.5, xmax=1999.5, weight=
'lbCToF_TAll_Weight')
125 AFPToFGroup.defineHistogram(
'lbCToF_T1', title=
'Number of hits per train (side C, train1) divided by <mu>; lb; hits/<mu>', type=
'TH1F', path=
'ToF/ToFHitsVsLb/sideC/All/', xbins=2000, xmin=-0.5, xmax=1999.5, weight=
'lbCToF_TAll_Weight')
126 AFPToFGroup.defineHistogram(
'lbCToF_T2', title=
'Number of hits per train (side C, train2) divided by <mu>; lb; hits/<mu>', type=
'TH1F', path=
'ToF/ToFHitsVsLb/sideC/All/', xbins=2000, xmin=-0.5, xmax=1999.5, weight=
'lbCToF_TAll_Weight')
127 AFPToFGroup.defineHistogram(
'lbCToF_T3', title=
'Number of hits per train (side C, train3) divided by <mu>; lb; hits/<mu>', type=
'TH1F', path=
'ToF/ToFHitsVsLb/sideC/All/', xbins=2000, xmin=-0.5, xmax=1999.5, weight=
'lbCToF_TAll_Weight')
130 AFPToFGroup.defineHistogram(
'lbCToF_T0_Front', title=
'(Front) Number of hits per train (side C, train0) divided by <mu>; lb; hits/<mu>', type=
'TH1F', path=
'ToF/ToFHitsVsLb/sideC/Front/', xbins=2000, xmin=-0.5, xmax=1999.5, weight=
'lbCToF_TFront_Weight')
131 AFPToFGroup.defineHistogram(
'lbCToF_T1_Front', title=
'(Front) Number of hits per train (side C, train1) divided by <mu>; lb; hits/<mu>', type=
'TH1F', path=
'ToF/ToFHitsVsLb/sideC/Front/', xbins=2000, xmin=-0.5, xmax=1999.5, weight=
'lbCToF_TFront_Weight')
132 AFPToFGroup.defineHistogram(
'lbCToF_T2_Front', title=
'(Front) Number of hits per train (side C, train2) divided by <mu>; lb; hits/<mu>', type=
'TH1F', path=
'ToF/ToFHitsVsLb/sideC/Front/', xbins=2000, xmin=-0.5, xmax=1999.5, weight=
'lbCToF_TFront_Weight')
133 AFPToFGroup.defineHistogram(
'lbCToF_T3_Front', title=
'(Front) Number of hits per train (side C, train3) divided by <mu>; lb; hits/<mu>', type=
'TH1F', path=
'ToF/ToFHitsVsLb/sideC/Front/', xbins=2000, xmin=-0.5, xmax=1999.5, weight=
'lbCToF_TFront_Weight')
136 AFPToFGroup.defineHistogram(
'lbCToF_T0_Middle', title=
'(Middle) Number of hits per train (side C, train0) divided by <mu>; lb; hits/<mu>', type=
'TH1F', path=
'ToF/ToFHitsVsLb/sideC/Middle/', xbins=2000, xmin=-0.5, xmax=1999.5, weight=
'lbCToF_TMiddle_Weight')
137 AFPToFGroup.defineHistogram(
'lbCToF_T1_Middle', title=
'(Middle) Number of hits per train (side C, train1) divided by <mu>; lb; hits/<mu>', type=
'TH1F', path=
'ToF/ToFHitsVsLb/sideC/Middle/', xbins=2000, xmin=-0.5, xmax=1999.5, weight=
'lbCToF_TMiddle_Weight')
138 AFPToFGroup.defineHistogram(
'lbCToF_T2_Middle', title=
'(Middle) Number of hits per train (side C, train2) divided by <mu>; lb; hits/<mu>', type=
'TH1F', path=
'ToF/ToFHitsVsLb/sideC/Middle/', xbins=2000, xmin=-0.5, xmax=1999.5, weight=
'lbCToF_TMiddle_Weight')
139 AFPToFGroup.defineHistogram(
'lbCToF_T3_Middle', title=
'(Middle) Number of hits per train (side C, train3) divided by <mu>; lb; hits/<mu>', type=
'TH1F', path=
'ToF/ToFHitsVsLb/sideC/Middle/', xbins=2000, xmin=-0.5, xmax=1999.5, weight=
'lbCToF_TMiddle_Weight')
142 AFPToFGroup.defineHistogram(
'lbCToF_T0_End', title=
'(End) Number of hits per train (side C, train0) divided by <mu>; lb; hits/<mu>', type=
'TH1F', path=
'ToF/ToFHitsVsLb/sideC/End/', xbins=2000, xmin=-0.5, xmax=1999.5, weight=
'lbCToF_TEnd_Weight')
143 AFPToFGroup.defineHistogram(
'lbCToF_T1_End', title=
'(End) Number of hits per train (side C, train1) divided by <mu>; lb; hits/<mu>', type=
'TH1F', path=
'ToF/ToFHitsVsLb/sideC/End/', xbins=2000, xmin=-0.5, xmax=1999.5, weight=
'lbCToF_TEnd_Weight')
144 AFPToFGroup.defineHistogram(
'lbCToF_T2_End', title=
'(End) Number of hits per train (side C, train2) divided by <mu>; lb; hits/<mu>', type=
'TH1F', path=
'ToF/ToFHitsVsLb/sideC/End/', xbins=2000, xmin=-0.5, xmax=1999.5, weight=
'lbCToF_TEnd_Weight')
145 AFPToFGroup.defineHistogram(
'lbCToF_T3_End', title=
'(End) Number of hits per train (side C, train3) divided by <mu>; lb; hits/<mu>', type=
'TH1F', path=
'ToF/ToFHitsVsLb/sideC/End/', xbins=2000, xmin=-0.5, xmax=1999.5, weight=
'lbCToF_TEnd_Weight')
147 AFPToFSiTGroup.defineHistogram(
'lqBar_tight_A,fsp0_rows_tight_A;ToFSiTCorrTightXA', title=
'LQBar vs FSP0 X dim with FSP2 Side A;Train;FSP0 x-pix [50 um]', type=
'TH2I', path=
'ToFSiTCorr/', xbins=20, xmin=-1, xmax=4, ybins=34, ymin=-0.05, ymax=335.5)
148 AFPToFSiTGroup.defineHistogram(
'lqBar_tight_C,fsp0_rows_tight_C;ToFSiTCorrTightXC', title=
'LQBar vs FSP0 X dim with FSP2 Side C;Train;FSP0 x-pix [50 um]', type=
'TH2I', path=
'ToFSiTCorr/', xbins=20, xmin=-1, xmax=4, ybins=34, ymin=-0.05, ymax=335.5)
149 AFPToFSiTGroup.defineHistogram(
'lqBar_tight_A,fsp0_columns_tight_A;ToFSiTCorrTightYA', title=
'LQBar vs FSP0 columns with FSP2 hit Side A;Train;FSP0 y-pix [250 um]', type=
'TH2I', path=
'ToFSiTCorr/', xbins=20, xmin=-1, xmax=4, ybins=80, ymin=-0.5, ymax=79.5)
150 AFPToFSiTGroup.defineHistogram(
'lqBar_tight_C,fsp0_columns_tight_C;ToFSiTCorrTightYC', title=
'LQBar vs FSP0 columns with FSP2 hit Side C;Train;FSP0 y-pix [250 um]', type=
'TH2I', path=
'ToFSiTCorr/', xbins=20, xmin=-1, xmax=4, ybins=80, ymin=-0.5, ymax=79.5)
152 AFPToFSiTGroup.defineHistogram(
'trainHits_A,fsp0_rows_tight_A;ToFSiTCorrTrainHitsXA', title=
'# hits in train vs FSP0 X dim with FSP2 Side A;Train hits (train+numHits/5);FSP0 x-pix [50 um]', type=
'TH2I', path=
'ToFSiTCorr/', xbins=25, xmin=-1, xmax=4, ybins=34, ymin=-0.05, ymax=335.5)
153 AFPToFSiTGroup.defineHistogram(
'trainHits_C,fsp0_rows_tight_C;ToFSiTCorrTrainHitsXC', title=
'# hits in train vs FSP0 X dim with FSP2 Side C;Train hits (train+numHits/5);FSP0 x-pix [50 um]', type=
'TH2I', path=
'ToFSiTCorr/', xbins=25, xmin=-1, xmax=4, ybins=34, ymin=-0.05, ymax=335.5)
154 AFPToFSiTGroup.defineHistogram(
'trainHits_A,fsp0_columns_tight_A;ToFSiTCorrTrainHitsYA', title=
'# hits in train vs FSP0 columns with FSP2 hit Side A;Train hits (train+numHits/5);FSP0 y-pix [250 um]', type=
'TH2I', path=
'ToFSiTCorr/', xbins=25, xmin=-1, xmax=4, ybins=80, ymin=-0.5, ymax=79.5)
155 AFPToFSiTGroup.defineHistogram(
'trainHits_C,fsp0_columns_tight_C;ToFSiTCorrTrainHitsYC', title=
'# hits in train vs FSP0 columns with FSP2 hit Side C;Train hits (train+numHits/5);FSP0 y-pix [250 um]', type=
'TH2I', path=
'ToFSiTCorr/', xbins=25, xmin=-1, xmax=4, ybins=80, ymin=-0.5, ymax=79.5)
157 AFPToFSiTGroup.defineHistogram(
'tofHits_A,fsp0Hits_A;ToFSiTNumHitsA', title=
'TOF vs FSP0 num. hits Side A;#Hit bars;FSP0 multiplicity', type=
'TH2F', path=
'ToFSiTCorr/', xbins=17, xmin=0, xmax=16, ybins=150, ymin=-0.5, ymax=149.5)
158 AFPToFSiTGroup.defineHistogram(
'tofHits_C,fsp0Hits_C;ToFSiTNumHitsC', title=
'TOF vs FSP0 num. hits Side C;#Hit bars;FSP0 multiplicity', type=
'TH2F', path=
'ToFSiTCorr/', xbins=17, xmin=0, xmax=16, ybins=150, ymin=-0.5, ymax=149.5)
160 AFPToFSiTGroup.defineHistogram(
'tof_eff_OFF_passed_A, tof_eff_OFF_bars_A, tof_eff_OFF_trains_A ;Efficiency_A', title=
'Efficiency ToF Side A;Bar;Train;Efficiency', type=
'TEfficiency', path=
'ToFSiT/Efficiency/', xbins=5, xmin=0, xmax=5, ybins=4, ymin=0, ymax=4, xlabels=xLabelsToFEff, ylabels=yLabelsToFEff)
161 AFPToFSiTGroup.defineHistogram(
'tof_eff_OFF_passed_C, tof_eff_OFF_bars_C, tof_eff_OFF_trains_C ;Efficiency_C', title=
'Efficiency ToF Side C;Bar;Train;Efficiency', type=
'TEfficiency', path=
'ToFSiT/Efficiency/', xbins=5, xmin=0, xmax=5, ybins=4, ymin=0, ymax=4, xlabels=xLabelsToFEff, ylabels=yLabelsToFEff)
163 AFPToFSiTGroup.defineHistogram(
'lqBar_A,fs_rows_full_A;ToFSiTCorr_FullXA', title=
'LQBar vs FS rows Full Side A;Train;FSP x-pix [50 um]', type=
'TH2F', path=
'ToFSiTCorr/', xbins=20, xmin=-1, xmax=4, ybins=346, ymin=-10.5, ymax=335.5)
164 AFPToFSiTGroup.defineHistogram(
'lqBar_C,fs_rows_full_C;ToFSiTCorr_FullXC', title=
'LQBar vs FS rows Full Side C;Train;FSP x-pix [50 um]', type=
'TH2F', path=
'ToFSiTCorr/', xbins=20, xmin=-1, xmax=4, ybins=346, ymin=-10.5, ymax=335.5)
166 planeList = [
'P0',
'P1',
'P2',
'P3']
167 array_corr = helper.addArray([planeList], afpToFSiTAlgorithm,
'AFPToFSiTTool', topPath=
'AFP/ToFSiTCorr/')
168 array_corr.defineHistogram(
'lqBar_A,fs_rows_A;ToFSiTCorrXA_{0}', type=
'TH2F', title=
'LQBar vs FS{0} rows Side A;Train;FS{0} x-pix [50 um]', xbins=20, xmin=-1, xmax=4, ybins=346, ymin=-10.5, ymax=335.5)
169 array_corr.defineHistogram(
'lqBar_C,fs_rows_C;ToFSiTCorrXC_{0}', type=
'TH2F', title=
'LQBar vs FS{0} rows Side C;Train;FS{0} x-pix [50 um]', xbins=20, xmin=-1, xmax=4, ybins=346, ymin=-10.5, ymax=335.5)
170 array_corr.defineHistogram(
'lqBar_A,fs_columns_A;ToFSiTCorrYA_{0}', type=
'TH2F', title=
'LQBar vs FS{0} columns Side A;Train;FS{0} y-pix [250 um]', xbins=20, xmin=-1, xmax=4, ybins=85, ymin=-5.5, ymax=79.5)
171 array_corr.defineHistogram(
'lqBar_C,fs_columns_C;ToFSiTCorrYC_{0}', type=
'TH2F', title=
'LQBar vs FS{0} columns Side C;Train;FS{0} y-pix [250 um]', xbins=20, xmin=-1, xmax=4, ybins=85, ymin=-5.5, ymax=79.5)
175 layerList = [
'P0',
'P1',
'P2',
'P3']
176 stationList = [
'farAside',
'nearAside',
'nearCside',
'farCside']
177 trainList = [
'train0',
'train1',
'train2',
'train3']
179 array = helper.addArray([stationList,layerList], afpSiLayerAlgorithm,
'AFPSiLayerTool', topPath =
'AFP/SiT/')
181 array.defineHistogram(
'pixelColIDChip', title=
'Hits per column for station {0}, layer {1};ColID; entries', path=
'PixelColIDChip/{0}', xbins=80, xmin=0.5, xmax=80.5)
182 array.defineHistogram(
'pixelRowIDChip', title=
'Hits per row for station {0}, layer {1};RowID; entries', path=
'PixelRowIDChip/{0}', xbins=336, xmin=0.5, xmax=336.5)
183 array.defineHistogram(
'pixelRowIDChip,pixelColIDChip', title=
'Hitmap for station {0}, layer {1};RowID;ColID', type=
'TH2I', path=
'pixelColRow2D/{0}', xbins=336, xmin=0.5, xmax=336.5, ybins=80, ymin=0.5, ymax=80.5)
184 array.defineHistogram(
'timeOverThreshold', type=
'TH1I', title=
'Time over threshold for station {0}, layer {1};timeOverThreshold; entries', path=
'SiTimeOverThreshold/{0}', xbins=16, xmin=0.5, xmax=16.5)
186 array.defineHistogram(
'clusterY,clusterX', title=
'Cluster position in station {0} Layer {1};x [mm];y [mm]', type=
'TH2F', path=
'Cluster/{0}', xbins=336, xmin=0.0, xmax=17.0, ybins=80, ymin=0.0, ymax=20.0)
187 array.defineHistogram(
'lb,clustersPerPlane', title=
'Number of clusters per event divided by <mu> in station {0}, layer {1};lumiblock; clusters per event / <mu>', type=
'TH2F', path=
'clustersPerPlane/{0}', xbins=2000, xmin=0.5, xmax=2000.5, ybins=1000, ymin=-0.2, ymax=1.0)
188 array.defineHistogram(
'lb,clustersPerPlaneFront', title=
'(Front BCID) Number of clusters per event divided by <mu> in station {0}, layer {1};lumiblock; clusters per event / <mu>', type=
'TH2F', path=
'clustersPerPlaneFront/{0}', xbins=2000, xmin=0.5, xmax=2000.5, ybins=1000, ymin=-0.2, ymax=1.0)
189 array.defineHistogram(
'lb,clustersPerPlaneEnd', title=
'(End BCID) Number of clusters per event divided by <mu> in station {0}, layer {1};lumiblock; clusters per event / <mu>', type=
'TH2F', path=
'clustersPerPlaneEnd/{0}', xbins=2000, xmin=0.5, xmax=2000.5, ybins=1000, ymin=-0.2, ymax=1.0)
190 array.defineHistogram(
'lb,clustersPerPlaneMiddle', title=
'(Middle BCID) Number of clusters per event divided by <mu> in station {0}, layer {1};lumiblock; clusters per event / <mu>', type=
'TH2F', path=
'clustersPerPlaneMiddle/{0}', xbins=2000, xmin=0.5, xmax=2000.5, ybins=1000, ymin=-0.2, ymax=1.0)
192 array.defineHistogram(
'lb,hitsCounterPlanesTProfile', title=
'Number of hits divided by number of events per lumiblock, station {0} plane {1};lumiblock; hits/events', type=
'TProfile', path=
'HitsCounterPlanes/', xbins=2000, xmin=0.5, xmax=2000.5)
194 array.defineHistogram(
'lbClustersPerPlanes', title=
'(All) Number of clusters in station {0}, plane {1} per lumiblock divided by <mu>;lumiblock;clusters/<mu> per event', type=
'TH1F', path=
'ClustersPerPlanesPP/', xbins=2000, xmin=0.5, xmax=2000.5, weight =
'weightClustersByMU')
195 array.defineHistogram(
'clustersPerPlaneFrontPP', title=
'(Front) Number of clusters in station {0}, plane {1} per lumiblock divided by <mu>;lumiblock; clusters/<mu> per event', type=
'TH1F', path=
'ClustersPerPlanesPP/Front/', xbins=2000, xmin=0.5, xmax=2000.5, weight =
'weightClustersPerPlaneFrontPP')
196 array.defineHistogram(
'clustersPerPlaneMiddlePP', title=
'(Middle) Number of clusters in station {0}, plane {1} per lumiblock divided by <mu>; lumiblock;clusters/<mu> per event', type=
'TH1F', path=
'ClustersPerPlanesPP/Middle/', xbins=2000, xmin=0.5, xmax=2000.5, weight =
'weightClustersPerPlaneMiddlePP')
197 array.defineHistogram(
'clustersPerPlaneEndPP', title=
'(End) Number of clusters in station {0}, plane {1} per lumiblock divided by <mu>; lumiblock;clusters/<mu> per event', type=
'TH1F', path=
'ClustersPerPlanesPP/End/', xbins=2000, xmin=0.5, xmax=2000.5, weight =
'weightClustersPerPlaneEndPP')
199 array.defineHistogram(
'lbClustersPerPlanes_full', title=
'(All) Number of clusters in station {0}, plane {1} per lumiblock;lumiblock;clusters', type=
'TH1I', path=
'ClustersPerPlanesPP_full/', xbins=2000, xmin=0.5, xmax=2000.5)
204 array.defineHistogram(
'lbHitsPerPlanes', title=
'Number of hits in station {0}, plane {1} per lumiblock divided by <mu>;lumiblock; hits/<mu> per event', type=
'TH1F', path=
'HitsPerPlanesVsLb/', xbins=2000, xmin=0.5, xmax=2000.5, weight =
'weightHitsByMU')
205 array.defineHistogram(
'lbHitsPerPlanes_full', title=
'Number of hits in station {0}, plane {1} per lumiblock;lumiblock; hits per event', type=
'TH1F', path=
'HitsPerPlanesVsLb_full/', xbins=2000, xmin=0.5, xmax=2000.5)
207 array.defineHistogram(
'clusterToT', title=
'Sum of all hits\' ToT in each cluster, station {0}, layer {1};Cluster ToT; Counts', type=
'TH1I', path=
'ClusterToT/', xbins=18, xmin=0.5, xmax=18.5)
210 array = helper.addArray([stationList], afpSiLayerAlgorithm,
'AFPSiLayerTool', topPath=
'AFP/SiT/')
212 array.defineHistogram(
'planeHits', type=
'TH1I', title=
'Number of hits per plane, station {0};plane; hits', path=
'HitsPerPlanes', xbins=4, xmin=-0.5, xmax=3.5)
213 array.defineHistogram(
'trackY,trackX', title=
'Number of tracks in AFP station {0};x [mm];y [mm]', type=
'TH2F', path=
'Track', xbins=336, xmin=0.0, xmax=17.0, ybins=80, ymin=0.0, ymax=20.0)
214 array.defineHistogram(
'lb,clustersPerStation', title =
'Number of clusters per event divided by <mu> in station {0};lumiblock; clustersPerStation', type=
'TH2F', path=
'clustersPerStation', xbins=2000, xmin=0.5, xmax=2000.5, ybins=1000, ymin=-0.2, ymax=1.0)
215 array.defineHistogram(
'lb,clustersPerStationFront', title =
'(Front) Number of clusters per event divided by <mu> in station {0};lumiblock; clustersPerStation', type=
'TH2F', path=
'clustersPerStation', xbins=2000, xmin=0.5, xmax=2000.5, ybins=1000, ymin=-0.2, ymax=1.0)
216 array.defineHistogram(
'lb,clustersPerStationEnd', title =
'(End) Number of clusters per event divided by <mu> in station {0};lumiblock; clustersPerStation', type=
'TH2F', path=
'clustersPerStation', xbins=2000, xmin=0.5, xmax=2000.5, ybins=1000, ymin=-0.2, ymax=1.0)
217 array.defineHistogram(
'lb,clustersPerStationMiddle', title =
'(Middle) Number of clusters per event divided by <mu> in station {0};lumiblock; clustersPerStation', type=
'TH2F', path=
'clustersPerStation', xbins=2000, xmin=0.5, xmax=2000.5, ybins=1000, ymin=-0.2, ymax=1.0)
219 array.defineHistogram(
'lb,hitsCounterStationsTProfile', title=
'Number of hits divided by number of events per lumiblock, station {0};lumiblock; hits/events', type=
'TProfile', path=
'HitsCounterPlanes/', xbins=2000, xmin=0.5, xmax=2000.5)
220 array.defineHistogram(
'lbEventsStations', title=
'Number of events per lumiblock, station {0};lumiblock; events', type=
'TH1I', path=
'StationEvents/', xbins=2000, xmin=0.5, xmax=2000.5)
222 array.defineHistogram(
'lbTracksAll', title =
'(All) Tracks vs lumiblock divided by <mu>, station {0};lumiblock;tracks/<mu> per event', type=
'TH1F', path=
'TracksVsLb', xbins=2000, xmin=0.5, xmax=2000.5, weight =
'weightTracksAll')
223 array.defineHistogram(
'lbTracksFront', title =
'(Front) Tracks vs lumiblock divided by <mu>, station {0}; lumiblock;tracks/<mu> per event', type=
'TH1F', path=
'TracksVsLb/Front', xbins=2000, xmin=0.5, xmax=2000.5, weight =
'weightTracksFront')
224 array.defineHistogram(
'lbTracksMiddle', title =
'(Middle) Tracks vs lumiblock divided by <mu>, station {0}; lumiblock;tracks/<mu> per event', type=
'TH1F', path=
'TracksVsLb/Middle', xbins=2000, xmin=0.5, xmax=2000.5, weight =
'weightTracksMiddle')
225 array.defineHistogram(
'lbTracksEnd', title =
'(End) Tracks vs lumiblock divided by <mu>, station {0}; lumiblock;tracks/<mu> per event', type=
'TH1F', path=
'TracksVsLb/End', xbins=2000, xmin=0.5, xmax=2000.5, weight =
'weightTracksEnd')
227 array.defineHistogram(
'lbTracksAll_full', title =
'(All) Tracks vs lumiblock, station {0};lumiblock;tracks', type=
'TH1I', path=
'TracksVsLb_full', xbins=2000, xmin=0.5, xmax=2000.5, weight =
'weightTracksAll_full')
228 array.defineHistogram(
'lbTracksFront_full', title =
'(Front) Tracks vs lumiblock, station {0}; lumiblock;tracks', type=
'TH1I', path=
'TracksVsLb_full/Front', xbins=2000, xmin=0.5, xmax=2000.5, weight =
'weightTracksFront_full')
229 array.defineHistogram(
'lbTracksMiddle_full', title =
'(Middle) Tracks vs lumiblock, station {0}; lumiblock;tracks', type=
'TH1I', path=
'TracksVsLb_full/Middle', xbins=2000, xmin=0.5, xmax=2000.5, weight =
'weightTracksMiddle_full')
230 array.defineHistogram(
'lbTracksEnd_full', title =
'(End) Tracks vs lumiblock, station {0}; lumiblock;tracks', type=
'TH1I', path=
'TracksVsLb_full/End', xbins=2000, xmin=0.5, xmax=2000.5, weight =
'weightTracksEnd_full')
233 arrayToF = helper.addArray([stationList], afpToFAlgorithm,
'AFPToFTool', topPath=
'AFP/ToF/')
235 arrayToF.defineHistogram(
'barInTrainID,trainID', title=
'ToF hit bar vs train {0};barInTrainID;trainID', type=
'TH2I', path=
'HitBarvsTrain/',xbins=4,xmin=-0.5,xmax=3.5,ybins=4,ymin=-0.5,ymax=3.5, xlabels = xLabelsHitBarVsTrain, ylabels = yLabelsHitBarVsTrain)
236 arrayToF = helper.addArray([trainList], afpToFAlgorithm,
'AFPToFTool', topPath=
'AFP/ToF/')
237 arrayToF.defineHistogram(
'barInTrainIDA', title=
'Total hits per bars in {}; barID; hits', type=
'TH1I', path=
'HitsPerBarsInTrain/farAside', xbins=4,xmin=-0.5,xmax=3.5)
238 arrayToF.defineHistogram(
'barInTrainIDC', title=
'Total hits per bars in {}; barID; hits', type=
'TH1I', path=
'HitsPerBarsInTrain/farCside', xbins=4,xmin=-0.5,xmax=3.5)
240 trainIDListToF = [
'T0',
'T1',
'T2',
'T3']
241 barInTrainIDListToF = [
'A',
'B',
'C',
'D']
242 arrayToF = helper.addArray([trainIDListToF, barInTrainIDListToF], afpToFAlgorithm,
'AFPToFTool', topPath =
'AFP/ToF/')
243 arrayToF.defineHistogram(
'lbAToF', title=
'ToF hits vs lumiblock divided by <mu> (train {0}, bar {1}), side A; lb; hits/<mu>', type=
'TH1F', path=
'ToFHitsVsLb/sideA', xbins=2000, xmin=0.5, xmax=2000.5, weight =
'lbAToF_Weight')
244 arrayToF.defineHistogram(
'lbCToF', title=
'ToF hits vs lumiblock divided by <mu> (train {0}, bar {1}), side C; lb; hits/<mu>', type=
'TH1F', path=
'ToFHitsVsLb/sideC', xbins=2000, xmin=0.5, xmax=2000.5, weight =
'lbCToF_Weight')
247 chan_combinations_list = [
"0AB",
"0AC",
"0AD",
"0BC",
"0BD",
"0CD",
"1AB",
"1AC",
"1AD",
"1BC",
"1BD",
"1CD",
248 "2AB",
"2AC",
"2AD",
"2BC",
"2BD",
"2CD",
"3AB",
"3AC",
"3AD",
"3BC",
"3BD",
"3CD"]
249 arrayToFCrossBarDeltaT = helper.addArray([chan_combinations_list], afpToFAlgorithm,
'AFPToFTool', topPath=
'AFP/ToF/')
250 arrayToFCrossBarDeltaT.defineHistogram(
'crossBarDeltaT_A', title=
'ToF cross-bar <delta> time (channel combination {0}), side A; <delta> t, [ps]; events', type=
'TH1D', path=
'DeltaTime/sideA', xbins=400, xmin=-1500.0, xmax=1500.0)
251 arrayToFCrossBarDeltaT.defineHistogram(
'crossBarDeltaT_C', title=
'ToF cross-bar <delta> time (channel combination {0}), side C; <delta> t, [ps]; events', type=
'TH1D', path=
'DeltaTime/sideC', xbins=400, xmin=-1500.0, xmax=1500.0)
253 result.merge(helper.result())
257 if __name__==
'__main__':
260 from AthenaConfiguration.AllConfigFlags
import initConfigFlags
263 flags.Input.Files = [
'/eos/user/v/vlysenko/AOD_testing/AOD_data24_13p6TeV_473095/data24_13p6TeV.00473095.physics_Main.merge.AOD.f1444_m2248._lb0603._0003.1']
264 flags.Input.isMC =
False
265 flags.Output.HISTFileName =
'AFPTest-10k-mon-3.root'
268 flags.Concurrency.NumThreads=10
269 flags.Concurrency.NumConcurrentEvents=10
275 from AthenaConfiguration.MainServicesConfig
import MainServicesCfg
276 from AthenaPoolCnvSvc.PoolReadConfig
import PoolReadCfg
281 cfg.merge(exampleMonitorAcc)