85 ic.
options().
get<std::string>(
"secondary-vertex-infile"));
91 auto ent =
mTree->GetReadEntry() + 1;
92 assert(ent < mTree->GetEntries());
94 LOGP(info,
"Pushing {} V0s ({} indices), {} cascades ({} indices) and {} 3-body ({} indices ) at entry {}",
107 if (
mTree->GetReadEntry() + 1 >=
mTree->GetEntries()) {
115 mTree.reset(
nullptr);
145 std::vector<OutputSpec> outputs;
146 outputs.emplace_back(
"GLO",
"V0S_IDX", 0, Lifetime::Timeframe);
147 outputs.emplace_back(
"GLO",
"V0S", 0, Lifetime::Timeframe);
148 outputs.emplace_back(
"GLO",
"PVTX_V0REFS", 0, Lifetime::Timeframe);
149 outputs.emplace_back(
"GLO",
"CASCS_IDX", 0, Lifetime::Timeframe);
150 outputs.emplace_back(
"GLO",
"CASCS", 0, Lifetime::Timeframe);
151 outputs.emplace_back(
"GLO",
"PVTX_CASCREFS", 0, Lifetime::Timeframe);
152 outputs.emplace_back(
"GLO",
"DECAYS3BODY_IDX", 0, Lifetime::Timeframe);
153 outputs.emplace_back(
"GLO",
"DECAYS3BODY", 0, Lifetime::Timeframe);
154 outputs.emplace_back(
"GLO",
"PVTX_3BODYREFS", 0, Lifetime::Timeframe);
157 "secondary-vertex-reader",
162 {
"secondary-vertex-infile", VariantType::String,
"o2_secondary_vertex.root", {
"Name of the input secondary vertex file"}},
163 {
"input-dir", VariantType::String,
"none", {
"Input directory"}}}};
Definition of the Names Generator class.
Class to refer to the 1st entry and N elements of some group in the continuous container.
TO BE DONE: extend to generic N body vertex.
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.
std::vector< V0Index > * mV0sIdxPtr
std::string mSVertexTreeName
std::string mPVertex2CascRefBranchName
std::vector< RRef > * mPV2V0RefPtr
std::vector< CascadeIndex > mCascsIdx
std::vector< RRef > mPV2CascRef
~SecondaryVertexReader() override=default
std::string mCascIdxBranchName
std::vector< Cascade > mCascs
std::vector< CascadeIndex > * mCascsIdxPtr
std::vector< Decay3BodyIndex > m3BodysIdx
std::string mPVertex2V0RefBranchName
std::string mV0BranchName
std::vector< Cascade > * mCascsPtr
std::vector< RRef > * mPV2CascRefPtr
std::string mV0IdxBranchName
std::string m3BodyBranchName
std::vector< Decay3Body > m3Bodys
void init(o2::framework::InitContext &ic) final
std::vector< V0Index > mV0sIdx
void run(o2::framework::ProcessingContext &pc) final
std::unique_ptr< TFile > mFile
std::string m3BodyIdxBranchName
std::vector< RRef > mPV23BodyRef
std::string mCascBranchName
std::vector< Decay3Body > * m3BodysPtr
std::vector< RRef > mPV2V0Ref
std::vector< RRef > * mPV23BodyRefPtr
std::vector< Decay3BodyIndex > * m3BodysIdxPtr
std::vector< V0 > * mV0sPtr
std::string mPVertex23BodyRefBranchName
std::string mFileNameMatches
SecondaryVertexReader()=default
std::unique_ptr< TTree > mTree
Defining PrimaryVertex explicitly as messageable.
std::vector< ConfigParamSpec > Options
std::vector< InputSpec > Inputs
o2::framework::DataProcessorSpec getSecondaryVertexReaderSpec()
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"