Belle II Software prerelease-11-00-00a
TOPTBCComparatorModule.h
1/**************************************************************************
2 * basf2 (Belle II Analysis Software Framework) *
3 * Author: The Belle II Collaboration *
4 * *
5 * See git log for contributors and copyright holders. *
6 * This file is licensed under LGPL-3.0, see LICENSE.md. *
7 **************************************************************************/
8
9#pragma once
10
11#include <framework/core/HistoModule.h>
12#include <TH1F.h>
13#include <TH2F.h>
14#include <string>
15#include <vector>
16
17namespace Belle2 {
73 public:
78
83 void defineHisto() override;
84
88 void initialize() override;
89
96 void endRun() override;
97
102 void terminate() override;
103
108 int analyzeCalFile();
109
114 int makeComparisons();
115
119 int parseSlotAndScrodIDfromFileName(const std::string&);
120
125 int parseInputDirectoryLine(const std::string&);
126
131 TH1F* calculateHistoRatio(TH1F*, TH1F*, TH1F*);
132
137 TH2F* calculateHistoRatio(TH2F*, TH2F*, TH2F*);
138
139
140
141
142 private:
143 // steering parameters
145 "";
147 true;
148 std::string m_outputFile = "";
149 short m_minCalPulses = 200;
150 short m_numSamples = 256;
151
152
153 // utilities
154 std::string m_calSetDirectory;
156 nullptr;
157 std::string m_calSetLabel;
158 short m_slotID = -1;
159 short m_boardstackID = -1;
160 short m_scrodID = -1;
161 short m_calSetID = 0;
162 short m_totCalSets = 0;
163
164
165 // Delta T plots, slot-by-slot
166 std::vector<TH1F*>
168 std::vector<TH1F*>
170 std::vector<TH2F*>
172 std::vector<TH2F*>
174
175 // Average timing plots, all the detector at once
176 std::vector<TH1F*>
178 std::vector<TH1F*>
180
181
182 // Occupancy plots, slot-by-slot
183 std::vector<TH1F*>
185 std::vector<TH1F*>
187 std::vector<TH2F*>
189 std::vector<TH2F*>
191
192 // Occupancy plot, all the detector at once
193 std::vector<TH1F*>
195
196
197 // Delta T ratio plots, slot-by-slot
198 std::vector<TH1F*>
200 std::vector<TH1F*>
202 std::vector<TH2F*>
204 std::vector<TH2F*>
206
207
208 // Delta T ratio plots, whole detector
209 std::vector<TH1F*>
211 std::vector<TH1F*>
213 std::vector<TH1F*>
215
216
217
218
219
220 };
221
223} //namespace Belle2
HistoModule()
Constructor.
Definition HistoModule.h:32
short m_boardstackID
ID of the slot whose calibrations are being analyzed.
std::vector< TH1F * > m_topAverageDeltaTComparison
Average of the DeltaT (time difference petween the calibration pulses) distribution,...
std::string m_inputDirectoryList
List of the directories (one per IOV) in which the files with the calibration constants of the SCODS ...
std::vector< TH1F * > m_slotSigmaDeltaT[16]
Standard deviation of the DeltaT (time difference petween the calibration pulses) distribution,...
short m_totCalSets
Total number of calibration sets, as counted int defineHistos.
std::vector< TH1F * > m_slotSampleOccupancy[16]
Average number of calpulses per sample used in the minimization, as function of the channel number.
short m_numSamples
Number of samples that have been calibrated.
std::string m_outputFile
File in which the output histograms are stored.
std::vector< TH1F * > m_topSigmaDeltaTComparison
Standard deviation of the DeltaT (time difference petween the calibration pulses) distribution,...
std::vector< TH1F * > m_topSigmaDeltaT
Standard deviation of the DeltaT (time difference petween the calibration pulses) distribution,...
std::vector< TH2F * > m_slotAverageDeltaTMap[16]
Map of the average of the DeltaT (time difference petween the calibration pulses) distribution.
std::string m_calSetDirectory
Label to be used to indetify the histograms of a the calibration set.
std::vector< TH2F * > m_slotAverageDeltaTMapComparison[16]
Map of the Ratio of the average DeltaT (time difference petween the calibration pulses)
bool m_compareToPreviousSet
Determines if the reverence set for the ratio is the first CalSet of the list (if false) or if each C...
std::vector< TH1F * > m_topSampleOccupancy
Average number of calpulses per sample used in the minimization, as function of the channel number on...
short m_calSetID
Internal ID of the calibration set that is being analyzed.
std::vector< TH2F * > m_slotSigmaDeltaTMapComparison[16]
Map of Ratio of the Standard deviation on DeltaT (time difference petween the calibration pulses)
TFile * m_calSetFile
File containing the calibration constants of the SCROD being analyzed.
std::vector< TH1F * > m_slotEmptySamples[16]
Number of (semi-)empty samples in each channel.
short m_slotID
ID of the slot whose calibrations are being analyzed.
short m_minCalPulses
Minimum number of calpulses to declare a sample as non-empty.
std::vector< TH1F * > m_slotSigmaDeltaTComparison[16]
Ratio of the Standard deviation of the DeltaT (time difference petween the calibration pulses) distri...
std::vector< TH1F * > m_topSampleOccupancyComparison
Ratios of the average sample occupancy on the whole detector.
std::string m_calSetLabel
Label to be used to identify the histograms of a the calibration set.
std::vector< TH1F * > m_slotAverageDeltaT[16]
Average of the DeltaT (time difference petween the calibration pulses) distribution,...
short m_scrodID
ID of the scrod whose calibrations are being analyzed.
std::vector< TH2F * > m_slotEmptySamplesMap[16]
Map of the number of (semi-)empty samples.
std::vector< TH1F * > m_slotAverageDeltaTComparison[16]
Ratio of the average of the DeltaT (time difference petween the calibration pulses) distribution,...
std::vector< TH2F * > m_slotSigmaDeltaTMap[16]
Map of the Standard deviation of the DeltaT (time difference petween the calibration pulses) distribu...
std::vector< TH1F * > m_topAverageDeltaT
Average of the DeltaT (time difference petween the calibration pulses) distribution,...
std::vector< TH2F * > m_slotSampleOccupancyMap[16]
Map of the average number of calpulses per sample used in the minimizat on.
int makeComparisons()
Last function to be called, compared the histograms of different datasets filled by analyzeCalFile() ...
void initialize() override
Initialize the module.
int parseInputDirectoryLine(const std::string &)
Utility function to get the directory name and the label from a line of the m_inputDirectoryList file...
void endRun() override
End-of-run action.
void terminate() override
Termination action.
int analyzeCalFile()
Analyzes the calibrations stored in the file m_calSetFile.
TH1F * calculateHistoRatio(TH1F *, TH1F *, TH1F *)
Utility function to take the ratio of two histograms using TH1::Divide(), without overwriting the out...
int parseSlotAndScrodIDfromFileName(const std::string &)
Utility function to parse the slot and BS id from the calibration file names.
void defineHisto() override
Defining the histograms.
Abstract base class for different kinds of events.