10 #include <svd/calibration/SVDTimeValidationAlgorithm.h>
12 #include <svd/dbobjects/SVDCoGCalibrationFunction.h>
13 #include <svd/calibration/SVDCoGTimeCalibrations.h>
18 #include <framework/logging/Logger.h>
21 #include <TFitResult.h>
26 SVDTimeValidationAlgorithm::SVDTimeValidationAlgorithm() :
35 gROOT->SetBatch(
true);
37 auto hEventT0 = getObjectPtr<TH1F>(
"hEventT0");
38 float eventT0_mean = 0;
39 float eventT0_rms = 0;
41 eventT0_mean = hEventT0->GetMean();
42 eventT0_rms = hEventT0->GetRMS();
44 B2ERROR(
"Histogram with Event T0 not found");
46 B2DEBUG(27,
"Histogram: " << hEventT0->GetName() <<
47 " Entries (n. clusters): " << hEventT0->GetEntries() <<
48 " Mean: " << eventT0_mean);
52 for (
auto ladder : geoCache.getLadders(layer)) {
58 auto layer_num = sensor.getLayerNumber();
59 auto ladder_num = sensor.getLadderNumber();
60 auto sensor_num = sensor.getSensorNumber();
61 auto hClsTimeOnTracks = getObjectPtr<TH1F>(Form(
"clsTimeOnTracks__L%dL%dS%d%c", layer_num, ladder_num, sensor_num, side));
62 float clsTimeOnTracks_mean = 0.;
64 clsTimeOnTracks_mean = hClsTimeOnTracks->GetMean();
66 B2ERROR(
"Histogram " << Form(
"clsTimeOnTracks__L%dL%dS%d%c", layer_num, ladder_num, sensor_num, side) <<
" not found");
67 auto deviation = (clsTimeOnTracks_mean - eventT0_mean) / eventT0_rms;
69 B2DEBUG(27,
"Histogram: " << hClsTimeOnTracks->GetName() <<
70 " Entries (n. clusters): " << hClsTimeOnTracks->GetEntries() <<
71 " Mean: " << clsTimeOnTracks_mean <<
72 " Deviation: " << deviation <<
" EventT0 RMS");
74 B2ERROR(
"Histogram: " << hClsTimeOnTracks->GetName() <<
" deviates from EventT0 by" << deviation <<
" times the EventT0 RMS");