Belle II Software  release-05-01-25
CoGCalibration_utils.py
1 # !/usr/bin/env python
2 # -*- coding: utf-8 -*-
3 
4 #
5 # evaluates the CoG corrections, create a localDB
6 # with the corrections and a root file to check
7 # the corrections
8 #
9 # usage: basf2 SVDCoGTimeCalibratinWithErrorImporter localDB filename
10 # localDB = name of the local DB folder
11 # filename = single root file, or file with the list of reconstructed files
12 #
13 # this script can be launched with launch_calibration_cog.sh in the
14 # B2SVD project, svd_CoGHitTime_calibration repository
15 #
16 
17 
18 from basf2 import *
19 from svd import *
20 import ROOT
21 from ROOT import Belle2, TFile, TTree, TH1F, TH2F, TH2D, TGraph, TFitResultPtr
22 from ROOT import TROOT, gROOT, TF1, TMath, gStyle, gDirectory
23 import os
24 import numpy
25 import math
26 import random
27 from array import array
28 import basf2
29 import sys
30 from ROOT.Belle2 import SVDCoGCalibrationFunction
31 from ROOT.Belle2 import SVDCoGTimeCalibrations
32 
33 import matplotlib.pyplot as plt
34 
35 svd_recoDigits = "SVDRecoDigitsFromTracks"
36 cdc_Time0 = "EventT0"
37 svd_Clusters = "SVDClustersFromTracks"
38 
39 gROOT.SetBatch(True)
40 
41 # mode = True
42 
43 
45  """
46  Python class used for evaluating the CoG corrections, create a localDB,
47  creating a localDB with the corrections and a root file to check the corrections
48  """
49 
51  """
52  Function that allows to set if apply the CDC latency correction
53 
54  parameters:
55  mode (bool):
56  - if True -> not apply correction
57  - if False -> apply correction
58  """
59 
61  print("Not Correct for CDC latency: " + str(mode) + " " + str(self.notApplyCDCLatencyCorrection))
62 
63  def fillLists(self, mode_byte_object, svdClusters_rel_RecoTracks_cl):
64  """
65  Function that fill the lists needed for the CoG corrections
66 
67  parameters:
68  mode_byte_object (modeByte): modeByte that contains the information about the TB
69  svdClusters_rel_RecoTracks_cl (SVDCluster): cluster related to tracks
70  """
71 
72  timeCluster = svdClusters_rel_RecoTracks_cl.getClsTime()
73  snrCluster = svdClusters_rel_RecoTracks_cl.getSNR()
74  layerCluster = svdClusters_rel_RecoTracks_cl.getSensorID().getLayerNumber()
75  layerIndex = layerCluster - 3
76  sensorCluster = svdClusters_rel_RecoTracks_cl.getSensorID().getSensorNumber()
77  sensorIndex = sensorCluster - 1
78  ladderCluster = svdClusters_rel_RecoTracks_cl.getSensorID().getLadderNumber()
79  ladderIndex = ladderCluster - 1
80  sideCluster = svdClusters_rel_RecoTracks_cl.isUCluster()
81  if sideCluster:
82  sideIndex = 1
83  else:
84  sideIndex = 0
85 
86  hasTimezero = self.cdcEventT0.hasEventT0()
87  # print("Time: " + str(hasTimezero))
88  if hasTimezero:
89  TBClusters = mode_byte_object.getTriggerBin()
90  TBIndex = ord(TBClusters)
91  tZero = self.cdcEventT0.getEventT0()
92  # tZero_err = self.cdcEventT0.getEventT0Uncertainty()
93  tZero_err = 5.1
94  tZeroSync = tZero - 4000./509 * (3 - TBIndex)
95  et0 = self.EventT0Hist
96  et0.Fill(tZeroSync)
97  # print(str(tZero_err))
98 
99  resHist = self.resList[layerIndex][ladderIndex][sensorIndex][sideIndex][TBIndex]
100  resHist.Fill(timeCluster - tZeroSync)
101  spHist = self.spList[layerIndex][ladderIndex][sensorIndex][sideIndex][TBIndex]
102  # spHist.Fill(timeCluster, 1.3*timeCluster - 50 + random.gauss(0,10))
103  spHist.Fill(timeCluster, tZeroSync)
104  cogHist = self.cogList[layerIndex][ladderIndex][sensorIndex][sideIndex][TBIndex]
105  cogHist.Fill(timeCluster)
106  cdcHist = self.cdcList[layerIndex][ladderIndex][sensorIndex][sideIndex][TBIndex]
107  cdcHist.Fill(tZeroSync)
108  snrHist = self.snrList[layerIndex][ladderIndex][sensorIndex][sideIndex][TBIndex]
109  snrHist.Fill(snrCluster)
110 
111  self.nList[layerIndex][ladderIndex][sensorIndex][sideIndex][TBIndex] += 1
112  self.sumCOGList[layerIndex][ladderIndex][sensorIndex][sideIndex][TBIndex] += timeCluster
113 
114 
115  self.NTOT = self.NTOT + 1
116 
117  def set_localdb(self, localDB):
118  """
119  Function that allows to set the localDB
120 
121  parameters:
122  localDB (str): Name of the localDB used
123  """
124 
125  self.localdb = localDB
126 
127  def initialize(self):
128  """
129  Initialize object (histograms, lists, ...) used by the class
130  """
131 
132 
133  self.outputFileName = "CoGCorrectionMonitor_" + self.localdb + ".root"
134 
135 
137  self.resList = []
138 
139  self.spList = []
140 
141  self.cogList = []
142 
143  self.cdcList = []
144 
145  self.snrList = []
146 
147  self.nList = []
148 
149  self.sumCOGList = []
150 
152 
153  self.Evt = 0
154  for layer in geoCache.getLayers(Belle2.VXD.SensorInfoBase.SVD):
155  layerList0 = []
156  layerList1 = []
157  layerList2 = []
158  layerList3 = []
159  layerList4 = []
160  layerList5 = []
161  layerList6 = []
162  layerList7 = []
163  layerList8 = []
164  self.resList.append(layerList0)
165  self.spList.append(layerList1)
166  self.cogList.append(layerList2)
167  self.cdcList.append(layerList3)
168  self.snrList.append(layerList4)
169  self.nList.append(layerList8)
170  self.sumCOGList.append(layerList7)
171  # layerNumber = layer.getLayerNumber()
172  for ladder in geoCache.getLadders(layer):
173  ladderList0 = []
174  ladderList1 = []
175  ladderList2 = []
176  ladderList3 = []
177  ladderList4 = []
178  ladderList5 = []
179  ladderList6 = []
180  ladderList7 = []
181  ladderList8 = []
182  layerList0.append(ladderList0)
183  layerList1.append(ladderList1)
184  layerList2.append(ladderList2)
185  layerList3.append(ladderList3)
186  layerList4.append(ladderList4)
187  layerList5.append(ladderList5)
188  layerList6.append(ladderList6)
189  layerList7.append(ladderList7)
190  layerList8.append(ladderList8)
191  # ladderNumber = ladder.getLadderNumber()
192  for sensor in geoCache.getSensors(ladder):
193  sensorList0 = []
194  sensorList1 = []
195  sensorList2 = []
196  sensorList3 = []
197  sensorList4 = []
198  sensorList5 = []
199  sensorList6 = []
200  sensorList7 = []
201  sensorList8 = []
202  ladderList0.append(sensorList0)
203  ladderList1.append(sensorList1)
204  ladderList2.append(sensorList2)
205  ladderList3.append(sensorList3)
206  ladderList4.append(sensorList4)
207  ladderList5.append(sensorList5)
208  ladderList6.append(sensorList6)
209  ladderList7.append(sensorList7)
210  ladderList8.append(sensorList8)
211  # sensorNumber = sensor.getSensorNumber()
212  for side in range(2):
213  sideList0 = []
214  sideList1 = []
215  sideList2 = []
216  sideList3 = []
217  sideList4 = []
218  sideList5 = []
219  sideList6 = []
220  sideList7 = []
221  sideList8 = []
222  sensorList0.append(sideList0)
223  sensorList1.append(sideList1)
224  sensorList2.append(sideList2)
225  sensorList3.append(sideList3)
226  sensorList4.append(sideList4)
227  sensorList5.append(sideList5)
228  sensorList6.append(sideList6)
229  sensorList7.append(sideList7)
230  sensorList8.append(sideList8)
231 
232  for i in geoCache.getLayers(Belle2.VXD.SensorInfoBase.SVD):
233  layerN = i.getLayerNumber()
234  li = layerN - 3
235  for j in geoCache.getLadders(i):
236  ladderN = j.getLadderNumber()
237  ldi = ladderN - 1
238  for k in geoCache.getSensors(j):
239  sensorN = k.getSensorNumber()
240  si = sensorN - 1
241  for s in range(2):
242  for t in range(4):
243  self.resList[li][ldi][si][s].append(
244  TH1F("res" + "_" + str(k) + "." + str(s) + "." + str(t), " ", 200, -100, 100))
245  self.spList[li][ldi][si][s].append(
246  TH2D("sp" + "_" + str(k) + "." + str(s) + "." + str(t), " ", 300, -150, 150, 300, -150, 150))
247  self.cogList[li][ldi][si][s].append(
248  TH1F("cog" + "_" + str(k) + "." + str(s) + "." + str(t), " ", 200, -100, 100))
249  self.cdcList[li][ldi][si][s].append(
250  TH1F("cdc" + "_" + str(k) + "." + str(s) + "." + str(t), " ", 200, -100, 100))
251  self.snrList[li][ldi][si][s].append(
252  TH1F("snr" + "_" + str(k) + "." + str(s) + "." + str(t), " ", 100, 0, 100))
253  self.nList[li][ldi][si][s].append(0)
254  self.sumCOGList[li][ldi][si][s].append(0)
255 
256  self.EventT0Hist = TH1F("EventT0", " ", 200, -100, 100)
257 
258  self.AlphaUTB = TH2F("alphaVsTB_U", " ", 400, 0.5, 2, 4, 0, 4)
259  self.AlphaUTB.GetXaxis().SetTitle("alpha")
260  self.AlphaUTB.GetYaxis().SetTitle("trigger bin")
261 
262  self.AlphaVTB = TH2F("alphaVsTB_V", " ", 400, 0.5, 2, 4, 0, 4)
263  self.AlphaVTB.GetXaxis().SetTitle("alpha")
264  self.AlphaVTB.GetYaxis().SetTitle("trigger bin")
265 
266  self.BetaUTB = TH2F("betaVsTB_U", " ", 200, -100, 100, 4, 0, 4)
267  self.BetaUTB.GetXaxis().SetTitle("beta (ns)")
268  self.BetaUTB.GetYaxis().SetTitle("trigger bin")
269 
270  self.BetaVTB = TH2F("betaVsTB_V", " ", 200, -100, 100, 4, 0, 4)
271  self.BetaVTB.GetXaxis().SetTitle("beta (ns)")
272  self.BetaVTB.GetYaxis().SetTitle("trigger bin")
273 
274 
275  self.MeanHistVTB = TH2F("meanHistVsTB_V", " ", 100, -10, 10, 4, 0, 4)
276  self.MeanHistVTB.GetXaxis().SetTitle("distribution mean (ns)")
277  self.MeanHistVTB.GetYaxis().SetTitle("trigger bin")
278 
279  self.MeanHistUTB = TH2F("meanHistVsTB_U", " ", 100, -10, 10, 4, 0, 4)
280  self.MeanHistUTB.GetXaxis().SetTitle("distribution mean (ns)")
281  self.MeanHistUTB.GetYaxis().SetTitle("trigger bin")
282 
283  self.RMSHistVTB = TH2F("rmsHistVsTB_V", " ", 100, 0, 10, 4, 0, 4)
284  self.RMSHistVTB.GetXaxis().SetTitle("distribution RMS (ns)")
285  self.RMSHistVTB.GetYaxis().SetTitle("trigger bin")
286 
287  self.RMSHistUTB = TH2F("rmsHistVsTB_U", " ", 100, 0, 10, 4, 0, 4)
288  self.RMSHistUTB.GetXaxis().SetTitle("distribution RMS (ns)")
289  self.RMSHistUTB.GetYaxis().SetTitle("trigger bin")
290 
291  self.MeanFitVTB = TH2F("meanFitVsTB_V", " ", 100, -10, 10, 4, 0, 4)
292  self.MeanFitVTB.GetXaxis().SetTitle("fit mean (ns)")
293  self.MeanFitVTB.GetYaxis().SetTitle("trigger bin")
294 
295  self.MeanFitUTB = TH2F("meanFitVsTB_U", " ", 100, -10, 10, 4, 0, 4)
296  self.MeanFitUTB.GetXaxis().SetTitle("fit mean (ns)")
297  self.MeanFitUTB.GetYaxis().SetTitle("trigger bin")
298 
299  self.RMSFitUTB = TH2F("rmsFitVsTB_U", " ", 100, 0, 10, 4, 0, 4)
300  self.RMSFitUTB.GetXaxis().SetTitle("fit sigma (ns)")
301  self.RMSFitUTB.GetYaxis().SetTitle("trigger bin")
302 
303  self.RMSFitVTB = TH2F("rmsFitVsTB_V", " ", 100, 0, 10, 4, 0, 4)
304  self.RMSFitVTB.GetXaxis().SetTitle("fit sigma (ns)")
305  self.RMSFitVTB.GetYaxis().SetTitle("trigger bin")
306 
307 
308  self.gaus = TF1("gaus", 'gaus(0)', -150, 100)
309 
310  self.NTOT = 0
311 
312  def event(self):
313  """
314  Function that allows to cicle on the events
315  """
316  svd_evt_info = Belle2.PyStoreObj('SVDEventInfo')
317  mode_byte = svd_evt_info.getModeByte()
318  timeClusterU = 0
319  timeClusterV = 0
320  sideIndex = 0
321  TBIndexU = 0
322  TBIndexV = 0
323 
324  self.Evt = self.Evt + 1
325 
326 
327  self.cdcEventT0 = Belle2.PyStoreObj(cdc_Time0)
328  svdCluster_list = Belle2.PyStoreArray(svd_Clusters)
329  svdRecoDigit_list = Belle2.PyStoreArray(svd_recoDigits)
330 
331  for svdCluster in svdCluster_list:
332  svdRecoDigit = svdCluster.getRelatedTo(svd_recoDigits)
333  self.fillLists(mode_byte, svdCluster)
334 
335  def terminate(self):
336  """
337  Terminates te class and produces the output rootfile
338  """
339 
340  tfile = TFile(self.outputFileName, 'recreate')
342 
344 
345  timeCal = SVDCoGCalibrationFunction()
346  # Bias and Scale
347  tbBias = [-50, -50, -50, -50]
348  tbScale = [1, 1, 1, 1]
349  tbBias_err = [1, 1, 1, 1]
350  tbScale_err = [1, 1, 1, 1]
351  tbCovScaleBias = [1, 1, 1, 1]
352 
353  TCOGMEAN = 0
354  T0MEAN = 0
355 
356  '''
357  geoCache = Belle2.VXD.GeoCache.getInstance()
358  for layer in geoCache.getLayers(Belle2.VXD.SensorInfoBase.SVD):
359  layerNumber = layer.getLayerNumber()
360  li = layerNumber - 3
361  for ladder in geoCache.getLadders(layer):
362  ladderNumber = ladder.getLadderNumber()
363  ldi = ladderNumber - 1
364  for sensor in geoCache.getSensors(ladder):
365  sensorNumber = sensor.getSensorNumber()
366  si = sensorNumber - 1
367  for side in range(2):
368  for tb in range(4):
369  n = self.nList[li][ldi][si][side][tb]
370  NTOT += n
371  '''
373  gDirectory.mkdir("plots")
374  gDirectory.cd("plots")
375  for layer in geoCache.getLayers(Belle2.VXD.SensorInfoBase.SVD):
376  layerNumber = layer.getLayerNumber()
377  li = layerNumber - 3
378  gDirectory.mkdir("layer" + str(layer))
379  gDirectory.cd("layer" + str(layer))
380  for ladder in geoCache.getLadders(layer):
381  ladderNumber = ladder.getLadderNumber()
382  ldi = ladderNumber - 1
383  for sensor in geoCache.getSensors(ladder):
384  sensorNumber = sensor.getSensorNumber()
385  si = sensorNumber - 1
386  for side in range(2):
387  for tb in range(4):
388  # Resolution distribution Histograms with Gaussian Fit
389  res = self.resList[li][ldi][si][side][tb]
390  fitResult = int(TFitResultPtr(res.Fit(self.gaus, "R")))
391 
392  if res.GetEntries() > 5:
393  if side == 1:
394  self.MeanHistUTB.Fill(res.GetMean(), tb)
395  self.RMSHistUTB.Fill(res.GetRMS(), tb)
396  if fitResult > -1:
397  self.MeanFitUTB.Fill(self.gaus.GetParameter(1), tb)
398  self.RMSFitUTB.Fill(self.gaus.GetParameter(2), tb)
399  else:
400  self.MeanHistVTB.Fill(res.GetMean(), tb)
401  self.RMSHistVTB.Fill(res.GetRMS(), tb)
402  if fitResult > -1:
403  self.MeanFitVTB.Fill(self.gaus.GetParameter(1), tb)
404  self.RMSFitVTB.Fill(self.gaus.GetParameter(2), tb)
405 
406  res.Write()
407  # COG Distribution Histograms
408  cog = self.cogList[li][ldi][si][side][tb]
409  cog.Write()
410  # CDC EventT0 Distribution Histograms
411  cdc = self.cdcList[li][ldi][si][side][tb]
412  cdc.Write()
413  # SNR Distribution Histograms
414  snr = self.snrList[li][ldi][si][side][tb]
415  snrMean = snr.GetMean()
416  snr.Write()
417  # ScatterPlot Histograms with Linear Fit
418  sp = self.spList[li][ldi][si][side][tb]
419  covscalebias = sp.GetCovariance()
420  pfxsp = sp.ProfileX()
421  sp.Write()
422  pfxsp.Write()
423 
424  if sp.GetRMS() != 0:
425  m = sp.GetCovariance() / pow(sp.GetRMS(1), 2)
426  # m = sp.GetCovariance()/cog.GetRMS()
427  m_err = 2 / pow(sp.GetRMS(), 3) * sp.GetRMSError() * sp.GetCovariance()
428  q = sp.GetMean(2) - m * sp.GetMean(1)
429  q_err = math.sqrt(pow(sp.GetMeanError(2), 2) +
430  pow(m * sp.GetMeanError(1), 2) + pow(m_err * sp.GetMean(1), 2))
431  else:
432  m = 1
433  m_err = 0
434  q = 0
435  q_err = 0
436 
437  if side == 1:
438  self.AlphaUTB.Fill(m, tb)
439  self.BetaUTB.Fill(q, tb)
440  else:
441  self.AlphaVTB.Fill(m, tb)
442  self.BetaVTB.Fill(q, tb)
443 
444  n = self.nList[li][ldi][si][side][tb]
445 
446  tbBias[tb] = q
447  tbScale[tb] = m
448  tbBias_err[tb] = q_err
449  tbScale_err[tb] = m_err
450  TCOGMEAN += n * (m * self.sumCOGList[li][ldi][si][side][tb] / n + q) / self.NTOT
451 
452  T0MEAN = self.EventT0Hist.GetMean()
453  '''
454  print(
455  "Mean of the CoG corrected distribution: " +
456  str(TCOGMEAN) +
457  " Mean of the T0 distribution: " +
458  str(T0MEAN))
459  '''
460  if not self.notApplyCDCLatencyCorrection:
461  tbBias[0] = tbBias[0] - T0MEAN
462  tbBias[1] = tbBias[1] - T0MEAN
463  tbBias[2] = tbBias[2] - T0MEAN
464  tbBias[3] = tbBias[3] - T0MEAN
465 
466  timeCal.set_bias(tbBias[0], tbBias[1], tbBias[2], tbBias[3])
467  timeCal.set_scale(tbScale[0], tbScale[1], tbScale[2], tbScale[3])
468  print("setting CoG calibration for " + str(layerNumber) + "." + str(ladderNumber) + "." + str(sensorNumber))
469  payload.set(layerNumber, ladderNumber, sensorNumber, bool(side), 1, timeCal)
470  gDirectory.cd("../")
471 
472  gDirectory.cd("../")
473  self.AlphaUTB.Write()
474  self.AlphaVTB.Write()
475  self.BetaUTB.Write()
476  self.BetaVTB.Write()
477  self.MeanFitUTB.Write()
478  self.MeanFitVTB.Write()
479  self.RMSFitUTB.Write()
480  self.RMSFitVTB.Write()
481  self.MeanHistUTB.Write()
482  self.MeanHistVTB.Write()
483  self.RMSHistUTB.Write()
484  self.RMSHistVTB.Write()
485  self.EventT0Hist.Write()
486 
487  Belle2.Database.Instance().storeData(Belle2.SVDCoGTimeCalibrations.name, payload, iov)
488 
489  tfile.Close()
svd.CoGCalibration_utils.SVDCoGTimeCalibrationImporterModule.cdcEventT0
cdcEventT0
registers PyStoreObj EventT0
Definition: CoGCalibration_utils.py:327
svd.CoGCalibration_utils.SVDCoGTimeCalibrationImporterModule.NTOT
NTOT
counts the number of clusters
Definition: CoGCalibration_utils.py:115
svd.CoGCalibration_utils.SVDCoGTimeCalibrationImporterModule.fillLists
def fillLists(self, mode_byte_object, svdClusters_rel_RecoTracks_cl)
Definition: CoGCalibration_utils.py:63
Belle2::IntervalOfValidity::always
static IntervalOfValidity always()
Function that returns an interval of validity that is always valid, c.f.
Definition: IntervalOfValidity.h:72
svd.CoGCalibration_utils.SVDCoGTimeCalibrationImporterModule.gaus
gaus
gaus function used for fitting distributions
Definition: CoGCalibration_utils.py:308
svd.CoGCalibration_utils.SVDCoGTimeCalibrationImporterModule.localdb
localdb
set the name of the localDB used
Definition: CoGCalibration_utils.py:125
svd.CoGCalibration_utils.SVDCoGTimeCalibrationImporterModule.notApplyCorrectForCDCLatency
def notApplyCorrectForCDCLatency(self, mode)
Definition: CoGCalibration_utils.py:50
svd.CoGCalibration_utils.SVDCoGTimeCalibrationImporterModule.terminate
def terminate(self)
Definition: CoGCalibration_utils.py:335
svd.CoGCalibration_utils.SVDCoGTimeCalibrationImporterModule.nList
nList
number of clusters
Definition: CoGCalibration_utils.py:147
svd.CoGCalibration_utils.SVDCoGTimeCalibrationImporterModule.MeanFitVTB
MeanFitVTB
mean of the residuals distribution vs TB, for V side (from gaussian fit)
Definition: CoGCalibration_utils.py:291
svd.CoGCalibration_utils.SVDCoGTimeCalibrationImporterModule.event
def event(self)
Definition: CoGCalibration_utils.py:312
svd.CoGCalibration_utils.SVDCoGTimeCalibrationImporterModule.initialize
def initialize(self)
Definition: CoGCalibration_utils.py:127
Belle2::PyStoreObj
a (simplified) python wrapper for StoreObjPtr.
Definition: PyStoreObj.h:69
svd.CoGCalibration_utils.SVDCoGTimeCalibrationImporterModule.RMSFitVTB
RMSFitVTB
RMS of the residuals distribution vs TB, for V side (from gaussian fit)
Definition: CoGCalibration_utils.py:303
svd.CoGCalibration_utils.SVDCoGTimeCalibrationImporterModule.AlphaVTB
AlphaVTB
alpha parameter vs TB, for V side
Definition: CoGCalibration_utils.py:262
svd.CoGCalibration_utils.SVDCoGTimeCalibrationImporterModule.cogList
cogList
cog
Definition: CoGCalibration_utils.py:141
svd.CoGCalibration_utils.SVDCoGTimeCalibrationImporterModule.RMSHistVTB
RMSHistVTB
RMS of the residuals distribution vs TB, for V side.
Definition: CoGCalibration_utils.py:283
svd.CoGCalibration_utils.SVDCoGTimeCalibrationImporterModule.resList
resList
lists used to create the histograms for each TB : residuals
Definition: CoGCalibration_utils.py:137
svd.CoGCalibration_utils.SVDCoGTimeCalibrationImporterModule.RMSHistUTB
RMSHistUTB
RMS of the residuals distribution vs TB, for U side.
Definition: CoGCalibration_utils.py:287
svd.CoGCalibration_utils.SVDCoGTimeCalibrationImporterModule.sumCOGList
sumCOGList
sum of CoG times
Definition: CoGCalibration_utils.py:149
svd.CoGCalibration_utils.SVDCoGTimeCalibrationImporterModule.EventT0Hist
EventT0Hist
distribution of EventT0
Definition: CoGCalibration_utils.py:256
svd.CoGCalibration_utils.SVDCoGTimeCalibrationImporterModule
Definition: CoGCalibration_utils.py:44
Belle2::VXD::GeoCache::getInstance
static GeoCache & getInstance()
Return a reference to the singleton instance.
Definition: GeoCache.cc:215
svd.CoGCalibration_utils.SVDCoGTimeCalibrationImporterModule.MeanHistUTB
MeanHistUTB
mean of the residuals distribution vs TB, for U side
Definition: CoGCalibration_utils.py:279
svd.CoGCalibration_utils.SVDCoGTimeCalibrationImporterModule.Evt
Evt
counts the number of events
Definition: CoGCalibration_utils.py:153
svd.CoGCalibration_utils.SVDCoGTimeCalibrationImporterModule.snrList
snrList
Cluster SNR.
Definition: CoGCalibration_utils.py:145
svd.CoGCalibration_utils.SVDCoGTimeCalibrationImporterModule.cdcList
cdcList
t0
Definition: CoGCalibration_utils.py:143
svd.CoGCalibration_utils.SVDCoGTimeCalibrationImporterModule.spList
spList
scatterplot t0 vs cog
Definition: CoGCalibration_utils.py:139
svd.CoGCalibration_utils.SVDCoGTimeCalibrationImporterModule.BetaVTB
BetaVTB
beta parameter vs TB, for V side
Definition: CoGCalibration_utils.py:270
svd.CoGCalibration_utils.SVDCoGTimeCalibrationImporterModule.notApplyCDCLatencyCorrection
notApplyCDCLatencyCorrection
parameter that allows to apply or not the CDC latency correction
Definition: CoGCalibration_utils.py:60
Belle2::PyStoreArray
a (simplified) python wrapper for StoreArray.
Definition: PyStoreArray.h:58
Belle2::Database::Instance
static Database & Instance()
Instance of a singleton Database.
Definition: Database.cc:54
svd.CoGCalibration_utils.SVDCoGTimeCalibrationImporterModule.RMSFitUTB
RMSFitUTB
RMS of the residuals distribution vs TB, for U side (from gaussian fit)
Definition: CoGCalibration_utils.py:299
svd.CoGCalibration_utils.SVDCoGTimeCalibrationImporterModule.AlphaUTB
AlphaUTB
alpha parameter vs TB, for U side
Definition: CoGCalibration_utils.py:258
svd.CoGCalibration_utils.SVDCoGTimeCalibrationImporterModule.outputFileName
outputFileName
name of the output file
Definition: CoGCalibration_utils.py:133
svd.CoGCalibration_utils.SVDCoGTimeCalibrationImporterModule.MeanHistVTB
MeanHistVTB
mean of the residuals distribution vs TB, for V side
Definition: CoGCalibration_utils.py:275
Belle2::SVDCalibrationsBase
base class for calibrations classes
Definition: SVDCalibrationsBase.h:36
svd.CoGCalibration_utils.SVDCoGTimeCalibrationImporterModule.BetaUTB
BetaUTB
beta parameter vs TB, for U side
Definition: CoGCalibration_utils.py:266
svd.CoGCalibration_utils.SVDCoGTimeCalibrationImporterModule.MeanFitUTB
MeanFitUTB
mean of the residuals distribution vs TB, for U side (from gaussian fit)
Definition: CoGCalibration_utils.py:295
svd.CoGCalibration_utils.SVDCoGTimeCalibrationImporterModule.set_localdb
def set_localdb(self, localDB)
Definition: CoGCalibration_utils.py:117