Skip to content

Commit 0fe8422

Browse files
prottayCMTProttay Das
andauthored
[PWGLF] added separate dca cuts for proton and pion (#9636)
Co-authored-by: Prottay Das <prottay@alipap1.cern.ch>
1 parent 8698ecb commit 0fe8422

File tree

1 file changed

+23
-22
lines changed

1 file changed

+23
-22
lines changed

PWGLF/Tasks/Strangeness/lambdapolsp.cxx

Lines changed: 23 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,8 @@ struct lambdapolsp {
109109
Configurable<float> ConfV0TranRadV0Min{"ConfV0TranRadV0Min", 1.5f, "Minimum transverse radius"};
110110
Configurable<float> ConfV0TranRadV0Max{"ConfV0TranRadV0Max", 100.f, "Maximum transverse radius"};
111111
Configurable<double> cMaxV0DCA{"cMaxV0DCA", 1.2, "Maximum V0 DCA to PV"};
112-
Configurable<double> cMinV0DCA{"cMinV0DCA", 0.05, "Minimum V0 daughters DCA to PV"};
112+
Configurable<double> cMinV0DCAPr{"cMinV0DCAPr", 0.05, "Minimum V0 daughters DCA to PV for Pr"};
113+
Configurable<double> cMinV0DCAPi{"cMinV0DCAPi", 0.05, "Minimum V0 daughters DCA to PV for Pi"};
113114
Configurable<float> cMaxV0LifeTime{"cMaxV0LifeTime", 20, "Maximum V0 life time"};
114115

115116
// config for V0 daughters
@@ -310,12 +311,6 @@ struct lambdapolsp {
310311
if (pT < ConfV0PtMin) {
311312
return false;
312313
}
313-
if (TMath::Abs(candidate.dcapostopv()) < cMinV0DCA) {
314-
return false;
315-
}
316-
if (TMath::Abs(candidate.dcanegtopv()) < cMinV0DCA) {
317-
return false;
318-
}
319314
if (dcaDaughv0 > ConfV0DCADaughMax) {
320315
return false;
321316
}
@@ -371,6 +366,13 @@ struct lambdapolsp {
371366
return false;
372367
}
373368

369+
if (pid == 0 && (TMath::Abs(candidate.dcapostopv()) < cMinV0DCAPr || TMath::Abs(candidate.dcanegtopv()) < cMinV0DCAPi)) {
370+
return false;
371+
}
372+
if (pid == 1 && (TMath::Abs(candidate.dcapostopv()) < cMinV0DCAPi || TMath::Abs(candidate.dcanegtopv()) < cMinV0DCAPr)) {
373+
return false;
374+
}
375+
374376
/*
375377
if (pid == 0 && pt < cfgDaughPrPt) {
376378
return false;
@@ -451,14 +453,12 @@ struct lambdapolsp {
451453
void fillHistograms(bool tag1, bool tag2, const ROOT::Math::PxPyPzMVector& particle,
452454
const ROOT::Math::PxPyPzMVector& daughter,
453455
double psiZDCC, double psiZDCA, double centrality,
454-
double candmass, double candpt, double candeta, double angle)
456+
double candmass, double candpt, double candeta)
455457
{
456458

457459
ROOT::Math::Boost boost{particle.BoostToCM()};
458460
auto fourVecDauCM = boost(daughter);
459461
auto phiangle = TMath::ATan2(fourVecDauCM.Py(), fourVecDauCM.Px());
460-
if (angle < -1) {
461-
}
462462
auto phiminuspsiC = GetPhiInRange(phiangle - psiZDCC);
463463
auto phiminuspsiA = GetPhiInRange(phiangle - psiZDCA);
464464
auto cosThetaStar = fourVecDauCM.Pz() / fourVecDauCM.P();
@@ -492,9 +492,9 @@ struct lambdapolsp {
492492
}
493493
}
494494

495+
/*
495496
double calculateAngleBetweenLorentzVectors(const ROOT::Math::PxPyPzMVector& vec1,
496-
const ROOT::Math::PxPyPzMVector& vec2)
497-
{
497+
const ROOT::Math::PxPyPzMVector& vec2) {
498498
// Extract spatial momenta (3D vectors)
499499
ROOT::Math::XYZVector momentum1 = vec1.Vect();
500500
ROOT::Math::XYZVector momentum2 = vec2.Vect();
@@ -518,12 +518,13 @@ struct lambdapolsp {
518518
// Calculate and return the angle in radians
519519
return cosTheta;
520520
}
521+
*/
521522

522523
ROOT::Math::PxPyPzMVector Lambda, AntiLambda, Lambdadummy, AntiLambdadummy, Proton, Pion, AntiProton, AntiPion, fourVecDauCM;
523524
ROOT::Math::XYZVector threeVecDauCM, threeVecDauCMXY;
524525
double phiangle = 0.0;
525-
double angleLambda = 0.0;
526-
double angleAntiLambda = 0.0;
526+
// double angleLambda=0.0;
527+
// double angleAntiLambda=0.0;
527528
double massLambda = o2::constants::physics::MassLambda;
528529
double massPr = o2::constants::physics::MassProton;
529530
double massPi = o2::constants::physics::MassPionCharged;
@@ -715,13 +716,13 @@ struct lambdapolsp {
715716
Proton = ROOT::Math::PxPyPzMVector(v0.pxpos(), v0.pypos(), v0.pzpos(), massPr);
716717
AntiPion = ROOT::Math::PxPyPzMVector(v0.pxneg(), v0.pyneg(), v0.pzneg(), massPi);
717718
Lambdadummy = Proton + AntiPion;
718-
angleLambda = calculateAngleBetweenLorentzVectors(Proton, AntiPion);
719+
// angleLambda = calculateAngleBetweenLorentzVectors(Proton, AntiPion);
719720
}
720721
if (aLambdaTag) {
721722
AntiProton = ROOT::Math::PxPyPzMVector(v0.pxneg(), v0.pyneg(), v0.pzneg(), massPr);
722723
Pion = ROOT::Math::PxPyPzMVector(v0.pxpos(), v0.pypos(), v0.pzpos(), massPi);
723724
AntiLambdadummy = AntiProton + Pion;
724-
angleAntiLambda = calculateAngleBetweenLorentzVectors(AntiProton, Pion);
725+
// angleAntiLambda = calculateAngleBetweenLorentzVectors(AntiProton, Pion);
725726
}
726727

727728
if (shouldReject(LambdaTag, aLambdaTag, Lambdadummy, AntiLambdadummy)) {
@@ -737,14 +738,14 @@ struct lambdapolsp {
737738
if (LambdaTag) {
738739
Lambda = Proton + AntiPion;
739740
tagb = 0;
740-
fillHistograms(taga, tagb, Lambda, Proton, psiZDCC, psiZDCA, centrality, v0.mLambda(), v0.pt(), v0.eta(), angleLambda);
741+
fillHistograms(taga, tagb, Lambda, Proton, psiZDCC, psiZDCA, centrality, v0.mLambda(), v0.pt(), v0.eta());
741742
}
742743

743744
tagb = aLambdaTag;
744745
if (aLambdaTag) {
745746
AntiLambda = AntiProton + Pion;
746747
taga = 0;
747-
fillHistograms(taga, tagb, AntiLambda, AntiProton, psiZDCC, psiZDCA, centrality, v0.mAntiLambda(), v0.pt(), v0.eta(), angleAntiLambda);
748+
fillHistograms(taga, tagb, AntiLambda, AntiProton, psiZDCC, psiZDCA, centrality, v0.mAntiLambda(), v0.pt(), v0.eta());
748749
}
749750
}
750751
}
@@ -815,13 +816,13 @@ struct lambdapolsp {
815816
Proton = ROOT::Math::PxPyPzMVector(v0.pxpos(), v0.pypos(), v0.pzpos(), massPr);
816817
AntiPion = ROOT::Math::PxPyPzMVector(v0.pxneg(), v0.pyneg(), v0.pzneg(), massPi);
817818
Lambdadummy = Proton + AntiPion;
818-
angleLambda = calculateAngleBetweenLorentzVectors(Proton, AntiPion);
819+
// angleLambda = calculateAngleBetweenLorentzVectors(Proton, AntiPion);
819820
}
820821
if (aLambdaTag) {
821822
AntiProton = ROOT::Math::PxPyPzMVector(v0.pxneg(), v0.pyneg(), v0.pzneg(), massPr);
822823
Pion = ROOT::Math::PxPyPzMVector(v0.pxpos(), v0.pypos(), v0.pzpos(), massPi);
823824
AntiLambdadummy = AntiProton + Pion;
824-
angleAntiLambda = calculateAngleBetweenLorentzVectors(AntiProton, Pion);
825+
// angleAntiLambda = calculateAngleBetweenLorentzVectors(AntiProton, Pion);
825826
}
826827

827828
if (shouldReject(LambdaTag, aLambdaTag, Lambdadummy, AntiLambdadummy)) {
@@ -835,15 +836,15 @@ struct lambdapolsp {
835836
Lambda = Proton + AntiPion;
836837
tagb = 0;
837838
fillHistograms(taga, tagb, Lambda, Proton, psiZDCC, psiZDCA, centrality,
838-
v0.mLambda(), v0.pt(), v0.eta(), angleLambda);
839+
v0.mLambda(), v0.pt(), v0.eta());
839840
}
840841

841842
tagb = aLambdaTag;
842843
if (aLambdaTag) {
843844
AntiLambda = AntiProton + Pion;
844845
taga = 0;
845846
fillHistograms(taga, tagb, AntiLambda, AntiProton, psiZDCC, psiZDCA, centrality,
846-
v0.mAntiLambda(), v0.pt(), v0.eta(), angleAntiLambda);
847+
v0.mAntiLambda(), v0.pt(), v0.eta());
847848
}
848849
} // end loop over V0s
849850
}

0 commit comments

Comments
 (0)