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 getUncalibModuleSum(
int side);
61 float getUncalibModuleSumErr(
int side);
63 float getAverageTime(
int side);
64 bool sideFailed(
int side);
65 unsigned int getModuleMask();
67 double getTriggerEfficiency(
int side);
68 double getTriggerEfficiencyUncertainty(
int side);
79 std::function<
bool(
int, std::string)> msgFunction = [
this](
int messageZdcLevel,
const std::string&
message)->
bool
82 bool passesStreamOutputLevel = messageAthenaLevel >= this->
msg().level();
83 if (passesStreamOutputLevel) {
86 return passesStreamOutputLevel;
93 if (s_debugLevel > 2) {
94 ATH_MSG_INFO(
"========================================================================================================================");
95 for (
int i = 0;
i < 2;
i++) {
96 for (
int j = 0; j < 4; j++) {
97 ATH_MSG_INFO(
"-------------------------------------------------------------------------------------------------------------------");
99 m_zdcDataAnalyzer->GetPulseAnalyzer(
i, j)->dumpSetting();
102 ATH_MSG_INFO(
"========================================================================================================================");
109 std::unique_ptr<ZDCDataAnalyzer> initializeDefault();
110 std::unique_ptr<ZDCDataAnalyzer> initializePbPb2015G4();
111 std::unique_ptr<ZDCDataAnalyzer> initializepPb2016();
112 std::unique_ptr<ZDCDataAnalyzer> initializePbPb2018();
113 std::unique_ptr<ZDCDataAnalyzer> initializeLHCf2022();
114 std::unique_ptr<ZDCDataAnalyzer> initializepp2023();
115 std::unique_ptr<ZDCDataAnalyzer> initializePbPb2023();
116 std::unique_ptr<ZDCDataAnalyzer> initializepp2024();
117 std::unique_ptr<ZDCDataAnalyzer> initializePbPb2024();
118 std::unique_ptr<ZDCDataAnalyzer> initializeInjectorpp2024();
119 std::unique_ptr<ZDCDataAnalyzer> initializeInjectorPbPb2024();
120 std::unique_ptr<ZDCDataAnalyzer> initializeMonteCarloPbPb2023();
145 this,
"EventInfoKey",
"EventInfo",
146 "Location of the event info."};
154 bool m_combineDelay{
false};
155 bool m_doCalib{
false};
156 bool m_doTrigEff{
false};
157 bool m_doTimeCalib{
false};
158 bool m_doFADCCorr{
false};
159 bool m_doNonLinCorr{
false};
160 bool m_doFADCCorrPerSample{
false};