Belle II Software development
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 {
70 public:
75
80 void defineHisto() override;
81
85 void initialize() override;
86
93 void endRun() override;
94
99 void terminate() override;
100
105 int analyzeCalFile();
106
111 int makeComparisons();
112
116 int parseSlotAndScrodIDfromFileName(const std::string&);
117
122 int parseInputDirectoryLine(const std::string&);
123
128 TH1F* calculateHistoRatio(TH1F*, TH1F*, TH1F*);
129
134 TH2F* calculateHistoRatio(TH2F*, TH2F*, TH2F*);
135
136
137
138
139 private:
140 // steering parameters
142 "";
144 true;
145 std::string m_outputFile = "";
146 short m_minCalPulses = 200;
147 short m_numSamples = 256;
148
149
150 // utilities
151 std::string m_calSetDirectory;
153 nullptr;
154 std::string m_calSetLabel;
155 short m_slotID = -1;
156 short m_boardstackID = -1;
157 short m_scrodID = -1;
158 short m_calSetID = 0;
159 short m_totCalSets = 0;
160
161
162 // Delta T plots, slot-by-slot
163 std::vector<TH1F*>
165 std::vector<TH1F*>
167 std::vector<TH2F*>
169 std::vector<TH2F*>
171
172 // Average timing plots, all the detector at once
173 std::vector<TH1F*>
175 std::vector<TH1F*>
177
178
179 // Occupancy plots, slot-by-slot
180 std::vector<TH1F*>
182 std::vector<TH1F*>
184 std::vector<TH2F*>
186 std::vector<TH2F*>
188
189 // Occupancy plot, all the detector at once
190 std::vector<TH1F*>
192
193
194 // Delta T ratio plots, slot-by-slot
195 std::vector<TH1F*>
197 std::vector<TH1F*>
199 std::vector<TH2F*>
201 std::vector<TH2F*>
203
204
205 // Delta T ratio plots, whole detector
206 std::vector<TH1F*>
208 std::vector<TH1F*>
210 std::vector<TH1F*>
212
213
214
215
216
217 };
218
220} //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.