41 mFileName = o2::utils::concat_string(o2::base::NameConf::rectifyDirectory(ic.
options().
get<std::string>(
"input-dir")),
48 auto ent =
mTree->GetReadEntry() + 1;
49 assert(ent < mTree->GetEntries());
66 if (
mTree->GetReadEntry() + 1 >=
mTree->GetEntries()) {
91 LOG(info) <<
"MC-truth is missing";
95 LOG(info) <<
"Loaded tree from " <<
filename <<
" with " <<
mTree->GetEntries() <<
" entries";
100 std::vector<OutputSpec> outputSpec;
101 outputSpec.emplace_back(
"IT3",
"CLUSTERSROF", 0, Lifetime::Timeframe);
102 outputSpec.emplace_back(
"IT3",
"COMPCLUSTERS", 0, Lifetime::Timeframe);
104 outputSpec.emplace_back(
"IT3",
"PATTERNS", 0, Lifetime::Timeframe);
107 outputSpec.emplace_back(
"IT3",
"CLUSTERSMCTR", 0, Lifetime::Timeframe);
108 outputSpec.emplace_back(
"IT3",
"CLUSTERSMC2ROF", 0, Lifetime::Timeframe);
112 "its3-cluster-reader",
115 AlgorithmSpec{adaptFromTask<ClusterReader>(useMC, usePatterns)},
117 {
"its-cluster-infile", VariantType::String,
"o2clus_its.root", {
"Name of the input cluster file"}},
118 {
"input-dir", VariantType::String,
"none", {
"Input directory"}}}};
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.
void connectTree(const std::string &filename)
std::unique_ptr< TTree > mTree
std::unique_ptr< TFile > mFile
std::vector< o2::itsmft::ROFRecord > mClusROFRec
std::string mClusTreeName
void run(ProcessingContext &pc) final
std::vector< unsigned char > mPatternsArray
std::string mClustMCTruthBranchName
void init(InitContext &ic) final
std::vector< o2::itsmft::CompClusterExt > mClusterCompArray
std::vector< o2::itsmft::MC2ROFRecord > mClusMC2ROFs
std::string mClusterCompBranchName
std::string mClusROFBranchName
std::vector< o2::itsmft::ROFRecord > * mClusROFRecPtr
o2::dataformats::MCTruthContainer< o2::MCCompLabel > * mClusterMCTruthPtr
std::vector< o2::itsmft::CompClusterExt > * mClusterCompArrayPtr
o2::dataformats::MCTruthContainer< o2::MCCompLabel > mClusterMCTruth
std::vector< o2::itsmft::MC2ROFRecord > * mClusMC2ROFsPtr
std::string mClusterPattBranchName
std::vector< unsigned char > * mPatternsArrayPtr
o2::header::DataOrigin mOrigin
std::string mClustMC2ROFBranchName
Defining PrimaryVertex explicitly as messageable.
std::vector< ConfigParamSpec > Options
std::vector< InputSpec > Inputs
framework::DataProcessorSpec getITS3ClusterReaderSpec(bool useMC=true, bool usePatterns=true)
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
LOG(info)<< "Compressed in "<< sw.CpuTime()<< " s"