@@ -427,24 +427,28 @@ struct correlateStrangeness {
427
427
428
428
if (bitcheck (doCorrelation, 0 )) {
429
429
histos.add (" h3dK0ShortSpectrum" , " h3dK0ShortSpectrum" , kTH3F , {axisPtQA, axisMult, {3 , 0 .5f , 3 .5f }});
430
+ histos.add (" h3dK0ShortSpectrumY" , " h3dK0ShortSpectrumY" , kTH3F , {axisPtQA, axisMult, {3 , 0 .5f , 3 .5f }});
430
431
histos.add (" hK0ShortEtaVsPtVsPhi" , " hK0ShortEtaVsPtVsPhi" , kTH3F , {axisPtQA, axisEta, axisPhi});
431
432
histos.add (" hK0ShortEtaVsPtVsPhiBg" , " hK0ShortEtaVsPtVsPhiBg" , kTH3F , {axisPtQA, axisEta, axisPhi});
432
433
histos.add (" sameEvent/Signal/K0Short" , " K0Short" , kTHnF , {axisDeltaPhiNDim, axisDeltaEtaNDim, axisPtAssocNDim, axisPtTriggerNDim, axisVtxZNDim, axisMultNDim});
433
434
}
434
435
if (bitcheck (doCorrelation, 1 )) {
435
436
histos.add (" h3dLambdaSpectrum" , " h3dLambdaSpectrum" , kTH3F , {axisPtQA, axisMult, {3 , 0 .5f , 3 .5f }});
437
+ histos.add (" h3dLambdaSpectrumY" , " h3dLambdaSpectrumY" , kTH3F , {axisPtQA, axisMult, {3 , 0 .5f , 3 .5f }});
436
438
histos.add (" hLambdaEtaVsPtVsPhi" , " hLambdaEtaVsPtVsPhi" , kTH3F , {axisPtQA, axisEta, axisPhi});
437
439
histos.add (" hLambdaEtaVsPtVsPhiBg" , " hLambdaEtaVsPtVsPhiBg" , kTH3F , {axisPtQA, axisEta, axisPhi});
438
440
histos.add (" sameEvent/Signal/Lambda" , " Lambda" , kTHnF , {axisDeltaPhiNDim, axisDeltaEtaNDim, axisPtAssocNDim, axisPtTriggerNDim, axisVtxZNDim, axisMultNDim});
439
441
}
440
442
if (bitcheck (doCorrelation, 2 )) {
441
443
histos.add (" h3dAntiLambdaSpectrum" , " h3dAntiLambdaSpectrum" , kTH3F , {axisPtQA, axisMult, {3 , 0 .5f , 3 .5f }});
444
+ histos.add (" h3dAntiLambdaSpectrumY" , " h3dAntiLambdaSpectrumY" , kTH3F , {axisPtQA, axisMult, {3 , 0 .5f , 3 .5f }});
442
445
histos.add (" hAntiLambdaEtaVsPtVsPhi" , " hAntiLambdaEtaVsPtVsPhi" , kTH3F , {axisPtQA, axisEta, axisPhi});
443
446
histos.add (" hAntiLambdaEtaVsPtVsPhiBg" , " hAntiLambdaEtaVsPtVsPhiBg" , kTH3F , {axisPtQA, axisEta, axisPhi});
444
447
histos.add (" sameEvent/Signal/AntiLambda" , " AntiLambda" , kTHnF , {axisDeltaPhiNDim, axisDeltaEtaNDim, axisPtAssocNDim, axisPtTriggerNDim, axisVtxZNDim, axisMultNDim});
445
448
}
446
449
if (bitcheck (doCorrelation, 3 )) {
447
450
histos.add (" h3dXiMinusSpectrum" , " h3dXiMinusSpectrum" , kTH3F , {axisPtQA, axisMult, {3 , 0 .5f , 3 .5f }});
451
+ histos.add (" h3dXiMinusSpectrumY" , " h3dXiMinusSpectrumY" , kTH3F , {axisPtQA, axisMult, {3 , 0 .5f , 3 .5f }});
448
452
histos.add (" hXiMinusEtaVsPtVsPhi" , " hXiMinusEtaVsPtVsPhi" , kTH3F , {axisPtQA, axisEta, axisPhi});
449
453
histos.add (" hXiMinusEtaVsPtVsPhiBg" , " hXiMinusEtaVsPtVsPhiBg" , kTH3F , {axisPtQA, axisEta, axisPhi});
450
454
histos.add (" sameEvent/Signal/XiMinus" , " XiMinus" , kTHnF , {axisDeltaPhiNDim, axisDeltaEtaNDim, axisPtAssocNDim, axisPtTriggerNDim, axisVtxZNDim, axisMultNDim});
@@ -457,12 +461,14 @@ struct correlateStrangeness {
457
461
}
458
462
if (bitcheck (doCorrelation, 5 )) {
459
463
histos.add (" h3dOmegaMinusSpectrum" , " h3dOmegaMinusSpectrum" , kTH3F , {axisPtQA, axisMult, {3 , 0 .5f , 3 .5f }});
464
+ histos.add (" h3dOmegaMinusSpectrumY" , " h3dOmegaMinusSpectrumY" , kTH3F , {axisPtQA, axisMult, {3 , 0 .5f , 3 .5f }});
460
465
histos.add (" hOmegaMinusEtaVsPtVsPhi" , " hOmegaMinusEtaVsPtVsPhi" , kTH3F , {axisPtQA, axisEta, axisPhi});
461
466
histos.add (" hOmegaMinusEtaVsPtVsPhiBg" , " hOmegaMinusEtaVsPtVsPhiBg" , kTH3F , {axisPtQA, axisEta, axisPhi});
462
467
histos.add (" sameEvent/Signal/OmegaMinus" , " OmegaMinus" , kTHnF , {axisDeltaPhiNDim, axisDeltaEtaNDim, axisPtAssocNDim, axisPtTriggerNDim, axisVtxZNDim, axisMultNDim});
463
468
}
464
469
if (bitcheck (doCorrelation, 6 )) {
465
470
histos.add (" h3dOmegaPlusSpectrum" , " h3dOmegaPlusSpectrum" , kTH3F , {axisPtQA, axisMult, {3 , 0 .5f , 3 .5f }});
471
+ histos.add (" h3dOmegaPlusSpectrumY" , " h3dOmegaPlusSpectrumY" , kTH3F , {axisPtQA, axisMult, {3 , 0 .5f , 3 .5f }});
466
472
histos.add (" hOmegaPlusEtaVsPtVsPhi" , " hOmegaPlusEtaVsPtVsPhi" , kTH3F , {axisPtQA, axisEta, axisPhi});
467
473
histos.add (" hOmegaPlusEtaVsPtVsPhiBg" , " hOmegaPlusEtaVsPtVsPhiBg" , kTH3F , {axisPtQA, axisEta, axisPhi});
468
474
histos.add (" sameEvent/Signal/OmegaPlus" , " OmegaPlus" , kTHnF , {axisDeltaPhiNDim, axisDeltaEtaNDim, axisPtAssocNDim, axisPtTriggerNDim, axisVtxZNDim, axisMultNDim});
@@ -513,6 +519,25 @@ struct correlateStrangeness {
513
519
histos.add (" Generated/hOmegaPlus" , " " , kTH2F , {axisPtQA, axisEta});
514
520
515
521
histos.addClone (" Generated/" , " GeneratedWithPV/" );
522
+
523
+ // histograms within |y|<0.5, vs multiplicity
524
+ histos.add (" GeneratedWithPV/hPion_MidYVsMult" , " " , kTH2F , {axisPtQA, axisMult});
525
+ histos.add (" GeneratedWithPV/hK0Short_MidYVsMult" , " " , kTH2F , {axisPtQA, axisMult});
526
+ histos.add (" GeneratedWithPV/hLambda_MidYVsMult" , " " , kTH2F , {axisPtQA, axisMult});
527
+ histos.add (" GeneratedWithPV/hAntiLambda_MidYVsMult" , " " , kTH2F , {axisPtQA, axisMult});
528
+ histos.add (" GeneratedWithPV/hXiMinus_MidYVsMult" , " " , kTH2F , {axisPtQA, axisMult});
529
+ histos.add (" GeneratedWithPV/hXiPlus_MidYVsMult" , " " , kTH2F , {axisPtQA, axisMult});
530
+ histos.add (" GeneratedWithPV/hOmegaMinus_MidYVsMult" , " " , kTH2F , {axisPtQA, axisMult});
531
+ histos.add (" GeneratedWithPV/hOmegaPlus_MidYVsMult" , " " , kTH2F , {axisPtQA, axisMult});
532
+
533
+ histos.add (" GeneratedWithPV/hPion_MidYVsMult_TwoPVsOrMore" , " " , kTH2F , {axisPtQA, axisMult});
534
+ histos.add (" GeneratedWithPV/hK0Short_MidYVsMult_TwoPVsOrMore" , " " , kTH2F , {axisPtQA, axisMult});
535
+ histos.add (" GeneratedWithPV/hLambda_MidYVsMult_TwoPVsOrMore" , " " , kTH2F , {axisPtQA, axisMult});
536
+ histos.add (" GeneratedWithPV/hAntiLambda_MidYVsMult_TwoPVsOrMore" , " " , kTH2F , {axisPtQA, axisMult});
537
+ histos.add (" GeneratedWithPV/hXiMinus_MidYVsMult_TwoPVsOrMore" , " " , kTH2F , {axisPtQA, axisMult});
538
+ histos.add (" GeneratedWithPV/hXiPlus_MidYVsMult_TwoPVsOrMore" , " " , kTH2F , {axisPtQA, axisMult});
539
+ histos.add (" GeneratedWithPV/hOmegaMinus_MidYVsMult_TwoPVsOrMore" , " " , kTH2F , {axisPtQA, axisMult});
540
+ histos.add (" GeneratedWithPV/hOmegaPlus_MidYVsMult_TwoPVsOrMore" , " " , kTH2F , {axisPtQA, axisMult});
516
541
}
517
542
}
518
543
@@ -544,6 +569,9 @@ struct correlateStrangeness {
544
569
constexpr int index = i.value ;
545
570
if (v0.compatible (index ) && (!doMCassociation || v0.mcTrue (index )) && bitcheck (doCorrelation, index )) {
546
571
histos.fill (HIST (" h3d" ) + HIST (v0names[index ]) + HIST (" Spectrum" ), v0Data.pt (), collision.centFT0M (), v0.invMassRegion (index ));
572
+ if (std::abs (v0Data.rapidity (index )) < 0.5 ) {
573
+ histos.fill (HIST (" h3d" ) + HIST (v0names[index ]) + HIST (" SpectrumY" ), v0Data.pt (), collision.centFT0M (), v0.invMassRegion (index ));
574
+ }
547
575
if (v0.invMassRegionCheck (index , 2 ))
548
576
histos.fill (HIST (" h" ) + HIST (v0names[index ]) + HIST (" EtaVsPtVsPhi" ), v0Data.pt (), v0Data.eta (), v0Data.phi ());
549
577
if (v0.invMassRegionCheck (index , 1 ) || v0.invMassRegionCheck (index , 3 ))
@@ -589,6 +617,9 @@ struct correlateStrangeness {
589
617
constexpr int index = i.value ;
590
618
if (casc.compatible (index ) && (!doMCassociation || casc.mcTrue (index )) && bitcheck (doCorrelation, index + 3 )) {
591
619
histos.fill (HIST (" h3d" ) + HIST (cascadenames[index ]) + HIST (" Spectrum" ), cascData.pt (), collision.centFT0M (), casc.invMassRegion (index ));
620
+ if (std::abs (cascData.rapidity (index )) < 0.5 ) {
621
+ histos.fill (HIST (" h3d" ) + HIST (cascadenames[index ]) + HIST (" SpectrumY" ), cascData.pt (), collision.centFT0M (), casc.invMassRegion (index ));
622
+ }
592
623
if (casc.invMassRegionCheck (index , 2 ))
593
624
histos.fill (HIST (" h" ) + HIST (cascadenames[index ]) + HIST (" EtaVsPtVsPhi" ), cascData.pt (), cascData.eta (), cascData.phi ());
594
625
if (casc.invMassRegionCheck (index , 1 ) || casc.invMassRegionCheck (index , 3 ))
@@ -739,7 +770,7 @@ struct correlateStrangeness {
739
770
fillCorrelationsPion (slicedTriggerTracks, slicedAssocPions, true , collision1.posZ (), collision1.centFT0M ());
740
771
}
741
772
}
742
- void processMCGenerated (aod::McCollision const & mcCollision, soa::SmallGroups<soa::Join<aod::McCollisionLabels, aod::Collisions>> const & collisions, aod::McParticles const & mcParticles)
773
+ void processMCGenerated (aod::McCollision const & mcCollision, soa::SmallGroups<soa::Join<aod::McCollisionLabels, aod::Collisions, aod::EvSels, aod::CentFT0Ms >> const & collisions, aod::McParticles const & mcParticles)
743
774
{
744
775
for (auto const & mcParticle : mcParticles) {
745
776
if (!mcParticle.isPhysicalPrimary ())
@@ -757,14 +788,61 @@ struct correlateStrangeness {
757
788
if (mcParticle.pdgCode () == -3312 )
758
789
histos.fill (HIST (" Generated/hXiPlus" ), mcParticle.pt (), mcParticle.eta ());
759
790
if (mcParticle.pdgCode () == 3334 )
760
- histos.fill (HIST (" Generated/hXiMinus " ), mcParticle.pt (), mcParticle.eta ());
791
+ histos.fill (HIST (" Generated/hOmegaMinus " ), mcParticle.pt (), mcParticle.eta ());
761
792
if (mcParticle.pdgCode () == -3334 )
762
- histos.fill (HIST (" Generated/hXiPlus " ), mcParticle.pt (), mcParticle.eta ());
793
+ histos.fill (HIST (" Generated/hOmegaPlus " ), mcParticle.pt (), mcParticle.eta ());
763
794
}
764
795
765
796
if (collisions.size () < 1 )
766
797
return ;
767
798
799
+ // determine best collision properties
800
+ int biggestNContribs = -1 ;
801
+ int bestCollisionFT0Mpercentile = -1 ;
802
+ float bestCollisionVtxZ = 0 .0f ;
803
+ bool bestCollisionSel8 = false ;
804
+ for (auto & collision : collisions) {
805
+ if (biggestNContribs < collision.numContrib ()) {
806
+ biggestNContribs = collision.numContrib ();
807
+ bestCollisionFT0Mpercentile = collision.centFT0M ();
808
+ bestCollisionSel8 = collision.sel8 ();
809
+ bestCollisionVtxZ = collision.posZ ();
810
+ }
811
+ }
812
+
813
+ if (collisions.size () > 1 ) {
814
+ for (auto const & mcParticle : mcParticles) {
815
+ if (!mcParticle.isPhysicalPrimary ())
816
+ continue ;
817
+ if (abs (mcParticle.y ()) < 0.5 ) {
818
+ if (abs (mcParticle.pdgCode ()) == 211 )
819
+ histos.fill (HIST (" GeneratedWithPV/hPion_MidYVsMult_TwoPVsOrMore" ), mcParticle.pt (), bestCollisionFT0Mpercentile);
820
+ if (abs (mcParticle.pdgCode ()) == 310 )
821
+ histos.fill (HIST (" GeneratedWithPV/hK0Short_MidYVsMult_TwoPVsOrMore" ), mcParticle.pt (), bestCollisionFT0Mpercentile);
822
+ if (mcParticle.pdgCode () == 3122 )
823
+ histos.fill (HIST (" GeneratedWithPV/hLambda_MidYVsMult_TwoPVsOrMore" ), mcParticle.pt (), bestCollisionFT0Mpercentile);
824
+ if (mcParticle.pdgCode () == -3122 )
825
+ histos.fill (HIST (" GeneratedWithPV/hAntiLambda_MidYVsMult_TwoPVsOrMore" ), mcParticle.pt (), bestCollisionFT0Mpercentile);
826
+ if (mcParticle.pdgCode () == 3312 )
827
+ histos.fill (HIST (" GeneratedWithPV/hXiMinus_MidYVsMult_TwoPVsOrMore" ), mcParticle.pt (), bestCollisionFT0Mpercentile);
828
+ if (mcParticle.pdgCode () == -3312 )
829
+ histos.fill (HIST (" GeneratedWithPV/hXiPlus_MidYVsMult_TwoPVsOrMore" ), mcParticle.pt (), bestCollisionFT0Mpercentile);
830
+ if (mcParticle.pdgCode () == 3334 )
831
+ histos.fill (HIST (" GeneratedWithPV/hOmegaMinus_MidYVsMult_TwoPVsOrMore" ), mcParticle.pt (), bestCollisionFT0Mpercentile);
832
+ if (mcParticle.pdgCode () == -3334 )
833
+ histos.fill (HIST (" GeneratedWithPV/hOmegaPlus_MidYVsMult_TwoPVsOrMore" ), mcParticle.pt (), bestCollisionFT0Mpercentile);
834
+ }
835
+ }
836
+ }
837
+
838
+ // do selections on best collision
839
+ // WARNING: if 2 PV case large, this will not necessarily be fine!
840
+ // caution advised!
841
+ if (!bestCollisionSel8)
842
+ return ;
843
+ if (std::abs (bestCollisionVtxZ) > 10 .0f )
844
+ return ;
845
+
768
846
for (auto const & mcParticle : mcParticles) {
769
847
if (!mcParticle.isPhysicalPrimary ())
770
848
continue ;
@@ -781,9 +859,28 @@ struct correlateStrangeness {
781
859
if (mcParticle.pdgCode () == -3312 )
782
860
histos.fill (HIST (" GeneratedWithPV/hXiPlus" ), mcParticle.pt (), mcParticle.eta ());
783
861
if (mcParticle.pdgCode () == 3334 )
784
- histos.fill (HIST (" GeneratedWithPV/hXiMinus " ), mcParticle.pt (), mcParticle.eta ());
862
+ histos.fill (HIST (" GeneratedWithPV/hOmegaMinus " ), mcParticle.pt (), mcParticle.eta ());
785
863
if (mcParticle.pdgCode () == -3334 )
786
- histos.fill (HIST (" GeneratedWithPV/hXiPlus" ), mcParticle.pt (), mcParticle.eta ());
864
+ histos.fill (HIST (" GeneratedWithPV/hOmegaPlus" ), mcParticle.pt (), mcParticle.eta ());
865
+
866
+ if (abs (mcParticle.y ()) < 0.5 ) {
867
+ if (abs (mcParticle.pdgCode ()) == 211 )
868
+ histos.fill (HIST (" Generated/hPion_MidYVsMult" ), mcParticle.pt (), bestCollisionFT0Mpercentile);
869
+ if (abs (mcParticle.pdgCode ()) == 310 )
870
+ histos.fill (HIST (" Generated/hK0Short_MidYVsMult" ), mcParticle.pt (), bestCollisionFT0Mpercentile);
871
+ if (mcParticle.pdgCode () == 3122 )
872
+ histos.fill (HIST (" Generated/hLambda_MidYVsMult" ), mcParticle.pt (), bestCollisionFT0Mpercentile);
873
+ if (mcParticle.pdgCode () == -3122 )
874
+ histos.fill (HIST (" Generated/hAntiLambda_MidYVsMult" ), mcParticle.pt (), bestCollisionFT0Mpercentile);
875
+ if (mcParticle.pdgCode () == 3312 )
876
+ histos.fill (HIST (" Generated/hXiMinus_MidYVsMult" ), mcParticle.pt (), bestCollisionFT0Mpercentile);
877
+ if (mcParticle.pdgCode () == -3312 )
878
+ histos.fill (HIST (" Generated/hXiPlus_MidYVsMult" ), mcParticle.pt (), bestCollisionFT0Mpercentile);
879
+ if (mcParticle.pdgCode () == 3334 )
880
+ histos.fill (HIST (" Generated/hOmegaMinus_MidYVsMult" ), mcParticle.pt (), bestCollisionFT0Mpercentile);
881
+ if (mcParticle.pdgCode () == -3334 )
882
+ histos.fill (HIST (" Generated/hOmegaPlus_MidYVsMult" ), mcParticle.pt (), bestCollisionFT0Mpercentile);
883
+ }
787
884
}
788
885
}
789
886
0 commit comments