Skip to content

Commit 2134a4b

Browse files
author
Isabel Kantak
committed
Add new features when applying ML models and adding those features to V0PhotonCandidate as well as corresponding getter functions
1 parent e54bfa5 commit 2134a4b

File tree

3 files changed

+209
-22
lines changed

3 files changed

+209
-22
lines changed

PWGEM/PhotonMeson/Core/EmMlResponsePCM.h

Lines changed: 81 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,17 +53,43 @@ namespace o2::analysis
5353
{
5454

5555
enum class InputFeaturesPCM : uint8_t {
56+
v0PhotonCandidatefVx,
57+
v0PhotonCandidatefVy,
5658
v0PhotonCandidatefDCAxyToPV,
5759
v0PhotonCandidatefDCAzToPV,
5860
v0PhotonCandidatefPCA,
5961
v0PhotonCandidatefAlpha,
6062
v0PhotonCandidatefQtArm,
6163
v0PhotonCandidatefChiSquareNDF,
64+
v0PhotonCandidatefCosPARZ,
65+
v0PhotonCandidatefCosPAXY,
6266
v0PhotonCandidatefCosPA,
67+
v0PhotonCandidatefPsiPair,
68+
v0PhotonCandidatefPhiV,
69+
posV0LegfDCAXY,
70+
posV0LegfDCAZ,
71+
posV0LegfEta,
72+
posV0LegfTPCNClsShared,
73+
posV0LegfTPCNClsFindable,
74+
posV0LegfTPCNClsFindableMinusFound,
75+
posV0LegfTPCNClsFindableMinusCrossedRows,
76+
posV0LegfTPCChi2NCl,
77+
posV0LegfTPCSignal,
6378
posV0LegfTPCNSigmaEl,
6479
posV0LegfTPCNSigmaPi,
80+
posV0LegfITSClusterSizes,
81+
negV0LegfDCAXY,
82+
negV0LegfDCAZ,
83+
negV0LegfEta,
84+
negV0LegfTPCNClsShared,
85+
negV0LegfTPCNClsFindable,
86+
negV0LegfTPCNClsFindableMinusFound,
87+
negV0LegfTPCNClsFindableMinusCrossedRows,
88+
negV0LegfTPCChi2NCl,
89+
negV0LegfTPCSignal,
6590
negV0LegfTPCNSigmaEl,
66-
negV0LegfTPCNSigmaPi
91+
negV0LegfTPCNSigmaPi,
92+
negV0LegfITSClusterSizes
6793
};
6894

6995
template <typename TypeOutputScore = float>
@@ -85,17 +111,43 @@ class EmMlResponsePCM : public EmMlResponse<TypeOutputScore>
85111

86112
for (const auto& idx : MlResponse<TypeOutputScore>::mCachedIndices) {
87113
switch (idx) {
114+
CHECK_AND_FILL_VEC_PCM_FULL(candidate, v0PhotonCandidatefVx, getX);
115+
CHECK_AND_FILL_VEC_PCM_FULL(candidate, v0PhotonCandidatefVy, getY);
88116
CHECK_AND_FILL_VEC_PCM_FULL(candidate, v0PhotonCandidatefDCAxyToPV, getDcaXYToPV);
89117
CHECK_AND_FILL_VEC_PCM_FULL(candidate, v0PhotonCandidatefDCAzToPV, getDcaZToPV);
90118
CHECK_AND_FILL_VEC_PCM_FULL(candidate, v0PhotonCandidatefPCA, getPCA);
91119
CHECK_AND_FILL_VEC_PCM_FULL(candidate, v0PhotonCandidatefAlpha, getAlpha);
92120
CHECK_AND_FILL_VEC_PCM_FULL(candidate, v0PhotonCandidatefQtArm, getQt);
93121
CHECK_AND_FILL_VEC_PCM_FULL(candidate, v0PhotonCandidatefChiSquareNDF, getChi2NDF);
122+
CHECK_AND_FILL_VEC_PCM_FULL(candidate, v0PhotonCandidatefCosPARZ, getCosPARZ);
123+
CHECK_AND_FILL_VEC_PCM_FULL(candidate, v0PhotonCandidatefCosPAXY, getCosPAXY);
94124
CHECK_AND_FILL_VEC_PCM_FULL(candidate, v0PhotonCandidatefCosPA, getCosPA);
125+
CHECK_AND_FILL_VEC_PCM_FULL(candidate, v0PhotonCandidatefPsiPair, getPsiPair);
126+
CHECK_AND_FILL_VEC_PCM_FULL(candidate, v0PhotonCandidatefPhiV, getPhiV);
127+
CHECK_AND_FILL_VEC_PCM_FULL(candidate, posV0LegfDCAXY, getPosDcaXY);
128+
CHECK_AND_FILL_VEC_PCM_FULL(candidate, posV0LegfDCAZ, getPosDcaZ);
129+
CHECK_AND_FILL_VEC_PCM_FULL(candidate, posV0LegfEta, getPosEta);
130+
CHECK_AND_FILL_VEC_PCM_FULL(candidate, posV0LegfTPCNClsShared, getPosTPCNClsShared);
131+
CHECK_AND_FILL_VEC_PCM_FULL(candidate, posV0LegfTPCNClsFindable, getPosTPCNClsFindable);
132+
CHECK_AND_FILL_VEC_PCM_FULL(candidate, posV0LegfTPCNClsFindableMinusFound, getPosTPCNClsFindableMinusShared);
133+
CHECK_AND_FILL_VEC_PCM_FULL(candidate, posV0LegfTPCNClsFindableMinusCrossedRows, getPosTPCNClsFindableMinusCrossedRows);
134+
CHECK_AND_FILL_VEC_PCM_FULL(candidate, posV0LegfTPCChi2NCl, getPosTPCChi2NCl);
135+
CHECK_AND_FILL_VEC_PCM_FULL(candidate, posV0LegfTPCSignal, getPosTPCSignal);
95136
CHECK_AND_FILL_VEC_PCM_FULL(posLeg, posV0LegfTPCNSigmaEl, tpcNSigmaEl);
96137
CHECK_AND_FILL_VEC_PCM_FULL(posLeg, posV0LegfTPCNSigmaPi, tpcNSigmaPi);
138+
CHECK_AND_FILL_VEC_PCM_FULL(candidate, posV0LegfITSClusterSizes, getPosITSClusterSizes);
139+
CHECK_AND_FILL_VEC_PCM_FULL(candidate, negV0LegfDCAXY, getEleDcaXY);
140+
CHECK_AND_FILL_VEC_PCM_FULL(candidate, negV0LegfDCAZ, getEleDcaZ);
141+
CHECK_AND_FILL_VEC_PCM_FULL(candidate, negV0LegfEta, getEleEta);
142+
CHECK_AND_FILL_VEC_PCM_FULL(candidate, negV0LegfTPCNClsShared, getEleTPCNClsShared);
143+
CHECK_AND_FILL_VEC_PCM_FULL(candidate, negV0LegfTPCNClsFindable, getEleTPCNClsFindable);
144+
CHECK_AND_FILL_VEC_PCM_FULL(candidate, negV0LegfTPCNClsFindableMinusFound, getEleTPCNClsFindableMinusShared);
145+
CHECK_AND_FILL_VEC_PCM_FULL(candidate, negV0LegfTPCNClsFindableMinusCrossedRows, getEleTPCNClsFindableMinusCrossedRows);
146+
CHECK_AND_FILL_VEC_PCM_FULL(candidate, negV0LegfTPCChi2NCl, getEleTPCChi2NCl);
147+
CHECK_AND_FILL_VEC_PCM_FULL(candidate, negV0LegfTPCSignal, getEleTPCSignal);
97148
CHECK_AND_FILL_VEC_PCM_FULL(negLeg, negV0LegfTPCNSigmaEl, tpcNSigmaEl);
98149
CHECK_AND_FILL_VEC_PCM_FULL(negLeg, negV0LegfTPCNSigmaPi, tpcNSigmaPi);
150+
CHECK_AND_FILL_VEC_PCM_FULL(candidate, negV0LegfITSClusterSizes, getEleITSClusterSizes);
99151
}
100152
}
101153
return inputFeatures;
@@ -106,17 +158,44 @@ class EmMlResponsePCM : public EmMlResponse<TypeOutputScore>
106158
void setAvailableInputFeatures()
107159
{
108160
MlResponse<TypeOutputScore>::mAvailableInputFeatures = {
161+
FILL_MAP_PCM(v0PhotonCandidatefVx),
162+
FILL_MAP_PCM(v0PhotonCandidatefVy),
109163
FILL_MAP_PCM(v0PhotonCandidatefDCAxyToPV),
110164
FILL_MAP_PCM(v0PhotonCandidatefDCAzToPV),
111165
FILL_MAP_PCM(v0PhotonCandidatefPCA),
112166
FILL_MAP_PCM(v0PhotonCandidatefAlpha),
113167
FILL_MAP_PCM(v0PhotonCandidatefQtArm),
114168
FILL_MAP_PCM(v0PhotonCandidatefChiSquareNDF),
169+
FILL_MAP_PCM(v0PhotonCandidatefCosPARZ),
170+
FILL_MAP_PCM(v0PhotonCandidatefCosPAXY),
115171
FILL_MAP_PCM(v0PhotonCandidatefCosPA),
172+
FILL_MAP_PCM(v0PhotonCandidatefPsiPair),
173+
FILL_MAP_PCM(v0PhotonCandidatefPhiV),
174+
FILL_MAP_PCM(posV0LegfDCAXY),
175+
FILL_MAP_PCM(posV0LegfDCAZ),
176+
FILL_MAP_PCM(posV0LegfEta),
177+
FILL_MAP_PCM(posV0LegfTPCNClsShared),
178+
FILL_MAP_PCM(posV0LegfTPCNClsFindable),
179+
FILL_MAP_PCM(posV0LegfTPCNClsFindableMinusFound),
180+
FILL_MAP_PCM(posV0LegfTPCNClsFindableMinusCrossedRows),
181+
FILL_MAP_PCM(posV0LegfTPCChi2NCl),
182+
FILL_MAP_PCM(posV0LegfTPCSignal),
116183
FILL_MAP_PCM(posV0LegfTPCNSigmaEl),
117184
FILL_MAP_PCM(posV0LegfTPCNSigmaPi),
185+
FILL_MAP_PCM(posV0LegfITSClusterSizes),
186+
FILL_MAP_PCM(negV0LegfDCAXY),
187+
FILL_MAP_PCM(negV0LegfDCAZ),
188+
FILL_MAP_PCM(negV0LegfEta),
189+
FILL_MAP_PCM(negV0LegfTPCNClsShared),
190+
FILL_MAP_PCM(negV0LegfTPCNClsFindable),
191+
FILL_MAP_PCM(negV0LegfTPCNClsFindableMinusFound),
192+
FILL_MAP_PCM(negV0LegfTPCNClsFindableMinusCrossedRows),
193+
FILL_MAP_PCM(negV0LegfTPCChi2NCl),
194+
FILL_MAP_PCM(negV0LegfTPCSignal),
118195
FILL_MAP_PCM(negV0LegfTPCNSigmaEl),
119-
FILL_MAP_PCM(negV0LegfTPCNSigmaPi)};
196+
FILL_MAP_PCM(negV0LegfTPCNSigmaPi),
197+
FILL_MAP_PCM(negV0LegfITSClusterSizes)
198+
};
120199
}
121200
};
122201

