37 assert(
id == o2::detectors::DetID::IT3);
61 auto ent =
mTree->GetReadEntry() + 1;
62 assert(ent < mTree->GetEntries());
70 <<
mDigits.size() <<
" digits at entry " << ent;
87 if (
mTree->GetReadEntry() + 1 >=
mTree->GetEntries()) {
105 throw std::runtime_error(
"GBT calibration data requested but not found in the tree");
111 throw std::runtime_error(
"MC data requested but not found in the tree");
115 LOG(info) <<
"Loaded tree from " <<
filename <<
" with " <<
mTree->GetEntries() <<
" entries";
120 std::vector<OutputSpec> outputSpec;
121 outputSpec.emplace_back(
"IT3",
"DIGITS", 0, Lifetime::Timeframe);
122 outputSpec.emplace_back(
"IT3",
"DIGITSROF", 0, Lifetime::Timeframe);
124 outputSpec.emplace_back(
"IT3",
"GBTCALIB", 0, Lifetime::Timeframe);
127 outputSpec.emplace_back(
"IT3",
"DIGITSMCTR", 0, Lifetime::Timeframe);
128 outputSpec.emplace_back(
"IT3",
"DIGITSMC2ROF", 0, Lifetime::Timeframe);
135 AlgorithmSpec{adaptFromTask<ITS3DigitReader>(useMC, useCalib)},
137 {
"it3-digit-infile", VariantType::String, defname, {
"Name of the input digit file"}}}};
A const (ready only) version of MCTruthContainer.
A special IO container - splitting a given vector to enable ROOT IO.
Static class with identifiers, bitmasks and names for ALICE detectors.
T get(const char *key) const
void snapshot(const Output &spec, T const &object)
decltype(auto) make(const Output &spec, Args... args)
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.
std::unique_ptr< TFile > mFile
std::vector< o2::itsmft::GBTCalibData > mCalib
std::string mDigitBranchName
std::string mDigROFBranchName
std::vector< o2::itsmft::MC2ROFRecord > * mDigMC2ROFsPtr
std::vector< o2::itsmft::ROFRecord > mDigROFRec
o2::header::DataOrigin mOrigin
std::vector< o2::itsmft::Digit > * mDigitsPtr
void init(InitContext &ic) final
std::vector< o2::itsmft::ROFRecord > * mDigROFRecPtr
std::vector< o2::itsmft::Digit > mDigits
void connectTree(const std::string &filename)
std::vector< o2::itsmft::GBTCalibData > * mCalibPtr
void run(ProcessingContext &pc) final
std::vector< o2::itsmft::MC2ROFRecord > mDigMC2ROFs
std::string mCalibBranchName
std::unique_ptr< TTree > mTree
std::string mDigtMC2ROFBranchName
std::string mDigtMCTruthBranchName
Defining PrimaryVertex explicitly as messageable.
std::vector< ConfigParamSpec > Options
std::vector< InputSpec > Inputs
framework::DataProcessorSpec getITS3DigitReaderSpec(bool useMC=true, bool useCalib=false, std::string defname="it3digits.root")
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
LOG(info)<< "Compressed in "<< sw.CpuTime()<< " s"