-
Notifications
You must be signed in to change notification settings - Fork 494
Expand file tree
/
Copy pathPrimaryVertexExt.h
More file actions
64 lines (52 loc) · 2.38 KB
/
PrimaryVertexExt.h
File metadata and controls
64 lines (52 loc) · 2.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
// All rights not expressly granted are reserved.
//
// This software is distributed under the terms of the GNU General Public
// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
//
// In applying this license CERN does not waive the privileges and immunities
// granted to it by virtue of its status as an Intergovernmental Organization
// or submit itself to any jurisdiction.
#ifndef ALICEO2_PRIMARYVERTEX_EXT_H
#define ALICEO2_PRIMARYVERTEX_EXT_H
#include "ReconstructionDataFormats/PrimaryVertex.h"
#include "ReconstructionDataFormats/GlobalTrackID.h"
namespace o2
{
namespace dataformats
{
// extended primary vertex info
struct PrimaryVertexExt : public PrimaryVertex {
using PrimaryVertex::PrimaryVertex;
std::array<uint16_t, o2::dataformats::GlobalTrackID::Source::NSources> nSrc{}; // N contributors for each source type
std::array<uint16_t, o2::dataformats::GlobalTrackID::Source::NSources> nSrcA{}; // N associated and passing cuts for each source type
std::array<uint16_t, o2::dataformats::GlobalTrackID::Source::NSources> nSrcAU{}; // N ambgous associated and passing cuts for each source type
double FT0Time = -1.; // time of closest FT0 trigger
float FT0A = -1; // amplitude of closest FT0 A side
float FT0C = -1; // amplitude of closest FT0 C side
int VtxID = -1; // original vtx ID
int getNSrc(int i) const { return nSrc[i]; }
int getNSrcA(int i) const { return nSrcA[i]; }
int getNSrcAU(int i) const { return nSrcAU[i]; }
#ifndef GPUCA_GPUCODE_DEVICE
void print() const;
std::string asString() const;
#endif
ClassDefNV(PrimaryVertexExt, 6);
};
#ifndef GPUCA_GPUCODE_DEVICE
std::ostream& operator<<(std::ostream& os, const o2::dataformats::PrimaryVertexExt& v);
#endif
} // namespace dataformats
/// Defining PrimaryVertexExt explicitly as messageable
namespace framework
{
template <typename T>
struct is_messageable;
template <>
struct is_messageable<o2::dataformats::PrimaryVertexExt> : std::true_type {
};
} // namespace framework
} // namespace o2
#endif