Project
Loading...
Searching...
No Matches
TrackInfoExt.h
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
12// class for extended Track info (for debugging)
13
14#ifndef ALICEO2_TRINFOEXT_H
15#define ALICEO2_TRINFOEXT_H
16
21
22namespace o2
23{
24namespace dataformats
25{
26
28 enum { TPCA = 0,
29 TPCC = 1,
30 kBitMask = 0xffff };
36 std::array<float, 3> innerTPCPos{}; // innermost cluster position at assigned time
37 std::array<float, 3> innerTPCPos0{}; // innermost cluster position at nominal time0
38 float ttime = 0;
39 float ttimeE = 0;
40 float xmin = 0;
41 float chi2TPC = 0.f;
42 float chi2ITSTPC = 0.f;
43 float q2ptITS = 0.f;
44 float q2ptTPC = 0.f;
45 float q2ptITSTPC = 0.f;
46 float q2ptITSTPCTRD = 0.f;
47 uint16_t nClTPC = 0;
48 uint16_t nClTPCShared = 0;
49 uint16_t flags = 0;
50 uint8_t pattITS = 0;
51 uint8_t nClITS = 0;
52 uint8_t rowMinTPC = 0;
53 uint8_t padFromEdge = -1;
54 uint8_t rowMaxTPC = 0;
55 uint8_t rowCountTPC = 0;
56
57 void setTPCA() { setBit(int(TPCA)); }
58 void setTPCC() { setBit(int(TPCC)); }
59 void setTPCAC() { setBit(int(TPCC)); }
60
61 bool isTPCA() const { return isBitSet(int(TPCA)); }
62 bool isTPCC() const { return isBitSet(int(TPCC)); }
63 bool isTPCAC() const { return isBitSet(int(TPCA)) && isBitSet(int(TPCC)); }
64
65 float getTPCInX() const { return innerTPCPos[0]; }
66 float getTPCInY() const { return innerTPCPos[1]; }
67 float getTPCInZ() const { return innerTPCPos[2]; }
68 float getTPCInX0() const { return innerTPCPos0[0]; }
69 float getTPCInY0() const { return innerTPCPos0[1]; }
70 float getTPCInZ0() const { return innerTPCPos0[2]; }
71
72 void setBits(std::uint16_t b) { flags = b; }
73 void setBit(int bit) { flags |= kBitMask & (0x1 << bit); }
74 void resetBit(int bit) { flags &= ~(kBitMask & (0x1 << bit)); }
75 bool isBitSet(int bit) const { return flags & (kBitMask & (0x1 << bit)); }
76
78};
79
80} // namespace dataformats
81} // namespace o2
82
83#endif
Base track model for the Barrel, params only, w/o covariance.
Class to store the output of the matching to TOF.
Extention of GlobalTrackID by flags relevant for verter-track association.
GLboolean GLboolean GLboolean b
Definition glcorearb.h:1233
GLbitfield flags
Definition glcorearb.h:1570
TrackParCovF TrackParCov
Definition Track.h:33
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
o2::track::TrackParCov track
void setBits(std::uint16_t b)
std::array< float, 3 > innerTPCPos0
std::array< float, 3 > innerTPCPos
bool isBitSet(int bit) const