Skip to content

Commit 983dfb2

Browse files
authored
[PWGLF] PWGLF:Lambda local polarization induced by jet in pp collision 13.6 TeV (#10311)
1 parent fa60244 commit 983dfb2

File tree

2 files changed

+70
-23
lines changed

2 files changed

+70
-23
lines changed

PWGLF/TableProducer/Strangeness/lambdaJetpolarizationbuilder.cxx

Lines changed: 56 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,6 @@ struct myAnalysis {
5757
Configurable<bool> cfgDataHists{"cfgDataHists", true, "Enables DataHists"};
5858
Configurable<std::string> trackSelections{"trackSelections", "globalTracks", "set track selections"};
5959
// Others configure
60-
Configurable<int> cDebugLevel{"cDebugLevel", 1, "Resolution of Debug"};
6160
Configurable<float> cfgVtxCut{"cfgVtxCut", 10.0, "V_z cut selection"};
6261
Configurable<float> cfgjetPtMin{"cfgjetPtMin", 0.0, "minimum jet pT cut"};
6362
Configurable<float> cfgjetR{"cfgjetR", 0.4, "jet resolution parameter"};
@@ -86,14 +85,7 @@ struct myAnalysis {
8685
Configurable<float> maxChi2ITS{"maxChi2ITS", 36.0f, "max chi2 per cluster ITS"};
8786
Configurable<float> etaMin{"etaMin", -0.8f, "eta min track"};
8887
Configurable<float> etaMax{"etaMax", +0.8f, "eta max track"};
89-
Configurable<float> ptMin_V0_proton{"ptMin_V0_proton", 0.3f, "pt min of proton from V0"};
90-
Configurable<float> ptMax_V0_proton{"ptMax_V0_proton", 10.0f, "pt max of proton from V0"};
91-
Configurable<float> ptMin_V0_pion{"ptMin_V0_pion", 0.1f, "pt min of pion from V0"};
92-
Configurable<float> ptMax_V0_pion{"ptMax_V0_pion", 1.5f, "pt max of pion from V0"};
93-
Configurable<float> ptMin_K0_pion{"ptMin_K0_pion", 0.3f, "pt min of pion from K0"};
94-
Configurable<float> ptMax_K0_pion{"ptMax_K0_pion", 10.0f, "pt max of pion from K0"};
9588
Configurable<float> minimumV0Radius{"minimumV0Radius", 0.2f, "Minimum V0 Radius"};
96-
Configurable<float> maximumV0Radius{"maximumV0Radius", 40.0f, "Maximum V0 Radius"};
9789
Configurable<float> nsigmaTPCmin{"nsigmaTPCmin", -5.0f, "Minimum nsigma TPC"};
9890
Configurable<float> nsigmaTPCmax{"nsigmaTPCmax", +5.0f, "Maximum nsigma TPC"};
9991
Configurable<float> nsigmaTOFmin{"nsigmaTOFmin", -5.0f, "Minimum nsigma TOF"};
@@ -102,6 +94,8 @@ struct myAnalysis {
10294
Configurable<float> yMax{"yMax", +0.5f, "maximum y"};
10395
Configurable<float> v0rejLambda{"v0rejLambda", 0.01, "V0 rej K0s"};
10496
Configurable<float> CtauLambda{"ctauLambda", 30, "C tau Lambda (cm)"};
97+
Configurable<bool> ifpasslambda{"passedLambdaSelection", 1, "passedLambdaSelection"};
98+
Configurable<bool> ifpassantilambda{"passedANtiLambdaSelection", 1, "passedAntiLambdaSelection"};
10599
// Event Selection/////////////////////////////////
106100
Configurable<float> cutzvertex{"cutzvertex", 10.0f, "Accepted z-vertex range (cm)"};
107101
Configurable<bool> sel8{"sel8", 0, "Apply sel8 event selection"};
@@ -322,6 +316,30 @@ struct myAnalysis {
322316
return false;
323317
return true;
324318
}
319+
320+
// init Selection
321+
template <typename Lambda, typename TrackPos, typename TrackNeg>
322+
bool passedInitLambdaSelection(const Lambda& v0, const TrackPos& ptrack, const TrackNeg& ntrack)
323+
{
324+
if (v0.v0radius() < minimumV0Radius || v0.v0cosPA() < v0cospa ||
325+
TMath::Abs(ptrack.eta()) > etaMax ||
326+
TMath::Abs(ntrack.eta()) > etaMax) {
327+
return false;
328+
}
329+
if (v0.dcaV0daughters() > dcav0dau) {
330+
return false;
331+
}
332+
333+
if (TMath::Abs(v0.dcanegtopv()) < dcanegtopv) {
334+
return false;
335+
}
336+
337+
if (TMath::Abs(v0.dcapostopv()) < dcapostopv) {
338+
return false;
339+
}
340+
return true;
341+
}
342+
325343
// Lambda Selections
326344
template <typename Lambda, typename TrackPos, typename TrackNeg>
327345
bool passedLambdaSelection(const Lambda& v0, const TrackPos& ptrack, const TrackNeg& ntrack)
@@ -575,31 +593,58 @@ struct myAnalysis {
575593
const auto& pos = v0.posTrack_as<TrackCandidates>();
576594
const auto& neg = v0.negTrack_as<TrackCandidates>();
577595
V0NumbersPerEvent = V0NumbersPerEvent + 1;
578-
if (passedLambdaSelection(v0, pos, neg) && ctauLambda < CtauLambda) {
596+
if (passedLambdaSelection(v0, pos, neg) && ctauLambda < CtauLambda && ifpasslambda) {
597+
JEhistos.fill(HIST("hPt"), v0.pt());
598+
JEhistos.fill(HIST("V0Radius"), v0.v0radius());
599+
JEhistos.fill(HIST("CosPA"), v0.v0cosPA());
600+
JEhistos.fill(HIST("V0DCANegToPV"), v0.dcanegtopv());
601+
JEhistos.fill(HIST("V0DCAPosToPV"), v0.dcapostopv());
602+
JEhistos.fill(HIST("V0DCAV0Daughters"), v0.dcaV0daughters());
603+
} else if (passedInitLambdaSelection(v0, pos, neg)) {
579604
JEhistos.fill(HIST("hPt"), v0.pt());
580605
JEhistos.fill(HIST("V0Radius"), v0.v0radius());
581606
JEhistos.fill(HIST("CosPA"), v0.v0cosPA());
582607
JEhistos.fill(HIST("V0DCANegToPV"), v0.dcanegtopv());
583608
JEhistos.fill(HIST("V0DCAPosToPV"), v0.dcapostopv());
584609
JEhistos.fill(HIST("V0DCAV0Daughters"), v0.dcaV0daughters());
585610
}
586-
if (passedLambdaSelection(v0, pos, neg) && ctauAntiLambda < CtauLambda) {
611+
if (passedLambdaSelection(v0, pos, neg) && ctauAntiLambda < CtauLambda && ifpasslambda) {
587612

588613
V0LambdaNumbers = V0LambdaNumbers + 1;
589614
JEhistos.fill(HIST("hMassVsPtLambda"), v0.pt(), v0.mLambda());
590615
JEhistos.fill(HIST("hMassLambda"), v0.mLambda());
591616
JEhistos.fill(HIST("TPCNSigmaPosPr"), pos.tpcNSigmaPr());
592617
JEhistos.fill(HIST("TPCNSigmaNegPi"), neg.tpcNSigmaPi());
593618

619+
JEhistos.fill(HIST("v0Lambdapx"), v0.px());
620+
JEhistos.fill(HIST("v0Lambdapy"), v0.py());
621+
JEhistos.fill(HIST("v0Lambdapz"), v0.pz());
622+
myTable(outputCollisionsV0.lastIndex(), v0.collisionId(), v0.px(), v0.py(), v0.pz(), v0.pt(), v0.mLambda(), pos.px(), pos.py(), pos.pz());
623+
JEhistos.fill(HIST("hV0Lambda"), nEventsV0, v0.px(), v0.py(), v0.pz(), v0.mLambda(), pos.px(), pos.py(), pos.pz());
624+
} else if (passedInitLambdaSelection(v0, pos, neg)) {
625+
V0LambdaNumbers = V0LambdaNumbers + 1;
626+
JEhistos.fill(HIST("hMassVsPtLambda"), v0.pt(), v0.mLambda());
627+
JEhistos.fill(HIST("hMassLambda"), v0.mLambda());
628+
JEhistos.fill(HIST("TPCNSigmaPosPr"), pos.tpcNSigmaPr());
629+
JEhistos.fill(HIST("TPCNSigmaNegPi"), neg.tpcNSigmaPi());
630+
594631
JEhistos.fill(HIST("v0Lambdapx"), v0.px());
595632
JEhistos.fill(HIST("v0Lambdapy"), v0.py());
596633
JEhistos.fill(HIST("v0Lambdapz"), v0.pz());
597634
myTable(outputCollisionsV0.lastIndex(), v0.collisionId(), v0.px(), v0.py(), v0.pz(), v0.pt(), v0.mLambda(), pos.px(), pos.py(), pos.pz());
598635
JEhistos.fill(HIST("hV0Lambda"), nEventsV0, v0.px(), v0.py(), v0.pz(), v0.mLambda(), pos.px(), pos.py(), pos.pz());
599636
}
637+
if (passedAntiLambdaSelection(v0, pos, neg) && ifpassantilambda) {
600638

601-
if (passedAntiLambdaSelection(v0, pos, neg)) {
639+
JEhistos.fill(HIST("hMassVsPtAntiLambda"), v0.pt(), v0.mAntiLambda());
640+
JEhistos.fill(HIST("hMassAntiLambda"), v0.mAntiLambda());
641+
JEhistos.fill(HIST("TPCNSigmaPosPi"), pos.tpcNSigmaPi());
642+
JEhistos.fill(HIST("TPCNSigmaNegPr"), neg.tpcNSigmaPr());
602643

644+
JEhistos.fill(HIST("v0AntiLambdapx"), v0.px());
645+
JEhistos.fill(HIST("v0AntiLambdapy"), v0.py());
646+
JEhistos.fill(HIST("v0AntiLambdapz"), v0.pz());
647+
} else if (passedInitLambdaSelection(v0, pos, neg)) {
603648
JEhistos.fill(HIST("hMassVsPtAntiLambda"), v0.pt(), v0.mAntiLambda());
604649
JEhistos.fill(HIST("hMassAntiLambda"), v0.mAntiLambda());
605650
JEhistos.fill(HIST("TPCNSigmaPosPi"), pos.tpcNSigmaPi());

PWGLF/Tasks/Strangeness/lambdaJetpolarization.cxx

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -158,10 +158,8 @@ struct LfMyV0s {
158158
registry.fill(HIST("V0protonpxInLab"), candidate.v0protonpx());
159159
registry.fill(HIST("V0protonpyInLab"), candidate.v0protonpy());
160160
registry.fill(HIST("V0protonpzInLab"), candidate.v0protonpz());
161-
162161
double protonsinPhiInLab = candidate.v0protonpy() / sqrt(candidate.v0protonpx() * candidate.v0protonpx() + candidate.v0protonpy() * candidate.v0protonpy());
163162
registry.fill(HIST("V0protonphiInLab"), protonsinPhiInLab);
164-
165163
double PLambda = sqrt(candidate.v0px() * candidate.v0px() + candidate.v0py() * candidate.v0py() + candidate.v0pz() * candidate.v0pz());
166164
double ELambda = sqrt(candidate.v0Lambdamass() * candidate.v0Lambdamass() + PLambda * PLambda);
167165
TMatrixD pLabV0(4, 1);
@@ -176,7 +174,6 @@ struct LfMyV0s {
176174
registry.fill(HIST("V0pzInRest_frame"), V0InV0(3, 0));
177175
}
178176
for (auto& candidate : myv0s) {
179-
180177
double PLambda = sqrt(candidate.v0px() * candidate.v0px() + candidate.v0py() * candidate.v0py() + candidate.v0pz() * candidate.v0pz());
181178
double ELambda = sqrt(candidate.v0Lambdamass() * candidate.v0Lambdamass() + PLambda * PLambda);
182179
TMatrixD pLabproton(4, 1);
@@ -201,15 +198,16 @@ struct LfMyV0s {
201198
registry.fill(HIST("JetpTInLab"), Jet.jetpt());
202199
}
203200
}
204-
205201
PROCESS_SWITCH(LfMyV0s, processJetV0Analysis, "processJetV0Analysis", true);
206-
// aod::MyTableJet
207-
// aod::MyCollision const& collision,
208202
void processLeadingJetV0Analysis(aod::MyTable const& myv0s, aod::MyTableLeadingJet const& myleadingJets)
209203
{
210-
for (auto& candidate : myv0s) {
211-
for (auto& LeadingJet : myleadingJets) {
204+
//
205+
for (auto& LeadingJet : myleadingJets) {
206+
int V0Numbers = 0;
207+
double protonsinPhiInJetV0frame = 0;
208+
for (auto& candidate : myv0s) {
212209
if (candidate.mycollisionv0() == LeadingJet.mycollisionleadingjet()) {
210+
V0Numbers = V0Numbers + 1;
213211
double PLambda = sqrt(candidate.v0px() * candidate.v0px() + candidate.v0py() * candidate.v0py() + candidate.v0pz() * candidate.v0pz());
214212
double ELambda = sqrt(candidate.v0Lambdamass() * candidate.v0Lambdamass() + PLambda * PLambda);
215213
TMatrixD pLabproton(4, 1);
@@ -223,10 +221,14 @@ struct LfMyV0s {
223221
registry.fill(HIST("V0protonpxInJetV0frame"), protonInJetV0(1, 0));
224222
registry.fill(HIST("V0protonpyInJetV0frame"), protonInJetV0(2, 0));
225223
registry.fill(HIST("V0protonpzInJetV0frame"), protonInJetV0(3, 0));
226-
double protonsinPhiInJetV0frame = protonInJetV0(2, 0) / sqrt(protonInJetV0(1, 0) * protonInJetV0(1, 0) + protonInJetV0(2, 0) * protonInJetV0(2, 0));
227-
registry.fill(HIST("V0protonphiInJetV0frame"), protonsinPhiInJetV0frame);
228-
registry.fill(HIST("hLambdamassandSinPhi"), candidate.v0Lambdamass(), protonsinPhiInJetV0frame);
229-
registry.fill(HIST("profile"), candidate.v0Lambdamass(), protonsinPhiInJetV0frame);
224+
protonsinPhiInJetV0frame = protonsinPhiInJetV0frame + protonInJetV0(2, 0) / sqrt(protonInJetV0(1, 0) * protonInJetV0(1, 0) + protonInJetV0(2, 0) * protonInJetV0(2, 0));
225+
}
226+
}
227+
for (auto& candidate : myv0s) {
228+
if (candidate.mycollisionv0() == LeadingJet.mycollisionleadingjet()) {
229+
registry.fill(HIST("V0protonphiInJetV0frame"), protonsinPhiInJetV0frame / V0Numbers);
230+
registry.fill(HIST("hLambdamassandSinPhi"), candidate.v0Lambdamass(), protonsinPhiInJetV0frame / V0Numbers);
231+
registry.fill(HIST("profile"), candidate.v0Lambdamass(), protonsinPhiInJetV0frame / V0Numbers);
230232
}
231233
}
232234
}

0 commit comments

Comments
 (0)