Skip to content

Commit 2300513

Browse files
authored
[PWGEM/Dilepton] update EMTrack.cxx (#15832)
1 parent 5c80dd9 commit 2300513

File tree

2 files changed

+31
-28
lines changed

2 files changed

+31
-28
lines changed

PWGEM/Dilepton/Utils/EMFwdTrack.h

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,12 @@ namespace o2::aod::pwgem::dilepton::utils
2323
class EMFwdTrack
2424
{
2525
public:
26-
EMFwdTrack(float pt, float eta, float phi, float /*mass*/, int8_t charge, float dcaX, float dcaY, float cXX, float cXY, float cYY)
26+
EMFwdTrack(float pt, float eta, float phi, float /*mass*/, int8_t sign, float dcaX, float dcaY, float cXX, float cXY, float cYY)
2727
{
28-
fSigned1Pt = static_cast<float>(charge) / pt;
28+
fPt = pt;
2929
fEta = eta;
3030
fPhi = phi;
31+
fSign = sign;
3132
fDCAx = dcaX;
3233
fDCAy = dcaY;
3334
fCXX = cXX;
@@ -37,28 +38,28 @@ class EMFwdTrack
3738

3839
~EMFwdTrack() {}
3940

40-
float pt() const { return 1.f / std::fabs(fSigned1Pt); }
41+
float pt() const { return fPt; }
4142
float eta() const { return fEta; }
4243
float phi() const { return fPhi; }
43-
int8_t sign() const { return (fSigned1Pt > 0 ? +1 : -1); }
44+
int8_t sign() const { return fSign; }
4445
float fwdDcaX() const { return fDCAx; }
4546
float fwdDcaY() const { return fDCAy; }
4647
float fwdDcaXY() const { return std::sqrt(std::pow(fDCAx, 2) + std::pow(fDCAy, 2)); }
47-
float p() const { return 1.f / std::fabs(fSigned1Pt) * std::cosh(fEta); }
48-
float px() const { return 1.f / std::fabs(fSigned1Pt) * std::cos(fPhi); }
49-
float py() const { return 1.f / std::fabs(fSigned1Pt) * std::sin(fPhi); }
50-
float pz() const { return 1.f / std::fabs(fSigned1Pt) * std::sinh(fEta); }
51-
// float e(const float mass) const { return std::hypot(fPt * std::cosh(fEta), mass); } // e2 = p2 + m2
52-
float signed1Pt() const { return fSigned1Pt; }
48+
float p() const { return fPt * std::cosh(fEta); }
49+
float px() const { return fPt * std::cos(fPhi); }
50+
float py() const { return fPt * std::sin(fPhi); }
51+
float pz() const { return fPt * std::sinh(fEta); }
52+
float signed1Pt() const { return fSign / fPt; }
5353

5454
float cXX() const { return fCXX; }
5555
float cXY() const { return fCXY; }
5656
float cYY() const { return fCYY; }
5757

5858
protected:
59-
float fSigned1Pt;
59+
float fPt;
6060
float fEta;
6161
float fPhi;
62+
int8_t fSign;
6263
float fDCAx;
6364
float fDCAy;
6465
float fCXX;
@@ -69,11 +70,11 @@ class EMFwdTrack
6970
class EMFwdTrackWithCov : public EMFwdTrack
7071
{
7172
public:
72-
EMFwdTrackWithCov(float pt, float eta, float phi, float mass, int8_t charge, float dcaX, float dcaY, float cXX, float cXY, float cYY,
73+
EMFwdTrackWithCov(float pt, float eta, float phi, float mass, int8_t sign, float dcaX, float dcaY, float cXX, float cXY, float cYY,
7374
float X = 0.f, float Y = 0.f, float Z = 0.f, float tgl = 0.f,
7475
float cPhiX = 0.f, float cPhiY = 0.f, float cPhiPhi = 0.f,
7576
float cTglX = 0.f, float cTglY = 0.f, float cTglPhi = 0.f, float cTglTgl = 0.f,
76-
float c1PtX = 0.f, float c1PtY = 0.f, float c1PtPhi = 0.f, float c1PtTgl = 0.f, float c1Pt21Pt2 = 0.f, float chi2 = 0.f) : EMFwdTrack(pt, eta, phi, mass, charge, dcaX, dcaY, cXX, cXY, cYY)
77+
float c1PtX = 0.f, float c1PtY = 0.f, float c1PtPhi = 0.f, float c1PtTgl = 0.f, float c1Pt21Pt2 = 0.f, float chi2 = 0.f) : EMFwdTrack(pt, eta, phi, mass, sign, dcaX, dcaY, cXX, cXY, cYY)
7778
{
7879
fX = X;
7980
fY = Y;

PWGEM/Dilepton/Utils/EMTrack.h

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,12 @@ namespace o2::aod::pwgem::dilepton::utils
2828
class EMTrack
2929
{
3030
public:
31-
EMTrack(float pt, float eta, float phi, float /*mass*/, int8_t charge = 0, float dcaXY = 0.f, float dcaZ = 0.f, float CYY = 0, float CZY = 0, float CZZ = 0)
31+
EMTrack(float pt, float eta, float phi, float /*mass*/, int8_t sign = 0, float dcaXY = 0.f, float dcaZ = 0.f, float CYY = 0, float CZY = 0, float CZZ = 0)
3232
{
33-
fSigned1Pt = static_cast<float>(charge) / pt;
33+
fPt = pt;
3434
fEta = eta;
3535
fPhi = phi;
36+
fSign = sign;
3637
fDCAxy = dcaXY;
3738
fDCAz = dcaZ;
3839
fCYY = CYY;
@@ -42,27 +43,28 @@ class EMTrack
4243

4344
~EMTrack() {}
4445

45-
float pt() const { return 1.f / std::fabs(fSigned1Pt); }
46+
float pt() const { return fPt; }
4647
float eta() const { return fEta; }
4748
float phi() const { return fPhi; }
48-
int8_t sign() const { return (fSigned1Pt > 0 ? +1 : -1); }
49+
int8_t sign() const { return fSign; }
4950
float dcaXY() const { return fDCAxy; }
5051
float dcaZ() const { return fDCAz; }
5152

5253
float cYY() const { return fCYY; }
5354
float cZY() const { return fCZY; }
5455
float cZZ() const { return fCZZ; }
5556

56-
float p() const { return 1.f / std::fabs(fSigned1Pt) * std::cosh(fEta); }
57-
float px() const { return 1.f / std::fabs(fSigned1Pt) * std::cos(fPhi); }
58-
float py() const { return 1.f / std::fabs(fSigned1Pt) * std::sin(fPhi); }
59-
float pz() const { return 1.f / std::fabs(fSigned1Pt) * std::sinh(fEta); }
60-
float signed1Pt() const { return fSigned1Pt; }
57+
float p() const { return fPt * std::cosh(fEta); }
58+
float px() const { return fPt * std::cos(fPhi); }
59+
float py() const { return fPt * std::sin(fPhi); }
60+
float pz() const { return fPt * std::sinh(fEta); }
61+
float signed1Pt() const { return fSign / fPt; }
6162

6263
protected:
63-
float fSigned1Pt;
64+
float fPt;
6465
float fEta;
6566
float fPhi;
67+
int8_t fSign;
6668
float fDCAxy;
6769
float fDCAz;
6870
float fCYY;
@@ -73,12 +75,12 @@ class EMTrack
7375
class EMTrackWithCov : public EMTrack
7476
{
7577
public:
76-
EMTrackWithCov(float pt, float eta, float phi, float mass, int8_t charge = 0, float dcaXY = 0.f, float dcaZ = 0.f,
78+
EMTrackWithCov(float pt, float eta, float phi, float mass, int8_t sign = 0, float dcaXY = 0.f, float dcaZ = 0.f,
7779
float CYY = 0.f, float CZY = 0.f, float CZZ = 0.f,
7880
float X = 0.f, float Y = 0.f, float Z = 0.f, float Alpha = 0.f, float Snp = 0.f, float Tgl = 0.f,
7981
float CSnpY = 0.f, float CSnpZ = 0.f, float CSnpSnp = 0.f,
8082
float CTglY = 0.f, float CTglZ = 0.f, float CTglSnp = 0.f, float CTglTgl = 0.f,
81-
float C1PtY = 0.f, float C1PtZ = 0.f, float C1PtSnp = 0.f, float C1PtTgl = 0.f, float C1Pt21Pt2 = 0.f) : EMTrack(pt, eta, phi, mass, charge, dcaXY, dcaZ, CYY, CZY, CZZ)
83+
float C1PtY = 0.f, float C1PtZ = 0.f, float C1PtSnp = 0.f, float C1PtTgl = 0.f, float C1Pt21Pt2 = 0.f) : EMTrack(pt, eta, phi, mass, sign, dcaXY, dcaZ, CYY, CZY, CZZ)
8284
{
8385
fX = X;
8486
fY = Y;
@@ -149,7 +151,7 @@ class EMTrackWithCov : public EMTrack
149151
class EMPair : public EMTrack
150152
{
151153
public:
152-
EMPair(float pt, float eta, float phi, float mass, int8_t charge = 0) : EMTrack(pt, eta, phi, mass, charge, 0, 0, 0, 0, 0)
154+
EMPair(float pt, float eta, float phi, float mass, int8_t sign = 0) : EMTrack(pt, eta, phi, mass, sign, 0, 0, 0, 0, 0)
153155
{
154156
fMass = mass;
155157
fPairDCA = 999.f;
@@ -162,7 +164,7 @@ class EMPair : public EMTrack
162164

163165
~EMPair() {}
164166
float mass() const { return fMass; }
165-
float rapidity() const { return std::log((std::sqrt(std::pow(fMass, 2) + std::pow(1.f / std::fabs(fSigned1Pt) * std::cosh(fEta), 2)) + 1.f / std::fabs(fSigned1Pt) * std::sinh(fEta)) / std::sqrt(std::pow(fMass, 2) + std::pow(1.f / std::fabs(fSigned1Pt), 2))); }
167+
float rapidity() const { return std::log((std::sqrt(std::pow(fMass, 2) + std::pow(fPt * std::cosh(fEta), 2)) + fPt * std::sinh(fEta)) / std::sqrt(std::pow(fMass, 2) + std::pow(fPt, 2))); }
166168

167169
void setPairDCA(float dca) { fPairDCA = dca; }
168170
float getPairDCA() const { return fPairDCA; }
@@ -239,7 +241,7 @@ class EMPair : public EMTrack
239241
float fVz;
240242
};
241243

242-
class EMTrackUL // ultra-light track. Use this when you don't care charge or DCA. e.g. dilepton-hadron correlation.
244+
class EMTrackUL // ultra-light track. Use this when you don't care sign or DCA. e.g. dilepton-hadron correlation.
243245
{
244246
public:
245247
EMTrackUL(float pt, float eta, float phi)

0 commit comments

Comments
 (0)