Skip to content

Commit 8507860

Browse files
authored
[PWGEM/Dilepton] fix phiPosition calculation (#16614)
1 parent 4fc253e commit 8507860

8 files changed

Lines changed: 65 additions & 63 deletions

File tree

PWGEM/Dilepton/Core/DielectronCut.h

Lines changed: 19 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -89,33 +89,33 @@ class DielectronCut : public TNamed
8989
kTPChadrejORTOFreqLowB = 7,
9090
};
9191

92-
template <typename T = int, typename TPair>
93-
bool IsSelected(TPair const& pair) const
94-
{
95-
auto t1 = std::get<0>(pair);
96-
auto t2 = std::get<1>(pair);
97-
float bz = std::get<2>(pair);
92+
// template <typename T = int, typename TPair>
93+
// bool IsSelected(TPair const& pair) const
94+
// {
95+
// auto t1 = std::get<0>(pair);
96+
// auto t2 = std::get<1>(pair);
97+
// float bz = std::get<2>(pair);
9898

99-
if (!IsSelectedTrack(t1) || !IsSelectedTrack(t2)) {
100-
return false;
101-
}
99+
// if (!IsSelectedTrack(t1) || !IsSelectedTrack(t2)) {
100+
// return false;
101+
// }
102102

103-
if (!IsSelectedPair(t1, t2, bz)) {
104-
return false;
105-
}
103+
// if (!IsSelectedPair(t1, t2, bz)) {
104+
// return false;
105+
// }
106106

107-
return true;
108-
}
107+
// return true;
108+
// }
109109

