5 #ifndef ZDCANALYSIS_ZDCANALYSISTOOL_H
6 #define ZDCANALYSIS_ZDCANALYSISTOOL_H
36 void initializeDecorations();
40 void initialize80MHz();
41 void initialize40MHz();
42 void initializeTriggerEffs(
unsigned int runNumber);
48 static bool sigprocMaxFinder(
const std::vector<unsigned short>&
adc,
float deltaT,
float& amp,
float& time,
float&
qual);
49 bool sigprocSincInterp(
const std::vector<unsigned short>&
adc,
float deltaT,
float& amp,
float& time,
float&
qual);
51 void setEnergyCalibrations(
unsigned int runNumber);
52 void setTimeCalibrations(
unsigned int runNumber);
53 void setFADCCorrections(
unsigned int runNumber = 0);
55 float getModuleSum(
int side);
57 float getCalibModuleSum(
int side);
58 float getCalibModuleSumErr(
int side);
60 float getNLCalibModuleSum(
int side);
61 float getNLCalibModuleSumErr(
int side);
63 float getUncalibModuleSum(
int side);
64 float getUncalibModuleSumErr(
int side);
66 float getAverageTime(
int side);
67 bool sideFailed(
int side);
68 unsigned int getModuleMask();
70 double getTriggerEfficiency(
int side);
71 double getTriggerEfficiencyUncertainty(
int side);
82 std::function<
bool(
int, std::string)> msgFunction = [
this](
int messageZdcLevel,
const std::string&
message)->
bool
85 bool passesStreamOutputLevel = messageAthenaLevel >= this->
msg().level();
86 if (passesStreamOutputLevel) {
89 return passesStreamOutputLevel;
96 if (s_debugLevel > 2) {
97 ATH_MSG_INFO(
"========================================================================================================================");
98 for (
int i = 0;
i < 2;
i++) {
99 for (
int j = 0; j < 4; j++) {
100 ATH_MSG_INFO(
"-------------------------------------------------------------------------------------------------------------------");
102 m_zdcDataAnalyzer->GetPulseAnalyzer(
i, j)->dumpSetting();
105 ATH_MSG_INFO(
"========================================================================================================================");
112 std::unique_ptr<ZDCDataAnalyzer> initializeDefault();
113 std::unique_ptr<ZDCDataAnalyzer> initializePbPb2015G4();
114 std::unique_ptr<ZDCDataAnalyzer> initializepPb2016();
115 std::unique_ptr<ZDCDataAnalyzer> initializePbPb2018();
116 std::unique_ptr<ZDCDataAnalyzer> initializeLHCf2022();
117 std::unique_ptr<ZDCDataAnalyzer> initializepp2023();
118 std::unique_ptr<ZDCDataAnalyzer> initializePbPb2023();
119 std::unique_ptr<ZDCDataAnalyzer> initializepp2024();
120 std::unique_ptr<ZDCDataAnalyzer> initializePbPb2024();
121 std::unique_ptr<ZDCDataAnalyzer> initializeOONeNe2025();
122 std::unique_ptr<ZDCDataAnalyzer> initializepO2025();
123 std::unique_ptr<ZDCDataAnalyzer> initializepO2025B();
124 std::unique_ptr<ZDCDataAnalyzer> initializeInjectorpp2024();
125 std::unique_ptr<ZDCDataAnalyzer> initializeInjectorPbPb2024();
126 std::unique_ptr<ZDCDataAnalyzer> initializeInjectorpOOONeNe2025();
127 std::unique_ptr<ZDCDataAnalyzer> initializeMonteCarloPbPb2023();
152 this,
"EventInfoKey",
"EventInfo",
153 "Location of the event info."};
161 bool m_combineDelay{
false};
162 bool m_doCalib{
false};
163 bool m_doTrigEff{
false};
164 bool m_doTimeCalib{
false};
165 bool m_doFADCCorr{
false};
166 bool m_doNonLinCorr{
false};
167 bool m_doFADCCorrPerSample{
false};