Skip to content

Commit 09f5b3a

Browse files
authored
[PWGLF] separating lambda and anti-lambda (#10624)
1 parent 7fb86c0 commit 09f5b3a

File tree

1 file changed

+30
-4
lines changed

1 file changed

+30
-4
lines changed

PWGLF/Tasks/Resonances/heptaquark.cxx

Lines changed: 30 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -80,8 +80,8 @@ struct heptaquark {
8080
histos.add("h_InvMass_rotLambda", "h_InvMass_rotLambda", {HistType::kTH3F, {massAxis, ptAxis, centAxis}});
8181
histos.add("h_InvMass_rotPhiLambda", "h_InvMass_rotPhiLambda", {HistType::kTH3F, {massAxis, ptAxis, centAxis}});
8282

83-
histos.add("hDalitz", "hDalitz", {HistType::kTHnSparseF, {massPPAxis, massPLAxis, massAxis, ptAxis, centAxis}});
84-
histos.add("hDalitzRot", "hDalitzRot", {HistType::kTHnSparseF, {massPPAxis, massPLAxis, massAxis, ptAxis, centAxis}});
83+
histos.add("hDalitz", "hDalitz", {HistType::kTHnSparseF, {massPPAxis, massPLAxis, massAxis, ptAxis, {2, -0.5f, 1.5f}, centAxis}});
84+
histos.add("hDalitzRot", "hDalitzRot", {HistType::kTHnSparseF, {massPPAxis, massPLAxis, massAxis, ptAxis, {2, -0.5f, 1.5f}, centAxis}});
8585
}
8686

8787
double massLambda = o2::constants::physics::MassLambda;
@@ -172,6 +172,30 @@ struct heptaquark {
172172
return false;
173173
}
174174

175+
template <typename V01, typename V02>
176+
ROOT::Math::XYZVector getDCAofV0V0(V01 const& v01, V02 const& v02)
177+
{
178+
ROOT::Math::XYZVector v01pos, v02pos, v01mom, v02mom;
179+
v01pos.SetXYZ(v01.x(), v01.y(), v01.z());
180+
v02pos.SetXYZ(v02.x(), v02.y(), v02.z());
181+
v01mom.SetXYZ(v01.px(), v01.py(), v01.pz());
182+
v02mom.SetXYZ(v02.px(), v02.py(), v02.pz());
183+
184+
ROOT::Math::XYZVector posdiff = v02pos - v01pos;
185+
ROOT::Math::XYZVector cross = v01mom.Cross(v02mom);
186+
ROOT::Math::XYZVector dcaVec = (posdiff.Dot(cross) / cross.Mag2()) * cross;
187+
return dcaVec;
188+
}
189+
190+
template <typename V01, typename V02>
191+
float getCPA(V01 const& v01, V02 const& v02)
192+
{
193+
ROOT::Math::XYZVector v01mom, v02mom;
194+
v01mom.SetXYZ(v01.px() / v01.p(), v01.py() / v01.p(), v01.pz() / v01.p());
195+
v02mom.SetXYZ(v02.px() / v02.p(), v02.py() / v02.p(), v02.pz() / v02.p());
196+
return v01mom.Dot(v02mom);
197+
}
198+
175199
ROOT::Math::PxPyPzMVector DauVec1, DauVec2;
176200

177201
TLorentzVector exotic, HQ1, HQ2, HQ3;
@@ -257,6 +281,8 @@ struct heptaquark {
257281
if (hqtrackd3.hqMass() < minLambdaMass || hqtrackd3.hqMass() > maxLambdaMass)
258282
continue;
259283

284+
int isLambda = static_cast<int>(hqtrackd3.hqId() < 0);
285+
260286
if (hqtrackd3.hqId() > 0) {
261287
DauVec1 = ROOT::Math::PxPyPzMVector(hqtrackd3.hqd1Px(), hqtrackd3.hqd1Py(), hqtrackd3.hqd1Pz(), massPr);
262288
DauVec2 = ROOT::Math::PxPyPzMVector(hqtrackd3.hqd2Px(), hqtrackd3.hqd2Py(), hqtrackd3.hqd2Pz(), massPi);
@@ -296,7 +322,7 @@ struct heptaquark {
296322
HQ13 = HQ1 + HQ3;
297323

298324
histos.fill(HIST("h_InvMass_same"), exotic.M(), exotic.Pt(), collision.centrality());
299-
histos.fill(HIST("hDalitz"), HQ12.M2(), HQ13.M2(), exotic.M(), exotic.Pt(), collision.centrality());
325+
histos.fill(HIST("hDalitz"), HQ12.M2(), HQ13.M2(), exotic.M(), exotic.Pt(), isLambda, collision.centrality());
300326

301327
if (cfgRotBkg) {
302328
for (int nr = 0; nr < cfgNRotBkg; nr++) {
@@ -319,7 +345,7 @@ struct heptaquark {
319345
histos.fill(HIST("h_InvMass_rotPhi"), exoticRot2.M(), exoticRot2.Pt(), collision.centrality());
320346
histos.fill(HIST("h_InvMass_rotLambda"), exoticRot3.M(), exoticRot3.Pt(), collision.centrality());
321347
histos.fill(HIST("h_InvMass_rotPhiLambda"), exoticRot23.M(), exoticRot23.Pt(), collision.centrality());
322-
histos.fill(HIST("hDalitzRot"), HQ12Rot.M2(), HQ13Rot.M2(), exoticRot23.M(), exoticRot23.Pt(), collision.centrality());
348+
histos.fill(HIST("hDalitzRot"), HQ12Rot.M2(), HQ13Rot.M2(), exoticRot23.M(), exoticRot23.Pt(), isLambda, collision.centrality());
323349
}
324350
}
325351
}

0 commit comments

Comments
 (0)