33 mVerbosity = ic.
options().
get<
int>(
"log-level");
67 static size_t contDeadBeef = 0;
70 const auto dh = o2::framework::DataRefUtils::getHeader<o2::header::DataHeader*>(
ref);
72 if (payloadSize == 0) {
74 if (++contDeadBeef <= maxWarn) {
75 LOGP(alarm,
"Found input [{}/{}/{:#x}] TF#{} 1st_orbit:{} Payload {} : assuming no payload for all links in this TF{}",
76 dh->dataOrigin.str, dh->dataDescription.str, dh->subSpecification, dh->tfCounter, dh->firstTForbit, payloadSize,
77 contDeadBeef == maxWarn ? fmt::format(
". {} such inputs in row received, stopping reporting", contDeadBeef) :
"");
89 static uint64_t nErr[4] = {0};
90 for (
auto it = parser.
begin(),
end = parser.
end(); it !=
end; ++it) {
96 LOG(warning) <<
"ZDCDataReaderDPLSpec::run - Missing RAWDataHeader on page " <<
count;
97 }
else if (nErr[0] == 5) {
98 LOG(warning) <<
"ZDCDataReaderDPLSpec::run - Missing RAWDataHeader on page " <<
count <<
" suppressing further messages";
101 if (it.data() ==
nullptr) {
103 }
else if (it.size() == 0) {
106 gsl::span<const uint8_t> payload(it.data(), it.size());
107 auto lid = o2::raw::RDHUtils::getLinkID(rdhPtr);
108 auto dataFormat = o2::raw::RDHUtils::getDataFormat(rdhPtr);
110 LOG(info) <<
count <<
" processBinaryData: size=" << it.size() <<
" link=" << lid;
120 LOG(info) <<
"ZDCDataReaderDPLSpec::run processed pages: " <<
count;
122 LOG(warning) <<
"ZDCDataReaderDPLSpec::run - Missing RAWDataHeader occurrences " << nErr[0];
125 LOG(warning) <<
"ZDCDataReaderDPLSpec::run - Null payload pointer occurrences " << nErr[1];
128 LOG(warning) <<
"ZDCDataReaderDPLSpec::run - No payload occurrences " << nErr[2];
130 if (nErr[0] == 0 && nErr[3] == 0) {
133 LOG(warning) <<
"Not sending output";
140 LOG(info) <<
"DataProcessorSpec initDataProcSpec() for RawReaderZDC";
141 std::vector<OutputSpec> outputSpec;
146 inputSpec.emplace_back(
"STFDist",
"FLP",
"DISTSUBTIMEFRAME", 0, Lifetime::Timeframe);
149 "zdc-datareader-dpl",
152 adaptFromTask<ZDCDataReaderDPLSpec>(rawReader),
Definition of the Names Generator class.
static std::string getCCDBServer()
static const VerbosityConfig & Instance()
T get(const char *key) const
The parser handles transparently input in the format of raw pages.
const_iterator end() const
const_iterator begin() const
ConfigParamRegistry const & options()
InputRecord & inputs()
The inputs associated with this processing context.
void setModuleConfig(const ModuleConfig *moduleConfig)
int processBinaryData(gsl::span< const uint8_t > payload, int linkID, uint8_t dataFormat)
static void prepareOutputSpec(std::vector< o2::framework::OutputSpec > &outputSpec)
void makeSnapshot(o2::framework::ProcessingContext &pc)
void init(InitContext &ic) final
void run(ProcessingContext &pc) final
void updateTimeDependentParams(ProcessingContext &pc)
void finaliseCCDB(o2::framework::ConcreteDataMatcher &matcher, void *obj) final
ZDCDataReaderDPLSpec()=default
constexpr o2::header::DataOrigin gDataOriginZDC
constexpr o2::header::DataDescription gDataDescriptionRawData
Defining PrimaryVertex explicitly as messageable.
std::vector< ConfigParamSpec > ccdbParamSpec(std::string const &path, int runDependent, std::vector< CCDBMetadata > metadata={}, int qrate=0)
std::vector< ConfigParamSpec > Options
std::vector< InputSpec > select(char const *matcher="")
struct o2::upgrades_utils::@463 zdc
structure to keep FT0 information
framework::DataProcessorSpec getZDCDataReaderDPLSpec(const RawReaderZDC &rawReader, const bool askSTFDist)
const std::string CCDBPathConfigModule
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
static o2::header::DataHeader::PayloadSizeType getPayloadSize(const DataRef &ref)
static bool checkRDH(const RDHv4 &rdh, bool verbose=true, bool checkZeros=false)
LOG(info)<< "Compressed in "<< sw.CpuTime()<< " s"