Skip to content

Commit db985f3

Browse files
authored
Update lambdaSpinPolarization.cxx
1 parent fa56742 commit db985f3

1 file changed

Lines changed: 26 additions & 0 deletions

File tree

PWGCF/TwoParticleCorrelations/Tasks/lambdaSpinPolarization.cxx

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1543,9 +1543,12 @@ struct LambdaSpinPolarization {
15431543
Configurable<int> cNPhiBins{"cNPhiBins", 36, "N Phi Bins"};
15441544
Configurable<int> cNBinsCosTS{"cNBinsCosTS", 10, "N CosTS Bins"};
15451545
Configurable<bool> cInvBoostFlag{"cInvBoostFlag", true, "Inverse Boost Flag"};
1546+
Configurable<int> mixingParameter{"mixingParameter", 5, "how many events are mixed"};
15461547

15471548
// Centrality Axis
15481549
ConfigurableAxis cMultBins{"cMultBins", {VARIABLE_WIDTH, 0.0f, 10.0f, 30.0f, 50.f, 80.0f, 100.f}, "Variable Mult-Bins"};
1550+
ConfigurableAxis axisMultME{"axisMultME", {VARIABLE_WIDTH, 0, 5, 10, 20, 30, 40, 50, 1000}, "Mixing bins - multiplicity"};
1551+
ConfigurableAxis axisVtxZME{"axisVtxZME", {VARIABLE_WIDTH, -10, -8, -6, -4, -2, 0, 2, 4, 6, 8, 10}, "Mixing bins - z-vertex"};
15491552

15501553
// Histogram Registry.
15511554
HistogramRegistry histos{"histos", {}, OutputObjHandlingPolicy::AnalysisObject};
@@ -1691,6 +1694,29 @@ struct LambdaSpinPolarization {
16911694

16921695
PROCESS_SWITCH(LambdaSpinPolarization, processDataReco, "Process for Data and MCReco", true);
16931696

1697+
void processDataRecoMixed(LambdaCollisions const& col, LambdaTracks const& tracks)
1698+
{
1699+
auto getMultiplicity = [this](auto& col) {
1700+
(void)this;
1701+
return col.cent();
1702+
};
1703+
1704+
using MixedBinning = FlexibleBinningPolicy<std::tuple<decltype(getMultiplicity)>, aod::lambdacollision::PosZ, decltype(getMultiplicity)>;
1705+
MixedBinning binningOnVtxAndMult{{getMultiplicity}, {axisVtxZME, axisMultME}, true};
1706+
for (auto const& [col1, col2] : soa::selfCombinations(binningOnVtxAndMult, mixingParameter, -1, col, col)) {
1707+
if (col1.globalIndex() == col2.globalIndex()) {
1708+
continue;
1709+
}
1710+
auto lambdaTracks = partLambdaTracks->sliceByCached(aod::lambdatrack::lambdaCollisionId, col1.globalIndex(), cache);
1711+
auto antiLambdaTracks = partAntiLambdaTracks->sliceByCached(aod::lambdatrack::lambdaCollisionId, col2.globalIndex(), cache);
1712+
analyzePairs<kLambdaAntiLambda, false>(lambdaTracks, antiLambdaTracks);
1713+
analyzePairs<kLambdaLambda, true>(lambdaTracks, lambdaTracks);
1714+
analyzePairs<kAntiLambdaAntiLambda, true>(antiLambdaTracks, antiLambdaTracks);
1715+
}
1716+
}
1717+
1718+
PROCESS_SWITCH(LambdaSpinPolarization, processDataRecoMixed, "Process for Data and MCReco for Mixed events", true);
1719+
16941720
void processDataRecoMixEvent(LambdaCollisions::iterator const& collision, LambdaTracks const& tracks)
16951721
{
16961722
// return for no lambdas in a collision

0 commit comments

Comments
 (0)