PWGEM/PhotonMeson/Core/V0PhotonCandidate.h

Lines changed: 125 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -35,41 +35,71 @@ struct V0PhotonCandidate {
3535
// Empty Constructor
3636
V0PhotonCandidate() = default;
3737
// Set method for photonconversionbuilder
38-
void setPhotonCandidate(const KFParticle& v0, const KFParticle& pos, const KFParticle& ele, const auto& collision, float cospa, float psipair, float phiv, CentType centType)
38+
template<class TTrack>
39+
void setPhotonCandidate(const KFParticle& v0_DecayVtx, const KFParticle& v0_PV, const TTrack& pos, const KFParticle& pos_DecayVtx, const TTrack& ele, const KFParticle& ele_DecayVtx, const auto& collision, float cospa, float cospaRZ, float cospaXY, float psipair, float phiv, CentType centType, auto posdcaXY, auto eledcaXY, auto posdcaZ, auto eledcaZ)
3940
{
40-
px = v0.GetPx();
41-
py = v0.GetPy();
42-
pz = v0.GetPz();
41+
x = v0_DecayVtx.GetX();
42+
y = v0_DecayVtx.GetY();
43+
z = v0_DecayVtx.GetZ();
44+
px = v0_PV.GetPx();
45+
py = v0_PV.GetPy();
46+
pz = v0_PV.GetPz();
4347
pT = RecoDecay::sqrtSumOfSquares(px, py);
4448

45-
posPx = pos.GetPx();
46-
posPy = pos.GetPy();
47-
posPz = pos.GetPz();
48-
elePx = ele.GetPx();
49-
elePy = ele.GetPy();
50-
elePz = ele.GetPz();
49+
posPx = pos_DecayVtx.GetPx();
50+
posPy = pos_DecayVtx.GetPy();
51+
posPz = pos_DecayVtx.GetPz();
52+
elePx = ele_DecayVtx.GetPx();
53+
elePy = ele_DecayVtx.GetPy();
54+
elePz = ele_DecayVtx.GetPz();
5155
posPT = RecoDecay::sqrtSumOfSquares(posPx, posPy);
5256
elePT = RecoDecay::sqrtSumOfSquares(elePx, elePy);
57+
posEta = RecoDecay::eta(std::array{posPx, posPy, posPz});
58+
eleEta = RecoDecay::eta(std::array{elePx, elePy, elePz});
5359

54-
chi2ndf = v0.GetChi2() / v0.GetNDF();
55-
pca = pos.GetDistanceFromParticle(ele);
60+
posTPCNClsShared = pos.tpcNClsShared();
61+
posTPCNClsFindable = pos.tpcNClsFindable();
62+
posTPCNClsFindableMinusShared = pos.tpcNClsFindableMinusFound();
63+
posTPCNClsFindableMinusCrossedRows = pos.tpcNClsFindableMinusCrossedRows();
64+
posTPCChi2NCl = pos.tpcChi2NCl();
65+
posTPCSignal = pos.tpcSignal();
66+
posITSClusterSizes = pos.itsClusterSizes();
67+
eleTPCNClsShared = ele.tpcNClsShared();
68+
eleTPCNClsFindable = ele.tpcNClsFindable();
69+
eleTPCNClsFindableMinusShared = ele.tpcNClsFindableMinusFound();
70+
eleTPCNClsFindableMinusCrossedRows = ele.tpcNClsFindableMinusCrossedRows();
71+
eleTPCChi2NCl = ele.tpcChi2NCl();
72+
eleTPCSignal = ele.tpcSignal();
73+
eleITSClusterSizes = ele.itsClusterSizes();
5674

57-
float v0mom = RecoDecay::sqrtSumOfSquares(v0.GetPx(), v0.GetPy(), v0.GetPz());
58-
float length = RecoDecay::sqrtSumOfSquares(v0.GetX() - collision.posX(), v0.GetY() - collision.posY(), v0.GetZ() - collision.posZ());
59-
float dcaXV0ToPV = (v0.GetX() - v0.GetPx() * cospa * length / v0mom) - collision.posX();
60-
float dcaYV0ToPV = (v0.GetY() - v0.GetPy() * cospa * length / v0mom) - collision.posY();
75+
chi2ndf = v0_DecayVtx.GetChi2() / v0_DecayVtx.GetNDF();
76+
pca = pos_DecayVtx.GetDistanceFromParticle(ele_DecayVtx);
77+
eta = RecoDecay::eta(std::array{px, py, pz});
78+
posEta = RecoDecay::eta(std::array{posPx, posPy, posPz});
79+
eleEta = RecoDecay::eta(std::array{elePx, elePy, elePz});
80+
81+
float v0mom = RecoDecay::sqrtSumOfSquares(v0_DecayVtx.GetPx(), v0_DecayVtx.GetPy(), v0_DecayVtx.GetPz());
82+
float length = RecoDecay::sqrtSumOfSquares(v0_DecayVtx.GetX() - collision.posX(), v0_DecayVtx.GetY() - collision.posY(), v0_DecayVtx.GetZ() - collision.posZ());
83+
float dcaXV0ToPV = (v0_DecayVtx.GetX() - v0_DecayVtx.GetPx() * cospa * length / v0mom) - collision.posX();
84+
float dcaYV0ToPV = (v0_DecayVtx.GetY() - v0_DecayVtx.GetPy() * cospa * length / v0mom) - collision.posY();
6185
float tmpSign = (dcaXV0ToPV * dcaYV0ToPV > 0.f) ? +1.f : -1.f;
6286

6387
dcaXYV0ToPV = RecoDecay::sqrtSumOfSquares(dcaXV0ToPV, dcaYV0ToPV) * tmpSign;
64-
dcaZV0ToPV = (v0.GetZ() - v0.GetPz() * cospa * length / v0mom) - collision.posZ();
88+
dcaZV0ToPV = (v0_DecayVtx.GetZ() - v0_DecayVtx.GetPz() * cospa * length / v0mom) - collision.posZ();
6589

6690
alpha = v0_alpha(posPx, posPy, posPz, elePx, elePy, elePz);
6791
qt = v0_qt(posPx, posPy, posPz, elePx, elePy, elePz);
6892

6993
this->cospa = cospa;
94+
this->cospaRZ = cospaRZ;
95+
this->cospaXY = cospaXY;
7096
this->psipair = psipair;
7197
this->phiv = phiv;
7298
this->centType = centType;
99+
this->posdcaXY = posdcaXY;
100+
this->eledcaXY = eledcaXY;
101+
this->posdcaZ = posdcaZ;
102+
this->eledcaZ = eledcaZ;
73103

74104
switch (centType) {
75105
case CentType::CentFT0A:
@@ -87,6 +117,9 @@ struct V0PhotonCandidate {
87117
// Set-Method for V0PhotonCut
88118
void setPhoton(const auto& v0, const auto& pos, const auto& ele, float cent, CentType centType)
89119
{
120+
x = v0.vx();
121+
y = v0.vy();
122+
z = v0.vz();
90123
px = v0.px();
91124
py = v0.py();
92125
pz = v0.pz();
@@ -100,14 +133,37 @@ struct V0PhotonCandidate {
100133
elePz = ele.pz();
101134
posPT = pos.pt();
102135
elePT = ele.pt();
136+
posEta = pos.eta();
137+
eleEta = ele.eta();
138+
posdcaXY = pos.dcaXY();
139+
posdcaZ = pos.dcaZ();
140+
eledcaXY = ele.dcaXY();
141+
eledcaZ = ele.dcaZ();
142+
posTPCNClsShared = pos.tpcNClsShared();
143+
posTPCNClsFindable = pos.tpcNClsFindable();
144+
posTPCNClsFindableMinusShared = pos.tpcNClsFindableMinusFound();
145+
posTPCNClsFindableMinusCrossedRows = pos.tpcNClsFindableMinusCrossedRows();
146+
posTPCChi2NCl = pos.tpcChi2NCl();
147+
posTPCSignal = pos.tpcSignal();
148+
posITSClusterSizes = pos.itsClusterSizes();
149+
eleTPCNClsShared = ele.tpcNClsShared();
150+
eleTPCNClsFindable = ele.tpcNClsFindable();
151+
eleTPCNClsFindableMinusShared = ele.tpcNClsFindableMinusFound();
152+
eleTPCNClsFindableMinusCrossedRows = ele.tpcNClsFindableMinusCrossedRows();
153+
eleTPCChi2NCl = ele.tpcChi2NCl();
154+
eleTPCSignal = ele.tpcSignal();
155+
eleITSClusterSizes = ele.itsClusterSizes();
103156

104157
chi2ndf = v0.chiSquareNDF();
105158
pca = v0.pca();
159+
eta = v0.eta();
106160

107161
dcaXYV0ToPV = v0.dcaXYtopv();
108162
dcaZV0ToPV = v0.dcaZtopv();
109163

110164
cospa = v0.cospa();
165+
cospaRZ = v0.cospaRZ();
166+
cospaXY = v0.cospaXY();
111167
alpha = v0.alpha();
112168
qt = v0.qtarm();
113169
psipair = 999.f; // default if V0PhotonPhiVPsi table is not included
@@ -131,6 +187,14 @@ struct V0PhotonCandidate {
131187
float getPhiV() const { return phiv; }
132188
float getPsiPair() const { return psipair; }
133189
float getCosPA() const { return cospa; }
190+
float getCosPARZ() const { return cospaRZ; }
191+
float getCosPAXY() const { return cospaXY; }
192+
float getEta() const { return eta; }
193+
float getPosEta() const { return posEta; }
194+
float getEleEta() const { return eleEta; }
195+
float getX() const { return x; }
196+
float getY() const { return y; }
197+
float getZ() const { return z; }
134198
float getPx() const { return px; }
135199
float getPy() const { return py; }
136200
float getPz() const { return pz; }
@@ -141,11 +205,32 @@ struct V0PhotonCandidate {
141205
float getElePx() const { return elePx; }
142206
float getElePy() const { return elePy; }
143207
float getElePz() const { return elePz; }
208+
float getPosDcaXY() const { return posdcaXY; }
209+
float getPosDcaZ() const { return posdcaZ; }
210+
float getEleDcaXY() const { return eledcaXY; }
211+
float getEleDcaZ() const { return eledcaZ; }
212+
float getPosTPCNClsShared() const { return posTPCNClsShared; }
213+
float getPosTPCNClsFindable() const { return posTPCNClsFindable; }
214+
float getPosTPCNClsFindableMinusShared() const { return posTPCNClsFindableMinusShared; }
215+
float getPosTPCNClsFindableMinusCrossedRows() const { return posTPCNClsFindableMinusCrossedRows; }
216+
float getPosTPCChi2NCl() const { return posTPCChi2NCl; }
217+
float getPosTPCSignal() const { return posTPCSignal; }
218+
float getPosITSClusterSizes() const { return posITSClusterSizes; }
219+
float getEleTPCNClsShared() const { return eleTPCNClsShared; }
220+
float getEleTPCNClsFindable() const { return eleTPCNClsFindable; }
221+
float getEleTPCNClsFindableMinusShared() const { return eleTPCNClsFindableMinusShared; }
222+
float getEleTPCNClsFindableMinusCrossedRows() const { return eleTPCNClsFindableMinusCrossedRows; }
223+
float getEleTPCChi2NCl() const { return eleTPCChi2NCl; }
224+
float getEleTPCSignal() const { return eleTPCSignal; }
225+
float getEleITSClusterSizes() const { return eleITSClusterSizes; }
144226
float getCent() const { return cent; }
145227
float getPCA() const { return pca; }
146228
CentType getCentType() const { return centType; }
147229

148230
private:
231+
float x;
232+
float y;
233+
float z;
149234
float px;
150235
float py;
151236
float pz;
@@ -165,9 +250,32 @@ struct V0PhotonCandidate {
165250
float phiv;
166251
float psipair;
167252
float cospa;
253+
float cospaRZ;
254+
float cospaXY;
168255
float chi2ndf;
169256
float cent;
170257
float pca;
258+
float eta;
259+
float posEta;
260+
float eleEta;
261+
float posdcaXY;
262+
float posdcaZ;
263+
float eledcaXY;
264+
float eledcaZ;
265+
float posTPCNClsShared;
266+
float posTPCNClsFindable;
267+
float posTPCNClsFindableMinusShared;
268+
float posTPCNClsFindableMinusCrossedRows;
269+
float posTPCChi2NCl;
270+
float posTPCSignal;
271+
float posITSClusterSizes;
272+
float eleTPCNClsShared;
273+
float eleTPCNClsFindable;
274+
float eleTPCNClsFindableMinusShared;
275+
float eleTPCNClsFindableMinusCrossedRows;
276+
float eleTPCChi2NCl;
277+
float eleTPCSignal;
278+
float eleITSClusterSizes;
171279
CentType centType;
172280
};
173281

PWGEM/PhotonMeson/TableProducer/photonconversionbuilder.cxx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -723,8 +723,10 @@ struct PhotonConversionBuilder {
723723
kfp_pos_DecayVtx.TransportToPoint(xyz); // Don't set Primary Vertex
724724
kfp_ele_DecayVtx.TransportToPoint(xyz); // Don't set Primary Vertex
725725

726+
float cospaXY_kf = cospaXY_KF(gammaKF_DecayVtx, KFPV);
727+
float cospaRZ_kf = cospaRZ_KF(gammaKF_DecayVtx, KFPV);
726728
CentType centType = static_cast<CentType>(centTypePCMMl.value);
727-
v0photoncandidate.setPhotonCandidate(gammaKF_DecayVtx, kfp_pos_DecayVtx, kfp_ele_DecayVtx, collision, cospa_kf, psipair, phiv, centType);
729+
v0photoncandidate.setPhotonCandidate(gammaKF_DecayVtx, gammaKF_PV, pos, kfp_pos_DecayVtx, ele, kfp_ele_DecayVtx, collision, cospa_kf, cospaRZ_kf, cospaXY_kf, psipair, phiv, centType, posdcaXY, posdcaZ, eledcaXY, eledcaZ);
728730

729731
if (!ele.hasITS() && !pos.hasITS()) { // V0s with TPConly-TPConly
730732
if (max_r_itsmft_ss < rxy && rxy < maxX + margin_r_tpc) {
@@ -822,8 +824,6 @@ struct PhotonConversionBuilder {
822824
registry.fill(HIST("V0/hPCA_diffX"), v0photoncandidate.getPCA(), std::min(pTrack.getX(), nTrack.getX()) - rxy); // trackiu.x() - rxy should be positive
823825
registry.fill(HIST("V0/hPhiVPsiPair"), v0photoncandidate.getPsiPair(), v0photoncandidate.getPhiV());
824826

825-
float cospaXY_kf = cospaXY_KF(gammaKF_DecayVtx, KFPV);
826-
float cospaRZ_kf = cospaRZ_KF(gammaKF_DecayVtx, KFPV);
827827
// LOGF(info, "cospa_kf = %f, cospaXY_kf = %f, cospaRZ_kf = %f", cospa_kf, cospaXY_kf, cospaRZ_kf);
828828
registry.fill(HIST("V0/hCosPAXY_Rxy"), rxy, cospaXY_kf);
829829
registry.fill(HIST("V0/hCosPARZ_Rxy"), rxy, cospaRZ_kf);

0 commit comments

Comments
 (0)