39 auto hEventT0 =
new TH1F(
"hEventT0",
"EventT0", 300, -150, 150);
49 std::vector<Belle2::VxdID> allSensors;
51 for (
auto ladder : geoCache.getLadders(layer))
53 allSensors.push_back(sensor);
55 int numberOfSensorBin = 2 * int(allSensors.size());
56 B2INFO(
"Number of SensorBin: " << numberOfSensorBin);
58 TH2F* __hClsTimeOnTracks__ =
new TH2F(
"__hClsTimeOnTracks__",
"clsTimeOnTracks",
60 numberOfSensorBin, + 0.5, numberOfSensorBin + 0.5);
61 TH2F* __hClsTimeAll__ =
new TH2F(
"__hClsTimeAll__",
"clsTimeAll",
63 numberOfSensorBin, + 0.5, numberOfSensorBin + 0.5);
64 TH2F* __hClsDiffTimeOnTracks__ =
new TH2F(
"__hClsDiffTimeOnTracks__",
"clsDiffTimeOnTracks",
66 numberOfSensorBin, + 0.5, numberOfSensorBin + 0.5);
67 TH3F* __hClusterSizeVsTimeResidual__ =
new TH3F(
"__hClusterSizeVsTimeResidual__",
68 "ClusterSize vs Time Residual",
69 100, -25., 25., 10, 0.5, + 10.5,
70 numberOfSensorBin, + 0.5, numberOfSensorBin + 0.5);
71 TH1F* __hBinToSensorMap__ =
new TH1F(
"__hBinToSensorMap__",
"__BinToSensorMap__",
72 numberOfSensorBin, + 0.5, numberOfSensorBin + 0.5);
73 __hClsTimeOnTracks__->GetYaxis()->SetTitle(
"sensor");
74 __hClsTimeOnTracks__->GetXaxis()->SetTitle(
"clsTime_onTracks (ns)");
75 __hClsTimeAll__->GetYaxis()->SetTitle(
"sensor");
76 __hClsTimeAll__->GetXaxis()->SetTitle(
"clsTime_all (ns)");
77 __hClsDiffTimeOnTracks__->GetYaxis()->SetTitle(
"sensor");
78 __hClsDiffTimeOnTracks__->GetXaxis()->SetTitle(
"clsDiffTime_onTracks (ns)");
79 __hClusterSizeVsTimeResidual__->GetZaxis()->SetTitle(
"Sensor");
80 __hClusterSizeVsTimeResidual__->GetYaxis()->SetTitle(
"Cluster Size");
81 __hClusterSizeVsTimeResidual__->GetXaxis()->SetTitle(
"Cluster Time - EventT0 (ns)");
84 for (
auto sensor : allSensors) {
85 for (
auto view : {
'U',
'V'}) {
87 TString binLabel = TString::Format(
"L%iL%iS%i%c",
88 sensor.getLayerNumber(),
89 sensor.getLadderNumber(),
90 sensor.getSensorNumber(),
92 __hBinToSensorMap__->GetXaxis()->SetBinLabel(tmpBinCnt, binLabel);
121 float clusterTime = svdCluster.getClsTime();
122 int clusterSize = svdCluster.getSize();
124 TString binLabel = TString::Format(
"L%iL%iS%i%c",
125 svdCluster.getSensorID().getLayerNumber(),
126 svdCluster.getSensorID().getLadderNumber(),
127 svdCluster.getSensorID().getSensorNumber(),
128 svdCluster.isUCluster() ?
'U' :
'V');
129 int sensorBin =
getObjectPtr<TH1F>(
"__hBinToSensorMap__")->GetXaxis()->FindBin(binLabel.Data());
130 double sensorBinCenter =
getObjectPtr<TH1F>(
"__hBinToSensorMap__")->GetXaxis()->GetBinCenter(sensorBin);
133 getObjectPtr<TH2F>(
"__hClsDiffTimeOnTracks__")->Fill(clusterTime - eventT0, sensorBinCenter);
134 getObjectPtr<TH3F>(
"__hClusterSizeVsTimeResidual__")->Fill(clusterTime - eventT0, clusterSize, sensorBinCenter);
138 for (
const auto& svdCluster :
m_svdCls) {
140 float clusterTime = svdCluster.getClsTime();
142 TString binLabel = TString::Format(
"L%iL%iS%i%c",
143 svdCluster.getSensorID().getLayerNumber(),
144 svdCluster.getSensorID().getLadderNumber(),
145 svdCluster.getSensorID().getSensorNumber(),
146 svdCluster.isUCluster() ?
'U' :
'V');
147 int sensorBin =
getObjectPtr<TH1F>(
"__hBinToSensorMap__")->GetXaxis()->FindBin(binLabel.Data());
148 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.