@@ -56,6 +56,7 @@ DECLARE_SOA_COLUMN(XSecondaryVertex, xSecondaryVertex, float);
5656DECLARE_SOA_COLUMN (YSecondaryVertex, ySecondaryVertex, float );
5757DECLARE_SOA_COLUMN (ZSecondaryVertex, zSecondaryVertex, float );
5858DECLARE_SOA_DYNAMIC_COLUMN (RSecondaryVertex, rSecondaryVertex, [](float xVtxS, float yVtxS) { return RecoDecay::sqrtSumOfSquares (xVtxS, yVtxS); });
59+ DECLARE_SOA_COLUMN (Chi2PCA, chi2PCA, float ); // sum of (non-weighted) distances of the secondary vertex to its prongs
5960// prong properties
6061DECLARE_SOA_COLUMN (PxProng0, pxProng0, float );
6162DECLARE_SOA_COLUMN (PyProng0, pyProng0, float );
@@ -108,7 +109,6 @@ DECLARE_SOA_DYNAMIC_COLUMN(Ct, ct, [](float xVtxP, float yVtxP, float zVtxP, flo
108109// specific 2-prong decay properties
109110namespace hf_cand_prong2
110111{
111- DECLARE_SOA_COLUMN (DCA , dca, float );
112112DECLARE_SOA_EXPRESSION_COLUMN (Px, px, float , 1 .f * aod::hf_cand::pxProng0 + 1 .f * aod::hf_cand::pxProng1);
113113DECLARE_SOA_EXPRESSION_COLUMN (Py, py, float , 1 .f * aod::hf_cand::pyProng0 + 1 .f * aod::hf_cand::pyProng1);
114114DECLARE_SOA_EXPRESSION_COLUMN (Pz, pz, float , 1 .f * aod::hf_cand::pzProng0 + 1 .f * aod::hf_cand::pzProng1);
@@ -122,43 +122,43 @@ DECLARE_SOA_DYNAMIC_COLUMN(CosThetaStar, cosThetaStar, [](float px0, float py0,
122122// D0(bar) → π± K∓
123123
124124template <typename T>
125- auto CtD0 (T candidate)
125+ auto CtD0 (const T& candidate)
126126{
127127 return candidate.ct (RecoDecay::getMassPDG (421 ));
128128}
129129
130130template <typename T>
131- auto YD0 (T candidate)
131+ auto YD0 (const T& candidate)
132132{
133133 return candidate.y (RecoDecay::getMassPDG (421 ));
134134}
135135
136136template <typename T>
137- auto ED0 (T candidate)
137+ auto ED0 (const T& candidate)
138138{
139139 return candidate.e (RecoDecay::getMassPDG (421 ));
140140}
141141
142142template <typename T>
143- auto InvMassD0 (T candidate)
143+ auto InvMassD0 (const T& candidate)
144144{
145145 return candidate.m (array{RecoDecay::getMassPDG (kPiPlus ), RecoDecay::getMassPDG (kKPlus )});
146146}
147147
148148template <typename T>
149- auto InvMassD0bar (T candidate)
149+ auto InvMassD0bar (const T& candidate)
150150{
151151 return candidate.m (array{RecoDecay::getMassPDG (kKPlus ), RecoDecay::getMassPDG (kPiPlus )});
152152}
153153
154154template <typename T>
155- auto CosThetaStarD0 (T candidate)
155+ auto CosThetaStarD0 (const T& candidate)
156156{
157157 return candidate.cosThetaStar (array{RecoDecay::getMassPDG (kPiPlus ), RecoDecay::getMassPDG (kKPlus )}, RecoDecay::getMassPDG (421 ), 1 );
158158}
159159
160160template <typename T>
161- auto CosThetaStarD0bar (T candidate)
161+ auto CosThetaStarD0bar (const T& candidate)
162162{
163163 return candidate.cosThetaStar (array{RecoDecay::getMassPDG (kKPlus ), RecoDecay::getMassPDG (kPiPlus )}, RecoDecay::getMassPDG (421 ), 0 );
164164}
@@ -168,6 +168,7 @@ DECLARE_SOA_TABLE(HfCandBase, "AOD", "HFCANDBASE",
168168 collision::PosX, collision::PosY, collision::PosZ,
169169 hf_cand::XSecondaryVertex, hf_cand::YSecondaryVertex, hf_cand::ZSecondaryVertex,
170170 hf_cand::ErrorDecayLength, hf_cand::ErrorDecayLengthXY,
171+ hf_cand::Chi2PCA,
171172 /* dynamic columns */
172173 hf_cand::RSecondaryVertex<hf_cand::XSecondaryVertex, hf_cand::YSecondaryVertex>,
173174 hf_cand::ImpactParameterNormalised0<hf_cand::ImpactParameter0, hf_cand::ErrorImpactParameter0>,
@@ -188,7 +189,6 @@ DECLARE_SOA_TABLE(HfCandBase, "AOD", "HFCANDBASE",
188189 hf_cand::PxProng1, hf_cand::PyProng1, hf_cand::PzProng1,
189190 hf_cand::ImpactParameter0, hf_cand::ImpactParameter1,
190191 hf_cand::ErrorImpactParameter0, hf_cand::ErrorImpactParameter1,
191- hf_cand_prong2::DCA ,
192192 /* dynamic columns */
193193 hf_cand_prong2::ImpactParameterProduct<hf_cand::ImpactParameter0, hf_cand::ImpactParameter1>,
194194 hf_cand_prong2::M<hf_cand::PxProng0, hf_cand::PyProng0, hf_cand::PzProng0, hf_cand::PxProng1, hf_cand::PyProng1, hf_cand::PzProng1>,
0 commit comments