Skip to content

Commit d2f7ad7

Browse files
committed
Add flags to TrackInfoExt
1 parent 49b2cd3 commit d2f7ad7

File tree

2 files changed

+24
-1
lines changed

2 files changed

+24
-1
lines changed

Detectors/GlobalTrackingWorkflow/study/include/GlobalTrackingStudy/TrackInfoExt.h

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,9 @@ namespace dataformats
2525
{
2626

2727
struct TrackInfoExt {
28+
enum { TPCA = 0,
29+
TPCC = 1,
30+
kBitMask = 0xffff };
2831
o2::track::TrackParCov track;
2932
DCA dca{};
3033
DCA dcaTPC{};
@@ -43,21 +46,35 @@ struct TrackInfoExt {
4346
float q2ptITSTPCTRD = 0.f;
4447
uint16_t nClTPC = 0;
4548
uint16_t nClTPCShared = 0;
49+
uint16_t flags = 0;
4650
uint8_t pattITS = 0;
4751
uint8_t nClITS = 0;
4852
uint8_t rowMinTPC = 0;
4953
uint8_t padFromEdge = -1;
5054
uint8_t rowMaxTPC = 0;
5155
uint8_t rowCountTPC = 0;
5256

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+
5365
float getTPCInX() const { return innerTPCPos[0]; }
5466
float getTPCInY() const { return innerTPCPos[1]; }
5567
float getTPCInZ() const { return innerTPCPos[2]; }
5668
float getTPCInX0() const { return innerTPCPos0[0]; }
5769
float getTPCInY0() const { return innerTPCPos0[1]; }
5870
float getTPCInZ0() const { return innerTPCPos0[2]; }
5971

60-
ClassDefNV(TrackInfoExt, 6);
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+
77+
ClassDefNV(TrackInfoExt, 7);
6178
};
6279

6380
} // namespace dataformats

Detectors/GlobalTrackingWorkflow/study/src/TrackingStudy.cxx

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -486,6 +486,12 @@ void TrackingStudySpec::process(o2::globaltracking::RecoContainer& recoData)
486486

487487
if (tpcTr) {
488488
float tsuse = trcExt.ttime / (8 * o2::constants::lhc::LHCBunchSpacingMUS);
489+
if (tpcTr->hasASideClusters()) {
490+
trcExt.setTPCA();
491+
}
492+
if (tpcTr->hasCSideClusters()) {
493+
trcExt.setTPCC();
494+
}
489495
if (is == GTrackID::TPC) {
490496
trcExt.dcaTPC = dca;
491497
tsuse = -1e9;

0 commit comments

Comments
 (0)