@@ -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