Project
Loading...
Searching...
No Matches
TrackCosmicsExtended.h
Go to the documentation of this file.
1// Copyright 2019-2026 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
14
15#ifndef ALICEO2_TRACK_COSMICS_EXTENDED_H
16#define ALICEO2_TRACK_COSMICS_EXTENDED_H
17
18#include <vector>
19#include <cstdint>
20#include <Rtypes.h>
25
26namespace o2::dataformats
27{
28
31 enum Flags : uint8_t {
32 Attached = 0x1,
33 Corridor = 0x2,
34 Used = 0x4,
35 AbsTime = 0x8
37 };
39 uint8_t sector = 0;
40 uint8_t row = 0;
41 uint8_t flags = 0;
42 bool isAttached() const { return flags & Attached; }
43 bool isCorridor() const { return flags & Corridor; }
44 bool isUsed() const { return flags & Used; }
45 bool isAbsTime() const { return flags & AbsTime; }
47};
48
50enum CosmicHitFlags : uint8_t {
51 HitMatched = 0x1,
52 HitRoad = 0x2,
53 HitTOFFlight = 0x4
54};
55
59 uint16_t chipID = 0;
60 uint16_t row = 0;
61 uint16_t col = 0;
62 uint16_t pattID = 0;
63 int32_t pattEntry = -1;
64 int32_t rofBC = 0;
65 uint8_t leg = 0;
66 uint8_t flags = 0;
68};
69
72 double timeRaw = 0.;
73 float tot = 0.f;
74 int32_t channel = -1;
75 uint8_t leg = 0;
76 uint8_t flags = 0;
78};
79
82 uint64_t word = 0;
83 int32_t trigBC = 0;
84 uint8_t layer = 0;
85 uint8_t leg = 0;
86 uint8_t flags = 0;
88};
89
96 std::vector<CosmicTPCCluster> clTPCBottom;
97 std::vector<CosmicTPCCluster> clTPCTop;
98 std::vector<CosmicITSCluster> clITS;
99 std::vector<uint8_t> itsPatterns;
100 std::vector<CosmicTOFCluster> clTOF;
101 std::vector<CosmicTRDTracklet> trdTracklets;
102 float timeTOFMUS = -1.f;
103 float scoreTOFPair = -1.f;
104 float scoreTOFReversed = -1.f;
106 int duplicateOf = -1;
111 float chi2MatchPolished = -1.f;
113
114 bool hasTOFTime() const { return scoreTOFPair >= 0.f; }
116};
117
120 float vDrift = 0.f;
121 float t0 = 0.f;
123};
124
125} // namespace o2::dataformats
126
127#endif
Class of a TPC cluster in TPC-native coordinates (row, time)
Result of top-bottom cosmic tracks leg matching.
GLuint GLsizei const GLchar * label
Definition glcorearb.h:2519
GLbitfield flags
Definition glcorearb.h:1570
GLenum GLuint GLint GLint layer
Definition glcorearb.h:1310
GLuint GLfloat GLfloat GLfloat GLfloat GLfloat GLfloat GLfloat t0
Definition glcorearb.h:5034
Definition of a container to keep/associate and arbitrary number of labels associated to an index wit...
CosmicHitFlags
origin of the ITS / TOF / TRD hits of a cosmic
@ HitTOFFlight
TOF road hit of the top/bottom pair whose time difference matches the muon's flight (fixes the cosmic...
@ HitMatched
part of the leg's matched global track
@ HitRoad
found by the road search around the cosmic
TrackParCovF TrackParCov
Definition Track.h:33
int32_t rofBC
start of the cluster's ROF in BCs since the start of the TF
ClassDefNV(CosmicITSCluster, 1)
int32_t pattEntry
start of the pattern bytes in TrackCosmicsExtended::itsPatterns (pattern not in the dictionary or gro...
TOF cluster of a leg: matched to its track or found on the road.
ClassDefNV(CosmicTOFCluster, 1)
double timeRaw
raw TOF time [ps] (the calibration is applied offline)
raw TPC cluster with its address; transformed coordinates are not stored (re-transform offline with t...
@ Corridor
found in the road around the leg
@ Used
attached to some TPC track (for corridor clusters: another track, e.g. a split piece of the leg)
@ Attached
attached to the TPC track of this leg
ClassDefNV(CosmicTPCCluster, 1)
o2::tpc::ClusterNative cl
raw cluster: time, pad, widths, charges, flags
TRD tracklet of a leg: attached to its track or found on the road.
ClassDefNV(CosmicTRDTracklet, 1)
int32_t trigBC
BC of its trigger since the start of the TF.
per-TF quantities of the TPC transformation used in the reconstruction
ClassDefNV(CosmicsTFInfo, 1)
float vDrift
drift velocity of the transformation [cm/time bin]
matched cosmic with everything needed for an offline refit
float scoreTOFPair
score of the HitTOFFlight pair: road and flight-time residuals squared in units of the cuts (< 0: non...
std::vector< uint8_t > itsPatterns
pattern bytes (row span, column span, bitmap) of the ITS clusters that need them
std::vector< CosmicTRDTracklet > trdTracklets
TRD tracklets of the legs' matched tracks and on the road.
o2::dataformats::TrackCosmics cosmic
matcher output (time in mus; the leg references are only valid within the TF)
float timeTOFMUS
time of the cosmic [mus since the TF start, negative before it] from its HitTOFFlight pair (valid if ...
float chi2MatchPolished
chi2 of the polished bottom and top halves at the closest approach (< 0: not polished)
std::vector< CosmicTPCCluster > clTPCBottom
attached + corridor TPC clusters of the bottom leg
std::vector< CosmicITSCluster > clITS
ITS clusters of the legs' matched tracks and on the road (per half and layer the closest,...
o2::tpc::TrackTPC tpcTop
TPC part of the top leg.
std::vector< CosmicTOFCluster > clTOF
TOF clusters of the legs' matched tracks and on the road.
std::vector< CosmicTPCCluster > clTPCTop
same for the top leg
bool hasTOFTime() const
a HitTOFFlight pair gave the cosmic its time timeTOFMUS
ClassDefNV(TrackCosmicsExtended, 1)