45 std::string detStrL = dec ?
"o2_" :
"";
47 std::transform(detStrL.begin(), detStrL.end(), detStrL.begin(), ::tolower);
48 auto logger = [](std::vector<o2::itsmft::Digit>
const& inDigits) {
49 LOG(info) <<
"RECEIVED DIGITS SIZE " << inDigits.size();
53 auto finishWriting = [](TFile* outputfile, TTree* outputtree) {
54 const auto* brArr = outputtree->GetListOfBranches();
56 for (
const auto* brc : *brArr) {
57 int64_t
n = ((
const TBranch*)brc)->GetEntries();
58 if (nent && (nent !=
n)) {
59 LOG(error) <<
"Branches have different number of entries";
63 outputtree->SetEntries(nent);
67 outputfile->Write(
"", TObject::kOverwrite);
74 auto fillLabels = [](TBranch& branch, std::vector<char>
const& labelbuffer,
DataRef const& ) {
79 auto ptr = &outputcontainer;
81 outputcontainer.
adopt(labelbuffer);
87 (detStrL +
"digits.root").c_str(),
92 (detStr +
"DigitMCTruth").c_str(),
93 (mctruth ? 1 : 0), fillLabels},
95 (detStr +
"DigitMC2ROF").c_str(),
98 (detStr +
"Digit").c_str(),
101 (detStr +
"Calib").c_str(),
104 (detStr +
"DigitROF").c_str()})();
A const (ready only) version of MCTruthContainer.
o2::framework::DataAllocator::SubSpecificationType SubSpecificationType
Calibration data from GBT data.
A special IO container - splitting a given vector to enable ROOT IO.
Configurable generator for RootTreeWriter processor spec.
Static class with identifiers, bitmasks and names for ALICE detectors.
static constexpr const char * getName(ID id)
names of defined detectors
o2::header::DataHeader::SubSpecificationType SubSpecificationType
Generate a processor spec for the RootTreeWriter utility.
WriterType::CustomClose CustomClose
static TBranch * remapBranch(TBranch &branchRef, T **newdata)
constexpr o2::header::DataOrigin gDataOriginMFT
constexpr o2::header::DataOrigin gDataOriginITS
Defining PrimaryVertex explicitly as messageable.
o2::framework::DataProcessorSpec getITSDigitWriterSpec(bool mctruth=true, bool dec=false, bool calib=false)
DataProcessorSpec getDigitWriterSpec(bool mctruth, bool dec, bool calib, o2::header::DataOrigin detOrig, o2::detectors::DetID detId)
o2::framework::DataProcessorSpec getMFTDigitWriterSpec(bool mctruth=true, bool dec=false, bool calib=false)
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
LOG(info)<< "Compressed in "<< sw.CpuTime()<< " s"