ATLAS Offline Software
Loading...
Searching...
No Matches
IDAlignMonResidualsAlgCfg.py
Go to the documentation of this file.
2# Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3#
4
5'''@file InDetAlignMonResidualsAlgCfg.py
6@author PerJohansson
7@date 2021-2022
8@brief Configuration for Run 3 based on InDetAlignMonResiduals.cxx
9'''
10def IDAlignMonResidualsAlgCfg(helper, alg, **kwargs):
11 '''Function to configures some algorithms in the monitoring system.'''
12
13 #Values
14 m_nBinsMuRange = 101
15 m_muRangeMin = -0.5
16 m_muRangeMax = 100.5
17 m_minSiResFillRange = -0.05
18 m_maxSiResFillRange = 0.05
19 m_minSCTResFillRange = -0.07
20 m_maxSCTResFillRange = 0.07
21 m_siliconBarrelLayers = 12
22 m_siliconECLayers = 24
23 m_RangeOfPullHistos = 4
24 m_minPIXResYFillRange = -0.3
25 m_maxPIXResYFillRange = 0.3
26 m_FinerBinningFactor = 1
27 strawRadius = 2.5
28 m_EtaModulesPix = [20, 13, 13, 13]
29 m_EtaModulesMinPix = [-10.5, -6.5, -6.5, -6.5]
30 m_EtaModulesMaxPix = [9.5, 6.5, 6.5, 6.5]
31 m_PhiModules = [14, 22, 38, 52]
32 m_PhiModulesShift_barrel = 158
33 m_EtaModulesShift_barrel = 96
34 m_PhiModulesPerRing = 48
35 m_PhiModulesShift_ec = 152
36 m_EtaModulesSCT = 13
37 m_EtaModulesSCTEC = 3
38 m_EtaModulesMinSCT = -6.5
39 m_EtaModulesMaxSCT = 6.5
40 m_PhiModulesSCT = [32, 40, 48, 56]
41 m_PhiModulesPerRingSCT = 52
42 m_PhiModulesShift_sct_barrel = 208
43 m_EtaModulesShift_sct_barrel = 90
44 m_PhiModulesShift_sct_ec = 548 #52 mod/disk x 9 disk + 10*8 gaps
45 m_minTRTResWindow = -0.6
46 m_maxTRTResWindow = 0.6
47 m_TRTB_nSectorBins = 32
48 m_TRTEC_nPhiBins = 24
49
50 # Set a folder name from the user options
51 folderName = "ExtendedTracks"
52 if "TrackName" in kwargs:
53 folderName = kwargs["TrackName"]
54
55 # this creates a "residualGroup" called "alg" which will put its histograms into the subdirectory "Residuals"
56 residualGroup = helper.addGroup(alg, 'Residuals')
57 pathResiduals = '/IDAlignMon/'+folderName+'/Residuals'
58
59 # Histograms for the Alignment Residual monitoring:
60 varName = 'm_mu;mu_perEvent'
61 title = 'mu_perEvent;#LT#mu#GT per event;Events'
62 residualGroup.defineHistogram(varName, type='TH1F', path=pathResiduals, title=title, xbins=m_nBinsMuRange, xmin=m_muRangeMin, xmax=m_muRangeMax)
63
64 varName = 'm_detType;sirescalcfailure'
65 title = 'Hits with ResidualPullCalculator problem;Events;DetType'
66 residualGroup.defineHistogram(varName, type='TH1F', path=pathResiduals, title=title, xbins=2, xmin=0, xmax=2)
67
68
69 #TRT Barrel Plots
70 layersTRTB = ['', 'Side_A', 'Side_C']
71 predictedRBArray = helper.addArray([len(layersTRTB)], alg, 'TRTPredictedRB', topPath = pathResiduals)
72 for postfix, tool in predictedRBArray.Tools.items():
73 layer = layersTRTB[int( postfix.split('_')[1] )]
74 title = ('Predicted drift radius from TRT Barrel %s' % layer) + ';Predicted Drift Radius [mm];Entries'
75 name = 'm_trt_b_PredictedR;trt_b_PredictedR' + layer
76 tool.defineHistogram(name, title = title, type = 'TH1F', xbins = 100 , xmin = -strawRadius , xmax = strawRadius)
77
78 measuredRBArray = helper.addArray([len(layersTRTB)], alg, 'TRTMeasuredRB', topPath = pathResiduals)
79 for postfix, tool in measuredRBArray.Tools.items():
80 layer = layersTRTB[int( postfix.split('_')[1] )]
81 title = ('Measured at drift radius for TRT Barrel %s' % layer) + ';Measured Drift Radius [mm];Entries'
82 name = 'm_trt_b_MeasuredR;trt_b_MeasuredR' + layer
83 tool.defineHistogram(name, title = title, type = 'TH1F', xbins = 100 , xmin = -strawRadius , xmax = strawRadius)
84
85 residualRBArray = helper.addArray([len(layersTRTB)], alg, 'TRTResidualRB', topPath = pathResiduals)
86 for postfix, tool in residualRBArray.Tools.items():
87 layer = layersTRTB[int( postfix.split('_')[1] )]
88 title = ('UnBiased Residual for the TRT %s' % layer) + ';Residual [mm];Entries'
89 name = 'm_trt_b_residualR;trt_b_residualR' + layer
90 tool.defineHistogram(name, title = title, type = 'TH1F', xbins = 100 * m_FinerBinningFactor, xmin = m_minTRTResWindow , xmax = m_maxTRTResWindow)
91
92 pullRBArray = helper.addArray([len(layersTRTB)], alg, 'TRTPullRB', topPath = pathResiduals)
93 for postfix, tool in pullRBArray.Tools.items():
94 layer = layersTRTB[int( postfix.split('_')[1] )]
95 title = ('Pull for the TRT %s' % layer) + ';Pull;Entries'
96 name = 'm_trt_b_pullR;trt_b_pullR' + layer
97 tool.defineHistogram(name, title = title, type = 'TH1F', xbins = 100, xmin = -m_RangeOfPullHistos , xmax = m_RangeOfPullHistos)
98
99 residualRNoTubeBArray = helper.addArray([len(layersTRTB)], alg, 'TRTResidualRNoTubeB', topPath = pathResiduals)
100 for postfix, tool in residualRNoTubeBArray.Tools.items():
101 layer = layersTRTB[int( postfix.split('_')[1] )]
102 title = ('UnBiased Residual (notube) for the TRT %s' % layer) + ';Residual [mm];Entries'
103 name = 'm_trt_b_residualR_notube;trt_b_residualR' + layer + '_notube'
104 tool.defineHistogram(name, title = title, type = 'TH1F', xbins = 100 * m_FinerBinningFactor, xmin = m_minTRTResWindow , xmax = m_maxTRTResWindow)
105
106 pullRNoTubeBArray = helper.addArray([len(layersTRTB)], alg, 'TRTPullRNoTubeB', topPath = pathResiduals)
107 for postfix, tool in pullRNoTubeBArray.Tools.items():
108 layer = layersTRTB[int( postfix.split('_')[1] )]
109 title = ('Pull (notube) for the TRT %s' % layer) + ';Pull;Entries'
110 name = 'm_trt_b_pullR_notube;trt_b_pullR_notube' + layer
111 tool.defineHistogram(name, title = title, type = 'TH1F', xbins = 100, xmin = -m_RangeOfPullHistos , xmax = m_RangeOfPullHistos)
112
113 lrBArray = helper.addArray([len(layersTRTB)], alg, 'TRTLRB', topPath = pathResiduals)
114 for postfix, tool in lrBArray.Tools.items():
115 layer = layersTRTB[int( postfix.split('_')[1] )]
116 title = ('|0= LRcor !isTube | 1= LRcor isTube| 2= !LRcor !isTube | 3= !LRcor isTube %s' % layer) + ';;Entries'
117 name = 'm_trt_b_lr;trt_b_lr' + layer
118 tool.defineHistogram(name, title = title, type = 'TH1F', xbins = 4, xmin = 0 , xmax = 4)
119
120 #Plots for A+C,A,C over Barrel layer 0,1,2
121 layTRTB = ['0', '1', '2']
122 resvsEtaBArray = helper.addArray([len(layersTRTB),len(layTRTB)], alg, 'TRTResVsEtaB', topPath = pathResiduals)
123 for postfix, tool in resvsEtaBArray.Tools.items():
124 layer = layersTRTB[int( postfix.split('_')[1] )]
125 lay = layTRTB[int( postfix.split('_')[2] )]
126 title = ('Average Residual vs Track Eta for TRT Barrel module layer %s %s' % (lay,layer)) + ';Track Eta;Average Residual [mm]'
127 name = 'm_trt_b_aveResVsTrackEta, m_trt_b_residualR;trt_b_aveResVsTrackEta_l' + lay + layer
128 tool.defineHistogram(name, title = title, type = 'TProfile', xbins = 20, xmin = -2.5 , xmax = 2.5, ymin = -1.0 , ymax = 1.0)
129
130 resVsPhiSecBArray = helper.addArray([len(layersTRTB),len(layTRTB)], alg, 'TRTResVsPhiSecB', topPath = pathResiduals)
131 for postfix, tool in resVsPhiSecBArray.Tools.items():
132 layer = layersTRTB[int( postfix.split('_')[1] )]
133 lay = layTRTB[int( postfix.split('_')[2] )]
134 title = ('Average Residual vs PhiSec for TRT Barrel Layer %s %s' % (lay,layer)) + ';Phi Sector;Average Residual [mm]'
135 name = 'm_trt_b_PhiSec,m_trt_b_residualR;trt_b_aveRes_l' + lay +layer
136 tool.defineHistogram(name, title = title, type = 'TProfile', xbins = m_TRTB_nSectorBins, xmin = -0.5 , xmax = 31.5, ymin = -1.0 , ymax = 1.0)
137
138 lrVsPhiSecBArray = helper.addArray([len(layersTRTB),len(layTRTB)], alg, 'TRTLRVsPhiSecB', topPath = pathResiduals)
139 for postfix, tool in lrVsPhiSecBArray.Tools.items():
140 layer = layersTRTB[int( postfix.split('_')[1] )]
141 lay = layTRTB[int( postfix.split('_')[2] )]
142 title = ('LR assignment vs Phi Sector for TRT Barrel Layer %s %s' % (lay,layer)) + ';Phi Sector;fraction of LR assignment correct'
143 name = 'm_trt_b_PhiSec,m_trt_b_lrVsPhiSec;trt_b_lr_l' + lay + layer
144 tool.defineHistogram(name, title = title, type = 'TProfile', xbins = m_TRTB_nSectorBins, xmin = -0.5 , xmax = 31.5)
145
146
147 #TRT EndCap Plots
148 layersTRTEC = ['Endcap_A', 'Endcap_C']
149 predictedRECArray = helper.addArray([len(layersTRTEC)], alg, 'TRTPredictedREC', topPath = pathResiduals)
150 for postfix, tool in predictedRECArray.Tools.items():
151 layer = layersTRTEC[int( postfix.split('_')[1] )]
152 title = ('Predicted drift radius for TRT %s' % layer) + ';Predicted Drift Radius [mm];Entries'
153 name = 'm_trt_ec_PredictedR;trt_ec_PredictedR' + layer
154 tool.defineHistogram(name, title = title, type = 'TH1F', xbins = 100 , xmin = -strawRadius , xmax = strawRadius)
155
156 measuredRECArray = helper.addArray([len(layersTRTEC)], alg, 'TRTMeasuredREC', topPath = pathResiduals)
157 for postfix, tool in measuredRECArray.Tools.items():
158 layer = layersTRTEC[int( postfix.split('_')[1] )]
159 title = ('Measured at line drift radius from TRT %s' % layer) + ';Measured Drift Radius [mm];Entries'
160 name = 'm_trt_ec_MeasuredR;trt_ec_MeasuredR' + layer
161 tool.defineHistogram(name, title = title, type = 'TH1F', xbins = 100 , xmin = -strawRadius , xmax = strawRadius)
162
163 residualRECArray = helper.addArray([len(layersTRTEC)], alg, 'TRTResidualREC', topPath = pathResiduals)
164 for postfix, tool in residualRECArray.Tools.items():
165 layer = layersTRTEC[int( postfix.split('_')[1] )]
166 title = ('UnBiased Residual for TRT %s' % layer) + ';Residual [mm];Entries'
167 name = 'm_trt_ec_residualR;trt_ec_residualR' + layer
168 tool.defineHistogram(name, title = title, type = 'TH1F', xbins = 200, xmin = m_minTRTResWindow , xmax = m_maxTRTResWindow)
169
170 pullRECArray = helper.addArray([len(layersTRTEC)], alg, 'TRTPullREC', topPath = pathResiduals)
171 for postfix, tool in pullRECArray.Tools.items():
172 layer = layersTRTEC[int( postfix.split('_')[1] )]
173 title = ('Pull for TRT %s' % layer) + ';Pull;Entries'
174 name = 'm_trt_ec_pullR;trt_ec_pullR_' + layer
175 tool.defineHistogram(name, title = title, type = 'TH1F', xbins = 100, xmin = -m_RangeOfPullHistos , xmax = m_RangeOfPullHistos)
176
177 pullRNoTubeECArray = helper.addArray([len(layersTRTEC)], alg, 'TRTPullRNoTubeEC', topPath = pathResiduals)
178 for postfix, tool in pullRNoTubeECArray.Tools.items():
179 layer = layersTRTEC[int( postfix.split('_')[1] )]
180 title = ('Pull (notube) for TRT %s' % layer) + ';Pull;Entries'
181 name = 'm_trt_ec_pullR_notube;trt_ec_pullR_notube_' + layer
182 tool.defineHistogram(name, title = title, type = 'TH1F', xbins = 100, xmin = -m_RangeOfPullHistos , xmax = m_RangeOfPullHistos)
183
184 residualRECArray = helper.addArray([len(layersTRTEC)], alg, 'TRTResidualRNoTubeEC', topPath = pathResiduals)
185 for postfix, tool in residualRECArray.Tools.items():
186 layer = layersTRTEC[int( postfix.split('_')[1] )]
187 title = ('UnBiased Residual (notube) for TRT %s' % layer) + ';Residual [mm];Entries'
188 name = 'm_trt_ec_residualR_notube;trt_ec_residualR_notube' + layer
189 tool.defineHistogram(name, title = title, type = 'TH1F', xbins = 200, xmin = m_minTRTResWindow , xmax = m_maxTRTResWindow)
190
191 lrECArray = helper.addArray([len(layersTRTEC)], alg, 'TRTLREC', topPath = pathResiduals)
192 for postfix, tool in lrECArray.Tools.items():
193 layer = layersTRTEC[int( postfix.split('_')[1] )]
194 title = ('|0= LRcor !isTube | 1= LRcor isTube| 2= !LRcor !isTube | 3= !LRcor isTube %s' % layer) + ';;Entries'
195 name = 'm_trt_ec_lr;trt_ec_lr' + layer
196 tool.defineHistogram(name, title = title, type = 'TH1F', xbins = 4, xmin = 0 , xmax = 4)
197
198 resvsEtaECArray = helper.addArray([len(layersTRTEC)], alg, 'TRTResVsEtaEC', topPath = pathResiduals)
199 for postfix, tool in resvsEtaECArray.Tools.items():
200 layer = layersTRTEC[int( postfix.split('_')[1] )]
201 title = ('Average Residual vs Eta for TRT %s' % layer) + ';Track Eta;Residual [mm]'
202 name = 'm_trt_ec_aveResVsTrackEta, m_trt_ec_residualR;trt_ec_aveResVsTrackEta_' + layer
203 tool.defineHistogram(name, title = title, type = 'TProfile', xbins = 20, xmin = -2.5 , xmax = 2.5, ymin = -1.0, ymax = 1.0)
204
205 resVsPhiSecECArray = helper.addArray([len(layersTRTEC)], alg, 'TRTResVsPhiEC', topPath = pathResiduals)
206 for postfix, tool in resVsPhiSecECArray.Tools.items():
207 layer = layersTRTEC[int( postfix.split('_')[1] )]
208 title = ('Average Residual vs PhiSec for TRT %s' % layer) + ';Phi Sector;Average Residual [mm]'
209 name = 'm_trt_ec_phi,m_trt_ec_residualR;trt_ec_aveResVsPhiSec_' + layer
210 tool.defineHistogram(name, title = title, type = 'TProfile', xbins = m_TRTEC_nPhiBins, xmin = -0.5 , xmax = m_TRTEC_nPhiBins - 0.5, ymin = -1.0, ymax = 1.0)
211
212 lrVsPhiSecECArray = helper.addArray([len(layersTRTEC)], alg, 'TRTLRVsPhiEC', topPath = pathResiduals)
213 for postfix, tool in lrVsPhiSecECArray.Tools.items():
214 layer = layersTRTEC[int( postfix.split('_')[1] )]
215 title = ('LR assignment vs Phi Sector for TRT %s' % layer) + ';Phi Sector;fraction of LR assignment correct'
216 name = 'm_trt_ec_phi,m_trt_ec_lrVsPhiSec;trt_ec_lrVsPhiSec_' + layer
217 tool.defineHistogram(name, title = title, type = 'TProfile', xbins = m_TRTEC_nPhiBins, xmin = -0.5 , xmax = m_TRTEC_nPhiBins - 0.5)
218
219 # TRT residuals vs pt-wheel for end-caps
220 residualECTRT2DProfArray = helper.addArray([len(layersTRTEC)], alg, 'TRTResECvspT_2DProf', topPath = pathResiduals)
221 for postfix, tool in residualECTRT2DProfArray.Tools.items():
222 layer = layersTRTEC[int(postfix.split('_')[1])]
223 title = ('Residual vs pT-Wheel TRT %s; Wheel; Momentum p_{T}; Residual [mm]' % layer.upper())
224 name = 'm_layer_or_wheel,m_pT,m_trt_ec_residualR;trt_ec_resVsqPtWheel_' + layer
225 tool.defineHistogram(name, title = title, type = 'TProfile2D', xbins = 20, xmin = - 0.5, xmax = 20 - 0.5,
226 ybins = 80, ymin = -40, ymax = 40,
227 zmin = m_minTRTResWindow, zmax = m_maxTRTResWindow)
228
229 #Silicon Plots
230 #Common for Pixel and SCT, barrel and Endcaps
231 varName = 'm_si_residualx;si_residualx'
232 title = 'Silicon UnBiased X Residual;Residual [mm];Events'
233 residualGroup.defineHistogram(varName, type='TH1F', path=pathResiduals, title=title, xbins=100, xmin=m_minSiResFillRange, xmax=m_maxSiResFillRange)
234
235 varName = 'm_si_b_residualx;si_b_residualx'
236 title = 'Silicon Barrel Only UnBiased X Residual;Residual [mm];Events'
237 residualGroup.defineHistogram(varName, type='TH1F', path=pathResiduals, title=title, xbins=100, xmin=m_minSiResFillRange, xmax=m_maxSiResFillRange)
238
239 varName = 'm_layerDisk_si, m_si_barrel_resX;si_barrel_resX'
240 title = 'Residual X vs Silicon Barrel Layer;Layer;Residual [mm]'
241 residualGroup.defineHistogram(varName, type='TH2F', path=pathResiduals, title=title, xbins=m_siliconBarrelLayers, xmin=-0.5, xmax=m_siliconBarrelLayers-0.5, ybins=100 * m_FinerBinningFactor, ymin=m_minSiResFillRange, ymax=m_maxSiResFillRange)
242
243 varName = 'm_layerDisk_si, m_si_barrel_resY;si_barrel_resY'
244 title = 'Residual Y vs Silicon Barrel Layer;Layer;Residual [mm]'
245 residualGroup.defineHistogram(varName, type='TH2F', path=pathResiduals, title=title, xbins=m_siliconBarrelLayers, xmin=-0.5, xmax=m_siliconBarrelLayers-0.5, ybins=100 * m_FinerBinningFactor, ymin=m_minPIXResYFillRange, ymax=m_maxPIXResYFillRange)
246
247 varName = 'm_layerDisk_si, m_si_barrel_pullX;si_barrel_pullX'
248 title = 'Pull X vs Silicon Barrel Layer;Layer;Pull'
249 residualGroup.defineHistogram(varName, type='TH2F', path=pathResiduals, title=title, xbins=m_siliconBarrelLayers, xmin=-0.5, xmax=m_siliconBarrelLayers-0.5, ybins=100, ymin=-m_RangeOfPullHistos, ymax=m_RangeOfPullHistos)
250
251 varName = 'm_layerDisk_si, m_si_barrel_pullY;si_barrel_pullY'
252 title = 'Pull Y vs Silicon Barrel Layer;Layer;Pull'
253 residualGroup.defineHistogram(varName, type='TH2F', path=pathResiduals, title=title, xbins=m_siliconBarrelLayers, xmin=-0.5, xmax=m_siliconBarrelLayers-0.5, ybins=100, ymin=-m_RangeOfPullHistos, ymax=m_RangeOfPullHistos)
254
255 varName = 'm_layerDisk_si, m_si_eca_resX;si_eca_resX'
256 title = 'Residual X vs Silicon ECA Layer;Residual [mm]'
257 residualGroup.defineHistogram(varName, type='TH2F', path=pathResiduals, title=title, xbins=m_siliconECLayers, xmin=-0.5, xmax=m_siliconECLayers-0.5, ybins=100 * m_FinerBinningFactor, ymin=m_minSiResFillRange, ymax=m_maxSiResFillRange)
258
259 varName = 'm_layerDisk_si, m_si_eca_resY;si_eca_resY'
260 title = 'Residual Y vs Silicon ECA Layer;Layer;Residual [mm]'
261 residualGroup.defineHistogram(varName, type='TH2F', path=pathResiduals, title=title, xbins=m_siliconECLayers, xmin=-0.5, xmax=m_siliconECLayers-0.5, ybins=100 * m_FinerBinningFactor, ymin=m_minPIXResYFillRange, ymax=m_maxPIXResYFillRange)
262
263 varName = 'm_layerDisk_si, m_si_eca_pullX;si_eca_pullX'
264 title = 'Pull X vs Silicon ECA Layer;Layer;Pull'
265 residualGroup.defineHistogram(varName, type='TH2F', path=pathResiduals, title=title, xbins=m_siliconECLayers, xmin=-0.5, xmax=m_siliconECLayers-0.5, ybins=100, ymin=-m_RangeOfPullHistos, ymax=m_RangeOfPullHistos)
266
267 varName = 'm_layerDisk_si, m_si_eca_pullY;si_eca_pullY'
268 title = 'Pull Y vs Silicon ECA Layer;Layer;Pull'
269 residualGroup.defineHistogram(varName, type='TH2F', path=pathResiduals, title=title, xbins=m_siliconECLayers, xmin=-0.5, xmax=m_siliconECLayers-0.5, ybins=100, ymin=-m_RangeOfPullHistos, ymax=m_RangeOfPullHistos)
270
271 varName = 'm_layerDisk_si, m_si_ecc_resX;si_ecc_resX'
272 title = 'Residual X vs Silicon ECC Layer;Layer;Residual [mm]'
273 residualGroup.defineHistogram(varName, type='TH2F', path=pathResiduals, title=title, xbins=m_siliconECLayers, xmin=-0.5, xmax=m_siliconECLayers-0.5, ybins=100 * m_FinerBinningFactor, ymin=m_minSiResFillRange, ymax=m_maxSiResFillRange)
274
275 varName = 'm_layerDisk_si, m_si_ecc_resY;si_ecc_resY'
276 title = 'Residual Y vs Silicon ECC Layer;Layer;Residual [mm]'
277 residualGroup.defineHistogram(varName, type='TH2F', path=pathResiduals, title=title, xbins=m_siliconECLayers, xmin=-0.5, xmax=m_siliconECLayers-0.5, ybins=100 * m_FinerBinningFactor, ymin=m_minPIXResYFillRange, ymax=m_maxPIXResYFillRange)
278
279 varName = 'm_layerDisk_si, m_si_ecc_pullX;si_ecc_pullX'
280 title = 'Pull X vs Silicon ECA Layer;Layer;Pull'
281 residualGroup.defineHistogram(varName, type='TH2F', path=pathResiduals, title=title, xbins=m_siliconECLayers, xmin=-0.5, xmax=m_siliconECLayers-0.5, ybins=100, ymin=-m_RangeOfPullHistos, ymax=m_RangeOfPullHistos)
282
283 varName = 'm_layerDisk_si, m_si_ecc_pullY;si_ecc_pullY'
284 title = 'Pull Y vs Silicon ECC Layer;Layer;Pull'
285 residualGroup.defineHistogram(varName, type='TH2F', path=pathResiduals, title=title, xbins=m_siliconECLayers, xmin=-0.5, xmax=m_siliconECLayers-0.5, ybins=100, ymin=-m_RangeOfPullHistos, ymax=m_RangeOfPullHistos)
286
287
288 #Pixel Barrel Plots
289 varName = 'm_pix_b_residualx;pix_b_residualx'
290 title = 'UnBiased X Residual Pixel Barrel;Residual [mm];Events'
291 residualGroup.defineHistogram(varName, type='TH1F', path=pathResiduals, title=title, xbins=100, xmin=m_minSiResFillRange, xmax=m_maxSiResFillRange)
292
293 varName = 'm_pix_b_biased_residualx;pix_b_biasedresidualx'
294 title = 'Biased X Residual Pixel Barrel;Residual [mm];Events'
295 residualGroup.defineHistogram(varName, type='TH1F', path=pathResiduals, title=title, xbins=100, xmin=m_minSiResFillRange, xmax=m_maxSiResFillRange)
296
297 varName = 'm_pix_b_residualy;pix_b_residualy'
298 title = 'UnBiased Y Residual Pixel Barrel;Residual [mm];Events'
299 residualGroup.defineHistogram(varName, type='TH1F', path=pathResiduals, title=title, xbins=100, xmin=m_minPIXResYFillRange, xmax=m_maxPIXResYFillRange)
300
301 varName = 'm_pix_b_biased_residualy;pix_b_biasedresidualy'
302 title = 'Biased Y Residual Pixel Barrel;Residual [mm];Events'
303 residualGroup.defineHistogram(varName, type='TH1F', path=pathResiduals, title=title, xbins=100, xmin=m_minPIXResYFillRange, xmax=m_maxPIXResYFillRange)
304
305 layersPix = ['0', '1', '2', '3']
306 layersName = ['IBL','B-layer','1','2']
307 residualXArray = helper.addArray([len(layersPix)], alg, 'PixResidualX', topPath = pathResiduals)
308 for postfix, tool in residualXArray.Tools.items():
309 layer = layersPix[int( postfix.split('_')[1] )]
310 title = ('UnBiased X Residual Pixel Barrel %s' % layersName[int(layer)])
311 name = 'm_pix_residualsx;pix_b' + layer + '_residualx'
312 tool.defineHistogram(name, title = title, type = 'TH1F',
313 xbins = 100 * m_FinerBinningFactor, xmin = m_minSiResFillRange, xmax = m_maxSiResFillRange)
314
315 residualYArray = helper.addArray([len(layersPix)], alg, 'PixResidualY', topPath = pathResiduals)
316 for postfix, tool in residualYArray.Tools.items():
317 layer = layersPix[int( postfix.split('_')[1] )]
318 title = ('UnBiased Y Residual Pixel Barrel %s' % layersName[int(layer)])
319 name = 'm_pix_residualsy;pix_b' + layer + '_residualy'
320 tool.defineHistogram(name, title = title, type = 'TH1F',
321 xbins = 100 * m_FinerBinningFactor, xmin = m_minPIXResYFillRange, xmax = m_maxPIXResYFillRange)
322
323 # Define local X,Y 3D histograms (not really 3D histograms but TProfile 2D)
324 residualX2DProfArray = helper.addArray([len(layersPix)], alg, 'PixResidualX_2DProf', topPath = pathResiduals)
325 for postfix, tool in residualX2DProfArray.Tools.items():
326 layer = layersPix[int( postfix.split('_')[1] )]
327 title = ('Local X Residual vs Module Eta-Phi-ID Pixel Barrel layer %s; Mod Eta; Mod Phi; Local X Residual [mm]' % layersName[int(layer)])
328 name = 'm_modEta,m_modPhi,m_pix_residualsx;pix_b' + layer + '_xresvsmodetaphi_2dprof'
329 tool.defineHistogram(name, title = title, type = 'TProfile2D', xbins = m_EtaModulesPix[int(layer)], xmin = m_EtaModulesMinPix[int(layer)], xmax = m_EtaModulesMaxPix[int(layer)],
330 ybins = m_PhiModules[int(layer)], ymin = -0.5, ymax = m_PhiModules[int(layer)] - 0.5,
331 zmin = m_minSiResFillRange, zmax = m_maxSiResFillRange)
332
333 residualY2DProfArray = helper.addArray([len(layersPix)], alg, 'PixResidualY_2DProf', topPath = pathResiduals)
334 for postfix, tool in residualY2DProfArray.Tools.items():
335 layer = layersPix[int( postfix.split('_')[1] )]
336 title = ('Local Y Residual vs Module Eta-Phi-ID Pixel Barrel layer %s; Mod Eta; Mod Phi; Local Y Residual [mm]' % layersName[int(layer)])
337 name = 'm_modEta,m_modPhi,m_pix_residualsy;pix_b' + layer + '_yresvsmodetaphi_2dprof'
338 tool.defineHistogram(name, title = title, type = 'TProfile2D', xbins = m_EtaModulesPix[int(layer)], xmin = m_EtaModulesMinPix[int(layer)], xmax = m_EtaModulesMaxPix[int(layer)],
339 ybins = m_PhiModules[int(layer)], ymin = -0.5, ymax = m_PhiModules[int(layer)] - 0.5,
340 zmin = m_minPIXResYFillRange, zmax = m_maxPIXResYFillRange)
341
342 pullXArray = helper.addArray([len(layersPix)], alg, 'PixPullX', topPath = pathResiduals)
343 for postfix, tool in pullXArray.Tools.items():
344 layer = layersPix[int( postfix.split('_')[1] )]
345 title = ('UnBiased X Pull Pixel Barrel %s' % layer) + ';Pull'
346 name = 'm_pix_pullsx;pix_b' + layer + '_pullx'
347 tool.defineHistogram(name, title = title, type = 'TH1F',
348 xbins = 100 * m_FinerBinningFactor, xmin = -m_RangeOfPullHistos, xmax = m_RangeOfPullHistos)
349
350 pullYArray = helper.addArray([len(layersPix)], alg, 'PixPullY', topPath = pathResiduals)
351 for postfix, tool in pullYArray.Tools.items():
352 layer = layersPix[int( postfix.split('_')[1] )]
353 title = ('UnBiased Y Pull Pixel Barrel %s' % layer) + ';Pull'
354 name = 'm_pix_pullsy;pix_b' + layer + '_pully'
355 tool.defineHistogram(name, title = title, type = 'TH1F',
356 xbins = 100 * m_FinerBinningFactor, xmin = -m_RangeOfPullHistos, xmax = m_RangeOfPullHistos)
357
358 resXvsEtaArray = helper.addArray([len(layersPix)], alg, 'PixResidualXvsEta', topPath = pathResiduals)
359 for postfix, tool in resXvsEtaArray.Tools.items():
360 layer = layersPix[int( postfix.split('_')[1] )]
361 layerInd = int(layer)
362 EtaModules = m_EtaModulesPix[layerInd]
363 EtaModulesMin = m_EtaModulesMinPix[layerInd]
364 EtaModulesMax = m_EtaModulesMaxPix[layerInd]
365 title = ('X Residual Distribution vs Module Eta-ID Pixel Barrel %s' % layer) + ';Mod Eta;Residual [mm]'
366 name = 'm_modEta,m_residualX;pix_b' + layer + '_xresidualvseta_2d'
367 tool.defineHistogram(name, title = title, type = 'TH2F',
368 xbins = EtaModules, xmin = EtaModulesMin, xmax = EtaModulesMax,
369 ybins = 50 * m_FinerBinningFactor, ymin = m_minSiResFillRange, ymax = m_maxSiResFillRange)
370
371 resYvsEtaArray = helper.addArray([len(layersPix)], alg, 'PixResidualYvsEta', topPath = pathResiduals)
372 for postfix, tool in resYvsEtaArray.Tools.items():
373 layer = layersPix[int( postfix.split('_')[1] )]
374 layerInd = int(layer)
375 EtaModules = m_EtaModulesPix[layerInd]
376 EtaModulesMin = m_EtaModulesMinPix[layerInd]
377 EtaModulesMax = m_EtaModulesMaxPix[layerInd]
378 title = ('Y Residual Distribution vs Module Eta-ID Pixel Barrel %s' % layer) + ';Mod Eta;Residual [mm]'
379 name = 'm_modEta,m_residualY;pix_b' + layer + '_yresidualvseta_2d'
380 tool.defineHistogram(name, title = title, type = 'TH2F',
381 xbins = EtaModules, xmin = EtaModulesMin, xmax = EtaModulesMax,
382 ybins = 50 * m_FinerBinningFactor, ymin = m_minPIXResYFillRange, ymax = m_maxPIXResYFillRange)
383
384 resXvsPhiArray = helper.addArray([len(layersPix)], alg, 'PixResidualXvsPhi', topPath = pathResiduals)
385 for postfix, tool in resXvsPhiArray.Tools.items():
386 layer = layersPix[int( postfix.split('_')[1] )]
387 layerInd = int(layer)
388 PhiModules = m_PhiModules[layerInd]
389 title = ('X Residual Distribution vs Module Phi-ID Pixel Barrel %s' % layer) + ';Mod Phi;Residual [mm]'
390 name = 'm_modPhi,m_residualX;pix_b' + layer + '_xresidualvsphi_2d'
391 tool.defineHistogram(name, title = title, type = 'TH2F',
392 xbins = PhiModules, xmin = - 0.5, xmax = PhiModules - 0.5,
393 ybins = 50 * m_FinerBinningFactor, ymin = m_minSiResFillRange, ymax = m_maxSiResFillRange)
394
395 resYvsPhiArray = helper.addArray([len(layersPix)], alg, 'PixResidualYvsPhi', topPath = pathResiduals)
396 for postfix, tool in resYvsPhiArray.Tools.items():
397 layer = layersPix[int( postfix.split('_')[1] )]
398 layerInd = int(layer)
399 PhiModules = m_PhiModules[layerInd]
400 title = ('Y Residual Distribution vs Module Phi-ID Pixel Barrel %s' % layer) + ';Mod Phi;Residual [mm]'
401 name = 'm_modPhi,m_residualY;pix_b' + layer + '_yresidualvsphi_2d'
402 tool.defineHistogram(name, title = title, type = 'TH2F',
403 xbins = PhiModules, xmin = - 0.5, xmax = PhiModules - 0.5,
404 ybins = 50 * m_FinerBinningFactor, ymin = m_minPIXResYFillRange, ymax = m_maxPIXResYFillRange)
405
406 varName = 'm_modPhiShift_barrel,m_residualX_barrel;pix_b_xresvsmodphi_profile'
407 title = 'X Residual Mean vs (Modified) Module Phi-ID Pixel Barrel;(Modified) Phi-ID;Residual [mm]'
408 residualGroup.defineHistogram(varName, title = title, type = 'TProfile', path=pathResiduals,
409 xbins = m_PhiModulesShift_barrel, xmin = 0, xmax = m_PhiModulesShift_barrel)
410
411 varName = 'm_modPhiShift_barrel,m_residualY_barrel;pix_b_yresvsmodphi_profile'
412 title = 'Y Residual Mean vs (Modified) Module Phi-ID Pixel Barrel;(Modified) Phi-ID;Residual [mm]'
413 residualGroup.defineHistogram(varName, title = title, type = 'TProfile', path=pathResiduals,
414 xbins = m_PhiModulesShift_barrel, xmin = 0, xmax = m_PhiModulesShift_barrel)
415
416 varName = 'm_modEtaShift_barrel,m_residualX_barrel;pix_b_xresvsmodeta_profile'
417 title = 'X Residual Mean vs (Modified) Module Eta-ID Pixel Barrel;(Modified) Eta-ID;Residual [mm]'
418 residualGroup.defineHistogram(varName, title = title, type = 'TProfile', path=pathResiduals,
419 xbins = m_EtaModulesShift_barrel, xmin = 0, xmax = m_EtaModulesShift_barrel)
420
421 varName = 'm_modEtaShift_barrel,m_residualY_barrel;pix_b_yresvsmodeta_profile'
422 title = 'Y Residual Mean vs (Modified) Module Eta-ID Pixel Barrel;(Modified) Eta-ID;Residual [mm]'
423 residualGroup.defineHistogram(varName, title = title, type = 'TProfile', path=pathResiduals,
424 xbins = m_EtaModulesShift_barrel, xmin = 0, xmax = m_EtaModulesShift_barrel)
425
426 #Pixel EndCap A plots
427 layersECPix = ['0', '1', '2']
428 varName = 'm_pix_eca_residualx;pix_eca_residualx'
429 title = 'UnBiased X Residual Pixel EndCap A;Residual [mm]'
430 residualGroup.defineHistogram(varName, type='TH1F', path=pathResiduals, title=title, xbins=100, xmin=m_minSiResFillRange, xmax=m_maxSiResFillRange)
431
432 varName = 'm_pix_eca_residualy;pix_eca_residualy'
433 title = 'UnBiased Y Residual Pixel EndCap A;Residual [mm]'
434 residualGroup.defineHistogram(varName, type='TH1F', path=pathResiduals, title=title, xbins=100, xmin=m_minPIXResYFillRange, xmax=m_maxPIXResYFillRange)
435
436 varName = 'm_pix_eca_pullx;pix_eca_pulllx'
437 title = 'UnBiased X Pull Pixel EndCap A;Pull'
438 residualGroup.defineHistogram(varName, type='TH1F', path=pathResiduals, title=title, xbins=100, xmin=-m_RangeOfPullHistos, xmax=m_RangeOfPullHistos)
439
440 varName = 'm_pix_eca_pully;pix_eca_pullly'
441 title = 'UnBiased Y Pull Pixel EndCap A;Pull'
442 residualGroup.defineHistogram(varName, type='TH1F', path=pathResiduals, title=title, xbins=100, xmin=-m_RangeOfPullHistos, xmax=m_RangeOfPullHistos)
443
444 residualECAXArray = helper.addArray([len(layersECPix)], alg, 'PixResidualXECA', topPath = pathResiduals)
445 for postfix, tool in residualECAXArray.Tools.items():
446 layer = layersECPix[int( postfix.split('_')[1] )]
447 title = ('UNBIASED X Residual Average vs Module Phi of Pixel Endcap A Disk %s' % layer)
448 name = 'm_modPhi,m_pix_eca_residualx;m_pix_eca_unbiased_xresvsmodphi_disk' + layer
449 tool.defineHistogram(name, title = title, type = 'TProfile',
450 xbins = m_PhiModulesPerRing, xmin = -0.5, xmax = m_PhiModulesPerRing - 0.5)
451
452 residualECAYArray = helper.addArray([len(layersECPix)], alg, 'PixResidualYECA', topPath = pathResiduals)
453 for postfix, tool in residualECAYArray.Tools.items():
454 layer = layersECPix[int( postfix.split('_')[1] )]
455 title = ('UNBIASED Y Residual Average vs Module Phi of Pixel Endcap A Disk %s' % layer)
456 name = 'm_modPhi,m_pix_eca_residualy;m_pix_eca_unbiased_yresvsmodphi_disk' + layer
457 tool.defineHistogram(name, title = title, type = 'TProfile',
458 xbins = m_PhiModulesPerRing, xmin = -0.5, xmax = m_PhiModulesPerRing - 0.5)
459
460 # Define local X,Y 3D histograms for endcaps A, C (not really 3D histograms but TProfile 2D)
461 endcapsPix = ['a', 'c']
462 residualECX2DProfArray = helper.addArray([len(endcapsPix)], alg, 'PixResidualXEC_2DProf', topPath = pathResiduals)
463 for postfix, tool in residualECX2DProfArray.Tools.items():
464 layer = endcapsPix[int(postfix.split('_')[1])]
465 title = ('Local X Residual vs Module Disk-Phi-ID Pixel Endcap %s; Disk; Mod Phi; Local X Residual [mm]' % layer.upper())
466 name = 'm_layerDisk,m_modPhi,m_pix_ec_residualx;pix_ec' + layer + '_xresvsmodetaphi_2dprof'
467 tool.defineHistogram(name, title = title, type = 'TProfile2D', xbins = 3, xmin = - 0.5, xmax = 3 - 0.5,
468 ybins = m_PhiModulesPerRing, ymin = -0.5, ymax = m_PhiModulesPerRing - 0.5,
469 zmin = m_minSiResFillRange, zmax = m_maxSiResFillRange)
470
471 residualECY2DProfArray = helper.addArray([len(endcapsPix)], alg, 'PixResidualYEC_2DProf', topPath = pathResiduals)
472 for postfix, tool in residualECY2DProfArray.Tools.items():
473 layer = endcapsPix[int( postfix.split('_')[1])]
474 title = ('Local Y Residual vs Module Eta-Phi-ID Pixel Endcap %s; Disk; Mod Phi; Local Y Residual [mm]' % layer.upper())
475 name = 'm_layerDisk,m_modPhi,m_pix_ec_residualy;pix_ec' + layer + '_yresvsmodetaphi_2dprof'
476 tool.defineHistogram(name, title = title, type = 'TProfile2D', xbins = 3, xmin = - 0.5, xmax = 3 - 0.5,
477 ybins = m_PhiModulesPerRing, ymin = -0.5, ymax = m_PhiModulesPerRing - 0.5,
478 zmin = m_minPIXResYFillRange, zmax = m_maxPIXResYFillRange)
479
480 varName = 'm_modPhiShift_eca,m_residualX_eca;pix_eca_xresvsmodphi_2d'
481 title = 'X Residual Mean vs (Modified) Module Phi-ID Pixel ECA;(Modified) Phi-ID;Residual [mm]'
482 residualGroup.defineHistogram(varName, title = title, type = 'TH2F', path=pathResiduals,
483 xbins = m_PhiModulesShift_ec, xmin = 0, xmax = m_PhiModulesShift_ec,
484 ybins = 100 * m_FinerBinningFactor, ymin = m_minSiResFillRange, ymax = m_maxSiResFillRange)
485
486 varName = 'm_modPhiShift_eca,m_residualY_eca;pix_eca_yresvsmodphi_2d'
487 title = 'Y Residual Mean vs (Modified) Module Phi-ID Pixel ECA;(Modified) Phi-ID;Residual [mm]'
488 residualGroup.defineHistogram(varName, title = title, type = 'TH2F', path=pathResiduals,
489 xbins = m_PhiModulesShift_ec, xmin = 0, xmax = m_PhiModulesShift_ec,
490 ybins = 100 * m_FinerBinningFactor, ymin = m_minPIXResYFillRange, ymax = m_maxPIXResYFillRange)
491
492 varName = 'm_modPhiShift_eca,m_residualX_eca;pix_eca_xresvsmodphi_profile'
493 title = 'X Residual Mean vs (Modified) Module Phi-ID Pixel ECA;(Modified) Phi-ID;Residual [mm]'
494 residualGroup.defineHistogram(varName, title = title, type = 'TProfile', path=pathResiduals,
495 xbins = m_PhiModulesShift_ec, xmin = 0, xmax = m_PhiModulesShift_ec)
496
497 varName = 'm_modPhiShift_eca,m_residualY_eca;pix_eca_yresvsmodphi_profile'
498 title = 'Y Residual Mean vs (Modified) Module Phi-ID Pixel ECA;(Modified) Phi-ID;Residual [mm]'
499 residualGroup.defineHistogram(varName, title = title, type = 'TProfile', path=pathResiduals,
500 xbins = m_PhiModulesShift_ec, xmin = 0, xmax = m_PhiModulesShift_ec)
501
502 #Pixel EndCap C plots
503 varName = 'm_pix_ecc_residualx;pix_ecc_residualx'
504 title = 'UnBiased X Residual Pixel EndCap C;Residual [mm]'
505 residualGroup.defineHistogram(varName, type='TH1F', path=pathResiduals, title=title, xbins=100, xmin=m_minSiResFillRange, xmax=m_maxSiResFillRange)
506
507 varName = 'm_pix_ecc_residualy;pix_ecc_residualy'
508 title = 'UnBiased Y Residual Pixel EndCap C;Residual [mm]'
509 residualGroup.defineHistogram(varName, type='TH1F', path=pathResiduals, title=title, xbins=100, xmin=m_minPIXResYFillRange, xmax=m_maxPIXResYFillRange)
510
511 varName = 'm_pix_ecc_pullx;pix_ecc_pulllx'
512 title = 'UnBiased X Pull Pixel EndCap C;Pull'
513 residualGroup.defineHistogram(varName, type='TH1F', path=pathResiduals, title=title, xbins=100, xmin=-m_RangeOfPullHistos, xmax=m_RangeOfPullHistos)
514
515 varName = 'm_pix_ecc_pully;pix_ecc_pullly'
516 title = 'UnBiased Y Pull Pixel EndCap C;Pull'
517 residualGroup.defineHistogram(varName, type='TH1F', path=pathResiduals, title=title, xbins=100, xmin=-m_RangeOfPullHistos, xmax=m_RangeOfPullHistos)
518
519 residualECCXArray = helper.addArray([len(layersECPix)], alg, 'PixResidualXECC', topPath = pathResiduals)
520 for postfix, tool in residualECCXArray.Tools.items():
521 layer = layersECPix[int( postfix.split('_')[1] )]
522 title = ('UNBIASED X Residual Average vs Module Phi of Pixel Endcap C Disk %s' % layer)
523 name = 'm_modPhi,m_pix_ecc_residualx;m_pix_ecc_unbiased_xresvsmodphi_disk' + layer
524 tool.defineHistogram(name, title = title, type = 'TProfile',
525 xbins = m_PhiModulesPerRing, xmin = -0.5, xmax = m_PhiModulesPerRing - 0.5)
526
527 residualECCYArray = helper.addArray([len(layersECPix)], alg, 'PixResidualYECC', topPath = pathResiduals)
528 for postfix, tool in residualECCYArray.Tools.items():
529 layer = layersECPix[int( postfix.split('_')[1] )]
530 title = ('UNBIASED Y Residual Average vs Module Phi of Pixel Endcap C Disk %s' % layer)
531 name = 'm_modPhi,m_pix_ecc_residualy;m_pix_ecc_unbiased_yresvsmodphi_disk' + layer
532 tool.defineHistogram(name, title = title, type = 'TProfile',
533 xbins = m_PhiModulesPerRing, xmin = -0.5, xmax = m_PhiModulesPerRing - 0.5)
534
535 varName = 'm_modPhiShift_ecc,m_residualX_ecc;pix_ecc_xresvsmodphi_2d'
536 title = 'X Residual Distribution vs (Modified) Module Phi-ID Pixel ECC;(Modified) Phi-ID;Residual [mm]'
537 residualGroup.defineHistogram(varName, title = title, type = 'TH2F', path=pathResiduals,
538 xbins = m_PhiModulesShift_ec, xmin = 0, xmax = m_PhiModulesShift_ec,
539 ybins = 100 * m_FinerBinningFactor, ymin = m_minSiResFillRange, ymax = m_maxSiResFillRange)
540
541 varName = 'm_modPhiShift_ecc,m_residualY_ecc;pix_ecc_yresvsmodphi_2d'
542 title = 'Y Residual Distribution vs (Modified) Module Phi-ID Pixel ECC;(Modified) Phi-ID;Residual [mm]'
543 residualGroup.defineHistogram(varName, title = title, type = 'TH2F', path=pathResiduals,
544 xbins = m_PhiModulesShift_ec, xmin = 0, xmax = m_PhiModulesShift_ec,
545 ybins = 100 * m_FinerBinningFactor, ymin = m_minPIXResYFillRange, ymax = m_maxPIXResYFillRange)
546
547 varName = 'm_modPhiShift_ecc,m_residualX_ecc;pix_ecc_xresvsmodphi_profile'
548 title = 'X Residual Distribution vs (Modified) Module Phi-ID Pixel ECC;(Modified) Phi-ID;Residual [mm]'
549 residualGroup.defineHistogram(varName, title = title, type = 'TProfile', path=pathResiduals,
550 xbins = m_PhiModulesShift_ec, xmin = 0, xmax = m_PhiModulesShift_ec)
551
552 varName = 'm_modPhiShift_ecc,m_residualY_ecc;pix_ecc_yresvsmodphi_profile'
553 title = 'Y Residual Distribution vs (Modified) Module Phi-ID Pixel ECC;(Modified) Phi-ID;Residual [mm]'
554 residualGroup.defineHistogram(varName, title = title, type = 'TProfile', path=pathResiduals,
555 xbins = m_PhiModulesShift_ec, xmin = 0, xmax = m_PhiModulesShift_ec)
556
557 #SCT Barrel Plots
558 varName = 'm_sct_b_residualx;sct_b_residualx'
559 title = 'UnBiased X Residual SCT Barrel;Residual [mm]'
560 residualGroup.defineHistogram(varName, type='TH1F', path=pathResiduals, title=title, xbins=100, xmin=m_minSCTResFillRange, xmax=m_maxSCTResFillRange)
561
562 varName = 'm_sct_b_biased_residualx;sct_b_biasedresidualx'
563 title = 'Biased X Residual SCT Barrel;Residual [mm]'
564 residualGroup.defineHistogram(varName, type='TH1F', path=pathResiduals, title=title, xbins=100, xmin=m_minSCTResFillRange, xmax=m_maxSCTResFillRange)
565
566 layersSCTB = ['0', '1', '2', '3']
567 residualSCTXArray = helper.addArray([len(layersSCTB)], alg, 'SCTResidualX', topPath = pathResiduals)
568 for postfix, tool in residualSCTXArray.Tools.items():
569 layer = layersSCTB[int( postfix.split('_')[1] )]
570 title = ('UnBiased X Residual SCT Barrel %s' % layer)
571 name = 'm_sct_residualsx;sct_b' + layer + '_residualx'
572 tool.defineHistogram(name, title = title, type = 'TH1F',
573 xbins = 100 * m_FinerBinningFactor, xmin = m_minSCTResFillRange, xmax = m_maxSCTResFillRange)
574
575 # Define local X 3D histograms (not really 3D histograms but TProfile 2D)
576 residualSCTX2DProfArray = helper.addArray([len(layersSCTB)], alg, 'SCTResidualX_2DProf', topPath = pathResiduals)
577 for postfix, tool in residualSCTX2DProfArray.Tools.items():
578 layer = layersSCTB[int( postfix.split('_')[1] )]
579 title = ('Local X Residual vs Module Eta-Phi-ID SCT Barrel layer %s; Mod Eta; Mod Phi; Local X Residual [mm]' % layer)
580 name = 'm_modEta,m_modPhi,m_sct_residualsx;sct_b' + layer + '_xresvsmodetaphi_2dprof'
581 tool.defineHistogram(name, title = title, type = 'TProfile2D', xbins = m_EtaModulesSCT, xmin = m_EtaModulesMinSCT, xmax = m_EtaModulesMaxSCT,
582 ybins = m_PhiModulesSCT[int(layer)], ymin = -0.5, ymax = m_PhiModulesSCT[int(layer)] - 0.5,
583 zmin = m_minSCTResFillRange, zmax = m_maxSCTResFillRange)
584
585 residualSCTXS02DProfArray = helper.addArray([len(layersSCTB)], alg, 'SCT_s0_ResidualX_2DProf', topPath = pathResiduals)
586 for postfix, tool in residualSCTXS02DProfArray.Tools.items():
587 layer = layersSCTB[int( postfix.split('_')[1] )]
588 title = ('Local X Residual vs Module Eta-Phi-ID SCT Barrel layer %s side 0; Mod Eta; Mod Phi; Local X Residual side 0 [mm]' % layer)
589 name = 'm_modEta,m_modPhi,m_sct_residualsx;sct_b' + layer + '_s0_xresvsmodetaphi_2dprof'
590 tool.defineHistogram(name, title = title, type = 'TProfile2D', xbins = m_EtaModulesSCT, xmin = m_EtaModulesMinSCT, xmax = m_EtaModulesMaxSCT,
591 ybins = m_PhiModulesSCT[int(layer)], ymin = -0.5, ymax = m_PhiModulesSCT[int(layer)] - 0.5,
592 zmin = m_minSCTResFillRange, zmax = m_maxSCTResFillRange)
593
594 residualSCTXS12DProfArray = helper.addArray([len(layersSCTB)], alg, 'SCT_s1_ResidualX_2DProf', topPath = pathResiduals)
595 for postfix, tool in residualSCTXS12DProfArray.Tools.items():
596 layer = layersSCTB[int( postfix.split('_')[1] )]
597 title = ('Local X Residual vs Module Eta-Phi-ID SCT Barrel layer %s side 1; Mod Eta; Mod Phi; Local X Residual side 1 [mm]' % layer)
598 name = 'm_modEta,m_modPhi,m_sct_residualsx;sct_b' + layer + '_s1_xresvsmodetaphi_2dprof'
599 tool.defineHistogram(name, title = title, type = 'TProfile2D', xbins = m_EtaModulesSCT, xmin = m_EtaModulesMinSCT, xmax = m_EtaModulesMaxSCT,
600 ybins = m_PhiModulesSCT[int(layer)], ymin = -0.5, ymax = m_PhiModulesSCT[int(layer)] - 0.5,
601 zmin = m_minSCTResFillRange, zmax = m_maxSCTResFillRange)
602
603 pullSCTXArray = helper.addArray([len(layersSCTB)], alg, 'SCTPullX', topPath = pathResiduals)
604 for postfix, tool in pullSCTXArray.Tools.items():
605 layer = layersSCTB[int( postfix.split('_')[1] )]
606 title = ('UnBiased X Pull SCT Barrel %s' % layer) + ';Pull'
607 name = 'm_sct_pullsx;sct_b' + layer + '_pullx'
608 tool.defineHistogram(name, title = title, type = 'TH1F',
609 xbins = 100 * m_FinerBinningFactor, xmin = -m_RangeOfPullHistos, xmax = m_RangeOfPullHistos)
610
611 resXvsEtaSCTArray = helper.addArray([len(layersSCTB)], alg, 'SCTResidualXvsEta', topPath = pathResiduals)
612 for postfix, tool in resXvsEtaSCTArray.Tools.items():
613 layer = layersSCTB[int( postfix.split('_')[1] )]
614 layerInd = int(layer)
615 title = ('X Residual Distribution vs Module Eta-ID SCT Barrel %s' % layer) + ';Mod Eta;Residual [mm]'
616 name = 'm_modEta,m_residualX;sct_b' + layer + '_xresidualvseta_2d'
617 tool.defineHistogram(name, title = title, type = 'TH2F',
618 xbins = m_EtaModulesSCT, xmin = m_EtaModulesMinSCT, xmax = m_EtaModulesMaxSCT,
619 ybins = 50 * m_FinerBinningFactor, ymin = m_minSCTResFillRange, ymax = m_maxSCTResFillRange)
620
621 resXvsPhiSCTArray = helper.addArray([len(layersPix)], alg, 'SCTResidualXvsPhi', topPath = pathResiduals)
622 for postfix, tool in resXvsPhiSCTArray.Tools.items():
623 layer = layersSCTB[int( postfix.split('_')[1] )]
624 layerInd = int(layer)
625 PhiModules = m_PhiModulesSCT[layerInd]
626 title = ('X Residual Distribution vs Module Phi-ID SCT Barrel %s' % layer) + ';Mod Phi;Residual [mm]'
627 name = 'm_modPhi,m_residualX;sct_b' + layer + '_xresidualvsphi_2d'
628 tool.defineHistogram(name, title = title, type = 'TH2F',
629 xbins = PhiModules, xmin = - 0.5, xmax = PhiModules - 0.5,
630 ybins = 50 * m_FinerBinningFactor, ymin = m_minSCTResFillRange, ymax = m_maxSCTResFillRange)
631
632 varName = 'm_modPhiShift_sct_barrel,m_residualX_sct_barrel;sct_b_xresvsmodphi_profile'
633 title = 'X Residual Mean vs (Modified) Module Phi-ID SCT Barrel;(Modified) Phi-ID;Residual [mm]'
634 residualGroup.defineHistogram(varName, title = title, type = 'TProfile', path=pathResiduals,
635 xbins = m_PhiModulesShift_sct_barrel, xmin = - 0.5, xmax = m_PhiModulesShift_sct_barrel - 0.5)
636
637 varName = 'm_modEtaShift_sct_barrel,m_residualX_sct_barrel;sct_b_xresvsmodeta_profile'
638 title = 'X Residual Mean vs (Modified) Module Eta-ID SCT Barrel;(Modified) Eta-ID;Residual [mm]'
639 residualGroup.defineHistogram(varName, title = title, type = 'TProfile', path=pathResiduals,
640 xbins = m_EtaModulesShift_sct_barrel, xmin = - 0.5, xmax = m_EtaModulesShift_sct_barrel - 0.5)
641
642 #SCT EndCap A plots
643 varName = 'm_sct_eca_residualx;sct_eca_residualx'
644 title = 'UnBiased X Residual SCT EndCap A;Residual [mm]'
645 residualGroup.defineHistogram(varName, type='TH1F', path=pathResiduals, title=title, xbins=100, xmin=m_minSCTResFillRange, xmax=m_maxSCTResFillRange)
646
647 # Define local X 3D histograms (not really 3D histograms but TProfile 2D)
648 layersECsct = ['0', '1', '2', '3', '4', '5', '6', '7', '8']
649 residualSCTECAX2DProfArray = helper.addArray([len(layersECsct)], alg, 'SCTECAResidualX_2DProf', topPath = pathResiduals)
650 for postfix, tool in residualSCTECAX2DProfArray.Tools.items():
651 layer = layersECsct[int( postfix.split('_')[1] )]
652 title = ('Local X Residual vs Module Eta-Phi-ID SCT Endcap A Disk %s; Mod Eta; Mod Phi; Local X Residual [mm]' % layer)
653 name = 'm_modEta,m_modPhi,m_sct_eca_residualx;sct_eca' + layer + '_xresvsmodetaphi_2dprof'
654 tool.defineHistogram(name, title = title, type = 'TProfile2D', xbins = m_EtaModulesSCTEC, xmin = -0.5, xmax = m_EtaModulesSCTEC - 0.5,
655 ybins = m_PhiModulesPerRingSCT, ymin = - 0.5, ymax = m_PhiModulesPerRingSCT - 0.5,
656 zmin=m_minSCTResFillRange, zmax=m_maxSCTResFillRange)
657
658 residualSCTECAXS02DProfArray = helper.addArray([len(layersECsct)], alg, 'SCTECA_s0_ResidualX_2DProf', topPath = pathResiduals)
659 for postfix, tool in residualSCTECAXS02DProfArray.Tools.items():
660 layer = layersECsct[int( postfix.split('_')[1] )]
661 title = ('Local X Residual vs Module Eta-Phi-ID SCT Endcap A Disk %s side 0; Mod Eta; Mod Phi; Local X Residual side 0 [mm]' % layer)
662 name = 'm_modEta,m_modPhi,m_sct_eca_residualx;sct_eca' + layer + '_s0_xresvsmodetaphi_2dprof'
663 tool.defineHistogram(name, title = title, type = 'TProfile2D', xbins = m_EtaModulesSCTEC, xmin = -0.5, xmax = m_EtaModulesSCTEC - 0.5,
664 ybins = m_PhiModulesPerRingSCT, ymin = - 0.5, ymax = m_PhiModulesPerRingSCT - 0.5,
665 zmin=m_minSCTResFillRange, zmax=m_maxSCTResFillRange)
666
667 residualSCTECAXS12DProfArray = helper.addArray([len(layersECsct)], alg, 'SCTECA_s1_ResidualX_2DProf', topPath = pathResiduals)
668 for postfix, tool in residualSCTECAXS12DProfArray.Tools.items():
669 layer = layersECsct[int( postfix.split('_')[1] )]
670 title = ('Local X Residual vs Module Eta-Phi-ID SCT Endcap A Disk %s side 1; Mod Eta; Mod Phi; Local X Residual side 1 [mm]' % layer)
671 name = 'm_modEta,m_modPhi,m_sct_eca_residualx;sct_eca' + layer + '_s1_xresvsmodetaphi_2dprof'
672 tool.defineHistogram(name, title = title, type = 'TProfile2D', xbins = m_EtaModulesSCTEC, xmin = -0.5, xmax = m_EtaModulesSCTEC - 0.5,
673 ybins = m_PhiModulesPerRingSCT, ymin = - 0.5, ymax = m_PhiModulesPerRingSCT - 0.5,
674 zmin=m_minSCTResFillRange, zmax=m_maxSCTResFillRange)
675
676 varName = 'm_sct_eca_pullx;sct_eca_pulllx'
677 title = 'UnBiased X Pull SCT EndCap A;Pull'
678 residualGroup.defineHistogram(varName, type='TH1F', path=pathResiduals, title=title, xbins=100, xmin=-m_RangeOfPullHistos, xmax=m_RangeOfPullHistos)
679
680 varName = 'm_modPhiShift_sct_eca,m_residualX_sct_eca;sct_eca_xresvsmodphi_profile'
681 title = 'X Residual Mean vs (Modified) Module Phi-ID SCT ECA;(Modified) Phi-ID;Residual [mm]'
682 residualGroup.defineHistogram(varName, title = title, type = 'TProfile', path=pathResiduals,
683 xbins = m_PhiModulesShift_sct_ec, xmin = - 0.5, xmax = m_PhiModulesShift_sct_ec - 0.5)
684
685 #SCT EndCap C plots
686 varName = 'm_sct_ecc_residualx;sct_ecc_residualx'
687 title = 'UnBiased X Residual SCT EndCap C;Residual [mm]'
688 residualGroup.defineHistogram(varName, type='TH1F', path=pathResiduals, title=title, xbins=100, xmin=m_minSCTResFillRange, xmax=m_maxSCTResFillRange)
689
690 # Define local X 3D histograms (not really 3D histograms but TProfile 2D)
691 residualSCTECCX2DProfArray = helper.addArray([len(layersECsct)], alg, 'SCTECCResidualX_2DProf', topPath = pathResiduals)
692 for postfix, tool in residualSCTECCX2DProfArray.Tools.items():
693 layer = layersECsct[int( postfix.split('_')[1] )]
694 title = ('Local X Residual vs Module Eta-Phi-ID SCT Endcap C Disk %s; Mod Eta; Mod Phi; Local X Residual [mm]' % layer)
695 name = 'm_modEta,m_modPhi,m_sct_ecc_residualx;sct_ecc' + layer + '_xresvsmodetaphi_2dprof'
696 tool.defineHistogram(name, title = title, type = 'TProfile2D', xbins = m_EtaModulesSCTEC, xmin = -0.5, xmax = m_EtaModulesSCTEC - 0.5,
697 ybins = m_PhiModulesPerRingSCT, ymin = -0.5, ymax = m_PhiModulesPerRingSCT - 0.5,
698 zmin=m_minSCTResFillRange, zmax=m_maxSCTResFillRange)
699
700 residualSCTECCXS02DProfArray = helper.addArray([len(layersECsct)], alg, 'SCTECC_s0_ResidualX_2DProf', topPath = pathResiduals)
701 for postfix, tool in residualSCTECCXS02DProfArray.Tools.items():
702 layer = layersECsct[int( postfix.split('_')[1] )]
703 title = ('Local X Residual vs Module Eta-Phi-ID SCT Endcap C Disk %s side 0; Mod Eta; Mod Phi; Local X Residual side 0 [mm]' % layer)
704 name = 'm_modEta,m_modPhi,m_sct_ecc_residualx;sct_ecc' + layer + '_s0_xresvsmodetaphi_2dprof'
705 tool.defineHistogram(name, title = title, type = 'TProfile2D', xbins = m_EtaModulesSCTEC, xmin = -0.5, xmax = m_EtaModulesSCTEC - 0.5,
706 ybins = m_PhiModulesPerRingSCT, ymin = - 0.5, ymax = m_PhiModulesPerRingSCT - 0.5,
707 zmin=m_minSCTResFillRange, zmax=m_maxSCTResFillRange)
708
709 residualSCTECCXS12DProfArray = helper.addArray([len(layersECsct)], alg, 'SCTECC_s1_ResidualX_2DProf', topPath = pathResiduals)
710 for postfix, tool in residualSCTECCXS12DProfArray.Tools.items():
711 layer = layersECsct[int( postfix.split('_')[1] )]
712 title = ('Local X Residual vs Module Eta-Phi-ID SCT Endcap C Disk %s side 1; Mod Eta; Mod Phi; Local X Residual side 1 [mm]' % layer)
713 name = 'm_modEta,m_modPhi,m_sct_ecc_residualx;sct_ecc' + layer + '_s1_xresvsmodetaphi_2dprof'
714 tool.defineHistogram(name, title = title, type = 'TProfile2D', xbins = m_EtaModulesSCTEC, xmin = -0.5, xmax = m_EtaModulesSCTEC - 0.5,
715 ybins = m_PhiModulesPerRingSCT, ymin = - 0.5, ymax = m_PhiModulesPerRingSCT - 0.5,
716 zmin=m_minSCTResFillRange, zmax=m_maxSCTResFillRange)
717
718 varName = 'm_sct_ecc_pullx;sct_ecc_pulllx'
719 title = 'UnBiased X Pull SCT EndCap C;Pull'
720 residualGroup.defineHistogram(varName, type='TH1F', path=pathResiduals, title=title, xbins=100, xmin=-m_RangeOfPullHistos, xmax=m_RangeOfPullHistos)
721
722 varName = 'm_modPhiShift_sct_ecc,m_residualX_sct_ecc;sct_ecc_xresvsmodphi_profile'
723 title = 'X Residual Mean vs (Modified) Module Phi-ID SCT ECC;(Modified) Phi-ID;Residual [mm]'
724 residualGroup.defineHistogram(varName, title = title, type = 'TProfile', path=pathResiduals,
725 xbins = m_PhiModulesShift_sct_ec, xmin = - 0.5, xmax = m_PhiModulesShift_sct_ec - 0.5)
726
727 # end histograms
728 #