Project
Loading...
Searching...
No Matches
SecondaryVertexWriterSpec.cxx
Go to the documentation of this file.
1// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
2// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
3// All rights not expressly granted are reserved.
4//
5// This software is distributed under the terms of the GNU General Public
6// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
7//
8// In applying this license CERN does not waive the privileges and immunities
9// granted to it by virtue of its status as an Intergovernmental Organization
10// or submit itself to any jurisdiction.
11
13
14#include <vector>
15
23
24using namespace o2::framework;
25
26namespace o2
27{
28namespace vertexing
29{
37
38template <typename T>
40
41using namespace o2::header;
42
44{
45 auto loggerV = [](std::vector<V0Index> const& v) {
46 LOG(info) << "SecondaryVertexWriter pulled " << v.size() << " v0s";
47 };
48
49 auto loggerC = [](std::vector<CascadeIndex> const& v) {
50 LOG(info) << "SecondaryVertexWriter pulled " << v.size() << " cascades";
51 };
52
53 auto loggerD = [](std::vector<Decay3BodyIndex> const& v) {
54 LOG(info) << "SecondaryVertexWriter pulled " << v.size() << " decays3body";
55 };
56
57 auto inpV0 = InputSpec{"v0s", "GLO", "V0S", 0};
58 auto inpV0ID = InputSpec{"v0sIdx", "GLO", "V0S_IDX", 0};
59 auto inpV0Ref = InputSpec{"pv2v0ref", "GLO", "PVTX_V0REFS", 0};
60 auto inpCasc = InputSpec{"cascs", "GLO", "CASCS", 0};
61 auto inpCascID = InputSpec{"cascsIdx", "GLO", "CASCS_IDX", 0};
62 auto inpCascRef = InputSpec{"pv2cascref", "GLO", "PVTX_CASCREFS", 0};
63 auto inp3Body = InputSpec{"decays3body", "GLO", "DECAYS3BODY", 0};
64 auto inp3BodyID = InputSpec{"decays3bodyIdx", "GLO", "DECAYS3BODY_IDX", 0};
65 auto inp3BodyRef = InputSpec{"pv23bodyref", "GLO", "PVTX_3BODYREFS", 0};
66
67 return MakeRootTreeWriterSpec("secondary-vertex-writer",
68 "o2_secondary_vertex.root",
69 MakeRootTreeWriterSpec::TreeAttributes{"o2sim", "Tree with Secondary Vertices"},
70 BranchDefinition<std::vector<V0Index>>{inpV0ID, "V0sID", loggerV},
72 BranchDefinition<std::vector<RRef>>{inpV0Ref, "PV2V0Refs"},
73
74 BranchDefinition<std::vector<CascadeIndex>>{inpCascID, "CascadesID", loggerC},
75 BranchDefinition<std::vector<Cascade>>{inpCasc, "Cascades"},
76 BranchDefinition<std::vector<RRef>>{inpCascRef, "PV2CascRefs"},
77
78 BranchDefinition<std::vector<Decay3BodyIndex>>{inp3BodyID, "Decays3BodyID", loggerD},
79 BranchDefinition<std::vector<Decay3Body>>{inp3Body, "Decays3Body"},
80 BranchDefinition<std::vector<RRef>>{inp3BodyRef, "PV23BodyRefs"})();
81}
82
83} // namespace vertexing
84} // namespace o2
Configurable generator for RootTreeWriter processor spec.
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.
Definition Decay3Body.h:26
Generate a processor spec for the RootTreeWriter utility.
const GLdouble * v
Definition glcorearb.h:832
Defining PrimaryVertex explicitly as messageable.
Definition TFIDInfo.h:20
O2 data header classes and API, v0.1.
Definition DetID.h:49
framework::DataProcessorSpec getSecondaryVertexWriterSpec()
create a processor spec
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
LOG(info)<< "Compressed in "<< sw.CpuTime()<< " s"