@@ -28,11 +28,12 @@ namespace o2::aod::pwgem::dilepton::utils
2828class 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
7375class 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
149151class 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