110110
template <bool dont_require_rapidity = false, typename TTrack1, typename TTrack2>
111-
bool IsSelectedPair(TTrack1 const& t1, TTrack2 const& t2, const float bz, const float refR) const
111+
bool IsSelectedPair(TTrack1 const& t1, TTrack2 const& t2) const
112112
{
113113
ROOT::Math::PtEtaPhiMVector v1(t1.pt(), t1.eta(), t1.phi(), o2::constants::physics::MassElectron);
114114
ROOT::Math::PtEtaPhiMVector v2(t2.pt(), t2.eta(), t2.phi(), o2::constants::physics::MassElectron);
115115
ROOT::Math::PtEtaPhiMVector v12 = v1 + v2;
116116

117117
float dca_ee_3d = o2::aod::pwgem::dilepton::utils::pairutil::pairDCAQuadSum(o2::aod::pwgem::dilepton::utils::emtrackutil::dca3DinSigma(t1), o2::aod::pwgem::dilepton::utils::emtrackutil::dca3DinSigma(t2));
118-
float phiv = o2::aod::pwgem::dilepton::utils::pairutil::getPhivPair(t1.px(), t1.py(), t1.pz(), t2.px(), t2.py(), t2.pz(), t1.sign(), t2.sign(), bz);
118+
float phiv = o2::aod::pwgem::dilepton::utils::pairutil::getPhivPair(t1.px(), t1.py(), t1.pz(), t2.px(), t2.py(), t2.pz(), t1.sign(), t2.sign(), mBz);
119119
float opAng = o2::aod::pwgem::dilepton::utils::pairutil::getOpeningAngle(t1.px(), t1.py(), t1.pz(), t2.px(), t2.py(), t2.pz());
120120

121121
if (v12.M() < mMinMee || mMaxMee < v12.M()) {
@@ -154,20 +154,17 @@ class DielectronCut : public TNamed
154154

155155
float deta = v1.Eta() - v2.Eta();
156156
float dphi = v1.Phi() - v2.Phi();
157-
o2::math_utils::bringToPMPi(dphi);
157+
dphi = RecoDecay::constrainAngle(dphi, -M_PI, 1U); // -pi - +pi
158158
if (mApplydEtadPhi && std::pow(deta / mMinDeltaEta, 2) + std::pow(dphi / mMinDeltaPhi, 2) < 1.f) {
159159
return false;
160160
}
161161

162-
float phiPosition1 = t1.phi() + std::asin(t1.sign() * 0.30282 * (bz * 0.1) * refR / (2.f * t1.pt()));
163-
float phiPosition2 = t2.phi() + std::asin(t2.sign() * 0.30282 * (bz * 0.1) * refR / (2.f * t2.pt()));
164-
162+
float phiPosition1 = t1.phi() + std::asin(t1.sign() * -0.30282 * (mBz * 0.1) * mRefR / (2.f * t1.pt()));
163+
float phiPosition2 = t2.phi() + std::asin(t2.sign() * -0.30282 * (mBz * 0.1) * mRefR / (2.f * t2.pt()));
165164
phiPosition1 = RecoDecay::constrainAngle(phiPosition1, 0, 1U); // 0-2pi
166165
phiPosition2 = RecoDecay::constrainAngle(phiPosition2, 0, 1U); // 0-2pi
167166
float dphiPosition = phiPosition1 - phiPosition2;
168167
dphiPosition = RecoDecay::constrainAngle(dphiPosition, -M_PI, 1U); // -pi - +pi
169-
// o2::math_utils::bringToPMPi(dphiPosition);
170-
171168
if (mApplydEtadPhiPosition && std::pow(deta / mMinDeltaEta, 2) + std::pow(dphiPosition / mMinDeltaPhi, 2) < 1.f) {
172169
return false;
173170
}

PWGEM/Dilepton/Core/Dilepton.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -950,7 +950,7 @@ struct Dilepton {
950950
}
951951

952952
if constexpr (pairtype == o2::aod::pwgem::dilepton::utils::pairutil::DileptonPairType::kDielectron) {
953-
if (!cut.IsSelectedPair(t1, t2, d_bz, 0)) {
953+
if (!cut.IsSelectedPair(t1, t2)) {
954954
return false;
955955
}
956956
} else if constexpr (pairtype == o2::aod::pwgem::dilepton::utils::pairutil::DileptonPairType::kDimuon) {
@@ -1000,8 +1000,8 @@ struct Dilepton {
10001000
float dphi = t1.sign() * v1.Pt() > t2.sign() * v2.Pt() ? v1.Phi() - v2.Phi() : v2.Phi() - v1.Phi();
10011001
dphi = RecoDecay::constrainAngle(dphi, -M_PI, 1U); // -pi - +pi
10021002

1003-
float phiPosition1 = RecoDecay::constrainAngle(t1.phi() + std::asin(t1.sign() * 0.30282 * (d_bz * 0.1) * dielectroncuts.cfgRefR / (2.f * t1.pt())), 0, 1U); // 0-2pi
1004-
float phiPosition2 = RecoDecay::constrainAngle(t2.phi() + std::asin(t2.sign() * 0.30282 * (d_bz * 0.1) * dielectroncuts.cfgRefR / (2.f * t2.pt())), 0, 1U); // 0-2pi
1003+
float phiPosition1 = RecoDecay::constrainAngle(t1.phi() + std::asin(t1.sign() * -0.30282 * (d_bz * 0.1) * dielectroncuts.cfgRefR / (2.f * t1.pt())), 0, 1U); // 0-2pi
1004+
float phiPosition2 = RecoDecay::constrainAngle(t2.phi() + std::asin(t2.sign() * -0.30282 * (d_bz * 0.1) * dielectroncuts.cfgRefR / (2.f * t2.pt())), 0, 1U); // 0-2pi
10051005
float dphiPosition = t1.sign() * v1.Pt() > t2.sign() * v2.Pt() ? phiPosition1 - phiPosition2 : phiPosition2 - phiPosition1;
10061006
dphiPosition = RecoDecay::constrainAngle(dphiPosition, -M_PI, 1U); // -pi - +pi
10071007

@@ -1628,7 +1628,7 @@ struct Dilepton {
16281628
}
16291629

16301630
if constexpr (pairtype == o2::aod::pwgem::dilepton::utils::pairutil::DileptonPairType::kDielectron) {
1631-
if (!cut.IsSelectedPair(t1, t2, d_bz, 0.0)) {
1631+
if (!cut.IsSelectedPair(t1, t2)) {
16321632
return false;
16331633
}
16341634
} else if constexpr (pairtype == o2::aod::pwgem::dilepton::utils::pairutil::DileptonPairType::kDimuon) {

PWGEM/Dilepton/Core/DileptonHadronMPC.h

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -204,6 +204,8 @@ struct DileptonHadronMPC {
204204
o2::framework::Configurable<float> cfg_max_eta_track{"cfg_max_eta_track", +0.8, "max eta for single track"};
205205
o2::framework::Configurable<float> cfg_min_phi_track{"cfg_min_phi_track", 0.f, "min phi for single track"};
206206
o2::framework::Configurable<float> cfg_max_phi_track{"cfg_max_phi_track", 6.3, "max phi for single track"};
207+
o2::framework::Configurable<bool> cfg_mirror_phi_track{"cfg_mirror_phi_track", false, "mirror the phi cut around Pi, min and max Phi should be in 0-Pi"};
208+
o2::framework::Configurable<bool> cfg_reject_phi_track{"cfg_reject_phi_track", false, "reject the phi interval"};
207209
o2::framework::Configurable<int> cfg_min_ncluster_tpc{"cfg_min_ncluster_tpc", 0, "min ncluster tpc"};
208210
o2::framework::Configurable<int> cfg_min_ncluster_its{"cfg_min_ncluster_its", 5, "min ncluster its"};
209211
o2::framework::Configurable<int> cfg_min_ncrossedrows{"cfg_min_ncrossedrows", 100, "min ncrossed rows"};
@@ -216,6 +218,8 @@ struct DileptonHadronMPC {
216218
o2::framework::Configurable<bool> cfg_require_itsib_any{"cfg_require_itsib_any", false, "flag to require ITS ib any hits"};
217219
o2::framework::Configurable<bool> cfg_require_itsib_1st{"cfg_require_itsib_1st", true, "flag to require ITS ib 1st hit"};
218220
o2::framework::Configurable<float> cfgRefR{"cfgRefR", 0.5, "reference R (in m) for extrapolation"}; // https://cds.cern.ch/record/1419204
221+
o2::framework::Configurable<float> cfg_min_phiposition_track{"cfg_min_phiposition_track", 0.f, "min phi position for single track at certain radius"};
222+
o2::framework::Configurable<float> cfg_max_phiposition_track{"cfg_max_phiposition_track", 6.3, "max phi position for single track at certain radius"};
219223

220224
o2::framework::Configurable<int> cfg_pid_scheme{"cfg_pid_scheme", static_cast<int>(DielectronCut::PIDSchemes::kTPChadrejORTOFreq), "pid scheme [kTOFreq : 0, kTPChadrej : 1, kTPChadrejORTOFreq : 2, kTPConly : 3, kTOFif : 4, kPIDML : 5, kTPChadrejORTOFreq_woTOFif : 6]"};
221225
o2::framework::Configurable<float> cfg_min_TPCNsigmaEl{"cfg_min_TPCNsigmaEl", -2.0, "min. TPC n sigma for electron inclusion"};
@@ -475,6 +479,7 @@ struct DileptonHadronMPC {
475479
LOG(info) << "Retrieved GRP for timestamp " << run3grp_timestamp << " with magnetic field of " << d_bz << " kZG";
476480
}
477481
mRunNumber = collision.runNumber();
482+
fDielectronCut.SetTrackPhiPositionRange(dielectroncuts.cfg_min_phiposition_track, dielectroncuts.cfg_max_phiposition_track, dielectroncuts.cfgRefR, d_bz, dielectroncuts.cfg_mirror_phi_track);
478483

479484
// zorro
480485
if constexpr (isTriggerAnalysis) {
@@ -750,7 +755,7 @@ struct DileptonHadronMPC {
750755
}
751756

752757
if constexpr (pairtype == o2::aod::pwgem::dilepton::utils::pairutil::DileptonPairType::kDielectron) {
753-
if (!cut.IsSelectedPair(t1, t2, d_bz, dielectroncuts.cfgRefR)) {
758+
if (!cut.IsSelectedPair(t1, t2)) {
754759
return false;
755760
}
756761
} else if constexpr (pairtype == o2::aod::pwgem::dilepton::utils::pairutil::DileptonPairType::kDimuon) {
@@ -883,7 +888,7 @@ struct DileptonHadronMPC {
883888
}
884889

885890
if constexpr (pairtype == o2::aod::pwgem::dilepton::utils::pairutil::DileptonPairType::kDielectron) {
886-
if (!cut.IsSelectedPair(t1, t2, d_bz, dielectroncuts.cfgRefR)) {
891+
if (!cut.IsSelectedPair(t1, t2)) {
887892
return false;
888893
}
889894
} else if constexpr (pairtype == o2::aod::pwgem::dilepton::utils::pairutil::DileptonPairType::kDimuon) {
@@ -1387,7 +1392,7 @@ struct DileptonHadronMPC {
13871392
}
13881393

13891394
if constexpr (pairtype == o2::aod::pwgem::dilepton::utils::pairutil::DileptonPairType::kDielectron) {
1390-
if (!cut.IsSelectedPair(t1, t2, d_bz, dielectroncuts.cfgRefR)) {
1395+
if (!cut.IsSelectedPair(t1, t2)) {
13911396
return false;
13921397
}
13931398
} else if constexpr (pairtype == o2::aod::pwgem::dilepton::utils::pairutil::DileptonPairType::kDimuon) {

PWGEM/Dilepton/Core/DileptonMC.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1427,7 +1427,7 @@ struct DileptonMC {
14271427
return false;
14281428
}
14291429
}
1430-
if (!cut.IsSelectedPair(t1, t2, d_bz, 0.0)) {
1430+
if (!cut.IsSelectedPair(t1, t2)) {
14311431
return false;
14321432
}
14331433
} else if constexpr (pairtype == o2::aod::pwgem::dilepton::utils::pairutil::DileptonPairType::kDimuon) {
@@ -2196,7 +2196,7 @@ struct DileptonMC {
21962196
}
21972197

21982198
if constexpr (pairtype == o2::aod::pwgem::dilepton::utils::pairutil::DileptonPairType::kDielectron) {
2199-
if (!cut.template IsSelectedPair<is_wo_acc>(t1, t2, d_bz, 0.0)) {
2199+
if (!cut.template IsSelectedPair<is_wo_acc>(t1, t2)) {
22002200
return false;
22012201
}
22022202
} else if constexpr (pairtype == o2::aod::pwgem::dilepton::utils::pairutil::DileptonPairType::kDimuon) {

PWGEM/Dilepton/Core/DileptonProducer.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -484,7 +484,7 @@ struct DileptonProducer {
484484
}
485485

486486
if constexpr (pairtype == o2::aod::pwgem::dilepton::utils::pairutil::DileptonPairType::kDielectron) {
487-
if (!cut.IsSelectedPair(t1, t2, d_bz, 0)) {
487+
if (!cut.IsSelectedPair(t1, t2)) {
488488
return false;
489489
}
490490
} else if constexpr (pairtype == o2::aod::pwgem::dilepton::utils::pairutil::DileptonPairType::kDimuon) {
@@ -654,7 +654,7 @@ struct DileptonProducer {
654654
}
655655

656656
if constexpr (pairtype == o2::aod::pwgem::dilepton::utils::pairutil::DileptonPairType::kDielectron) {
657-
if (!cut.IsSelectedPair(t1, t2, d_bz, 0.0)) {
657+
if (!cut.IsSelectedPair(t1, t2)) {
658658
return false;
659659
}
660660
} else if constexpr (pairtype == o2::aod::pwgem::dilepton::utils::pairutil::DileptonPairType::kDimuon) {

PWGEM/Dilepton/Core/DimuonCut.h

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -69,22 +69,22 @@ class DimuonCut : public TNamed
6969
kNCuts
7070
};
7171

72-
template <typename TPair>
73-
bool IsSelected(TPair const& pair) const
74-
{
75-
auto t1 = std::get<0>(pair);
76-
auto t2 = std::get<1>(pair);
77-
78-
if (!IsSelectedTrack(t1) || !IsSelectedTrack(t2)) {
79-
return false;
80-
}
81-
82-
if (!IsSelectedPair(t1, t2)) {
83-
return false;
84-
}
85-
86-
return true;
87-
}
72+
// template <typename TPair>
73+
// bool IsSelected(TPair const& pair) const
74+
// {
75+
// auto t1 = std::get<0>(pair);
76+
// auto t2 = std::get<1>(pair);
77+
78+
// if (!IsSelectedTrack(t1) || !IsSelectedTrack(t2)) {
79+
// return false;
80+
// }
81+
82+
// if (!IsSelectedPair(t1, t2)) {
83+
// return false;
84+
// }
85+
86+
// return true;
87+
// }
8888

8989
template <bool dont_require_rapidity = false, typename TTrack1, typename TTrack2>
9090
bool IsSelectedPair(TTrack1 const& t1, TTrack2 const& t2) const

PWGEM/Dilepton/Tasks/checkMCPairTemplate.cxx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1999,7 +1999,7 @@ struct checkMCPairTemplate {
19991999
return false;
20002000
}
20012001
}
2002-
if (!cut.IsSelectedPair(t1, t2, d_bz, 0.0)) {
2002+
if (!cut.IsSelectedPair(t1, t2)) {
20032003
return false;
20042004
}
20052005
} else if constexpr (pairtype == o2::aod::pwgem::dilepton::utils::pairutil::DileptonPairType::kDimuon) {
@@ -2757,7 +2757,7 @@ struct checkMCPairTemplate {
27572757
}
27582758

27592759
if constexpr (pairtype == o2::aod::pwgem::dilepton::utils::pairutil::DileptonPairType::kDielectron) {
2760-
if (!cut.template IsSelectedPair<is_wo_acc>(t1, t2, d_bz, 0.0)) {
2760+
if (!cut.template IsSelectedPair<is_wo_acc>(t1, t2)) {
27612761
return false;
27622762
}
27632763
} else if constexpr (pairtype == o2::aod::pwgem::dilepton::utils::pairutil::DileptonPairType::kDimuon) {

PWGEM/Dilepton/Tasks/prefilterDielectron.cxx

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -394,8 +394,8 @@ struct prefilterDielectron {
394394
float dphi = pos.sign() * v1.Pt() > ele.sign() * v2.Pt() ? v1.Phi() - v2.Phi() : v2.Phi() - v1.Phi();
395395
dphi = RecoDecay::constrainAngle(dphi, -M_PI, 1U); // -pi - +pi
396396

397-
float phiPosition1 = RecoDecay::constrainAngle(pos.phi() + std::asin(pos.sign() * 0.30282 * (d_bz * 0.1) * dielectroncuts.cfgRefR / (2.f * pos.pt())), 0, 1U); // 0-2pi
398-
float phiPosition2 = RecoDecay::constrainAngle(ele.phi() + std::asin(ele.sign() * 0.30282 * (d_bz * 0.1) * dielectroncuts.cfgRefR / (2.f * ele.pt())), 0, 1U); // 0-2pi
397+
float phiPosition1 = RecoDecay::constrainAngle(pos.phi() + std::asin(pos.sign() * -0.30282 * (d_bz * 0.1) * dielectroncuts.cfgRefR / (2.f * pos.pt())), 0, 1U); // 0-2pi
398+
float phiPosition2 = RecoDecay::constrainAngle(ele.phi() + std::asin(ele.sign() * -0.30282 * (d_bz * 0.1) * dielectroncuts.cfgRefR / (2.f * ele.pt())), 0, 1U); // 0-2pi
399399
float dphiPosition = pos.sign() * v1.Pt() > ele.sign() * v2.Pt() ? phiPosition1 - phiPosition2 : phiPosition2 - phiPosition1;
400400
dphiPosition = RecoDecay::constrainAngle(dphiPosition, -M_PI, 1U); // -pi - +pi
401401

@@ -439,8 +439,8 @@ struct prefilterDielectron {
439439
float dphi = pos1.sign() * v1.Pt() > pos2.sign() * v2.Pt() ? v1.Phi() - v2.Phi() : v2.Phi() - v1.Phi();
440440
dphi = RecoDecay::constrainAngle(dphi, -M_PI, 1U); // -pi - +pi
441441

442-
float phiPosition1 = RecoDecay::constrainAngle(pos1.phi() + std::asin(pos1.sign() * 0.30282 * (d_bz * 0.1) * dielectroncuts.cfgRefR / (2.f * pos1.pt())), 0, 1U); // 0-2pi
443-
float phiPosition2 = RecoDecay::constrainAngle(pos2.phi() + std::asin(pos2.sign() * 0.30282 * (d_bz * 0.1) * dielectroncuts.cfgRefR / (2.f * pos2.pt())), 0, 1U); // 0-2pi
442+
float phiPosition1 = RecoDecay::constrainAngle(pos1.phi() + std::asin(pos1.sign() * -0.30282 * (d_bz * 0.1) * dielectroncuts.cfgRefR / (2.f * pos1.pt())), 0, 1U); // 0-2pi
443+
float phiPosition2 = RecoDecay::constrainAngle(pos2.phi() + std::asin(pos2.sign() * -0.30282 * (d_bz * 0.1) * dielectroncuts.cfgRefR / (2.f * pos2.pt())), 0, 1U); // 0-2pi
444444
float dphiPosition = pos1.sign() * v1.Pt() > pos2.sign() * v2.Pt() ? phiPosition1 - phiPosition2 : phiPosition2 - phiPosition1;
445445
dphiPosition = RecoDecay::constrainAngle(dphiPosition, -M_PI, 1U); // -pi - +pi
446446

@@ -480,8 +480,8 @@ struct prefilterDielectron {
480480
float dphi = ele1.sign() * v1.Pt() > ele2.sign() * v2.Pt() ? v1.Phi() - v2.Phi() : v2.Phi() - v1.Phi();
481481
dphi = RecoDecay::constrainAngle(dphi, -M_PI, 1U); // -pi - +pi
482482

483-
float phiPosition1 = RecoDecay::constrainAngle(ele1.phi() + std::asin(ele1.sign() * 0.30282 * (d_bz * 0.1) * dielectroncuts.cfgRefR / (2.f * ele1.pt())), 0, 1U); // 0-2pi
484-
float phiPosition2 = RecoDecay::constrainAngle(ele2.phi() + std::asin(ele2.sign() * 0.30282 * (d_bz * 0.1) * dielectroncuts.cfgRefR / (2.f * ele2.pt())), 0, 1U); // 0-2pi
483+
float phiPosition1 = RecoDecay::constrainAngle(ele1.phi() + std::asin(ele1.sign() * -0.30282 * (d_bz * 0.1) * dielectroncuts.cfgRefR / (2.f * ele1.pt())), 0, 1U); // 0-2pi
484+
float phiPosition2 = RecoDecay::constrainAngle(ele2.phi() + std::asin(ele2.sign() * -0.30282 * (d_bz * 0.1) * dielectroncuts.cfgRefR / (2.f * ele2.pt())), 0, 1U); // 0-2pi
485485
float dphiPosition = ele1.sign() * v1.Pt() > ele2.sign() * v2.Pt() ? phiPosition1 - phiPosition2 : phiPosition2 - phiPosition1;
486486
dphiPosition = RecoDecay::constrainAngle(dphiPosition, -M_PI, 1U); // -pi - +pi
487487

@@ -542,8 +542,8 @@ struct prefilterDielectron {
542542
float dphi = pos.sign() * v1.Pt() > ele.sign() * v2.Pt() ? v1.Phi() - v2.Phi() : v2.Phi() - v1.Phi();
543543
dphi = RecoDecay::constrainAngle(dphi, -M_PI, 1U); // -pi - +pi
544544

545-
float phiPosition1 = RecoDecay::constrainAngle(pos.phi() + std::asin(pos.sign() * 0.30282 * (d_bz * 0.1) * dielectroncuts.cfgRefR / (2.f * pos.pt())), 0, 1U); // 0-2pi
546-
float phiPosition2 = RecoDecay::constrainAngle(ele.phi() + std::asin(ele.sign() * 0.30282 * (d_bz * 0.1) * dielectroncuts.cfgRefR / (2.f * ele.pt())), 0, 1U); // 0-2pi
545+
float phiPosition1 = RecoDecay::constrainAngle(pos.phi() + std::asin(pos.sign() * -0.30282 * (d_bz * 0.1) * dielectroncuts.cfgRefR / (2.f * pos.pt())), 0, 1U); // 0-2pi
546+
float phiPosition2 = RecoDecay::constrainAngle(ele.phi() + std::asin(ele.sign() * -0.30282 * (d_bz * 0.1) * dielectroncuts.cfgRefR / (2.f * ele.pt())), 0, 1U); // 0-2pi
547547
float dphiPosition = pos.sign() * v1.Pt() > ele.sign() * v2.Pt() ? phiPosition1 - phiPosition2 : phiPosition2 - phiPosition1;
548548
dphiPosition = RecoDecay::constrainAngle(dphiPosition, -M_PI, 1U); // -pi - +pi
549549

@@ -569,8 +569,8 @@ struct prefilterDielectron {
569569
float dphi = pos1.sign() * v1.Pt() > pos2.sign() * v2.Pt() ? v1.Phi() - v2.Phi() : v2.Phi() - v1.Phi();
570570
dphi = RecoDecay::constrainAngle(dphi, -M_PI, 1U); // -pi - +pi
571571

572-
float phiPosition1 = RecoDecay::constrainAngle(pos1.phi() + std::asin(pos1.sign() * 0.30282 * (d_bz * 0.1) * dielectroncuts.cfgRefR / (2.f * pos1.pt())), 0, 1U); // 0-2pi
573-
float phiPosition2 = RecoDecay::constrainAngle(pos2.phi() + std::asin(pos2.sign() * 0.30282 * (d_bz * 0.1) * dielectroncuts.cfgRefR / (2.f * pos2.pt())), 0, 1U); // 0-2pi
572+
float phiPosition1 = RecoDecay::constrainAngle(pos1.phi() + std::asin(pos1.sign() * -0.30282 * (d_bz * 0.1) * dielectroncuts.cfgRefR / (2.f * pos1.pt())), 0, 1U); // 0-2pi
573+
float phiPosition2 = RecoDecay::constrainAngle(pos2.phi() + std::asin(pos2.sign() * -0.30282 * (d_bz * 0.1) * dielectroncuts.cfgRefR / (2.f * pos2.pt())), 0, 1U); // 0-2pi
574574
float dphiPosition = pos1.sign() * v1.Pt() > pos2.sign() * v2.Pt() ? phiPosition1 - phiPosition2 : phiPosition2 - phiPosition1;
575575
dphiPosition = RecoDecay::constrainAngle(dphiPosition, -M_PI, 1U); // -pi - +pi
576576

@@ -596,8 +596,8 @@ struct prefilterDielectron {
596596
float dphi = ele1.sign() * v1.Pt() > ele2.sign() * v2.Pt() ? v1.Phi() - v2.Phi() : v2.Phi() - v1.Phi();
597597
dphi = RecoDecay::constrainAngle(dphi, -M_PI, 1U); // -pi - +pi
598598

599-
float phiPosition1 = RecoDecay::constrainAngle(ele1.phi() + std::asin(ele1.sign() * 0.30282 * (d_bz * 0.1) * dielectroncuts.cfgRefR / (2.f * ele1.pt())), 0, 1U); // 0-2pi
600-
float phiPosition2 = RecoDecay::constrainAngle(ele2.phi() + std::asin(ele2.sign() * 0.30282 * (d_bz * 0.1) * dielectroncuts.cfgRefR / (2.f * ele2.pt())), 0, 1U); // 0-2pi
599+
float phiPosition1 = RecoDecay::constrainAngle(ele1.phi() + std::asin(ele1.sign() * -0.30282 * (d_bz * 0.1) * dielectroncuts.cfgRefR / (2.f * ele1.pt())), 0, 1U); // 0-2pi
600+
float phiPosition2 = RecoDecay::constrainAngle(ele2.phi() + std::asin(ele2.sign() * -0.30282 * (d_bz * 0.1) * dielectroncuts.cfgRefR / (2.f * ele2.pt())), 0, 1U); // 0-2pi
601601
float dphiPosition = ele1.sign() * v1.Pt() > ele2.sign() * v2.Pt() ? phiPosition1 - phiPosition2 : phiPosition2 - phiPosition1;
602602
dphiPosition = RecoDecay::constrainAngle(dphiPosition, -M_PI, 1U); // -pi - +pi
603603

0 commit comments

Comments
 (0)