17#include <TDirectory.h>
26 if (mConfig ==
nullptr) {
27 LOG(fatal) <<
"o2::zdc::WaveformCalibEPN: missing configuration object";
40 if (opt.rootOutput ==
true) {
44 if (opt.dumpCalib ==
true) {
60 LOGF(info,
"o2::zdc::WaveformCalibEPN::%s mNBin=%d mFirst=%d mLast=%d mN=%d mPeak=%d", __func__, mNBin, mFirst, mLast, cfg->nbun,
mData.
mPeak);
67#ifdef O2_ZDC_WAVEFORMCALIB_DEBUG
68 LOG(info) <<
"o2::zdc::WaveformCalibEPN::" << __func__;
77 const gsl::span<const o2::zdc::ZDCEnergy>& Energy,
78 const gsl::span<const o2::zdc::ZDCTDCData>& TDCData,
79 const gsl::span<const uint16_t>& Info,
80 const gsl::span<const o2::zdc::ZDCWaveform>& wave)
86 ev.
init(RecBC, Energy, TDCData, Info);
88 std::vector<o2::InteractionRecord>
ir;
89 while (
int ientry = ev.
next()) {
91#ifdef O2_ZDC_WAVEFORMCALIB_DEBUG
92 LOGF(info,
"WaveformCalibEPN::%s mask=0x%04x %s %s %s %s %s %s %s %s %s %s", __func__,
mask,
105#ifdef O2_ZDC_WAVEFORMCALIB_DEBUG
112 for (
int isig = 0; isig <
NChannels; isig++) {
114 if ((
mask & (0x1 << itdc)) != 0) {
132 LOGF(info,
"Waveform %2d %s with %10d events and cuts AMP:(%g:%g) TDC:%d:(%g:%g) Valid:[%d:%d:%d]", is,
ChannelNames[is].
data(),
137 LOGF(info,
"Waveform %2d %s with %10d events and cuts AMP:(%g:%g) TDC:%d:(%g:%g)", is,
ChannelNames[is].
data(),
144 if (mSaveDebugHistos) {
148 dumpCalib(opt.outputDir +
"ZDCWaveformCalibEPNDump.root");
ZDC calibration common parameters.
static const CalibParamZDC & Instance()
const int TDCSignal[NTDCChannels]
constexpr int NTimeBinsPerBC
const int SignalTDC[NChannels]
constexpr std::string_view ChannelNames[]
void printDecodedMessages() const
void init(const std::vector< o2::zdc::BCRecData > *RecBC, const std::vector< o2::zdc::ZDCEnergy > *Energy, const std::vector< o2::zdc::ZDCTDCData > *TDCData, const std::vector< uint16_t > *Info)
Trigger mask for printout.
LOG(info)<< "Compressed in "<< sw.CpuTime()<< " s"
o2::InteractionRecord ir(0, 0)