Skip to content

Commit d34c9ba

Browse files
authored
[PWGEM/Dilepton] update dileptonPolarization.cxx (#14070)
1 parent 2ee7b15 commit d34c9ba

File tree

3 files changed

+7
-20
lines changed

3 files changed

+7
-20
lines changed

PWGEM/Dilepton/Tasks/dileptonPolarization.cxx

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -127,9 +127,9 @@ struct DileptonPolarization {
127127
struct : ConfigurableGroup {
128128
std::string prefix = "accBins";
129129
Configurable<float> cfgRelDM{"cfgRelDM", 0.01, "rel. dm for lorentz boost"};
130-
Configurable<float> cfgRelDPx{"cfgRelDPx", 0.01, "rel. dpx for lorentz boost"};
131-
Configurable<float> cfgRelDPy{"cfgRelDPy", 0.01, "rel. dpy for lorentz boost"};
132-
Configurable<float> cfgRelDPz{"cfgRelDPz", 0.01, "rel. dpz for lorentz boost"};
130+
Configurable<float> cfgRelDPt{"cfgRelDPt", 0.1, "rel. dpT for lorentz boost"};
131+
Configurable<float> cfgDEta{"cfgDEta", 0.1, "deta for lorentz boost"};
132+
Configurable<float> cfgDPhi{"cfgDPhi", 0.087, "dphi (rad.) for lorentz boost"};
133133
} accBins;
134134

135135
Service<o2::ccdb::BasicCCDBManager> ccdb;
@@ -382,9 +382,6 @@ struct DileptonPolarization {
382382
fRegistry.addClone("Pair/same/", "Pair/mix/");
383383
fRegistry.add("Pair/same/uls/hEta", "#eta_{ll}", kTH1D, {{2000, -10, 10}}, true);
384384
fRegistry.add("Pair/mix/uls/hBeta", "#beta for Lorentz boost;#beta^{same};(#beta^{mix} - #beta^{same})/#beta^{same}", kTH2D, {{100, 0, 1}, {400, -0.2, 0.2}}, true);
385-
fRegistry.add("Pair/mix/uls/hBetaX", "#beta_{X} for Lorentz boost;#beta_{x}^{same};(#beta_{x}^{mix} - #beta_{x}^{same})/#beta_{x}^{same}", kTH2D, {{100, 0, 1}, {400, -0.2, 0.2}}, true);
386-
fRegistry.add("Pair/mix/uls/hBetaY", "#beta_{Y} for Lorentz boost;#beta_{y}^{same};(#beta_{y}^{mix} - #beta_{y}^{same})/#beta_{y}^{same}", kTH2D, {{100, 0, 1}, {400, -0.2, 0.2}}, true);
387-
fRegistry.add("Pair/mix/uls/hBetaZ", "#beta_{Z} for Lorentz boost;#beta_{z}^{same};(#beta_{z}^{mix} - #beta_{z}^{same})/#beta_{z}^{same}", kTH2D, {{100, 0, 1}, {400, -0.2, 0.2}}, true);
388385
}
389386

390387
template <int ev_id, typename TCollision, typename TDilepton>
@@ -481,7 +478,7 @@ struct DileptonPolarization {
481478
auto v_pos = empair1.getPositiveLeg(); // pt, eta, phi, M
482479
auto arrD = std::array<float, 4>{static_cast<float>(v_pos.Px()), static_cast<float>(v_pos.Py()), static_cast<float>(v_pos.Pz()), leptonM1};
483480

484-
auto pairs_from_col2_sliced = std::views::filter(pairs_from_col2, [&](EMPair t) { return std::fabs(t.mass() - empair1.mass()) / empair1.mass() < accBins.cfgRelDM && std::fabs((t.px() - empair1.px()) / empair1.px()) < accBins.cfgRelDPx && std::fabs((t.py() - empair1.py()) / empair1.py()) < accBins.cfgRelDPy && std::fabs((t.pz() - empair1.pz()) / empair1.pz()) < accBins.cfgRelDPz; });
481+
auto pairs_from_col2_sliced = std::views::filter(pairs_from_col2, [&](EMPair t) { return std::fabs(t.mass() - empair1.mass()) / empair1.mass() < accBins.cfgRelDM && std::fabs(t.pt() - empair1.pt()) / empair1.pt() < accBins.cfgRelDPt && std::fabs(t.eta() - empair1.eta()) < accBins.cfgDEta && std::fabs(RecoDecay::constrainAngle(t.phi() - empair1.phi(), -o2::constants::math::PI, 1U)) < accBins.cfgDPhi; });
485482
for (const auto& empair2 : pairs_from_col2_sliced) {
486483
auto arrM = std::array<float, 4>{static_cast<float>(empair2.px()), static_cast<float>(empair2.py()), static_cast<float>(empair2.pz()), static_cast<float>(empair2.mass())};
487484
// LOGF(info, "[col1, col2] : empair1.mass() = %f, empair1.pt() = %f, empair1.eta() = %f, empair1.phi() = %f, empair2.mass() = %f, empair2.pt() = %f, empair2.eta() = %f, empair2.phi() = %f", empair1.mass(), empair1.pt(), empair1.eta(), empair1.phi(), empair2.mass(), empair2.pt(), empair2.eta(), empair2.phi());
@@ -500,17 +497,14 @@ struct DileptonPolarization {
500497
}
501498
fRegistry.fill(HIST("Pair/mix/") + HIST(pair_sign_types[signType]) + HIST("hs"), empair1.mass(), empair1.pt(), empair1.getPairDCA(), empair1.rapidity(), cos_thetaPol, phiPol, quadmom, weight);
502499
fRegistry.fill(HIST("Pair/mix/") + HIST(pair_sign_types[signType]) + HIST("hBeta"), empair1.p() / empair1.e(), (empair2.p() / empair2.e() - empair1.p() / empair1.e()) / (empair1.p() / empair1.e()));
503-
fRegistry.fill(HIST("Pair/mix/") + HIST(pair_sign_types[signType]) + HIST("hBetaX"), empair1.px() / empair1.e(), (empair2.px() / empair2.e() - empair1.px() / empair1.e()) / (empair1.px() / empair1.e()));
504-
fRegistry.fill(HIST("Pair/mix/") + HIST(pair_sign_types[signType]) + HIST("hBetaY"), empair1.py() / empair1.e(), (empair2.py() / empair2.e() - empair1.py() / empair1.e()) / (empair1.py() / empair1.e()));
505-
fRegistry.fill(HIST("Pair/mix/") + HIST(pair_sign_types[signType]) + HIST("hBetaZ"), empair1.pz() / empair1.e(), (empair2.pz() / empair2.e() - empair1.pz() / empair1.e()) / (empair1.pz() / empair1.e()));
506500
}
507501
}
508502

509503
for (const auto& empair2 : pairs_from_col2) {
510504
auto v_pos = empair2.getPositiveLeg(); // pt, eta, phi, M
511505
auto arrD = std::array<float, 4>{static_cast<float>(v_pos.Px()), static_cast<float>(v_pos.Py()), static_cast<float>(v_pos.Pz()), leptonM2};
512506

513-
auto pairs_from_col1_sliced = std::views::filter(pairs_from_col1, [&](EMPair t) { return std::fabs(t.mass() - empair2.mass()) / empair2.mass() < accBins.cfgRelDM && std::fabs((t.px() - empair2.px()) / empair2.px()) < accBins.cfgRelDPx && std::fabs((t.py() - empair2.py()) / empair2.py()) < accBins.cfgRelDPy && std::fabs((t.pz() - empair2.pz()) / empair2.pz()) < accBins.cfgRelDPz; });
507+
auto pairs_from_col1_sliced = std::views::filter(pairs_from_col1, [&](EMPair t) { return std::fabs(t.mass() - empair2.mass()) / empair2.mass() < accBins.cfgRelDM && std::fabs(t.pt() - empair2.pt()) / empair2.pt() < accBins.cfgRelDPt && std::fabs(t.eta() - empair2.eta()) < accBins.cfgDEta && std::fabs(RecoDecay::constrainAngle(t.phi() - empair2.phi(), -o2::constants::math::PI, 1U)) < accBins.cfgDPhi; });
514508
for (const auto& empair1 : pairs_from_col1_sliced) {
515509
auto arrM = std::array<float, 4>{static_cast<float>(empair1.px()), static_cast<float>(empair1.py()), static_cast<float>(empair1.pz()), static_cast<float>(empair2.mass())};
516510
// LOGF(info, "[col2, col1] : empair2.mass() = %f, empair2.pt() = %f, empair2.eta() = %f, empair2.phi() = %f, empair1.mass() = %f, empair1.pt() = %f, empair1.eta() = %f, empair1.phi() = %f", empair2.mass(), empair2.pt(), empair2.eta(), empair2.phi(), empair1.mass(), empair1.pt(), empair1.eta(), empair1.phi());
@@ -529,9 +523,6 @@ struct DileptonPolarization {
529523
}
530524
fRegistry.fill(HIST("Pair/mix/") + HIST(pair_sign_types[signType]) + HIST("hs"), empair2.mass(), empair2.pt(), empair2.getPairDCA(), empair2.rapidity(), cos_thetaPol, phiPol, quadmom, weight);
531525
fRegistry.fill(HIST("Pair/mix/") + HIST(pair_sign_types[signType]) + HIST("hBeta"), empair2.p() / empair2.e(), (empair1.p() / empair1.e() - empair2.p() / empair2.e()) / (empair2.p() / empair2.e()));
532-
fRegistry.fill(HIST("Pair/mix/") + HIST(pair_sign_types[signType]) + HIST("hBetaX"), empair2.px() / empair2.e(), (empair1.px() / empair1.e() - empair2.px() / empair2.e()) / (empair2.px() / empair2.e()));
533-
fRegistry.fill(HIST("Pair/mix/") + HIST(pair_sign_types[signType]) + HIST("hBetaY"), empair2.py() / empair2.e(), (empair1.py() / empair1.e() - empair2.py() / empair2.e()) / (empair2.py() / empair2.e()));
534-
fRegistry.fill(HIST("Pair/mix/") + HIST(pair_sign_types[signType]) + HIST("hBetaZ"), empair2.pz() / empair2.e(), (empair1.pz() / empair1.e() - empair2.pz() / empair2.e()) / (empair2.pz() / empair2.e()));
535526
}
536527
}
537528

PWGEM/Dilepton/Utils/EMFwdTrack.h

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,6 @@
1515
#ifndef PWGEM_DILEPTON_UTILS_EMFWDTRACK_H_
1616
#define PWGEM_DILEPTON_UTILS_EMFWDTRACK_H_
1717

18-
#include <vector>
19-
2018
namespace o2::aod::pwgem::dilepton::utils
2119
{
2220
class EMFwdTrack
@@ -31,7 +29,6 @@ class EMFwdTrack
3129
fCharge = charge;
3230
fDCAx = dcaX;
3331
fDCAy = dcaY;
34-
3532
fCXX = cXX;
3633
fCXY = cXY;
3734
fCYY = cYY;
@@ -51,6 +48,7 @@ class EMFwdTrack
5148
float px() const { return fPt * std::cos(fPhi); }
5249
float py() const { return fPt * std::sin(fPhi); }
5350
float pz() const { return fPt * std::sinh(fEta); }
51+
float e() const { return std::hypot(fPt * std::cosh(fEta), fMass); } // e2 = p2 + m2
5452
float signed1Pt() const { return fCharge * 1.f / fPt; }
5553

5654
float cXXatDCA() const { return fCXX; }

PWGEM/Dilepton/Utils/EMTrack.h

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,6 @@
1717

1818
#include "Math/Vector4D.h"
1919

20-
#include <vector>
21-
2220
namespace o2::aod::pwgem::dilepton::utils
2321
{
2422
class EMTrack
@@ -57,7 +55,7 @@ class EMTrack
5755
float px() const { return fPt * std::cos(fPhi); }
5856
float py() const { return fPt * std::sin(fPhi); }
5957
float pz() const { return fPt * std::sinh(fEta); }
60-
float e() const { return std::sqrt(std::pow(fPt * std::cosh(fEta), 2) + std::pow(fMass, 2)); } // e2 = p2 + m2
58+
float e() const { return std::hypot(fPt * std::cosh(fEta), fMass); } // e2 = p2 + m2
6159
float signed1Pt() const { return fCharge * 1.f / fPt; }
6260

6361
protected:

0 commit comments

Comments
 (0)