Skip to content

Commit 2eb38c4

Browse files
authored
Add files via upload
1 parent 7f81952 commit 2eb38c4

File tree

1 file changed

+72
-7
lines changed

1 file changed

+72
-7
lines changed

PWGLF/Tasks/Strangeness/lambdaJetpolarization.cxx

Lines changed: 72 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -245,8 +245,8 @@ struct LfMyV0s {
245245
registryData.add("LambdaPtMass", "LambdaPtMass", HistType::kTH2F, {ptAxis, invMassLambdaAxis});
246246
registryData.add("AntiLambdaPtMass", "AntiLambdaPtMass", HistType::kTH2F, {ptAxis, invMassLambdaAxis});
247247

248-
registryData.add("hMassLambda", "hMassLambda", {HistType::kTH1F, {{200, 0.9f, 1.2f}}});
249-
registryData.add("hMassAntiLambda", "hMassAntiLambda", {HistType::kTH1F, {{200, 0.9f, 1.2f}}});
248+
registryData.add("hMassLambda", "hMassLambda", {HistType::kTH1F, {{invMassLambdaAxis}}});
249+
registryData.add("hMassAntiLambda", "hMassAntiLambda", {HistType::kTH1F, {{invMassLambdaAxis}}});
250250
registryData.add("V0pTInLab", "V0pTInLab", kTH1F, {axisPT});
251251

252252
registryData.add("V0pxInLab", "V0pxInLab", kTH1F, {axisPx});
@@ -267,6 +267,11 @@ struct LfMyV0s {
267267
registryData.add("protonQA/profileprotonsinthetaInLab", "Invariant Mass vs sin(theta)", {HistType::kTProfile, {{200, 0.9, 1.2}}});
268268
registryData.add("protonQA/profileprotonsinphiInLab", "Invariant Mass vs sin(phi)", {HistType::kTProfile, {{200, 0.9, 1.2}}});
269269
registryData.add("protonQA/profileprotoncosSquarethetaInLab", "Invariant Mass vs cos^2(theta)", {HistType::kTProfile, {{200, 0.9, 1.2}}});
270+
registryData.add("JetQA/JetthetaInLab", "JetthetaInLab", kTH1F, {axisTheta});
271+
registryData.add("JetQA/JetphiInLab", "JetphiInLab", kTH1F, {axisPhi});
272+
registryData.add("JetQA/JetpxInLab", "JetpxInLab", kTH1F, {axisPx});
273+
registryData.add("JetQA/JetpyInLab", "JetpyInLab", kTH1F, {axisPy});
274+
registryData.add("JetQA/JetpzInLab", "JetpzInLab", kTH1F, {axisPz});
270275

271276
registryData.add("protonQA/V0protonpxInRest_frame", "V0protonpxInRest_frame", kTH1F, {axisPx});
272277
registryData.add("protonQA/V0protonpyInRest_frame", "V0protonpyInRest_frame", kTH1F, {axisPy});
@@ -278,6 +283,11 @@ struct LfMyV0s {
278283
registryData.add("protonQA/profileprotonsinthetaInV0frame", "Invariant Mass vs sin(theta)", {HistType::kTProfile, {{200, 0.9, 1.2}}});
279284
registryData.add("protonQA/profileprotonsinphiInV0frame", "Invariant Mass vs sin(phi)", {HistType::kTProfile, {{200, 0.9, 1.2}}});
280285
registryData.add("protonQA/profileprotoncosSquarethetaInV0frame", "Invariant Mass vs cos^2(theta)", {HistType::kTProfile, {{200, 0.9, 1.2}}});
286+
registryData.add("JetQA/JetthetaInV0", "JetthetaInV0", kTH1F, {axisTheta});
287+
registryData.add("JetQA/JetphiInV0", "JetphiInV0", kTH1F, {axisPhi});
288+
registryData.add("JetQA/JetpxInV0", "JetpxInV0", kTH1F, {axisPx});
289+
registryData.add("JetQA/JetpyInV0", "JetpyInV0", kTH1F, {axisPy});
290+
registryData.add("JetQA/JetpzInV0", "JetpzInV0", kTH1F, {axisPz});
281291

282292
registryData.add("protonQA/V0protonpxInJetframe", "V0protonpxInJetframe", kTH1F, {axisPx});
283293
registryData.add("protonQA/V0protonpyInJetframe", "V0protonpyInJetframe", kTH1F, {axisPy});
@@ -289,6 +299,11 @@ struct LfMyV0s {
289299
registryData.add("protonQA/profileprotonsinphiInJetframe", "Invariant Mass vs sin(phi)", {HistType::kTProfile, {{200, 0.9, 1.2}}});
290300
registryData.add("protonQA/profileprotoncosSquarethetaInJetframe", "Invariant Mass vs cos^2(theta)", {HistType::kTProfile, {{200, 0.9, 1.2}}});
291301
registryData.add("protonQA/V0protonMassInJetframe", "V0protonMassInJetframe", kTH1F, {axisMass});
302+
registryData.add("JetQA/JetthetaInJetframe", "JetthetaInJetframe", kTH1F, {axisTheta});
303+
registryData.add("JetQA/JetphiInJetframe", "JetphiInJetframe", kTH1F, {axisPhi});
304+
registryData.add("JetQA/JetpxInJetframe", "JetpxInJetframe", kTH1F, {axisPx});
305+
registryData.add("JetQA/JetpyInJetframe", "JetpyInJetframe", kTH1F, {axisPy});
306+
registryData.add("JetQA/JetpzInJetframe", "JetpzInJetframe", kTH1F, {axisPz});
292307

293308
registryData.add("protonQA/V0protonpxInJetV0frame", "V0protonpxInJetV0frame", kTH1F, {axisPx});
294309
registryData.add("protonQA/V0protonpyInJetV0frame", "V0protonpyInJetV0frame", kTH1F, {axisPy});
@@ -300,6 +315,11 @@ struct LfMyV0s {
300315
registryData.add("protonQA/profileprotonsinthetaInJetV0frame", "Invariant Mass vs sin(theta)", {HistType::kTProfile, {{200, 0.9, 1.2}}});
301316
registryData.add("protonQA/profileprotonsinphiInJetV0frame", "Invariant Mass vs sin(phi)", {HistType::kTProfile, {{200, 0.9, 1.2}}});
302317
registryData.add("protonQA/profileprotoncosSquarethetaInJetV0frame", "Invariant Mass vs cos^2(theta)", {HistType::kTProfile, {{200, 0.9, 1.2}}});
318+
registryData.add("JetQA/JetthetaInJetV0frame", "JetthetaInJetV0frame", kTH1F, {axisTheta});
319+
registryData.add("JetQA/JetphiInJetV0frame", "JetphiInJetV0frame", kTH1F, {axisPhi});
320+
registryData.add("JetQA/JetpxInJetV0frame", "JetpxInJetV0frame", kTH1F, {axisPx});
321+
registryData.add("JetQA/JetpyInJetV0frame", "JetpyInJetV0frame", kTH1F, {axisPy});
322+
registryData.add("JetQA/JetpzInJetV0frame", "JetpzInJetV0frame", kTH1F, {axisPz});
303323

304324
registryData.add("V0LambdapxInJetV0frame", "V0LambdapxInJetV0frame", kTH1F, {axisPx});
305325
registryData.add("V0LambdapyInJetV0frame", "V0LambdapyInJetV0frame", kTH1F, {axisPy});
@@ -376,7 +396,7 @@ struct LfMyV0s {
376396

377397
registryV0Data.add("hprotoncosthetainLab", "hprotoncosthetainLab", kTH1F, {{200, -1.f, 1.f}});
378398
registryV0Data.add("hprotonsinthetainLab", "hprotonsinthetainLab", kTH1F, {{200, -1.f, 1.f}});
379-
registryV0Data.add("hprotonthetainLab", "hprotonthetainLab", kTH1F, {{200, 0.f, TMath::Pi()}});
399+
registryV0Data.add("hprotonthetainLab", "hprotonthetainLab", kTH1F, {axisTheta});
380400

381401
registryV0Data.add("hprotoncosthetainV0", "hprotoncosthetainV0", kTH1F, {{200, -1.f, 1.f}});
382402
registryV0Data.add("hprotonsinthetainV0", "hprotonsinthetainV0", kTH1F, {{200, -1.f, 1.f}});
@@ -1516,6 +1536,7 @@ struct LfMyV0s {
15161536
float maxJetpz = 0;
15171537
float maxJeteta = 0;
15181538
float maxJetphi = 0;
1539+
float maxJetE = 0;
15191540
float maxJetpT = 0;
15201541
float maxJetPt = -999;
15211542
for (auto& jet : jets) {
@@ -1541,6 +1562,7 @@ struct LfMyV0s {
15411562
maxJetpy = jet.py();
15421563
maxJetpz = jet.pz();
15431564
maxJeteta = jet.eta();
1565+
maxJetE = jet.E();
15441566
maxJetphi = jet.phi();
15451567
maxJetpT = jet.pt();
15461568
maxJetPt = maxJetpT;
@@ -1609,6 +1631,12 @@ struct LfMyV0s {
16091631
double ELambda = sqrt(candidate.mLambda() * candidate.mLambda() + PLambda * PLambda);
16101632
double protonE = sqrt(massPr * massPr + pos.px() * pos.px() + pos.py() * pos.py() + pos.pz() * pos.pz());
16111633

1634+
TMatrixD pLabJet(4, 1);
1635+
pLabJet(0, 0) = maxJetE;
1636+
pLabJet(1, 0) = maxJetpx;
1637+
pLabJet(2, 0) = maxJetpy;
1638+
pLabJet(3, 0) = maxJetpz;
1639+
16121640
TMatrixD pLabV0(4, 1);
16131641
pLabV0(0, 0) = ELambda;
16141642
pLabV0(1, 0) = candidate.px();
@@ -1641,9 +1669,16 @@ struct LfMyV0s {
16411669
double protonPInLab = sqrt(pLabproton(1, 0) * pLabproton(1, 0) + pLabproton(2, 0) * pLabproton(2, 0) + pLabproton(3, 0) * pLabproton(3, 0));
16421670
double protonsinThetaInLab = protonPtInLab / protonPInLab;
16431671
double protonMassInLab = sqrt(pLabproton(0, 0) * pLabproton(0, 0) - pLabproton(1, 0) * pLabproton(1, 0) - pLabproton(2, 0) * pLabproton(2, 0) - pLabproton(3, 0) * pLabproton(3, 0));
1672+
double jettheta = maxJetpz / sqrt(pLabJet(1, 0) * pLabJet(1, 0) + pLabJet(2, 0) * pLabJet(2, 0) + pLabJet(3, 0) * pLabJet(3, 0));
1673+
double jetphi = maxJetpy / sqrt(pLabJet(1, 0) * pLabJet(1, 0) + pLabJet(2, 0) * pLabJet(2, 0));
1674+
registryData.fill(HIST("JetQA/JetthetaInLab"), TMath::ASin(jettheta));
1675+
registryData.fill(HIST("JetQA/JetphiInLab"), TMath::ASin(jetphi));
1676+
registryData.fill(HIST("JetQA/JetpxInLab"), pLabJet(1, 0));
1677+
registryData.fill(HIST("JetQA/JetpyInLab"), pLabJet(2, 0));
1678+
registryData.fill(HIST("JetQA/JetpzInLab"), pLabJet(3, 0));
16441679

16451680
registryData.fill(HIST("protonQA/V0protonphiInLab"), TMath::ASin(protonsinPhiInLab));
1646-
registryData.fill(HIST("protonQA/V0protonThetaInLab"), TMath::ASin(protonsinThetaInLab));
1681+
registryData.fill(HIST("protonQA/V0protonthetaInLab"), TMath::ASin(protonsinThetaInLab));
16471682
registryData.fill(HIST("protonQA/V0protoncosthetaInLab"), protoncosthetaInLab);
16481683
registryData.fill(HIST("protonQA/profileprotonsinthetaInLab"), candidate.mLambda(), protonsinThetaInLab);
16491684
registryData.fill(HIST("protonQA/profileprotonsinphiInLab"), candidate.mLambda(), protonsinPhiInLab);
@@ -1657,14 +1692,24 @@ struct LfMyV0s {
16571692
double protonPtInV0 = sqrt(protonInV0(1, 0) * protonInV0(1, 0) + protonInV0(2, 0) * protonInV0(2, 0));
16581693
double protonsinThetaInV0 = protonPtInV0 / protonPInV0;
16591694

1695+
TMatrixD JetInV0(4, 1);
1696+
JetInV0 = LorentzTransInV0frame(ELambda, candidate.px(), candidate.py(), candidate.pz()) * pLabJet;
1697+
double jetthetaInV0 = JetInV0(3, 0) / sqrt(JetInV0(1, 0) * JetInV0(1, 0) + JetInV0(2, 0) * JetInV0(2, 0) + JetInV0(3, 0) * JetInV0(3, 0));
1698+
double jetphiInV0 = JetInV0(2, 0) / sqrt(JetInV0(1, 0) * JetInV0(1, 0) + JetInV0(2, 0) * JetInV0(2, 0));
1699+
registryData.fill(HIST("JetQA/JetthetaInV0"), TMath::ASin(jetthetaInV0));
1700+
registryData.fill(HIST("JetQA/JetphiInV0"), TMath::ASin(jetphiInV0));
1701+
registryData.fill(HIST("JetQA/JetpxInV0"), JetInV0(1, 0));
1702+
registryData.fill(HIST("JetQA/JetpyInV0"), JetInV0(2, 0));
1703+
registryData.fill(HIST("JetQA/JetpzInV0"), JetInV0(3, 0));
1704+
16601705
registryData.fill(HIST("protonQA/V0protonMassInRest_frame"), protonMassInV0);
16611706
registryData.fill(HIST("protonQA/V0protonpxInRest_frame"), protonInV0(1, 0));
16621707
registryData.fill(HIST("protonQA/V0protonpyInRest_frame"), protonInV0(2, 0));
16631708
registryData.fill(HIST("protonQA/V0protonpzInRest_frame"), protonInV0(3, 0));
16641709
double protonsinPhiInV0frame = protonInV0(2, 0) / sqrt(protonInV0(1, 0) * protonInV0(1, 0) + protonInV0(2, 0) * protonInV0(2, 0));
16651710
double protoncosthetaInV0frame = protonInV0(3, 0) / sqrt(protonInV0(1, 0) * protonInV0(1, 0) + protonInV0(2, 0) * protonInV0(2, 0) + protonInV0(3, 0) * protonInV0(3, 0));
16661711
registryData.fill(HIST("protonQA/V0protonphiInRest_frame"), TMath::ASin(protonsinPhiInV0frame));
1667-
registryData.fill(HIST("protonQA/V0protonThetaInRest_frame"), TMath::ASin(protonsinThetaInV0));
1712+
registryData.fill(HIST("protonQA/V0protonthetaInRest_frame"), TMath::ASin(protonsinThetaInV0));
16681713
registryData.fill(HIST("protonQA/V0protoncosthetaInV0frame"), protoncosthetaInV0frame);
16691714
registryData.fill(HIST("protonQA/profileprotonsinthetaInV0frame"), candidate.mLambda(), protonsinThetaInV0);
16701715
registryData.fill(HIST("protonQA/profileprotonsinphiInV0frame"), candidate.mLambda(), protonsinPhiInV0frame);
@@ -1679,11 +1724,21 @@ struct LfMyV0s {
16791724
double protonSinThetainJet = protonPtinJet / protonPinJet;
16801725
double protonMassInJetframe = sqrt(protonInJet(0, 0) * protonInJet(0, 0) - protonInJet(1, 0) * protonInJet(1, 0) - protonInJet(2, 0) * protonInJet(2, 0) - protonInJet(3, 0) * protonInJet(3, 0));
16811726

1727+
TMatrixD pInJet(4, 1);
1728+
pInJet = MyTMatrixTranslationToJet(maxJetpx, maxJetpy, maxJetpz, candidate.px(), candidate.py(), candidate.pz()) * pLabJet;
1729+
double jetthetaInJet = pInJet(3, 0) / sqrt(pInJet(1, 0) * pInJet(1, 0) + pInJet(2, 0) * pInJet(2, 0) + pInJet(3, 0) * pInJet(3, 0));
1730+
double jetphiInJet = pInJet(2, 0) / sqrt(pInJet(1, 0) * pInJet(1, 0) + pInJet(2, 0) * pInJet(2, 0));
1731+
registryData.fill(HIST("JetQA/JetthetaInJetframe"), TMath::ASin(jetthetaInJet));
1732+
registryData.fill(HIST("JetQA/JetphiInJetframe"), TMath::ASin(jetphiInJet));
1733+
registryData.fill(HIST("JetQA/JetpxInJetframe"), pInJet(1, 0));
1734+
registryData.fill(HIST("JetQA/JetpyInJetframe"), pInJet(2, 0));
1735+
registryData.fill(HIST("JetQA/JetpzInJetframe"), pInJet(3, 0));
1736+
16821737
registryData.fill(HIST("protonQA/V0protonpxInJetframe"), protonInJet(1, 0));
16831738
registryData.fill(HIST("protonQA/V0protonpyInJetframe"), protonInJet(2, 0));
16841739
registryData.fill(HIST("protonQA/V0protonpzInJetframe"), protonInJet(3, 0));
16851740
registryData.fill(HIST("protonQA/V0protonphiInJetframe"), TMath::ASin(protonsinPhiInJet));
1686-
registryData.fill(HIST("protonQA/V0protonThetaInJetframe"), TMath::ASin(protonSinThetainJet));
1741+
registryData.fill(HIST("protonQA/V0protonthetaInJetframe"), TMath::ASin(protonSinThetainJet));
16871742
registryData.fill(HIST("protonQA/V0protoncosthetaInJetframe"), protoncosthetaInJet);
16881743
registryData.fill(HIST("protonQA/profileprotonsinthetaInJetframe"), candidate.mLambda(), protonSinThetainJet);
16891744
registryData.fill(HIST("protonQA/profileprotonsinphiInJetframe"), candidate.mLambda(), protonsinPhiInJet);
@@ -1699,11 +1754,21 @@ struct LfMyV0s {
16991754
double protonSinThetainJetV0 = protonPtinJetV0 / protonPinJetV0;
17001755
double protonMassInJetV0frame = sqrt(protonInJetV0(0, 0) * protonInJetV0(0, 0) - protonInJetV0(1, 0) * protonInJetV0(1, 0) - protonInJetV0(2, 0) * protonInJetV0(2, 0) - protonInJetV0(3, 0) * protonInJetV0(3, 0));
17011756

1757+
TMatrixD JetInJetV0(4, 1);
1758+
JetInJetV0 = LorentzTransInV0frame(ELambda, lambdaInJet(1, 0), lambdaInJet(2, 0), lambdaInJet(3, 0)) * MyTMatrixTranslationToJet(maxJetpx, maxJetpy, maxJetpz, candidate.px(), candidate.py(), candidate.pz()) * pLabJet;
1759+
double jetthetaInJetV0 = JetInJetV0(3, 0) / sqrt(JetInJetV0(1, 0) * JetInJetV0(1, 0) + JetInJetV0(2, 0) * JetInJetV0(2, 0) + JetInJetV0(3, 0) * JetInJetV0(3, 0));
1760+
double jetphiInJetV0 = JetInJetV0(2, 0) / sqrt(JetInJetV0(1, 0) * JetInJetV0(1, 0) + JetInJetV0(2, 0) * JetInJetV0(2, 0));
1761+
registryData.fill(HIST("JetQA/JetthetaInJetV0frame"), TMath::ASin(jetthetaInJetV0));
1762+
registryData.fill(HIST("JetQA/JetphiInJetV0frame"), TMath::ASin(jetphiInJetV0));
1763+
registryData.fill(HIST("JetQA/JetpxInJetV0frame"), JetInJetV0(1, 0));
1764+
registryData.fill(HIST("JetQA/JetpyInJetV0frame"), JetInJetV0(2, 0));
1765+
registryData.fill(HIST("JetQA/JetpzInJetV0frame"), JetInJetV0(3, 0));
1766+
17021767
registryData.fill(HIST("protonQA/V0protonpxInJetV0frame"), protonInJetV0(1, 0));
17031768
registryData.fill(HIST("protonQA/V0protonpyInJetV0frame"), protonInJetV0(2, 0));
17041769
registryData.fill(HIST("protonQA/V0protonpzInJetV0frame"), protonInJetV0(3, 0));
17051770
registryData.fill(HIST("protonQA/V0protonphiInJetV0frame"), TMath::ASin(protonsinphiInJetV0));
1706-
registryData.fill(HIST("protonQA/V0protonThetaInJetV0frame"), TMath::ASin(protonSinThetainJetV0));
1771+
registryData.fill(HIST("protonQA/V0protonthetaInJetV0frame"), TMath::ASin(protonSinThetainJetV0));
17071772
registryData.fill(HIST("protonQA/V0protoncosthetaInJetV0"), protoncosthetaInJetV0);
17081773
registryData.fill(HIST("protonQA/V0protonMassInJetV0frame"), protonMassInJetV0frame);
17091774
registryData.fill(HIST("protonQA/profileprotonsinthetaInJetV0frame"), candidate.mLambda(), protonSinThetainJetV0);

0 commit comments

Comments
 (0)