@@ -22,129 +22,51 @@ namespace o2::aod
2222{
2323namespace fwdtrackrealign
2424{
25- // FwdTracksRealign Columns definitions
26- DECLARE_SOA_INDEX_COLUMN (Collision, collision); // !
27- DECLARE_SOA_INDEX_COLUMN (FwdTrack, fwdtrack); // ! FwdTrack index
28- DECLARE_SOA_COLUMN (TrackType, trackType, uint8_t ); // ! Type of track. See enum ForwardTrackTypeEnum
29- DECLARE_SOA_COLUMN (X, x, float ); // ! TrackParFwd parameter x
30- DECLARE_SOA_COLUMN (Y, y, float ); // ! TrackParFwd parameter y
31- DECLARE_SOA_COLUMN (Z, z, float ); // ! TrackParFwd propagation parameter z
32- DECLARE_SOA_COLUMN (Phi, phi, float ); // ! TrackParFwd parameter phi; (i.e. pt pointing direction)
33- DECLARE_SOA_COLUMN (Tgl, tgl, float ); // ! TrackParFwd parameter tan(\lamba); (\lambda = 90 - \theta_{polar})
34- DECLARE_SOA_COLUMN (Signed1Pt, signed1Pt, float ); // ! TrackParFwd parameter: charged inverse transverse momentum; (q/pt)
35- DECLARE_SOA_COLUMN (IsRemovable, isRemovable, int ); // ! flag to validate the re-aligned track
36- DECLARE_SOA_COLUMN (Chi2, chi2, float ); // ! Track chi^2
25+ DECLARE_SOA_COLUMN (IsRemovable, isRemovable, int ); // ! flag to check the refit status
26+ }
3727
38- // FwdTracksCovRealign columns definitions
39- DECLARE_SOA_COLUMN (SigmaX, sigmaX, float ); // ! Covariance matrix
40- DECLARE_SOA_COLUMN (SigmaY, sigmaY, float ); // ! Covariance matrix
41- DECLARE_SOA_COLUMN (SigmaPhi, sigmaPhi, float ); // ! Covariance matrix
42- DECLARE_SOA_COLUMN (SigmaTgl, sigmaTgl, float ); // ! Covariance matrix
43- DECLARE_SOA_COLUMN (Sigma1Pt, sigma1Pt, float ); // ! Covariance matrix
44- DECLARE_SOA_COLUMN (RhoXY, rhoXY, int8_t ); // ! Covariance matrix in compressed form
45- DECLARE_SOA_COLUMN (RhoPhiX, rhoPhiX, int8_t ); // ! Covariance matrix in compressed form
46- DECLARE_SOA_COLUMN (RhoPhiY, rhoPhiY, int8_t ); // ! Covariance matrix in compressed form
47- DECLARE_SOA_COLUMN (RhoTglX, rhoTglX, int8_t ); // ! Covariance matrix in compressed form
48- DECLARE_SOA_COLUMN (RhoTglY, rhoTglY, int8_t ); // ! Covariance matrix in compressed form
49- DECLARE_SOA_COLUMN (RhoTglPhi, rhoTglPhi, int8_t ); // ! Covariance matrix in compressed form
50- DECLARE_SOA_COLUMN (Rho1PtX, rho1PtX, int8_t ); // ! Covariance matrix in compressed form
51- DECLARE_SOA_COLUMN (Rho1PtY, rho1PtY, int8_t ); // ! Covariance matrix in compressed form
52- DECLARE_SOA_COLUMN (Rho1PtPhi, rho1PtPhi, int8_t ); // ! Covariance matrix in compressed form
53- DECLARE_SOA_COLUMN (Rho1PtTgl, rho1PtTgl, int8_t ); // ! Covariance matrix in compressed form
54-
55- // Dynamic and expression columns
56- DECLARE_SOA_DYNAMIC_COLUMN (Sign, sign, // ! Sign of the track eletric charge
57- [](float signed1Pt) -> short { return (signed1Pt > 0 ) ? 1 : -1 ; });
58- DECLARE_SOA_DYNAMIC_COLUMN (Px, px, // !
59- [](float pt, float phi) -> float {
60- return pt * std::cos (phi);
61- });
62- DECLARE_SOA_DYNAMIC_COLUMN (Py, py, // !
63- [](float pt, float phi) -> float {
64- return pt * std::sin (phi);
65- });
66- DECLARE_SOA_DYNAMIC_COLUMN (Pz, pz, // !
67- [](float pt, float tgl) -> float {
68- return pt * tgl;
69- });
70-
71- DECLARE_SOA_EXPRESSION_COLUMN (Eta, eta, float , // !
72- -1 .f * nlog (ntan(o2::constants::math::PIQuarter - 0 .5f * natan (aod::fwdtrackrealign::tgl))));
73- DECLARE_SOA_EXPRESSION_COLUMN (Pt, pt, float , // !
74- ifnode (nabs(aod::fwdtrackrealign::signed1Pt) < o2::constants::math::Almost0, o2::constants::math::VeryBig, nabs(1 .f / aod::fwdtrackrealign::signed1Pt)));
75- DECLARE_SOA_EXPRESSION_COLUMN (P, p, float , // !
76- ifnode ((nabs(aod::fwdtrackrealign::signed1Pt) < o2::constants::math::Almost0) || (nabs(o2::constants::math::PIQuarter - 0 .5f * natan (aod::fwdtrackrealign::tgl)) < o2::constants::math::Almost0), o2::constants::math::VeryBig, 0.5f * (ntan(o2::constants::math::PIQuarter - 0 .5f * natan (aod::fwdtrackrealign::tgl)) + 1.f / ntan(o2::constants::math::PIQuarter - 0 .5f * natan (aod::fwdtrackrealign::tgl))) / nabs(aod::fwdtrackrealign::signed1Pt)));
77- DECLARE_SOA_EXPRESSION_COLUMN (CXX, cXX, float , // !
78- aod::fwdtrackrealign::sigmaX* aod::fwdtrackrealign::sigmaX);
79- DECLARE_SOA_EXPRESSION_COLUMN (CXY, cXY, float , // !
80- (aod::fwdtrackrealign::rhoXY / 128 .f) * (aod::fwdtrackrealign::sigmaX * aod::fwdtrackrealign::sigmaY));
81- DECLARE_SOA_EXPRESSION_COLUMN (CYY, cYY, float , // !
82- aod::fwdtrackrealign::sigmaY* aod::fwdtrackrealign::sigmaY);
83- DECLARE_SOA_EXPRESSION_COLUMN (CPhiX, cPhiX, float , // !
84- (aod::fwdtrackrealign::rhoPhiX / 128 .f) * (aod::fwdtrackrealign::sigmaPhi * aod::fwdtrackrealign::sigmaX));
85- DECLARE_SOA_EXPRESSION_COLUMN (CPhiY, cPhiY, float , // !
86- (aod::fwdtrackrealign::rhoPhiY / 128 .f) * (aod::fwdtrackrealign::sigmaPhi * aod::fwdtrackrealign::sigmaY));
87- DECLARE_SOA_EXPRESSION_COLUMN (CPhiPhi, cPhiPhi, float , // !
88- aod::fwdtrackrealign::sigmaPhi* aod::fwdtrackrealign::sigmaPhi);
89- DECLARE_SOA_EXPRESSION_COLUMN (CTglX, cTglX, float , // !
90- (aod::fwdtrackrealign::rhoTglX / 128 .f) * (aod::fwdtrackrealign::sigmaTgl * aod::fwdtrackrealign::sigmaX));
91- DECLARE_SOA_EXPRESSION_COLUMN (CTglY, cTglY, float , // !
92- (aod::fwdtrackrealign::rhoTglY / 128 .f) * (aod::fwdtrackrealign::sigmaTgl * aod::fwdtrackrealign::sigmaY));
93- DECLARE_SOA_EXPRESSION_COLUMN (CTglPhi, cTglPhi, float , // !
94- (aod::fwdtrackrealign::rhoTglPhi / 128 .f) * (aod::fwdtrackrealign::sigmaTgl * aod::fwdtrackrealign::sigmaPhi));
95- DECLARE_SOA_EXPRESSION_COLUMN (CTglTgl, cTglTgl, float , // !
96- aod::fwdtrackrealign::sigmaTgl* aod::fwdtrackrealign::sigmaTgl);
97- DECLARE_SOA_EXPRESSION_COLUMN (C1PtY, c1PtY, float , // !
98- (aod::fwdtrackrealign::rho1PtY / 128 .f) * (aod::fwdtrackrealign::sigma1Pt * aod::fwdtrackrealign::sigmaY));
99- DECLARE_SOA_EXPRESSION_COLUMN (C1PtX, c1PtX, float , // !
100- (aod::fwdtrackrealign::rho1PtX / 128 .f) * (aod::fwdtrackrealign::sigma1Pt * aod::fwdtrackrealign::sigmaX));
101- DECLARE_SOA_EXPRESSION_COLUMN (C1PtPhi, c1PtPhi, float , // !
102- (aod::fwdtrackrealign::rho1PtPhi / 128 .f) * (aod::fwdtrackrealign::sigma1Pt * aod::fwdtrackrealign::sigmaPhi));
103- DECLARE_SOA_EXPRESSION_COLUMN (C1PtTgl, c1PtTgl, float , // !
104- (aod::fwdtrackrealign::rho1PtTgl / 128 .f) * (aod::fwdtrackrealign::sigma1Pt * aod::fwdtrackrealign::sigmaTgl));
105- DECLARE_SOA_EXPRESSION_COLUMN (C1Pt21Pt2, c1Pt21Pt2, float , // !
106- aod::fwdtrackrealign::sigma1Pt* aod::fwdtrackrealign::sigma1Pt);
107- } // namespace fwdtrackrealign
108-
109- // Tracks including MCH and/or MCH (plus optionally MFT) //!
11028DECLARE_SOA_TABLE_FULL (StoredFwdTracksReAlign, " FwdTracksReAlign" , " AOD" , " FWDTRACKREALIGN" ,
111- o2::soa::Index<>, fwdtrackrealign::CollisionId, fwdtrackrealign::FwdTrackId, fwdtrackrealign::TrackType, fwdtrackrealign::X, fwdtrackrealign::Y, fwdtrackrealign::Z, fwdtrackrealign::Phi, fwdtrackrealign::Tgl,
112- fwdtrackrealign::Signed1Pt,
113- fwdtrackrealign::Px<fwdtrackrealign::Pt, fwdtrackrealign::Phi>,
114- fwdtrackrealign::Py<fwdtrackrealign::Pt, fwdtrackrealign::Phi>,
115- fwdtrackrealign::Pz<fwdtrackrealign::Pt, fwdtrackrealign::Tgl>,
116- fwdtrackrealign::Sign<fwdtrackrealign::Signed1Pt>,
117- fwdtrackrealign::Chi2,
118- fwdtrackrealign::IsRemovable);
119-
120- DECLARE_SOA_TABLE_FULL (StoredFwdTrksCovReAlign, " FwdCovsReAlign" , " AOD" , " FWDCOVREALIGN" , // !
121- fwdtrackrealign::SigmaX, fwdtrackrealign::SigmaY, fwdtrackrealign::SigmaPhi, fwdtrackrealign::SigmaTgl, fwdtrackrealign::Sigma1Pt,
122- fwdtrackrealign::RhoXY, fwdtrackrealign::RhoPhiY, fwdtrackrealign::RhoPhiX, fwdtrackrealign::RhoTglX, fwdtrackrealign::RhoTglY,
123- fwdtrackrealign::RhoTglPhi, fwdtrackrealign::Rho1PtX, fwdtrackrealign::Rho1PtY, fwdtrackrealign::Rho1PtPhi, fwdtrackrealign::Rho1PtTgl);
29+ o2::soa::Index<>, fwdtrack::CollisionId, fwdtrack::TrackType,
30+ fwdtrack::X, fwdtrack::Y, fwdtrack::Z, fwdtrack::Phi, fwdtrack::Tgl,
31+ fwdtrack::Signed1Pt, fwdtrack::NClusters, fwdtrack::PDca, fwdtrack::RAtAbsorberEnd,
32+ fwdtrackrealign::IsRemovable,
33+ fwdtrack::Px<fwdtrack::Pt, fwdtrack::Phi>,
34+ fwdtrack::Py<fwdtrack::Pt, fwdtrack::Phi>,
35+ fwdtrack::Pz<fwdtrack::Pt, fwdtrack::Tgl>,
36+ fwdtrack::Sign<fwdtrack::Signed1Pt>,
37+ fwdtrack::Chi2, fwdtrack::Chi2MatchMCHMID, fwdtrack::Chi2MatchMCHMFT,
38+ fwdtrack::MatchScoreMCHMFT, fwdtrack::MFTTrackId, fwdtrack::MCHTrackId,
39+ fwdtrack::MCHBitMap, fwdtrack::MIDBitMap, fwdtrack::MIDBoards,
40+ fwdtrack::TrackTime, fwdtrack::TrackTimeRes);
12441
12542// extended table with expression columns that can be used as arguments of dynamic columns
12643DECLARE_SOA_EXTENDED_TABLE_USER (FwdTracksReAlign, StoredFwdTracksReAlign, " FWDTRKREALIGNEXT" , // !
127- fwdtrackrealign::Pt,
128- fwdtrackrealign::Eta,
129- fwdtrackrealign::P); // the table name has here to be the one with EXT which is not nice and under study
44+ fwdtrack::Pt,
45+ fwdtrack::Eta,
46+ fwdtrack::P);
47+
48+ DECLARE_SOA_TABLE_FULL (StoredFwdTrksCovReAlign, " FwdCovsReAlign" , " AOD" , " FWDCOVREALIGN" ,
49+ fwdtrack::SigmaX, fwdtrack::SigmaY, fwdtrack::SigmaPhi, fwdtrack::SigmaTgl, fwdtrack::Sigma1Pt,
50+ fwdtrack::RhoXY, fwdtrack::RhoPhiY, fwdtrack::RhoPhiX, fwdtrack::RhoTglX, fwdtrack::RhoTglY,
51+ fwdtrack::RhoTglPhi, fwdtrack::Rho1PtX, fwdtrack::Rho1PtY, fwdtrack::Rho1PtPhi, fwdtrack::Rho1PtTgl);
13052
13153// extended table with expression columns that can be used as arguments of dynamic columns
13254DECLARE_SOA_EXTENDED_TABLE_USER (FwdTrksCovReAlign, StoredFwdTrksCovReAlign, " FWDCOVREALIGNEXT" , // !
133- fwdtrackrealign ::CXX,
134- fwdtrackrealign ::CXY,
135- fwdtrackrealign ::CYY,
136- fwdtrackrealign ::CPhiX,
137- fwdtrackrealign ::CPhiY,
138- fwdtrackrealign ::CPhiPhi,
139- fwdtrackrealign ::CTglX,
140- fwdtrackrealign ::CTglY,
141- fwdtrackrealign ::CTglPhi,
142- fwdtrackrealign ::CTglTgl,
143- fwdtrackrealign ::C1PtX,
144- fwdtrackrealign ::C1PtY,
145- fwdtrackrealign ::C1PtPhi,
146- fwdtrackrealign ::C1PtTgl,
147- fwdtrackrealign ::C1Pt21Pt2); // the table name has here to be the one with EXT which is not nice and under study
55+ fwdtrack ::CXX,
56+ fwdtrack ::CXY,
57+ fwdtrack ::CYY,
58+ fwdtrack ::CPhiX,
59+ fwdtrack ::CPhiY,
60+ fwdtrack ::CPhiPhi,
61+ fwdtrack ::CTglX,
62+ fwdtrack ::CTglY,
63+ fwdtrack ::CTglPhi,
64+ fwdtrack ::CTglTgl,
65+ fwdtrack ::C1PtX,
66+ fwdtrack ::C1PtY,
67+ fwdtrack ::C1PtPhi,
68+ fwdtrack ::C1PtTgl,
69+ fwdtrack ::C1Pt21Pt2);
14870
14971using FwdTrackRealign = FwdTracksReAlign::iterator;
15072using FwdTrkCovRealign = FwdTrksCovReAlign::iterator;
0 commit comments