Skip to content

Commit 42fbf87

Browse files
author
Lucia Anna Tarasovicova
committed
new proces function for truth info, new histograms for efficiency as a function of radius
1 parent 93e12ab commit 42fbf87

1 file changed

Lines changed: 36 additions & 1 deletion

File tree

‎ALICE3/Tasks/alice3Strangeness.cxx‎

Lines changed: 36 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,7 @@ struct Alice3Strangeness {
101101
Configurable<float> cosPAngleSelection{"cosPAngleSelection", 0.97f, "cosine of pointing angle selection"};
102102
Configurable<float> dcaDaughtersToPVSelection{"dcaDaughtersToPVSelection", 0.05f, "DCA daughters to primary vertex selection"};
103103
Configurable<float> v0RadiusSelection{"v0RadiusSelection", 0.5f, "V0 radius selection"};
104+
Configurable<float> v0MaxRadiusSelection{"v0MaxRadiusSelection", 3.0f, "V0 maximum radius selection"};
104105
Configurable<float> armenterosSelection{"armenterosSelection", 0.2f, "Armenteros-Podolanski selection in [0]* alpha"};
105106
Configurable<float> competingMassRejectionK0{"competingMassRejectionK0", 0.005f, "competing mass rejection for K0"};
106107
Configurable<float> competingMassRejectionLambda{"competingMassRejectionLambda", 0.01f, "competing mass rejection for Lambda"};
@@ -295,8 +296,10 @@ struct Alice3Strangeness {
295296
histos.add("reconstructedCandidates/hEtaDaughters", "hEtaDaughters", kTH1F, {histAxes.axisEta});
296297
histos.add("reconstructedCandidates/K0/hMass", "hMass", kTH3D, {histAxes.axisK0Mass, histAxes.axisPt, histAxes.axisEta});
297298
histos.add("reconstructedCandidates/K0/hMass1D", "hMass1D", kTH1D, {histAxes.axisK0Mass});
299+
histos.add("reconstructedCandidates/K0/hMassRadius", "hMassRadius", kTH3D, {histAxes.axisK0Mass, histAxes.axisPt, {200, 0, 200}});
298300
histos.add("reconstructedCandidates/Lambda/hMass", "hMass", kTH3D, {histAxes.axisLambdaMass, histAxes.axisPt, histAxes.axisEta});
299301
histos.add("reconstructedCandidates/Lambda/hMass1D", "hMass1D", kTH1D, {histAxes.axisLambdaMass});
302+
histos.add("reconstructedCandidates/Lambda/hMassRadius", "hMassRadius", kTH3D, {histAxes.axisLambdaMass, histAxes.axisPt, {200, 0, 200}});
300303
histos.add("reconstructedCandidates/hArmeterosBeforeAllSelections", "hArmeterosBeforeAllSelections", kTH2D, {{100, -1.0f, 1.0f}, {200, 0.0f, 0.5f}});
301304
histos.add("reconstructedCandidates/hArmeterosAfterAllSelections", "hArmeterosAfterAllSelections", kTH2D, {{100, -1.0f, 1.0f}, {200, 0.0f, 0.5f}});
302305
histos.add("reconstructedCandidates/hPtEtaPosDaughter", "hPtEtaPosDaughter", kTH2D, {histAxes.axisPt, histAxes.axisEta});
@@ -402,6 +405,12 @@ struct Alice3Strangeness {
402405
}
403406
histos.addClone("reconstructedCandidates/Lambda/", "reconstructedCandidates/AntiLambda/");
404407

408+
if (doprocessMCTruth) {
409+
histos.add("mcTruth/K0Short/hPtRadius", "hPtRadius", kTH2D, {histAxes.axisPt, histAxes.axisRadius});
410+
histos.add("mcTruth/Lambda/hPtRadius", "hPtRadius", kTH2D, {histAxes.axisPt, histAxes.axisRadius});
411+
histos.add("mcTruth/AntiLambda/hPtRadius", "hPtRadius", kTH2D, {histAxes.axisPt, histAxes.axisRadius});
412+
}
413+
405414
appliedSelectionCheckMask = 0;
406415
if (!v0SelectionFlags.applyDCAdaughterSelection) {
407416
SETBIT(appliedSelectionCheckMask, 0);
@@ -516,7 +525,7 @@ struct Alice3Strangeness {
516525
}
517526
histos.fill(HIST("hV0CandidateCounter"), 4.5);
518527
if (v0SelectionFlags.applyV0RadiusSelection) {
519-
if (v0.v0radius() < v0SelectionValues.v0RadiusSelection)
528+
if (v0.v0radius() < v0SelectionValues.v0RadiusSelection || v0.v0radius() > v0SelectionValues.v0MaxRadiusSelection)
520529
continue;
521530
} else {
522531
selectionCheck = v0.v0radius();
@@ -596,14 +605,17 @@ struct Alice3Strangeness {
596605
if (isK0) {
597606
histos.fill(HIST("reconstructedCandidates/K0/hMass"), v0.mK0Short(), v0.pt(), v0.eta());
598607
histos.fill(HIST("reconstructedCandidates/K0/hMass1D"), v0.mK0Short());
608+
histos.fill(HIST("reconstructedCandidates/K0/hMassRadius"), v0.mK0Short(), v0.pt(), v0.v0radius());
599609
}
600610
if (isLambda) {
601611
histos.fill(HIST("reconstructedCandidates/Lambda/hMass"), v0.mLambda(), v0.pt(), v0.eta());
602612
histos.fill(HIST("reconstructedCandidates/Lambda/hMass1D"), v0.mLambda());
613+
histos.fill(HIST("reconstructedCandidates/Lambda/hMassRadius"), v0.mLambda(), v0.pt(), v0.v0radius());
603614
}
604615
if (isAntiLambda) {
605616
histos.fill(HIST("reconstructedCandidates/AntiLambda/hMass"), v0.mAntiLambda(), v0.pt(), v0.eta());
606617
histos.fill(HIST("reconstructedCandidates/AntiLambda/hMass1D"), v0.mAntiLambda());
618+
histos.fill(HIST("reconstructedCandidates/AntiLambda/hMassRadius"), v0.mAntiLambda(), v0.pt(), v0.v0radius());
607619
}
608620
}
609621
}
@@ -850,9 +862,32 @@ struct Alice3Strangeness {
850862
}
851863
}
852864
}
865+
void processMCTruth(soa::Join<aod::McParticles, aod::MCParticlesExtraA3> const& mcParticles)
866+
{
867+
868+
for (auto const& mcPart : mcParticles) {
869+
870+
if (!mcPart.isPhysicalPrimary()) {
871+
continue;
872+
}
873+
874+
float ptmc = RecoDecay::sqrtSumOfSquares(mcPart.px(), mcPart.py());
875+
876+
if (mcPart.pdgCode() == 310) {
877+
histos.fill(HIST("mcTruth/K0Short/hPtRadius"), ptmc, mcPart.secondaryVertexRadius());
878+
}
879+
if (mcPart.pdgCode() == 3122) {
880+
histos.fill(HIST("mcTruth/Lambda/hPtRadius"), ptmc, mcPart.secondaryVertexRadius());
881+
}
882+
if (mcPart.pdgCode() == -3122) {
883+
histos.fill(HIST("mcTruth/AntiLambda/hPtRadius"), ptmc, mcPart.secondaryVertexRadius());
884+
}
885+
}
886+
}
853887

854888
PROCESS_SWITCH(Alice3Strangeness, processAllFindableCandidates, "", false);
855889
PROCESS_SWITCH(Alice3Strangeness, processFoundV0Candidates, "", true);
890+
PROCESS_SWITCH(Alice3Strangeness, processMCTruth, "", true);
856891
PROCESS_SWITCH(Alice3Strangeness, processFoundCascadeCandidates, "", true);
857892
};
858893

0 commit comments

Comments
 (0)