18#include "fairlogger/Logger.h"
31 LOG(info) <<
"Init TRD tracklet reader!";
33 ic.
options().
get<std::string>(
"trd-calib-infile"));
39void TRDCalibReader::connectTree()
42 mFile.reset(TFile::Open(mInFileName.c_str()));
43 assert(mFile && !mFile->IsZombie());
44 mTree.reset((TTree*)mFile->Get(mInTreeName.c_str()));
46 auto attachBranch = [
this](
const char* brName,
void* add) {
47 auto br = this->mTree->GetBranch(brName);
49 LOGP(warn,
"Branch {} is absent, will send empty output", std::string(brName));
54 attachBranch(
"AngularResids", &mAngResidPtr);
55 attachBranch(
"PulseHeight", &mPHDataPtr);
56 attachBranch(
"calibdatagain", &mGainData);
57 LOG(info) <<
"Loaded tree from " << mInFileName <<
" with " << mTree->GetEntries() <<
" entries";
62 auto currEntry = mTree->GetReadEntry() + 1;
63 assert(currEntry < mTree->GetEntries());
64 mTree->GetEntry(currEntry);
65 LOG(info) <<
"Pushing angular residual histograms filled with " << mAngResids.
getNEntries() <<
" entries at tree entry " << currEntry;
70 if (mTree->GetReadEntry() + 1 >= mTree->GetEntries()) {
78 std::vector<OutputSpec> outputs;
89 {
"trd-calib-infile", VariantType::String,
"trdangreshistos.root", {
"Name of the input file"}},
90 {
"input-dir", VariantType::String,
"none", {
"Input directory"}},
91 {
"treename", VariantType::String,
"calibdata", {
"Name of top-level TTree"}},
Definition of the Names Generator class.
T get(const char *key) const
void snapshot(const Output &spec, T const &object)
ConfigParamRegistry const & options()
DataAllocator & outputs()
The data allocator is used to allocate memory for the output data.
ServiceRegistryRef services()
The services registry associated with this processing context.
virtual void endOfStream(EndOfStreamContext &context)
This is invoked whenever we have an EndOfStream event.
size_t getNEntries() const
void init(o2::framework::InitContext &ic) final
void run(o2::framework::ProcessingContext &pc) final
constexpr o2::header::DataOrigin gDataOriginTRD
Defining PrimaryVertex explicitly as messageable.
std::vector< ConfigParamSpec > Options
std::vector< InputSpec > Inputs
framework::DataProcessorSpec getTRDCalibReaderSpec()
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
static std::string rectifyDirectory(const std::string_view p)
static std::string concat_string(Ts const &... ts)
LOG(info)<< "Compressed in "<< sw.CpuTime()<< " s"