34 '''define histograms'''
41 self.size = TH1F(
"cl_size",
"Cluster Size", 20, 0, 20)
42 self.sizeNew = TH1F(
"clNew_size",
"New Cluster Size", 20, 0, 20)
43 self.time = TH1F(
"cl_time",
"Cluster Time", 300, -100, 200)
44 self.timeNew = TH1F(
"clNew_time",
"New Cluster Time", 300, -100, 200)
45 self.ff = TH1F(
"cl_ff",
"Cluster FirstFrame", 4, -0.4, 3.5)
46 self.ffNew = TH1F(
"clNew_ff",
"New Cluster FirstFrame", 4, -0.4, 3.5)
47 self.charge = TH1F(
"cl_charge",
"Cluster Charge", 300, 0, 100)
48 self.chargeNew = TH1F(
"clNew_charge",
"New Cluster Charge", 300, 0, 100)
49 self.SNR = TH1F(
"cl_SNR",
"Cluster SNR", 100, 0, 100)
50 self.SNRNew = TH1F(
"clNew_SNR",
"New Cluster SNR", 100, 0, 100)
51 self.position = TH1F(
"cl_position",
"Cluster Position", 300, -6, 6)
52 self.positionNew = TH1F(
"clNew_position",
"New Cluster Position", 300, -6, 6)
53 self.positionSigma = TH1F(
"cl_positionSigma",
"Cluster Position Error", 300, 0, 100)
54 self.positionSigmaNew = TH1F(
"clNew_positionSigma",
"New Cluster Position Error", 300, 0, 100)
55 self.positionS1 = TH1F(
"cl_positionS1",
"Cluster Position Size 1", 300, -6, 6)
56 self.positionS1New = TH1F(
"clNew_positionS1",
"New Cluster Position Size 1", 300, -6, 6)
57 self.positionS1Sigma = TH1F(
"cl_positionS1Sigma",
"Cluster Position Error Size 1", 300, 0, 100)
58 self.positionS1SigmaNew = TH1F(
"clNew_positionS1Sigma",
"New Cluster Position Error Size 1", 300, 0, 100)
59 self.positionS2 = TH1F(
"cl_positionS2",
"Cluster Position Size 2", 300, -6, 6)
60 self.positionS2New = TH1F(
"clNew_positionS2",
"New Cluster Position Size 2", 300, -6, 6)
61 self.positionS2Sigma = TH1F(
"cl_positionS2Sigma",
"Cluster Position Size Error 2", 300, 0, 100)
62 self.positionS2SigmaNew = TH1F(
"clNew_positionS2Sigma",
"New Cluster Position Error Size 2", 300, 0, 100)
63 self.positionS3 = TH1F(
"cl_positionS3",
"Cluster Position Size >2", 300, -6, 6)
64 self.positionS3New = TH1F(
"clNew_positionS3",
"New Cluster Position Size >2", 300, -6, 6)
65 self.positionS3Sigma = TH1F(
"cl_positionS3Sigma",
"Cluster Position Error Size >2", 300, 0, 100)
66 self.positionS3SigmaNew = TH1F(
"clNew_positionS3Sigma",
"New Cluster Position Error Size >2", 300, 0, 100)
67 self.positionPull = TH1F(
"cl_positionPull",
"Cluster Position Pull", 200, -10, 10)
68 self.positionPullNew = TH1F(
"clNew_positionPull",
"New Cluster Position Pull", 200, -10, 10)
69 self.positionPull1 = TH1F(
"cl_positionPull1",
"Cluster Position Pull Size 1", 200, -10, 10)
70 self.positionPull1New = TH1F(
"clNew_positionPull1",
"New Cluster Position Pull Size 1", 200, -10, 10)
71 self.positionPull2 = TH1F(
"cl_positionPull2",
"Cluster Position Pull Size 2", 200, -10, 10)
72 self.positionPull2New = TH1F(
"clNew_positionPull2",
"New Cluster Position Pull Size 2", 200, -10, 10)
73 self.positionPull3 = TH1F(
"cl_positionPull3",
"Cluster Position Pull Size >2", 200, -10, 10)
74 self.positionPull3New = TH1F(
"clNew_positionPull3",
"New Cluster Position Pull Size >2", 200, -10, 10)
82 for layer
in geoCache.getLayers(Belle2.VXD.SensorInfoBase.SVD):
83 layerNumber = layer.getLayerNumber()
85 for ladder
in geoCache.getLadders(layer):
88 for sensor
in geoCache.getSensors(ladder):
90 self.
test.append(TH2F(
"cl_layer" + str(layerNumber),
"Layer " + str(layerNumber) +
91 " Ladder VS Sensor.Side", ladderN, 0.5, ladderN + 0.5, 2 * sensorN, +0.75, sensorN + 0.75))
92 self.
testNew.append(TH2F(
"clNew_layer" + str(layerNumber),
"Layer " + str(layerNumber) +
93 " Ladder VS Sensor.Side", ladderN, 0.5, ladderN + 0.5, 2 * sensorN, +0.75, sensorN + 0.75))
98 ''' look at cluster and new clusters'''
102 print(
"number of clusters = " + str(clusterList.getEntries()) +
" (old) VS " + str(clusterListNew.getEntries()) +
" (new)")
104 for d
in clusterList:
105 trueList = d.getRelationsTo(
'SVDTrueHits')
109 truePos = trueList[0].getU()
111 truePos = trueList[0].getV()
113 self.size.Fill(d.getSize())
114 self.time.Fill(d.getClsTime())
115 self.ff.Fill(d.getFirstFrame())
116 self.charge.Fill(d.getCharge() / 1000)
117 self.SNR.Fill(d.getSNR())
118 self.position.Fill(d.getPosition())
119 self.positionSigma.Fill(d.getPositionSigma() * 1e4)
121 self.positionS1.Fill(d.getPosition())
122 self.positionS1Sigma.Fill(d.getPositionSigma() * 1e4)
123 self.positionPull1.Fill((d.getPosition() - truePos) / d.getPositionSigma())
125 self.positionS2.Fill(d.getPosition())
126 self.positionS2Sigma.Fill(d.getPositionSigma() * 1e4)
127 self.positionPull2.Fill((d.getPosition() - truePos) / d.getPositionSigma())
129 self.positionS3.Fill(d.getPosition())
130 self.positionS3Sigma.Fill(d.getPositionSigma() * 1e4)
131 self.positionPull3.Fill((d.getPosition() - truePos) / d.getPositionSigma())
133 self.
test[d.getSensorID().getLayerNumber() - 3].Fill(d.getSensorID().getLadderNumber(),
134 d.getSensorID().getSensorNumber() + isU)
135 self.positionPull.Fill((d.getPosition() - truePos) / d.getPositionSigma())
137 for d
in clusterListNew:
140 trueListNew = d.getRelationsTo(
'SVDTrueHits')
143 truePos = trueListNew[0].getU()
145 truePos = trueListNew[0].getV()
147 self.sizeNew.Fill(d.getSize())
148 self.timeNew.Fill(d.getClsTime())
149 self.ffNew.Fill(d.getFirstFrame())
150 self.chargeNew.Fill(d.getCharge() / 1000)
151 self.SNRNew.Fill(d.getSNR())
152 self.positionNew.Fill(d.getPosition())
153 self.positionSigmaNew.Fill(d.getPositionSigma() * 1e4)
155 self.positionS1New.Fill(d.getPosition())
156 self.positionS1SigmaNew.Fill(d.getPositionSigma() * 1e4)
157 self.positionPull1New.Fill((d.getPosition() - truePos) / d.getPositionSigma())
159 self.positionS2New.Fill(d.getPosition())
160 self.positionS2SigmaNew.Fill(d.getPositionSigma() * 1e4)
161 self.positionPull2New.Fill((d.getPosition() - truePos) / d.getPositionSigma())
163 self.positionS3New.Fill(d.getPosition())
164 self.positionS3SigmaNew.Fill(d.getPositionSigma() * 1e4)
165 self.positionPull3New.Fill((d.getPosition() - truePos) / d.getPositionSigma())
167 self.
testNew[d.getSensorID().getLayerNumber() - 3].Fill(d.getSensorID().getLadderNumber(),
168 d.getSensorID().getSensorNumber() + isU)
169 self.positionPullNew.Fill((d.getPosition() - truePos) / d.getPositionSigma())
174 f = TFile(
"quicktestSVDClusterOldDefault.root",
"RECREATE")
175 for hist
in self.
test:
176 hist.GetXaxis().SetTitle(
"ladder #")
177 hist.GetYaxis().SetTitle(
"sensor # + 0.5 is isU")
180 hist.GetXaxis().SetTitle(
"ladder #")
181 hist.GetYaxis().SetTitle(
"sensor # + 0.5 is isU")
184 self.size.GetXaxis().SetTitle(
"cluster size")
186 self.sizeNew.GetXaxis().SetTitle(
"cluster size")
189 self.time.GetXaxis().SetTitle(
"cluster time (ns)")
191 self.timeNew.GetXaxis().SetTitle(
"cluster time (ns)")
194 self.ff.GetXaxis().SetTitle(
"cluster firstFrame")
196 self.ffNew.GetXaxis().SetTitle(
"cluster firstFrame")
199 self.charge.GetXaxis().SetTitle(
"cluster charge (ke-)")
201 self.chargeNew.GetXaxis().SetTitle(
"cluster charge (ke-)")
202 self.chargeNew.Write()
204 self.SNR.GetXaxis().SetTitle(
"cluster SNR")
206 self.SNRNew.GetXaxis().SetTitle(
"cluster SNR")
209 self.position.GetXaxis().SetTitle(
"cluster position (cm)")
210 self.position.Write()
211 self.positionNew.GetXaxis().SetTitle(
"cluster position (cm)")
212 self.positionNew.Write()
214 self.positionSigma.GetXaxis().SetTitle(
"cluster position error (#mum)")
215 self.positionSigma.Write()
216 self.positionSigmaNew.GetXaxis().SetTitle(
"cluster position error (#mum)")
217 self.positionSigmaNew.Write()
219 self.positionS1.GetXaxis().SetTitle(
"cluster position (cm)")
220 self.positionS1.Write()
221 self.positionS1New.GetXaxis().SetTitle(
"cluster position (cm)")
222 self.positionS1New.Write()
224 self.positionS1Sigma.GetXaxis().SetTitle(
"cluster position error (#mum)")
225 self.positionS1Sigma.Write()
226 self.positionS1SigmaNew.GetXaxis().SetTitle(
"cluster position error (#mum)")
227 self.positionS1SigmaNew.Write()
229 self.positionS2.GetXaxis().SetTitle(
"cluster position (cm)")
230 self.positionS2.Write()
231 self.positionS2New.GetXaxis().SetTitle(
"cluster position (cm)")
232 self.positionS2New.Write()
234 self.positionS2Sigma.GetXaxis().SetTitle(
"cluster position error (#mum)")
235 self.positionS2Sigma.Write()
236 self.positionS2SigmaNew.GetXaxis().SetTitle(
"cluster position error (#mum)")
237 self.positionS2SigmaNew.Write()
239 self.positionS3.GetXaxis().SetTitle(
"cluster position (cm)")
240 self.positionS3.Write()
241 self.positionS3New.GetXaxis().SetTitle(
"cluster position (cm)")
242 self.positionS3New.Write()
244 self.positionS3Sigma.GetXaxis().SetTitle(
"cluster position error (#mum)")
245 self.positionS3Sigma.Write()
246 self.positionS3SigmaNew.GetXaxis().SetTitle(
"cluster position error (#mum)")
247 self.positionS3SigmaNew.Write()
249 self.positionPull.GetXaxis().SetTitle(
"cluster position pull")
250 self.positionPull.Write()
251 self.positionPullNew.GetXaxis().SetTitle(
"cluster position pull")
252 self.positionPullNew.Write()
253 self.positionPull1.GetXaxis().SetTitle(
"cluster position pull")
254 self.positionPull1.Write()
255 self.positionPull1New.GetXaxis().SetTitle(
"cluster position pull")
256 self.positionPull1New.Write()
257 self.positionPull2.GetXaxis().SetTitle(
"cluster position pull")
258 self.positionPull2.Write()
259 self.positionPull2New.GetXaxis().SetTitle(
"cluster position pull")
260 self.positionPull2New.Write()
261 self.positionPull3.GetXaxis().SetTitle(
"cluster position pull")
262 self.positionPull3.Write()
263 self.positionPull3New.GetXaxis().SetTitle(
"cluster position pull")
264 self.positionPull3New.Write()