ATLAS Offline Software
Loading...
Searching...
No Matches
CscMonitoringESD_Alg.py
Go to the documentation of this file.
2#Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3#
4
5from .CscMonUtils import getCSCLabelx
6
7
9 '''Function to configures some algorithms in the monitoring system.'''
10
11
15 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
16 result = ComponentAccumulator()
17
18 # Make sure muon geometry is configured
19 from MuonConfig.MuonGeometryConfig import MuonGeoModelCfg
20 result.merge(MuonGeoModelCfg(inputFlags))
21
22 # Fixup for R21 ESD
23 from MuonConfig.MuonSegmentNameFixConfig import MuonSegmentNameFixCfg
24 result.merge(MuonSegmentNameFixCfg(inputFlags))
25
26 # The following class will make a sequence, configure algorithms, and link
27 # them to GenericMonitoringTools
28 from AthenaMonitoring import AthMonitorCfgHelper
29 helper = AthMonitorCfgHelper(inputFlags,'CscAthMonitorCfg')
30
31
38
39 from AthenaConfiguration.ComponentFactory import CompFactory
40 cscClusMonAlg = helper.addAlgorithm(CompFactory.CscClusterValMonAlg,'CscClusMonAlg')
41 cscPrdMonAlg = helper.addAlgorithm(CompFactory.CscPrdValMonAlg,'CscPrdMonAlg')
42 cscSegmMonAlg = helper.addAlgorithm(CompFactory.CSCSegmValMonAlg,'CscSegmMonAlg')
43
44
47 cscClusMonAlg.CSCQmaxCutADC = 50
48 cscClusMonAlg.CSCDoEventSelection = False
49 cscClusMonAlg.CSCEventSelTriggers = [ "L1_MU10", "L1_MU15", "EF_mu20_muCombTag_NoEF", "EF_mu15", "EF_mu15_mu10_EFFS", "EF_2mu10", "EF_2mu10_loose" ]
50 cscPrdMonAlg.NoiseCutADC = 100
51 cscPrdMonAlg.MapYXandRZ = False
52 cscSegmMonAlg.DoEventSelection = False
53 cscSegmMonAlg.EventSelTriggers = [ "L1_MU10", "L1_MU15", "EF_mu20_muCombTag_NoEF", "EF_mu15", "EF_mu15_mu10_EFFS", "EF_2mu10", "EF_2mu10_loose" ]
54 cscSegmMonAlg.SegmentSlopeCut = 0.07
55
56 from AthenaConfiguration.Enums import Format
57 if inputFlags and inputFlags.Input.Format != Format.BS and \
58 inputFlags.Input.Release and inputFlags.Input.Release.find("21.") != -1:
59 cscSegmMonAlg.SegmentKey = [ "TrackMuonSegments"]
60
61
65 from MuonConfig.MuonCalibrationConfig import CscCalibToolCfg
66 calibtool = result.popToolsAndMerge( CscCalibToolCfg(inputFlags) )
67 cscClusMonAlg.CscCalibTool = calibtool
68
69 from MuonConfig.MuonSegmentFindingConfig import CalibCscStripFitterCfg
70 stripfitter = result.popToolsAndMerge( CalibCscStripFitterCfg(inputFlags) )
71 cscClusMonAlg.CSCStripFitter = stripfitter
72 cscPrdMonAlg.CSCStripFitter = stripfitter
73
74 # Add a generic monitoring tool (a "group" in old language). The returned
75 # object here is the standard GenericMonitoringTool.
76 cscClusGroup = helper.addGroup(cscClusMonAlg,'CscClusMonitor','Muon/MuonRawDataMonitoring/CSC/')
77 cscPrdGroup = helper.addGroup(cscPrdMonAlg,'CscPrdMonitor','Muon/MuonRawDataMonitoring/CSC/')
78 cscSegmGroup = helper.addGroup(cscSegmMonAlg,'CscSegmMonitor','Muon/MuonSegmentMonitoring/')
79
80
82
83 qmaxCut = str(cscClusMonAlg.CSCQmaxCutADC)
84 #Cluster
85 cscClusGroup.defineHistogram('z,r;h2csc_clus_r_vs_z_hitmap',type='TH2F',title='R vs. Z Cluster hitmap;z(mm);R(mm)',
86 path='Clusters/Shift',xbins=200,xmin=-10000.,xmax=10000., ybins=40, ymin=0., ymax=4000.)
87
88 cscClusGroup.defineHistogram('y,x;h2csc_clus_y_vs_x_hitmap',type='TH2F',title='X vs. Y Cluster hitmap;y(mm);x(mm)',
89 path='Clusters/Shift',xbins=100,xmin=-5000.,xmax=5000.,ybins=100,ymin=-5000,ymax=5000)
90
91 cscClusGroup.defineHistogram('noStrips_mon,secLayer;h2csc_clus_phicluswidth',type='TH2F',cutmask='clus_phi_mon',title='Phi-Cluster width;# strips;[sector] + [0.2 #times layer]',
92 path='Clusters/Expert',xbins=48,xmin=0,xmax=48,ybins=175,ymin=-17,ymax=18)
93
94 cscClusGroup.defineHistogram('noStrips_mon,secLayer;h2csc_clus_etacluswidth',type='TH2F',cutmask='clus_eta_mon',title='Eta-Cluster width;# strips;[sector] + [0.2 #times layer]',
95 path='Clusters/Expert',xbins=192, xmin=0, xmax=192, ybins=175, ymin=-17, ymax=18)
96
97 cscClusGroup.defineHistogram('stripid,secLayer;h2csc_clus_hitmap',type='TH2F',title='Cluster occupancy;channel;[sector]+[0.2 #times layer]',
98 path='Clusters/Expert',xbins=242,xmin=-49.,xmax=193.,ybins=175,ymin=-17.,ymax=18.)
99
100 cscClusGroup.defineHistogram('fStripIDs_col,secLayer;h2csc_clus_hitmap_signal',cutmask='signal_mon',type='TH2F',title='Cluster occupancy, Qmax > '+qmaxCut+' counts;channel;[sector] + [0.2 #times layer]',
101 path='Clusters/Shift',xbins=242,xmin=-49.,xmax=193.,ybins=175,ymin=-17.,ymax=18.)
102
103 cscClusGroup.defineHistogram('noStrips_mon,secLayer;h2csc_clus_phicluswidth_signal',type='TH2F',cutmask='clus_phiSig',title='#phi-cluster width, Qmax > '+qmaxCut+' counts;# strips;[sector] + [0.2 #times layer]',
104 path='Clusters/Expert',xbins=48,xmin=0,xmax=48,ybins=175,ymin=-17,ymax=18)
105
106 cscClusGroup.defineHistogram('noStrips_mon,secLayer;h2csc_clus_etacluswidth_signal',type='TH2F',cutmask='clus_etaSig',title='#eta-cluster width, Qmax > '+qmaxCut+' counts;# strips;[sector] + [0.2 #times layer]',
107 path='Clusters/Expert',xbins=192,xmin=0,xmax=192,ybins=175,ymin=-17,ymax=18)
108
109 thisLabelx=getCSCLabelx("labels_occupancy_signal_EA")
110 cscClusGroup.defineHistogram('secLayer;h1csc_clus_occupancy_signal_EA',type='TH1F',cutmask='sideA',title='EndCap A: Layer occupancy, Qmax > '+qmaxCut+' counts;;entries/layer',
111 path='Overview/CSCEA/Cluster',xbins=90,xmin=0,xmax=18, xlabels=thisLabelx)
112
113 thisLabelx=getCSCLabelx("labels_occupancy_signal_EC")
114 cscClusGroup.defineHistogram('secLayer;h1csc_clus_occupancy_signal_EC',type='TH1F',cutmask='sideC',title='EndCap C: Layer occupancy, Qmax > '+qmaxCut+' counts;;entries/layer',
115 path='Overview/CSCEC/Cluster',xbins=85,xmin=-17.,xmax=0., xlabels=thisLabelx)
116
117 cscClusGroup.defineHistogram('fStripIDs_col,secLayer;h2csc_clus_hitmap_noise',cutmask='noise_mon',type='TH2F',title='Cluster occupancy, Qmax #leq '+qmaxCut+' counts;channel;[sector] + [0.2 #times layer]',
118 path='Clusters/Expert',xbins=242,xmin=-49.,xmax=193.,ybins=175,ymin=-17.,ymax=18.)
119
120 cscClusGroup.defineHistogram('noStrips_mon,secLayer;h2csc_clus_phicluswidth_noise',type='TH2F',cutmask='clus_phiNoise',title='#phi-cluster width, Qmax #leq '+qmaxCut+' counts;# strips;[sector] + [0.2 #times layer]',
121 path='Clusters/Expert',xbins=48,xmin=0,xmax=48,ybins=175,ymin=-17,ymax=18)
122
123 cscClusGroup.defineHistogram('noStrips_mon,secLayer;h2csc_clus_etacluswidth_noise',type='TH2F',cutmask='clus_etaNoise',title='#eta-cluster width, Qmax #leq '+qmaxCut+' counts;# strips;[sector] + [0.2 #times layer]',
124 path='Clusters/Expert',xbins=192,xmin=0,xmax=192,ybins=175,ymin=-17,ymax=18)
125
126 cscClusGroup.defineHistogram('QmaxADC,secLayer;h2csc_clus_qmax',type='TH2F',title='Cluster peak-strip charge, Qmax;counts;[sector] + [0.2 #times layer]',
127 path='Clusters/Expert',xbins=400,xmin=0,xmax=8000,ybins=175,ymin=-17,ymax=18)
128
129 cscClusGroup.defineHistogram('QmaxADC,secLayer;h2csc_clus_qmax_signal',cutmask='signal_mon',type='TH2F',title='Cluster peak-strip charge, Qmax > '+qmaxCut+' counts;counts;[sector] + [0.2 #times layer]',
130 path='Clusters/Shift',xbins=400,xmin=0,xmax=8000,ybins=175,ymin=-17,ymax=18)
131
132 cscClusGroup.defineHistogram('QmaxADC,secLayer;h2csc_clus_qmax_noise',cutmask='noise_mon',type='TH2F',title='Cluster peak-strip charge, Qmax #leq '+qmaxCut+' counts;counts;[sector] + [0.2 #times layer]',
133 path='Clusters/Expert',xbins=400,xmin=0,xmax=8000,ybins=175,ymin=-17,ymax=18)
134
135 cscClusGroup.defineHistogram('QmaxADC,secLayer;h2csc_clus_qmax_signal_EA',cutmask='sideA',type='TH2F',title='EndCap A: Cluster peak-strip charge, Qmax > '+qmaxCut+' counts;counts;[sector] + [0.2 #times layer]',
136 path='Overview/CSCEA/Cluster',xbins=400,xmin=0,xmax=8000,ybins=90,ymin=0,ymax=18)
137
138 cscClusGroup.defineHistogram('QmaxADC;h1csc_clus_qmax_signal_EA_count',cutmask='sideA',type='TH1F',title='EndCap A: Cluster peak-strip charge, Qmax > '+qmaxCut+' counts;counts;entries/20 counts;',
139 path='Overview/CSCEA/Cluster',xbins=400,xmin=0,xmax=8000)
140
141 cscClusGroup.defineHistogram('QmaxADC,secLayer;h2csc_clus_qmax_signal_EC',cutmask='sideC',type='TH2F',title='EndCap C: Cluster peak-strip charge, Qmax > '+qmaxCut+' counts;counts;[sector] + [0.2 #times layer]',
142 path='Overview/CSCEC/Cluster',xbins=400,xmin=0,xmax=8000,ybins=85,ymin=-17,ymax=0)
143
144 cscClusGroup.defineHistogram('QmaxADC;h1csc_clus_qmax_signal_EC_count',cutmask='sideC',type='TH1F',title='EndCap C: Cluster peak-strip charge, Qmax > '+qmaxCut+' counts;counts;entries/20 counts;',
145 path='Overview/CSCEC/Cluster',xbins=400,xmin=0,xmax=8000)
146
147 cscClusGroup.defineHistogram('QsumADC,secLayer;h2csc_clus_qsum',type='TH2F',title='Cluster charge (Qsum);counts;[sector] + [0.2 #times layer]',
148 path='Clusters/Expert',xbins=400,xmin=0,xmax=8000,ybins=175,ymin=-17,ymax=18)
149
150 cscClusGroup.defineHistogram('QsumADC,secLayer;h2csc_clus_qsum_signal',cutmask='signal_mon',type='TH2F',title='Cluster charge(Qsum), Qmax > '+qmaxCut+' counts;counts;[sector] + [0.2 #times layer]',
151 path='Clusters/Shift',xbins=400,xmin=0,xmax=8000,ybins=175,ymin=-17,ymax=18)
152
153 cscClusGroup.defineHistogram('QsumADC,secLayer;h2csc_clus_qsum_signal_EA',cutmask='sideA',type='TH2F',title='EndCap A: Cluster charge(Qsum), Qmax > '+qmaxCut+' counts;counts;[sector] + [0.2 #times layer]',
154 path='Overview/CSCEA/Cluster',xbins=400,xmin=0,xmax=8000,ybins=90,ymin=0,ymax=18)
155
156 cscClusGroup.defineHistogram('QsumADC;h1csc_clus_qsum_signal_EA_count',cutmask='sideA',type='TH1F',title='EndCap A: Cluster charge(Qsum), Qmax > '+qmaxCut+' counts;counts;entries/20 counts;',
157 path='Overview/CSCEA/Cluster',xbins=400,xmin=0,xmax=8000)
158
159 cscClusGroup.defineHistogram('QsumADC,secLayer;h2csc_clus_qsum_signal_EC',cutmask='sideC',type='TH2F',title='EndCap C: Cluster charge(Qsum), Qmax > '+qmaxCut+' counts;counts;[sector] + [0.2 #times layer]',
160 path='Overview/CSCEC/Cluster',xbins=400,xmin=0,xmax=8000, ybins=85, ymin=-17, ymax=0)
161
162 cscClusGroup.defineHistogram('QsumADC;h1csc_clus_qsum_signal_EC_count',cutmask='sideC',type='TH1F',title='EndCap C: Cluster charge(Qsum), Qmax > '+qmaxCut+' counts;counts;entries/20 counts;',
163 path='Overview/CSCEC/Cluster',xbins=400,xmin=0,xmax=8000)
164
165 cscClusGroup.defineHistogram('QsumADC,secLayer;h2csc_clus_qsum_noise',cutmask='noise_mon',type='TH2F',title='Cluster charge(Qsum), Qmax #leq '+qmaxCut+' counts;counts;[sector] + [0.2 #times layer]',
166 path='Clusters/Expert',xbins=400,xmin=0,xmax=8000,ybins=175,ymin=-17,ymax=18)
167
168 cscClusGroup.defineHistogram('clu_time;h1csc_clus_transverse_time',cutmask='clus_phi',type='TH1F',title='#phi-cluster sampling time;ns;entries/ns',
169 path='Clusters/Expert',xbins=260,xmin=-60,xmax=200)
170
171 cscClusGroup.defineHistogram('clu_charge_kiloele;h1csc_clus_transverse_charge',cutmask='clus_phi',type='TH1F',title='#phi-cluster charge;counts;entries/count',
172 path='Clusters/Expert',xbins=400,xmin=0,xmax=8000)
173
174 cscClusGroup.defineHistogram('clu_time;h1csc_clus_transverse_time_signal',cutmask='clus_phiSig',type='TH1F',title='#phi-cluster sampling time, Qmax > '+qmaxCut+' counts;ns;entries/ns',
175 path='Clusters/Expert',xbins=260,xmin=-60,xmax=200)
176
177 cscClusGroup.defineHistogram('clu_charge_kiloele;h1csc_clus_transverse_charge_signal',cutmask='clus_phiSig',type='TH1F',title='#phi-cluster charge, Qmax > '+qmaxCut+' counts;counts;entries/count',
178 path='Clusters/Expert',xbins=400,xmin=0,xmax=8000)
179
180 cscClusGroup.defineHistogram('clu_time;h1csc_clus_transverse_time_noise',cutmask='clus_phiNoise',type='TH1F',title='#phi-cluster sampling time, Qmax #leq '+qmaxCut+' counts;ns;entries/ns',
181 path='Clusters/Expert',xbins=260,xmin=-60,xmax=200)
182
183 cscClusGroup.defineHistogram('clu_charge_kiloele;h1csc_clus_transverse_charge_noise',cutmask='clus_phiNoise',type='TH1F',title='#phi-cluster charge, Qmax #leq '+qmaxCut+' counts;counts;entries/count',
184 path='Clusters/Expert',xbins=400,xmin=0,xmax=8000)
185
186 cscClusGroup.defineHistogram('clu_time;h1csc_clus_precision_time',cutmask='clus_eta',type='TH1F',title='#eta-cluster sampling time;ns;entries/ns',
187 path='Clusters/Expert',xbins=260,xmin=-60,xmax=200)
188
189 cscClusGroup.defineHistogram('clu_charge_kiloele;h1csc_clus_precision_charge',cutmask='clus_eta',type='TH1F',title='eta-cluster charge;counts;entries/count',
190 path='Clusters/Expert',xbins=400,xmin=0,xmax=8000)
191
192 cscClusGroup.defineHistogram('clu_time;h1csc_clus_precision_time_signal',cutmask='clus_etaSig',type='TH1F',title='#eta-cluster sampling time, Qmax > '+qmaxCut+' counts;ns;entries/ns',
193 path='Clusters/Shift',xbins=260,xmin=-60,xmax=200)
194
195 cscClusGroup.defineHistogram('clu_charge_kiloele;h1csc_clus_precision_charge_signal',cutmask='clus_etaSig',type='TH1F',title='#eta-cluster charge, Qmax > '+qmaxCut+' counts;counts;entries/count',
196 path='Clusters/Expert',xbins=400,xmin=0,xmax=8000)
197
198 cscClusGroup.defineHistogram('clu_time;h1csc_clus_precision_time_signal_EA',cutmask='sideA_phiSig',type='TH1F',title='EndCap A: #eta-cluster sampling time, Qmax > '+qmaxCut+' counts;ns;entries/ns',
199 path='Overview/CSCEA/Cluster',xbins=260,xmin=-60,xmax=200)
200
201 cscClusGroup.defineHistogram('clu_time;h1csc_clus_precision_time_signal_EC',cutmask='sideC_phiSig',type='TH1F',title='EndCap C: #eta-cluster sampling time, Qmax > '+qmaxCut+' counts;ns;entries/ns',
202 path='Overview/CSCEC/Cluster',xbins=260,xmin=-60,xmax=200)
203
204 cscClusGroup.defineHistogram('clu_time;h1csc_clus_precision_time_noise',cutmask='clus_etaNoise',type='TH1F',title='#eta-cluster sampling time, Qmax #leq '+qmaxCut+' counts;ns;entries/ns',
205 path='Clusters/Expert',xbins=260,xmin=-60,xmax=200)
206
207 cscClusGroup.defineHistogram('clu_charge_kiloele;h1csc_clus_precision_charge_noise',cutmask='clus_etaNoise',type='TH1F',title='#eta-cluster charge, Qmax #leq '+qmaxCut+' counts;counts;entries/count',
208 path='Clusters/Expert',xbins=400,xmin=0,xmax=8000)
209
210 cscClusGroup.defineHistogram('stripsSum_EA_mon;h1csc_clus_totalWidth_EA',type='TH1F',title='EndCap A: Cluster hits in all EA eta(#eta) & phi(#phi) strips;strips;cluster hits',
211 path='Overview/CSCEA/Cluster',xbins=15360,xmin=1.,xmax=15361.)
212
213 cscClusGroup.defineHistogram('stripsSum_EC_mon;h1csc_clus_totalWidth_EC',type='TH1F',title='EndCap C: Cluster hits in all EC eta(#eta) & phi(#phi) strips;strips;cluster hits',
214 path='Overview/CSCEC/Cluster',xbins=15360,xmin=1.,xmax=15361.)
215
216 cscClusGroup.defineHistogram('nPhiClusWidthCnt_mon,nEtaClusWidthCnt_mon;h2csc_clus_eta_vs_phi_cluswidth',type='TH2F',title='Eta vs. Phi Cluster width correlation;#varphi-cluster width;#eta-cluster width',
217 path='Clusters/Expert',xbins=100,xmin=0,xmax=100,ybins=100,ymin=0,ymax=100)
218
219 cscClusGroup.defineHistogram('count_mon,secLayer;h2csc_clus_phicluscount',cutmask='mphi_true',type='TH2F',title='#phi-cluster count;# clusters;[sector] + [0.2 #times layer]',
220 path='Clusters/Expert',xbins=20,xmin=0,xmax=20,ybins=175,ymin=-17.,ymax=18.)
221
222 cscClusGroup.defineHistogram('scount_mon,secLayer;h2csc_clus_phicluscount_signal',cutmask='scount_phi_true',type='TH2F',title='#phi-cluster count;# clusters;[sector] + [0.2 #times layer]',
223 path='Clusters/Expert',xbins=20,xmin=0,xmax=20,ybins=175,ymin=-17.,ymax=18.)
224
225 cscClusGroup.defineHistogram('count_diff,secLayer;h2csc_clus_phicluscount_noise',cutmask='scount_phi_false',type='TH2F',title='#phi-cluster count, Qmax #leq '+qmaxCut+' counts;# clusters;[sector] + [0.2 #times layer]',
226 path='Clusters/Expert',xbins=20,xmin=0,xmax=20,ybins=175,ymin=-17.,ymax=18.)
227
228 cscClusGroup.defineHistogram('count_mon,secLayer;h2csc_clus_etacluscount',cutmask='mphi_false',type='TH2F',title='#eta-cluster count;# clusters;[sector] + [0.2 #times layer]',
229 path='Clusters/Expert',xbins=20,xmin=0,xmax=20,ybins=175,ymin=-17.,ymax=18.)
230
231 cscClusGroup.defineHistogram('scount_mon,secLayer;h2csc_clus_etacluscount_signal',cutmask='scount_eta_true',type='TH2F',title='#eta-cluster count;# clusters;[sector] + [0.2 #times layer]',
232 path='Clusters/Expert',xbins=20,xmin=0,xmax=20,ybins=175,ymin=-17.,ymax=18.)
233
234 cscClusGroup.defineHistogram('count_diff,secLayer;h2csc_clus_etacluscount_noise',cutmask='scount_eta_false',type='TH2F',title='#eta-cluster count, Qmax #leq '+qmaxCut+' counts;# clusters;[sector] + [0.2 #times layer]',
235 path='Clusters/Expert',xbins=20,xmin=0,xmax=20,ybins=175,ymin=-17.,ymax=18.)
236
237 cscClusGroup.defineHistogram('segNum_mon,sec_mon;h2csc_clus_segmap_signal',type='TH2F',title='Segment occupancy, Qmax > '+qmaxCut+' counts;segment;[sector] + [0.2 #times layer]',
238 path='Clusters/Expert',xbins=16,xmin=-0.5,xmax=15.5,ybins=175,ymin=-17.,ymax=18.)
239
240 cscClusGroup.defineHistogram('numphi_numeta_mon;h1csc_clus_count',type='TH1F',title='Clusters per event;no.of clusters;entries',
241 path='Clusters/Expert',xbins=26,xmin=-1,xmax=25)
242
243 cscClusGroup.defineHistogram('numphi_numeta_sig_mon;h1csc_clus_count_signal',type='TH1F',title='Clusters per event, Qmax > '+qmaxCut+' counts;no.of clusters;entries',
244 path='Clusters/Expert',xbins=26,xmin=-1,xmax=25)
245
246 cscClusGroup.defineHistogram('num_num_noise_mon;h1csc_clus_count_noise',type='TH1F',title='Clusters per event, Qmax #leq '+qmaxCut+' counts;no.of clusters;entries',
247 path='Clusters/Expert',xbins=26,xmin=-1,xmax=25)
248
249 cscClusGroup.defineHistogram('numphi_mon,numeta_mon;h2csc_clus_eta_vs_phi_cluscount',type='TH2F',title='Eta vs. Phi Cluster count correlation;#varphi-cluster count;#eta-cluster count',
250 path='Clusters/Expert',xbins=100,xmin=0,xmax=100,ybins=100,ymin=0,ymax=100)
251
252 cscClusGroup.defineHistogram('numphi_sig_mon,numeta_sig_mon;h2csc_clus_eta_vs_phi_cluscount_signal',type='TH2F',title='Eta vs. Phi Signal-Cluster count correlation;#varphi-cluster count;#eta-cluster count',
253 path='Clusters/Expert',xbins=100,xmin=0,xmax=100,ybins=100,ymin=0,ymax=100)
254
255 cscClusGroup.defineHistogram('numphi_diff_mon,numeta_diff_mon;h2csc_clus_eta_vs_phi_cluscount_noise',type='TH2F',title='Eta vs. Phi Noise-Cluster count correlation;#varphi-cluster count;#eta-cluster count',
256 path='Clusters/Expert',xbins=100,xmin=0,xmax=100,ybins=100,ymin=0,ymax=100)
257
258 #PRD
259 cscPrdGroup.defineHistogram('spid, secLayer;h2csc_prd_hitmap', type='TH2F', title='Hit Occupancy; channel; [sector] + [0.2 #times layer]',
260 path='PRD/Expert',xbins=242,xmin=-49.,xmax=193.,ybins=175,ymin=-17.,ymax=18.)
261
262 cscPrdGroup.defineHistogram('noStrips,secLayer;h2csc_prd_phicluswidth',type='TH2F',cutmask='measphi',title='PRD precision-cluster width;no.of strips;[sector] + [0.2 #times layer]',
263 path='PRD/Expert',xbins=48,xmin=0,xmax=48, ybins=175,ymin=-17.,ymax=18.)
264
265 cscPrdGroup.defineHistogram('noStrips,secLayer;h2csc_prd_etacluswidth',type='TH2F',cutmask='measeta',title='PRD precision-cluster width;no.of strips;[sector] + [0.2 #times layer]',
266 path='PRD/Expert',xbins=192,xmin=0,xmax=192, ybins=175,ymin=-17.,ymax=18.)
267
268 cscPrdGroup.defineHistogram('z,r;h2csc_prd_r_vs_z_hitmap',type='TH2F',title='R vs. Z Cluster hitmap;z(mm);R(mm)',
269 path='PRD/Shift',xbins=200,xmin=-10000.,xmax=10000., ybins=40, ymin=0., ymax=4000.)
270
271 cscPrdGroup.defineHistogram('y,x;h2csc_prd_y_vs_x_hitmap',type='TH2F',title='Y vs. X Cluster hitmap;x(mm);y(mm)',
272 path='PRD/Shift',xbins=100,xmin=-5000.,xmax=5000., ybins=100, ymin=-5000., ymax=5000.)
273
274 cscPrdGroup.defineHistogram('spid,secLayer;h2csc_prd_hitmap_signal',cutmask='signal_mon',type='TH2F',title='Signal Occupancy;channel;[sector] + [0.2 #times layer]',
275 path='PRD/Shift',xbins=242,xmin=-49.,xmax=193., ybins=175, ymin=-17., ymax=18.)
276
277 cscPrdGroup.defineHistogram('spid,secLayer;h2csc_prd_hitmap_signal_EC',cutmask='sideC',type='TH2F',title='EndCap C: Signal Occupancy;channel;[sector] + [0.2 #times layer]',
278 path='Overview/CSCEC/PRD',xbins=242,xmin=-49.,xmax=193., ybins=85, ymin=-17., ymax=0.)
279
280 cscPrdGroup.defineHistogram('spid;h1csc_prd_hitmap_signal_EC_count',cutmask='sideC',type='TH1F',title='EndCap C: Signal Occupancy;channel;entries/channel;',
281 path='Overview/CSCEC/PRD',xbins=242,xmin=-49.,xmax=193.)
282
283 thisLabelx=getCSCLabelx("labels_occupancy_signal_EC")
284 cscPrdGroup.defineHistogram('secLayer;h1csc_prd_hitmap_signal_EC_occupancy',cutmask='sideC',type='TH1F',title='EndCap C: Signal Occupancy;;entries/layer',
285 path='Overview/CSCEC/PRD',xbins=85,xmin=-17.,xmax=0., xlabels=thisLabelx) #labels
286
287 cscPrdGroup.defineHistogram('lumiblock_mon,secLayer;h2csc_prd_occvslb_EC',cutmask='sideC',type='TH2F',title='EndCap C: Layer Signal Occupancy Per LB;LB;[sector] + [0.2 #times layer]',
288 path='Overview/CSCEC/PRD',xbins=2510,xmin=-10.,xmax=2500., ybins=85, ymin=-17., ymax=0.)
289
290 cscPrdGroup.defineHistogram('spid,secLayer;h2csc_prd_hitmap_signal_EA',cutmask='sideA',type='TH2F',title='EndCap A: Signal Occupancy;channel;[sector] + [0.2 #times layer]',
291 path='Overview/CSCEA/PRD',xbins=242,xmin=-49.,xmax=193., ybins=90, ymin=0., ymax=18.)
292
293 cscPrdGroup.defineHistogram('spid;h1csc_prd_hitmap_signal_EA_count',cutmask='sideA',type='TH1F',title='EndCap A: Signal Occupancy;channel;entries/channel;',
294 path='Overview/CSCEA/PRD',xbins=242,xmin=-49.,xmax=193.)
295
296 thisLabelx=getCSCLabelx("labels_occupancy_signal_EA")
297 cscPrdGroup.defineHistogram('secLayer;h1csc_prd_hitmap_signal_EA_occupancy',cutmask='sideA',type='TH1F',title='EndCap A: Signal Occupancy;;entries/layer',
298 path='Overview/CSCEA/PRD',xbins=90,xmin=0.,xmax=18., xlabels=thisLabelx) #labels
299
300 cscPrdGroup.defineHistogram('lumiblock_mon,secLayer;h2csc_prd_occvslb_EA',cutmask='sideA',type='TH2F',title='EndCap A: Layer Signal Occupancy Per LB;LB;[sector] + [0.2 #times layer]',
301 path='Overview/CSCEA/PRD',xbins=2510,xmin=-10.,xmax=2500., ybins=90, ymin=0., ymax=18.)
302
303 cscPrdGroup.defineHistogram('noStrips,secLayer;h2csc_prd_etacluswidth_signal',cutmask='clus_etaSig',type='TH2F',title='PRD precision-cluster width;no.of strips;[sector] + [0.2 #times layer]',
304 path='PRD/Expert',xbins=192,xmin=0.,xmax=192., ybins=175, ymin=-17., ymax=18.)
305
306 cscPrdGroup.defineHistogram('noStrips,secLayer;h2csc_prd_phicluswidth_signal',cutmask='clus_phiSig',type='TH2F',title='PRD precision-cluster width;no.of strips;[sector] + [0.2 #times layer]',
307 path='PRD/Expert',xbins=48,xmin=0.,xmax=48., ybins=175, ymin=-17., ymax=18.)
308
309 cscPrdGroup.defineHistogram('spid,secLayer;h2csc_prd_hitmap_noise',cutmask='noise_mon',type='TH2F',title='Noise Occupancy;channel;[sector] + [0.2 #times layer]',
310 path='PRD/Expert',xbins=242,xmin=-49.,xmax=193., ybins=175, ymin=-17., ymax=18.)
311
312 cscPrdGroup.defineHistogram('noStrips,secLayer;h2csc_prd_etacluswidth_noise',cutmask='clus_etaNoise',type='TH2F',title='PRD precision-cluster width;no.of strips;[sector] + [0.2 #times layer]',
313 path='PRD/Expert',xbins=192,xmin=0.,xmax=192., ybins=175, ymin=-17., ymax=18.)
314
315 cscPrdGroup.defineHistogram('noStrips,secLayer;h2csc_prd_phicluswidth_noise',cutmask='clus_phiNoise',type='TH2F',title='PRD precision-cluster width;no.of strips;[sector] + [0.2 #times layer]',
316 path='PRD/Expert',xbins=48,xmin=0.,xmax=48., ybins=175, ymin=-17., ymax=18.)
317
318 cscPrdGroup.defineHistogram('count_mon,secLayer;h2csc_prd_phicluscount',cutmask='mphi_true',type='TH2F',title='PRD transverse-cluster count;no.of clusters;[sector] + [0.2 #times layer]',
319 path='PRD/Expert',xbins=20,xmin=0.,xmax=20., ybins=175, ymin=-17., ymax=18.)
320
321 cscPrdGroup.defineHistogram('scount_mon,secLayer;h2csc_prd_phicluscount_signal',cutmask='scount_phi_true',type='TH2F',title='PRD transverse-cluster count;no.of clusters;[sector] + [0.2 #times layer]',
322 path='PRD/Shift',xbins=20,xmin=0.,xmax=20., ybins=175, ymin=-17., ymax=18.)
323
324 cscPrdGroup.defineHistogram('tmp_val_mon,secLayer;h2csc_prd_phicluscount_noise',cutmask='mphi_true',type='TH2F',title='PRD transverse-cluster count;no.of clusters;[sector] + [0.2 #times layer]',
325 path='PRD/Expert',xbins=20,xmin=0.,xmax=20., ybins=175, ymin=-17., ymax=18.)
326
327 cscPrdGroup.defineHistogram('count_mon,secLayer;h2csc_prd_etacluscount',cutmask='mphi_false',type='TH2F',title='PRD precision-cluster count;no.of clusters;[sector] + [0.2 #times layer]',
328 path='PRD/Expert',xbins=20,xmin=0.,xmax=20., ybins=175, ymin=-17., ymax=18.)
329
330 cscPrdGroup.defineHistogram('scount_mon,secLayer;h2csc_prd_etacluscount_signal',cutmask='scount_eta_true',type='TH2F',title='PRD precision-cluster count;no.of clusters;[sector] + [0.2 #times layer]',
331 path='PRD/Shift',xbins=20,xmin=0.,xmax=20., ybins=175, ymin=-17., ymax=18.)
332
333 cscPrdGroup.defineHistogram('tmp_val_mon,secLayer;h2csc_prd_etacluscount_noise',cutmask='mphi_false',type='TH2F',title='PRD precision-cluster count;no.of clusters;[sector] + [0.2 #times layer]',
334 path='PRD/Expert',xbins=20,xmin=0.,xmax=20., ybins=175, ymin=-17., ymax=18.)
335
336 cscPrdGroup.defineHistogram('numphi_mon,numeta_mon;h2csc_prd_eta_vs_phi_cluscount',type='TH2F',title='Eta vs. Phi Cluster count correlation;#varphi-cluster count;#eta-cluster count',
337 path='PRD/Expert',xbins=100,xmin=0,xmax=100, ybins=100, ymin=0, ymax=100)
338
339 cscPrdGroup.defineHistogram('numphi_sig_mon,numeta_sig_mon;h2csc_prd_eta_vs_phi_cluscount_signal',type='TH2F',title='Eta vs. Phi Signal-Cluster count correlation;#varphi-cluster count;#eta-cluster count',
340 path='PRD/Expert',xbins=100,xmin=0,xmax=100, ybins=100, ymin=0, ymax=100)
341
342 cscPrdGroup.defineHistogram('numphi_diff_mon,numeta_diff_mon;h2csc_prd_eta_vs_phi_cluscount_noise',type='TH2F',title='Eta vs. Phi Noise-Cluster count correlation;#varphi-cluster count;#eta-cluster count',
343 path='PRD/Expert',xbins=100,xmin=0,xmax=100, ybins=100, ymin=0, ymax=100)
344
345 cscPrdGroup.defineHistogram('nPhiClusWidthCnt_mon,nEtaClusWidthCnt_mon;h2csc_prd_eta_vs_phi_cluswidth',type='TH2F',title='Eta vs. Phi Cluster width correlation;#varphi-cluster width;#eta-cluster width',
346 path='PRD/Expert',xbins=100,xmin=0,xmax=100,ybins=100,ymin=0,ymax=100)
347
348 #Segments
349
350 cscSegmGroup.defineHistogram('n_clust,segm_sectorNo;Muon_Segm_NumSegments_EA',cutmask='sideA',type='TH2I',title='EndCap A: No. of segments; #segments; [sector] + [0.2 #times layer]',
351 path='EndCapA/Overview/TrackMuonSegments/CSC',xbins=20,xmin=0,xmax=80,ybins=90,ymin=0,ymax=18.)
352
353 cscSegmGroup.defineHistogram('n_clust,segm_sectorNo;Muon_Segm_NumSegments_EC',cutmask='sideC',type='TH2I',title='EndCap C: No. of segments; #segments; [sector] + [0.2 #times layer]',
354 path='EndCapC/Overview/TrackMuonSegments/CSC',xbins=20,xmin=0,xmax=80,ybins=85,ymin=-17,ymax=0.)
355
356 thisLabelx=getCSCLabelx("labels_sgm_status")
357 status_bins = len(thisLabelx)
358 cscSegmGroup.defineHistogram('status_mon;Muon_Segm_EtaClusterStatus_EA',cutmask='sideA_phi0',type='TH1F',title='Endcap A: #eta-cluster status;;entries',
359 path='EndCapA/Detail/TrackMuonSegments/CSC',xbins=status_bins,xmin=-0.5,xmax=status_bins-0.5,xlabels=thisLabelx)
360
361 thisLabelx=getCSCLabelx("labels_sgm_status")
362 status_bins = len(thisLabelx)
363 cscSegmGroup.defineHistogram('status_mon;Muon_Segm_EtaClusterStatus_EC',cutmask='sideC_phi0',type='TH1F',title='Endcap C: #eta-cluster status;;entries',
364 path='EndCapC/Detail/TrackMuonSegments/CSC',xbins=status_bins,xmin=-0.5,xmax=status_bins-0.5,xlabels=thisLabelx)
365
366 thisLabelx=getCSCLabelx("labels_sgm_status")
367 status_bins = len(thisLabelx)
368 cscSegmGroup.defineHistogram('status_mon;Muon_Segm_PhiClusterStatus_EA',cutmask='sideA_phi',type='TH1F',title='Endcap A: #phi-cluster status;;entries',
369 path='EndCapA/Detail/TrackMuonSegments/CSC',xbins=status_bins,xmin=-0.5,xmax=status_bins-0.5,xlabels=thisLabelx)
370
371 thisLabelx=getCSCLabelx("labels_sgm_status")
372 status_bins = len(thisLabelx)
373 cscSegmGroup.defineHistogram('status_mon;Muon_Segm_PhiClusterStatus_EC',cutmask='sideC_phi',type='TH1F',title='Endcap C: #phi-cluster status;;entries',
374 path='EndCapC/Detail/TrackMuonSegments/CSC',xbins=status_bins,xmin=-0.5,xmax=status_bins-0.5,xlabels=thisLabelx)
375
376
377 cscSegmGroup.defineHistogram('clus_qsum_mon,clus_secLayer;Muon_Segm_QSumEtaGoodClusPerLayer_EA',cutmask='checkStatusEtaA',type='TH2F',title='EndCap A: #eta-cluster charge per layer;counts;[sector] + [0.2 #times layer]',
378 path='EndCapA/Overview/TrackMuonSegments/CSC',xbins=80,xmin=0.,xmax=4000.,ybins=90,ymin=0.,ymax=18.)
379
380 cscSegmGroup.defineHistogram('clus_time_mon,clus_secLayer;Muon_Segm_TimeEtaGoodClusPerLayer_EA',cutmask='checkTimeEtaA',type='TH2F',title='EndCap A: #eta-cluster time per layer;time [ns];[sector] + [0.2 #times layer]',
381 path='EndCapA/Overview/TrackMuonSegments/CSC',xbins=40,xmin=-200.,xmax=200.,ybins=90,ymin=0.,ymax=18.)
382
383 cscSegmGroup.defineHistogram('clus_qsum_mon,clus_secLayer;Muon_Segm_QSumEtaGoodClusPerLayer_EC',cutmask='checkStatusEtaC',type='TH2F',title='EndCap C: #eta-cluster charge per layer;counts;[sector] + [0.2 #times layer]',
384 path='EndCapC/Overview/TrackMuonSegments/CSC',xbins=80,xmin=0.,xmax=4000.,ybins=85,ymin=-17.,ymax=0.)
385
386 cscSegmGroup.defineHistogram('clus_time_mon,clus_secLayer;Muon_Segm_TimeEtaGoodClusPerLayer_EC',cutmask='checkTimeEtaC',type='TH2F',title='EndCap C: #eta-cluster time per layer;time [ns];[sector] + [0.2 #times layer]',
387 path='EndCapC/Overview/TrackMuonSegments/CSC',xbins=40,xmin=-200.,xmax=200.,ybins=85,ymin=-17.,ymax=0.)
388
389 cscSegmGroup.defineHistogram('clus_qsum_mon,clus_secLayer;Muon_Segm_QSumPhiGoodClusPerLayer_EA',cutmask='checkStatusPhiA',type='TH2F',title='EndCap A: #phi-cluster charge per layer;counts;[sector] + [0.2 #times layer]',
390 path='EndCapA/Overview/TrackMuonSegments/CSC',xbins=80,xmin=0.,xmax=4000,ybins=90,ymin=0.,ymax=18.)
391
392 cscSegmGroup.defineHistogram('clus_time_mon,clus_secLayer;Muon_Segm_TimePhiGoodClusPerLayer_EA',cutmask='checkTimePhiA',type='TH2F',title='EndCap A: #phi-cluster time per layer;time [ns];[sector] + [0.2 #times layer]',
393 path='EndCapA/Overview/TrackMuonSegments/CSC',xbins=40,xmin=-200.,xmax=200.,ybins=90, ymin=0.,ymax=18.)
394
395 cscSegmGroup.defineHistogram('clus_qsum_mon,clus_secLayer;Muon_Segm_QSumPhiGoodClusPerLayer_EC',cutmask='checkStatusPhiC',type='TH2F',title='EndCap C: #phi-cluster charge per layer;counts;[sector] + [0.2 #times layer]',
396 path='EndCapC/Overview/TrackMuonSegments/CSC',xbins=80,xmin=0.,xmax=4000,ybins=85,ymin=-17.,ymax=0.)
397
398 cscSegmGroup.defineHistogram('clus_time_mon,clus_secLayer;Muon_Segm_TimePhiGoodClusPerLayer_EC',cutmask='checkTimePhiC',type='TH2F',title='EndCap A: #phi-cluster time per layer;time [ns];[sector] + [0.2 #times layer]',
399 path='EndCapC/Overview/TrackMuonSegments/CSC',xbins=40,xmin=-200.,xmax=200.,ybins=85,ymin=-17.,ymax=0.)
400
401 cscSegmGroup.defineHistogram('tmp_etaClusA;Muon_Segm_NumEtaCluster_EA',cutmask='checkClusEtaA',type='TH1F',title='Endcap A: No. of #eta-clusters on segment;#clusters;entries',
402 path='EndCapA/Detail/TrackMuonSegments/CSC',xbins=11,xmin=-0.5,xmax=10.5)
403
404 cscSegmGroup.defineHistogram('tmp_etaClusGoodA;Muon_Segm_NumGoodEtaCluster_EA',cutmask='checkClusEtaGoodA',type='TH1F',title='Endcap A: No. of good #eta-clusters on segment;#good-clusters;entries',
405 path='EndCapA/Detail/TrackMuonSegments/CSC',xbins=11,xmin=-0.5,xmax=10.5)
406
407 cscSegmGroup.defineHistogram('tmp_phiClusA;Muon_Segm_NumPhiCluster_EA',cutmask='checkClusPhiA',type='TH1F',title='Endcap A: No. of #phi-clusters on segment;#clusters;entries',
408 path='EndCapA/Detail/TrackMuonSegments/CSC',xbins=11,xmin=-0.5,xmax=10.5)
409
410 cscSegmGroup.defineHistogram('tmp_phiClusGoodA;Muon_Segm_NumGoodPhiCluster_EA',cutmask='checkClusPhiGoodA',type='TH1F',title='Endcap A: No. of good #phi-clusters on segment;#good-clusters;entries',
411 path='EndCapA/Detail/TrackMuonSegments/CSC',xbins=11,xmin=-0.5,xmax=10.5)
412
413 cscSegmGroup.defineHistogram('tmp_etaClusC;Muon_Segm_NumEtaCluster_EC',cutmask='checkClusEtaC',type='TH1F',title='Endcap C: No. of #eta-clusters on segment;#clusters;entries',
414 path='EndCapC/Detail/TrackMuonSegments/CSC',xbins=11,xmin=-0.5,xmax=10.5)
415
416 cscSegmGroup.defineHistogram('tmp_etaClusGoodC;Muon_Segm_NumGoodEtaCluster_EC',cutmask='checkClusEtaGoodC',type='TH1F',title='Endcap C: No. of good #eta-clusters on segment;#good-clusters;entries',
417 path='EndCapC/Detail/TrackMuonSegments/CSC',xbins=11,xmin=-0.5,xmax=10.5)
418
419 cscSegmGroup.defineHistogram('tmp_phiClusC;Muon_Segm_NumPhiCluster_EC',cutmask='checkClusPhiC',type='TH1F',title='Endcap C: No. of #phi-clusters on segment;#clusters;entries',
420 path='EndCapC/Detail/TrackMuonSegments/CSC',xbins=11,xmin=-0.5,xmax=10.5)
421
422 cscSegmGroup.defineHistogram('tmp_phiClusGoodC;Muon_Segm_NumGoodPhiCluster_EC',cutmask='checkClusPhiGoodC',type='TH1F',title='Endcap C: No. of good #phi-clusters on segment;#good-clusters;entries',
423 path='EndCapC/Detail/TrackMuonSegments/CSC',xbins=11,xmin=-0.5,xmax=10.5)
424
425 thisLabelx=getCSCLabelx("labels_sgm_clusCounts")
426 cscSegmGroup.defineHistogram('tmp_layerIndexA_mon,tmp_isectA_mon;Muon_Segm_NumNClusSegments_EA',type='TH2F',title='EndCap A: #eta-number of 3 and 4 cluster segments with each layer;counts;[sector] + [0.2 #times layer]',
427 path='EndCapA/Detail/TrackMuonSegments/CSC',xbins=50,xmin=.5,xmax=5.5,ybins=90,ymin=0,ymax=18.,xlabels=thisLabelx)
428
429 thisLabelx=getCSCLabelx("labels_sgm_clusCounts")
430 cscSegmGroup.defineHistogram('tmp_layerIndexC_mon,tmp_isectC_mon;Muon_Segm_NumNClusSegments_EC',type='TH2F',title='EndCap C: #eta-number of 3 and 4 cluster segments with each layer;counts;[sector] + [0.2 #times layer]',
431 path='EndCapC/Detail/TrackMuonSegments/CSC',xbins=50,xmin=.5,xmax=5.5,ybins=85,ymin=-17,ymax=0.,xlabels=thisLabelx)
432
433 cscSegmGroup.defineHistogram('etaClusQSumA;Muon_Segm_QSumEtaCluster_EA',type='TH1F',title='Endcap A: #eta-cluster Qsum;counts;entries',
434 path='EndCapA/Detail/TrackMuonSegments/CSC',xbins=80,xmin=0.,xmax=4000.)
435
436 cscSegmGroup.defineHistogram('phiClusQSumA;Muon_Segm_QSumPhiCluster_EA',type='TH1F',title='Endcap A: #phi-cluster Qsum;counts;entries',
437 path='EndCapA/Detail/TrackMuonSegments/CSC',xbins=80,xmin=0.,xmax=4000.)
438
439 cscSegmGroup.defineHistogram('etaTimeClusA;Muon_Segm_TimeEtaCluster_EA',type='TH1F',title='Endcap A: #eta-cluster Time;time [ns];entries',
440 path='EndCapA/Detail/TrackMuonSegments/CSC',xbins=40,xmin=-200.,xmax=200.)
441
442 cscSegmGroup.defineHistogram('phiTimeClusA;Muon_Segm_TimePhiCluster_EA',type='TH1F',title='Endcap A: #phi-cluster Time;time [ns];entries',
443 path='EndCapA/Detail/TrackMuonSegments/CSC',xbins=40,xmin=-200.,xmax=200.)
444
445 cscSegmGroup.defineHistogram('etaClusQSumC;Muon_Segm_QSumEtaCluster_EC',type='TH1F',title='Endcap C: #eta-cluster Qsum;counts;entries',
446 path='EndCapC/Detail/TrackMuonSegments/CSC',xbins=80,xmin=0.,xmax=4000.)
447
448 cscSegmGroup.defineHistogram('phiClusQSumC;Muon_Segm_QSumPhiCluster_EC',type='TH1F',title='Endcap C: #phi-cluster Qsum;counts;entries',
449 path='EndCapC/Detail/TrackMuonSegments/CSC',xbins=80,xmin=0.,xmax=4000.)
450
451 cscSegmGroup.defineHistogram('etaTimeClusC;Muon_Segm_TimeEtaCluster_EC',type='TH1F',title='Endcap C: #eta-cluster Time;time [ns];entries',
452 path='EndCapC/Detail/TrackMuonSegments/CSC',xbins=40,xmin=-200.,xmax=200.)
453
454 cscSegmGroup.defineHistogram('phiTimeClusC;Muon_Segm_TimePhiCluster_EC',type='TH1F',title='Endcap C: #phi-cluster Time;time [ns];entries',
455 path='EndCapC/Detail/TrackMuonSegments/CSC',xbins=40,xmin=-200.,xmax=200.)
456
457 cscSegmGroup.defineHistogram('etaQSumGoodClusA;Muon_Segm_QSumGoodEtaCluster_EA',type='TH1F',title='Endcap A: Good #eta-cluster Qsum;counts;entries',
458 path='EndCapA/Detail/TrackMuonSegments/CSC',xbins=80,xmin=0.,xmax=4000.)
459
460 cscSegmGroup.defineHistogram('phiQSumGoodClusA;Muon_Segm_QSumGoodPhiCluster_EA',type='TH1F',title='Endcap A: Good #phi-cluster Qsum;counts;entries',
461 path='EndCapA/Detail/TrackMuonSegments/CSC',xbins=80,xmin=0.,xmax=4000.)
462
463 cscSegmGroup.defineHistogram('etaQSumGoodClusC;Muon_Segm_QSumGoodEtaCluster_EC',type='TH1F',title='Endcap C: Good #eta-cluster Qsum;counts;entries',
464 path='EndCapC/Detail/TrackMuonSegments/CSC',xbins=80,xmin=0.,xmax=4000.)
465
466 cscSegmGroup.defineHistogram('phiQSumGoodClusC;Muon_Segm_QSumGoodPhiCluster_EC',type='TH1F',title='Endcap C: Good #phi-cluster Qsum;counts;entries',
467 path='EndCapC/Detail/TrackMuonSegments/CSC',xbins=80,xmin=0.,xmax=4000.)
468
469 cscSegmGroup.defineHistogram('etaTimeGoodClusA;Muon_Segm_TimeGoodEtaCluster_EA',type='TH1F',title='Endcap A: Good #eta-cluster Time;time [ns];entries',
470 path='EndCapA/Detail/TrackMuonSegments/CSC',xbins=40,xmin=-200.,xmax=200.)
471
472 cscSegmGroup.defineHistogram('etaTimeGoodClusC;Muon_Segm_TimeGoodEtaCluster_EC',type='TH1F',title='Endcap C: Good #eta-cluster Time;time [ns];entries',
473 path='EndCapC/Detail/TrackMuonSegments/CSC',xbins=40,xmin=-200.,xmax=200.)
474
475 cscSegmGroup.defineHistogram('phiTimeGoodClusA;Muon_Segm_TimeGoodPhiCluster_EA',type='TH1F',title='Endcap A: Good #phi-cluster Time;time [ns];entries',
476 path='EndCapA/Detail/TrackMuonSegments/CSC',xbins=40,xmin=-200.,xmax=200.)
477
478 cscSegmGroup.defineHistogram('phiTimeGoodClusC;Muon_Segm_TimeGoodPhiCluster_EC',type='TH1F',title='Endcap C: Good #phi-cluster Time;time [ns];entries',
479 path='EndCapC/Detail/TrackMuonSegments/CSC',xbins=40,xmin=-200.,xmax=200.)
480
481 cscSegmGroup.defineHistogram('etaQSumTotA,phiQSumTotA;Muon_Segm_QSumGoodClusCorrelation_EA',type='TH2F',title='Endcap A: #phi-cluster vs. good #eta-cluster;good #eta-cluster counts;good #phi-cluster counts',
482 path='EndCapA/Detail/TrackMuonSegments/CSC',xbins=80,xmin=0.,xmax=4000.,ybins=80,ymin=0.,ymax=4000.)
483
484 cscSegmGroup.defineHistogram('etaQSumTotC,phiQSumTotC;Muon_Segm_QSumGoodClusCorrelation_EC',type='TH2F',title='Endcap C: #phi-cluster vs. good #eta-cluster;good #eta-cluster counts;good #phi-cluster counts',
485 path='EndCapC/Detail/TrackMuonSegments/CSC',xbins=80,xmin=0.,xmax=4000.,ybins=80,ymin=0.,ymax=4000.)
486
487
493 acc = helper.result()
494 result.merge(acc)
495 return result
496
497if __name__=='__main__':
498 # Setup logs
499 from AthenaCommon.Logging import log
500 from AthenaCommon.Constants import INFO
501 log.setLevel(INFO)
502
503 # Set the Athena configuration flags
504 from AthenaConfiguration.AllConfigFlags import initConfigFlags
505 from AthenaConfiguration.TestDefaults import defaultTestFiles
506 flags = initConfigFlags()
507 flags.Input.Files = defaultTestFiles.ESD
508
509 flags.Output.HISTFileName = 'CscMonitorOutput.root'
510 flags.Detector.GeometryMuon=False
511 flags.Detector.GeometryCSC=True
512 flags.Detector.GeometryRPC=False
513 flags.Detector.GeometryTGC=False
514 flags.Detector.GeometryMM=False
515 flags.Detector.GeometryMDT=False
516 #flags.Muon.useAlignmentCorrections=False
517 flags.Muon.Align.UseILines = False
518 #flags.Muon.Align.UseAsBuilt = True
519 flags.Muon.Align.UseALines = False
520 flags.Muon.Align.UseBLines = False
521
522 flags.lock()
523 flags.dump()
524
525 # Initialize configuration object, add accumulator, merge, and run.
526 from AthenaConfiguration.MainServicesConfig import MainServicesCfg
527 from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
528 cfg = MainServicesCfg(flags)
529 cfg.merge(PoolReadCfg(flags))
530
531 cscMonitorAcc = CscMonitoringESD_AlgConfig(flags)
532 cfg.merge(cscMonitorAcc)
533
534 cfg.printConfig(withDetails=True) # set True for exhaustive info
535
536 cfg.run(20) #use cfg.run(20) to only run on first 20 events
CscMonitoringESD_AlgConfig(inputFlags)