Skip to content

Commit d6a76e6

Browse files
rspijkersalibuild
andauthored
[PWGLF] move ME definition & add dedicated ME autocorrelation QA in cascade correlations (#8905)
Co-authored-by: ALICE Builder <alibuild@users.noreply.github.com>
1 parent 51f9794 commit d6a76e6

File tree

1 file changed

+18
-17
lines changed

1 file changed

+18
-17
lines changed

PWGLF/Tasks/Strangeness/cascadecorrelations.cxx

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -426,6 +426,8 @@ struct CascadeCorrelations {
426426
{"MixedEvents/hMEDeltaPhiSS", "hMEDeltaPhiSS", {HistType::kTH1F, {deltaPhiAxis}}},
427427
{"MixedEvents/hMEDeltaPhiOS", "hMEDeltaPhiOS", {HistType::kTH1F, {deltaPhiAxis}}},
428428
{"MixedEvents/hMEQA", "hMEQA", {HistType::kTH1I, {{2, 0, 2, "QA for exceptions in ME (this histogram should have 0 entries!)"}}}},
429+
{"MixedEvents/hMEAutoCorrelation", "hMEAutoCorrelation", {HistType::kTH1I, {{4, -0.5f, 3.5f, "Types of SS autocorrelation"}}}},
430+
{"MixedEvents/hMEAutoCorrelationOS", "hMEAutoCorrelationOS", {HistType::kTH1I, {{2, -1.f, 1.f, "Charge of OS autocorrelated track"}}}},
429431

430432
{"MixedEvents/hMEXiXiOS", "hMEXiXiOS", {HistType::kTHnSparseF, {deltaPhiAxis, deltaYAxis, ptAxis, ptAxis, invMassAxis, invMassAxis, vertexAxis, multiplicityAxis}}, true},
431433
{"MixedEvents/hMEXiXiSS", "hMEXiXiSS", {HistType::kTHnSparseF, {deltaPhiAxis, deltaYAxis, ptAxis, ptAxis, invMassAxis, invMassAxis, vertexAxis, multiplicityAxis}}, true},
@@ -441,9 +443,15 @@ struct CascadeCorrelations {
441443
// cascade filter
442444
Filter cascadeSelector = aod::cascadeflags::isSelected > 0;
443445

446+
// Warning: it is not possible to use this axis as configurable due to a bug - however, default values are sensible.
444447
SliceCache cache;
445448
ConfigurableAxis axisVtxZ{"axisVtxZ", {VARIABLE_WIDTH, -10.0f, -8.f, -6.f, -4.f, -2.f, 0.f, 2.f, 4.f, 6.f, 8.f, 10.f}, "Mixing bins - z-vertex"};
446449
// ConfigurableAxis axisMult{"axisMult", {VARIABLE_WIDTH, 0, 5, 10, 20, 30, 40, 50, 100, 1000}, "Mixing bins - multiplicity"};
450+
// using BinningType = ColumnBinningPolicy<aod::collision::PosZ, aod::mult::MultFT0M<aod::mult::MultFT0A, aod::mult::MultFT0C>>;
451+
// BinningType colBinning{{axisVtxZ, axisMult}, true}; // true is for 'ignore overflows' (true by default). Underflows and overflows will have bin -1.
452+
using BinningType = ColumnBinningPolicy<aod::collision::PosZ>;
453+
BinningType colBinning{{axisVtxZ}, true}; // true is for 'ignore overflows' (true by default). Underflows and overflows will have bin -1.
454+
SameKindPair<MyCollisionsMult, MyCascades, BinningType> pair{colBinning, nMixedEvents, -1, &cache};
447455

448456
void processSameEvent(MyCollisionsMult::iterator const& collision, MyCascades const& Cascades, aod::V0sLinked const&, aod::V0Datas const&, FullTracksExtIU const&, aod::BCsWithTimestamps const&)
449457
{
@@ -662,13 +670,6 @@ struct CascadeCorrelations {
662670
void processMixedEvent(MyCollisionsMult const& /*collisions*/, MyCascades const& /*Cascades*/,
663671
aod::V0sLinked const&, aod::V0Datas const&, FullTracksExtIU const&)
664672
{
665-
// mixed events
666-
// using BinningType = ColumnBinningPolicy<aod::collision::PosZ, aod::mult::MultFT0M<aod::mult::MultFT0A, aod::mult::MultFT0C>>;
667-
// BinningType colBinning{{axisVtxZ, axisMult}, true}; // true is for 'ignore overflows' (true by default). Underflows and overflows will have bin -1.
668-
using BinningType = ColumnBinningPolicy<aod::collision::PosZ>;
669-
BinningType colBinning{{axisVtxZ}, true}; // true is for 'ignore overflows' (true by default). Underflows and overflows will have bin -1.
670-
SameKindPair<MyCollisionsMult, MyCascades, BinningType> pair{colBinning, nMixedEvents, -1, &cache};
671-
672673
for (auto const& [col1, cascades1, col2, cascades2] : pair) {
673674
if (!col1.sel8() || !col2.sel8())
674675
continue;
@@ -719,24 +720,24 @@ struct CascadeCorrelations {
719720
if (trigger.isSelected() >= 2) {
720721
if (trigger.sign() > 0 && trigger.bachelorId() == posIdAssoc) {
721722
// K+ from trigger Omega is the same as proton from assoc lambda
722-
registry.fill(HIST("hAutoCorrelationOS"), 1);
723+
registry.fill(HIST("hMEAutoCorrelationOS"), 1);
723724
continue;
724725
}
725726
if (trigger.sign() < 0 && trigger.bachelorId() == negIdAssoc) {
726727
// K- from trigger Omega is the same as antiproton from assoc antilambda
727-
registry.fill(HIST("hAutoCorrelationOS"), -1);
728+
registry.fill(HIST("hMEAutoCorrelationOS"), -1);
728729
continue;
729730
}
730731
}
731732
if (assoc.isSelected() >= 2) {
732733
if (assoc.sign() > 0 && assoc.bachelorId() == posIdTrigg) {
733734
// K+ from assoc Omega is the same as proton from trigger lambda
734-
registry.fill(HIST("hAutoCorrelationOS"), 1);
735+
registry.fill(HIST("hMEAutoCorrelationOS"), 1);
735736
continue;
736737
}
737738
if (assoc.sign() < 0 && assoc.bachelorId() == negIdTrigg) {
738739
// K- from assoc Omega is the same as antiproton from trigger antilambda
739-
registry.fill(HIST("hAutoCorrelationOS"), -1);
740+
registry.fill(HIST("hMEAutoCorrelationOS"), -1);
740741
continue;
741742
}
742743
}
@@ -776,33 +777,33 @@ struct CascadeCorrelations {
776777
// make sure to check for autocorrelations - only possible in same-sign correlations (if PID is correct)
777778
if (posIdTrigg == posIdAssoc && negIdTrigg == negIdAssoc) {
778779
// LOGF(info, "same v0 in SS correlation! %d %d", v0dataTrigg.v0Id(), v0dataAssoc.v0Id());
779-
registry.fill(HIST("hAutoCorrelation"), 0);
780+
registry.fill(HIST("hMEAutoCorrelation"), 0);
780781
continue;
781782
}
782783
int bachIdTrigg = trigger.bachelorId();
783784
int bachIdAssoc = assoc.bachelorId();
784785

785786
if (bachIdTrigg == bachIdAssoc) {
786787
// LOGF(info, "same bachelor in SS correlation! %d %d", bachIdTrigg, bachIdAssoc);
787-
registry.fill(HIST("hAutoCorrelation"), 1);
788+
registry.fill(HIST("hMEAutoCorrelation"), 1);
788789
continue;
789790
}
790791
// check for same tracks in v0's of cascades
791792
if (negIdTrigg == negIdAssoc || posIdTrigg == posIdAssoc) {
792793
// LOGF(info, "cascades have a v0-track in common in SS correlation!");
793-
registry.fill(HIST("hAutoCorrelation"), 2);
794+
registry.fill(HIST("hMEAutoCorrelation"), 2);
794795
continue;
795796
}
796797
if (trigger.sign() < 0) { // neg cascade
797798
if (negIdTrigg == bachIdAssoc || negIdAssoc == bachIdTrigg) {
798799
// LOGF(info, "bach of casc == v0-pion of other casc in neg SS correlation!");
799-
registry.fill(HIST("hAutoCorrelation"), 3);
800+
registry.fill(HIST("hMEAutoCorrelation"), 3);
800801
continue;
801802
}
802803
} else { // pos cascade
803804
if (posIdTrigg == bachIdAssoc || posIdAssoc == bachIdTrigg) {
804805
// LOGF(info, "bach of casc == v0-pion of other casc in pos SS correlation!");
805-
registry.fill(HIST("hAutoCorrelation"), 3);
806+
registry.fill(HIST("hMEAutoCorrelation"), 3);
806807
continue;
807808
}
808809
}
@@ -840,7 +841,7 @@ struct CascadeCorrelations {
840841
} // same sign
841842
} // correlations
842843
} // collisions
843-
} // process mixed events
844+
} // process mixed events
844845

845846
PROCESS_SWITCH(CascadeCorrelations, processSameEvent, "Process same events", true);
846847
PROCESS_SWITCH(CascadeCorrelations, processMixedEvent, "Process mixed events", true);

0 commit comments

Comments
 (0)