40 auto hEventT0 =
new TH1F(
"hEventT0",
"EventT0", 300, -150, 150);
43 auto hEventT0FromCDC =
new TH1F(
"hEventT0FromCDC",
"EventT0FromCDC", 300, -150, 150);
45 auto hEventT0FromSVD =
new TH1F(
"hEventT0FromSVD",
"EventT0FromSVD", 300, -150, 150);
48 auto hAbsoluteShiftValues =
new TH1D(
"hAbsoluteShiftValues",
"Fitted shift values ;Bin;Mean (ns)", 8, 0.5, 8.5);
58 std::vector<Belle2::VxdID> allSensors;
60 for (
auto ladder : geoCache.getLadders(layer))
62 allSensors.push_back(sensor);
64 int numberOfSensorBin = 2 * int(allSensors.size());
65 B2INFO(
"Number of SensorBin: " << numberOfSensorBin);
67 TH2F* __hClsTimeOnTracks__ =
new TH2F(
"__hClsTimeOnTracks__",
"clsTimeOnTracks",
69 numberOfSensorBin, + 0.5, numberOfSensorBin + 0.5);
70 TH2F* __hClsTimeAll__ =
new TH2F(
"__hClsTimeAll__",
"clsTimeAll",
72 numberOfSensorBin, + 0.5, numberOfSensorBin + 0.5);
73 TH2F* __hClsDiffTimeOnTracks__ =
new TH2F(
"__hClsDiffTimeOnTracks__",
"clsDiffTimeOnTracks",
75 numberOfSensorBin, + 0.5, numberOfSensorBin + 0.5);
76 TH3F* __hClusterSizeVsTimeResidual__ =
new TH3F(
"__hClusterSizeVsTimeResidual__",
77 "ClusterSize vs Time Residual",
78 100, -25., 25., 10, 0.5, + 10.5,
79 numberOfSensorBin, + 0.5, numberOfSensorBin + 0.5);
80 TH1F* __hBinToSensorMap__ =
new TH1F(
"__hBinToSensorMap__",
"__BinToSensorMap__",
81 numberOfSensorBin, + 0.5, numberOfSensorBin + 0.5);
82 __hClsTimeOnTracks__->GetYaxis()->SetTitle(
"sensor");
83 __hClsTimeOnTracks__->GetXaxis()->SetTitle(
"clsTime_onTracks (ns)");
84 __hClsTimeAll__->GetYaxis()->SetTitle(
"sensor");
85 __hClsTimeAll__->GetXaxis()->SetTitle(
"clsTime_all (ns)");
86 __hClsDiffTimeOnTracks__->GetYaxis()->SetTitle(
"sensor");
87 __hClsDiffTimeOnTracks__->GetXaxis()->SetTitle(
"clsDiffTime_onTracks (ns)");
88 __hClusterSizeVsTimeResidual__->GetZaxis()->SetTitle(
"Sensor");
89 __hClusterSizeVsTimeResidual__->GetYaxis()->SetTitle(
"Cluster Size");
90 __hClusterSizeVsTimeResidual__->GetXaxis()->SetTitle(
"Cluster Time - EventT0 (ns)");
93 for (
auto sensor : allSensors) {
94 for (
auto view : {
'U',
'V'}) {
96 TString binLabel = TString::Format(
"L%iL%iS%i%c",
97 sensor.getLayerNumber(),
98 sensor.getLadderNumber(),
99 sensor.getSensorNumber(),
101 __hBinToSensorMap__->GetXaxis()->SetBinLabel(tmpBinCnt, binLabel);
108 registerObject<TH3F>(__hClusterSizeVsTimeResidual__->GetName(), __hClusterSizeVsTimeResidual__);
142 if (
m_eventT0->hasTemporaryEventT0(Const::EDetector::CDC)) {
143 auto evtT0CDC =
m_eventT0->getBestCDCTemporaryEventT0();
144 float eventT0 = evtT0CDC->eventT0;
148 if (
m_eventT0->hasTemporaryEventT0(Const::EDetector::CDC)) {
149 auto evtT0CDC =
m_eventT0->getBestCDCTemporaryEventT0();
151 }
else {B2WARNING(
"Found no CDC event T0");}
152 if (
m_eventT0->hasTemporaryEventT0(Const::EDetector::SVD)) {
153 auto evtT0SVD =
m_eventT0->getBestSVDTemporaryEventT0();
155 }
else {B2WARNING(
"Found no SVD event T0");}
162 float clusterTime = svdCluster.getClsTime();
163 int clusterSize = svdCluster.getSize();
165 TString binLabel = TString::Format(
"L%iL%iS%i%c",
166 svdCluster.getSensorID().getLayerNumber(),
167 svdCluster.getSensorID().getLadderNumber(),
168 svdCluster.getSensorID().getSensorNumber(),
169 svdCluster.isUCluster() ?
'U' :
'V');
170 int sensorBin =
getObjectPtr<TH1F>(
"__hBinToSensorMap__")->GetXaxis()->FindBin(binLabel.Data());
171 double sensorBinCenter =
getObjectPtr<TH1F>(
"__hBinToSensorMap__")->GetXaxis()->GetBinCenter(sensorBin);
174 getObjectPtr<TH2F>(
"__hClsDiffTimeOnTracks__")->Fill(clusterTime - eventT0, sensorBinCenter);
175 getObjectPtr<TH3F>(
"__hClusterSizeVsTimeResidual__")->Fill(clusterTime - eventT0, clusterSize, sensorBinCenter);
179 for (
const auto& svdCluster :
m_svdCls) {
181 float clusterTime = svdCluster.getClsTime();
183 TString binLabel = TString::Format(
"L%iL%iS%i%c",
184 svdCluster.getSensorID().getLayerNumber(),
185 svdCluster.getSensorID().getLadderNumber(),
186 svdCluster.getSensorID().getSensorNumber(),
187 svdCluster.isUCluster() ?
'U' :
'V');
188 int sensorBin =
getObjectPtr<TH1F>(
"__hBinToSensorMap__")->GetXaxis()->FindBin(binLabel.Data());
189 double sensorBinCenter =
getObjectPtr<TH1F>(
"__hBinToSensorMap__")->GetXaxis()->GetBinCenter(sensorBin);
void addParam(const std::string &name, T ¶mVariable, const std::string &description, const T &defaultValue)
Adds a new parameter to the module.