37 ic.
options().
get<std::string>(
"its-tracks-infile"));
43 auto ent =
mTree->GetReadEntry() + 1;
44 assert(ent < mTree->GetEntries());
46 LOG(info) <<
"Pushing " <<
mTracks.size() <<
" track in " <<
mROFRec.size() <<
" ROFs at entry " << ent;
57 if (
mTree->GetReadEntry() + 1 >=
mTree->GetEntries()) {
82 <<
" -> vertices ROFrecords will be empty";
90 LOG(warning) <<
"MC-truth is missing, message will be empty";
93 LOG(info) <<
"Loaded tree from " <<
filename <<
" with " <<
mTree->GetEntries() <<
" entries";
98 std::vector<OutputSpec> outputSpec;
99 outputSpec.emplace_back(
"ITS",
"ITSTrackROF", 0, Lifetime::Timeframe);
100 outputSpec.emplace_back(
"ITS",
"TRACKS", 0, Lifetime::Timeframe);
101 outputSpec.emplace_back(
"ITS",
"TRACKCLSID", 0, Lifetime::Timeframe);
102 outputSpec.emplace_back(
"ITS",
"VERTICES", 0, Lifetime::Timeframe);
103 outputSpec.emplace_back(
"ITS",
"VERTICESROF", 0, Lifetime::Timeframe);
105 outputSpec.emplace_back(
"ITS",
"TRACKSMCTR", 0, Lifetime::Timeframe);
106 outputSpec.emplace_back(
"ITS",
"VERTICESMCTR", 0, Lifetime::Timeframe);
115 {
"its-tracks-infile", VariantType::String,
"o2trac_its.root", {
"Name of the input track file"}},
116 {
"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.
TrackReader(bool useMC=true)
std::vector< o2::MCCompLabel > mMCVertTruth
std::vector< int > mClusInd
void init(o2::framework::InitContext &ic) final
std::vector< o2::itsmft::ROFRecord > mROFRec
std::vector< o2::itsmft::ROFRecord > * mROFRecInp
std::string mTrackTreeName
o2::header::DataOrigin mOrigin
std::vector< o2::MCCompLabel > * mMCTruthInp
std::string mTrackMCTruthBranchName
std::string mInputFileName
std::vector< o2::itsmft::ROFRecord > mVerticesROFRec
std::string mTrackBranchName
std::string mVertexROFBranchName
std::string mClusIdxBranchName
std::vector< o2::itsmft::ROFRecord > * mVerticesROFRecInp
std::unique_ptr< TTree > mTree
std::unique_ptr< TFile > mFile
std::vector< o2::its::TrackITS > mTracks
std::string mROFBranchName
std::vector< Vertex > mVertices
std::vector< Vertex > * mVerticesInp
void run(o2::framework::ProcessingContext &pc) final
void connectTree(const std::string &filename)
std::vector< o2::MCCompLabel > mMCTruth
std::string mVertexBranchName
std::vector< o2::its::TrackITS > * mTracksInp
std::vector< int > * mClusIndInp
Defining PrimaryVertex explicitly as messageable.
std::vector< ConfigParamSpec > Options
std::vector< InputSpec > Inputs
framework::DataProcessorSpec getITSTrackReaderSpec(bool useMC=true)
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"