Skip to content

Commit ef6dcb2

Browse files
authored
[PWGCF] Update lambdaR2Correlation.cxx (#11465)
1 parent 663b702 commit ef6dcb2

File tree

1 file changed

+59
-44
lines changed

1 file changed

+59
-44
lines changed

PWGCF/TwoParticleCorrelations/Tasks/lambdaR2Correlation.cxx

Lines changed: 59 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -164,8 +164,6 @@ enum TrackLabels {
164164
kPFCorrPtCent,
165165
kPFCorrPtRapCent,
166166
kNoPFCorr,
167-
kCorrFact,
168-
kErrCorrFact,
169167
kGenTotAccLambda,
170168
kGenLambdaNoDau,
171169
kGenLambdaToPrPi
@@ -468,8 +466,6 @@ struct LambdaTableProducer {
468466
histos.get<TH1>(HIST("Tracks/h1f_tracks_info"))->GetXaxis()->SetBinLabel(TrackLabels::kPFCorrPtCent, "kPFCorrPtCent");
469467
histos.get<TH1>(HIST("Tracks/h1f_tracks_info"))->GetXaxis()->SetBinLabel(TrackLabels::kPFCorrPtRapCent, "kPFCorrPtRapCent");
470468
histos.get<TH1>(HIST("Tracks/h1f_tracks_info"))->GetXaxis()->SetBinLabel(TrackLabels::kNoPFCorr, "kNoPFCorr");
471-
histos.get<TH1>(HIST("Tracks/h1f_tracks_info"))->GetXaxis()->SetBinLabel(TrackLabels::kCorrFact, "kCorrFact");
472-
histos.get<TH1>(HIST("Tracks/h1f_tracks_info"))->GetXaxis()->SetBinLabel(TrackLabels::kErrCorrFact, "kErrCorrFact");
473469
}
474470

475471
template <RunType run, typename C>
@@ -826,7 +822,7 @@ struct LambdaTableProducer {
826822
}
827823

828824
// initialize efficiency factor and primary fraction values
829-
float effFact = 1., primFrac = 1.;
825+
float effCorrFact = 1., primFrac = 1.;
830826
float rap = (cDoEtaAnalysis) ? v0.eta() : v0.yLambda();
831827

832828
// Get Efficiency Factor
@@ -835,14 +831,14 @@ struct LambdaTableProducer {
835831
TH1F* histEff = reinterpret_cast<TH1F*>(objEff->Clone());
836832
if (histEff->GetDimension() == TwoDimCorr) {
837833
histos.fill(HIST("Tracks/h1f_tracks_info"), kEffCorrPtCent);
838-
effFact = histEff->GetBinContent(histEff->FindBin(cent, v0.pt()));
834+
effCorrFact = histEff->GetBinContent(histEff->FindBin(cent, v0.pt()));
839835
} else if (histEff->GetDimension() == ThreeDimCorr) {
840836
histos.fill(HIST("Tracks/h1f_tracks_info"), kEffCorrPtRapCent);
841-
effFact = histEff->GetBinContent(histEff->FindBin(cent, v0.pt(), rap));
837+
effCorrFact = histEff->GetBinContent(histEff->FindBin(cent, v0.pt(), rap));
842838
} else {
843839
histos.fill(HIST("Tracks/h1f_tracks_info"), kNoEffCorr);
844840
LOGF(warning, "CCDB OBJECT IS NOT A HISTOGRAM !!!");
845-
effFact = 1.;
841+
effCorrFact = 1.;
846842
}
847843
delete histEff;
848844
}
@@ -855,6 +851,9 @@ struct LambdaTableProducer {
855851
if (histPrm->GetDimension() == TwoDimCorr) {
856852
histos.fill(HIST("Tracks/h1f_tracks_info"), kPFCorrPtCent);
857853
primFrac = histPrm->GetBinContent(histPrm->FindBin(cent, v0.pt()));
854+
} else if (histPrm->GetDimension() == ThreeDimCorr) {
855+
histos.fill(HIST("Tracks/h1f_tracks_info"), kPFCorrPtRapCent);
856+
primFrac = histPrm->GetBinContent(histPrm->FindBin(cent, v0.pt(), rap));
858857
} else {
859858
histos.fill(HIST("Tracks/h1f_tracks_info"), kNoPFCorr);
860859
LOGF(warning, "CCDB OBJECT IS NOT A HISTOGRAM !!!");
@@ -863,13 +862,7 @@ struct LambdaTableProducer {
863862
delete histPrm;
864863
}
865864

866-
if (effFact != 0) {
867-
histos.fill(HIST("Tracks/h1f_tracks_info"), kCorrFact);
868-
return primFrac / effFact;
869-
}
870-
871-
histos.fill(HIST("Tracks/h1f_tracks_info"), kErrCorrFact);
872-
return 1.;
865+
return primFrac * effCorrFact;
873866
}
874867

875868
template <ParticleType part, typename C, typename V, typename T>
@@ -1175,7 +1168,7 @@ struct LambdaTableProducer {
11751168
}
11761169

11771170
SliceCache cache;
1178-
Preslice<soa::Join<aod::V0Datas, aod::McV0Labels>> perCollision = aod::track::collisionId;
1171+
Preslice<soa::Join<aod::V0Datas, aod::McV0Labels>> perCollision = aod::v0data::collisionId;
11791172

11801173
using CollisionsRun3 = soa::Join<aod::Collisions, aod::EvSels, aod::CentFT0Ms>;
11811174
using CollisionsRun2 = soa::Join<aod::Collisions, aod::EvSels, aod::CentRun2V0Ms>;
@@ -1390,7 +1383,9 @@ struct LambdaR2Correlation {
13901383
Configurable<float> cMinRap{"cMinRap", -0.5, "Minimum Rapidity"};
13911384
Configurable<float> cMaxRap{"cMaxRap", 0.5, "Maximum Rapidity"};
13921385
Configurable<int> cNPhiBins{"cNPhiBins", 36, "N Phi Bins"};
1393-
Configurable<bool> cAnaPairs{"cAnaPairs", true, "Analyze Pairs Flag (Not required for efficiency computation)"};
1386+
Configurable<bool> cAnaSecondaries{"cAnaSecondaries", false, "Analysze Secondaries"};
1387+
Configurable<bool> cAnaPairs{"cAnaPairs", false, "Analyze Pairs Flag"};
1388+
Configurable<bool> cAnaSecondaryPairs{"cAnaSecondaryPairs", false, "Analyze Secondary Pairs Flag"};
13941389

13951390
// Eta/Rap Analysis
13961391
Configurable<bool> cDoEtaAnalysis{"cDoEtaAnalysis", false, "Eta/Rap Analysis Flag"};
@@ -1475,8 +1470,10 @@ struct LambdaR2Correlation {
14751470
histos.add("Reco/Primary/h3f_n1_pteta_LaP", "#rho_{1}^{#Lambda}", kTH3F, {axisCent, axisPt, axisEta});
14761471
histos.add("Reco/Primary/h3f_n1_pteta_LaM", "#rho_{1}^{#bar{#Lambda}}", kTH3F, {axisCent, axisPt, axisEta});
14771472

1478-
// Clone Singles Histogram
1479-
histos.addClone("Reco/Primary/", "Reco/Secondary/");
1473+
// Clone Singles Primary/Secondary Histogram
1474+
if (cAnaSecondaries) {
1475+
histos.addClone("Reco/Primary/", "Reco/Secondary/");
1476+
}
14801477

14811478
if (cAnaPairs) {
14821479
// rho2 for numerator of R2
@@ -1498,9 +1495,11 @@ struct LambdaR2Correlation {
14981495
histos.add("Reco/PP/h2f_n2_qinv_LaM_LaM", "#rho_{2}^{#bar{#Lambda}#bar{#Lambda}}", kTH2F, {axisCent, axisQinv});
14991496

15001497
// Clone Pairs Histograms
1501-
histos.addClone("Reco/PP/", "Reco/PS/");
1502-
histos.addClone("Reco/PP/", "Reco/SP/");
1503-
histos.addClone("Reco/PP/", "Reco/SS/");
1498+
if (cAnaSecondaryPairs) {
1499+
histos.addClone("Reco/PP/", "Reco/PS/");
1500+
histos.addClone("Reco/PP/", "Reco/SP/");
1501+
histos.addClone("Reco/PP/", "Reco/SS/");
1502+
}
15041503
}
15051504

15061505
// MCGen
@@ -1625,22 +1624,30 @@ struct LambdaR2Correlation {
16251624

16261625
analyzeSingles<kLambda, kRec, kPrimary>(lambdaPrimTracks);
16271626
analyzeSingles<kAntiLambda, kRec, kPrimary>(antiLambdaPrimTracks);
1628-
analyzeSingles<kLambda, kRec, kSecondary>(lambdaSecdTracks);
1629-
analyzeSingles<kAntiLambda, kRec, kSecondary>(antiLambdaSecdTracks);
1627+
1628+
if (cAnaSecondaries) {
1629+
analyzeSingles<kLambda, kRec, kSecondary>(lambdaSecdTracks);
1630+
analyzeSingles<kAntiLambda, kRec, kSecondary>(antiLambdaSecdTracks);
1631+
}
16301632

16311633
if (cAnaPairs) {
1634+
// Primary Pairs Only
16321635
analyzePairs<kLambdaAntiLambda, kRec, kPP, false>(lambdaPrimTracks, antiLambdaPrimTracks);
16331636
analyzePairs<kLambdaLambda, kRec, kPP, true>(lambdaPrimTracks, lambdaPrimTracks);
16341637
analyzePairs<kAntiLambdaAntiLambda, kRec, kPP, true>(antiLambdaPrimTracks, antiLambdaPrimTracks);
1635-
analyzePairs<kLambdaAntiLambda, kRec, kPS, false>(lambdaPrimTracks, antiLambdaSecdTracks);
1636-
analyzePairs<kLambdaLambda, kRec, kPS, true>(lambdaPrimTracks, lambdaSecdTracks);
1637-
analyzePairs<kAntiLambdaAntiLambda, kRec, kPS, true>(antiLambdaPrimTracks, antiLambdaSecdTracks);
1638-
analyzePairs<kLambdaAntiLambda, kRec, kSP, false>(lambdaSecdTracks, antiLambdaPrimTracks);
1639-
analyzePairs<kLambdaLambda, kRec, kSP, true>(lambdaSecdTracks, lambdaPrimTracks);
1640-
analyzePairs<kAntiLambdaAntiLambda, kRec, kSP, true>(antiLambdaSecdTracks, antiLambdaPrimTracks);
1641-
analyzePairs<kLambdaAntiLambda, kRec, kSS, false>(lambdaSecdTracks, antiLambdaSecdTracks);
1642-
analyzePairs<kLambdaLambda, kRec, kSS, true>(lambdaSecdTracks, lambdaSecdTracks);
1643-
analyzePairs<kAntiLambdaAntiLambda, kRec, kSS, true>(antiLambdaSecdTracks, antiLambdaSecdTracks);
1638+
1639+
// Secondary Pairs
1640+
if (cAnaSecondaryPairs) {
1641+
analyzePairs<kLambdaAntiLambda, kRec, kPS, false>(lambdaPrimTracks, antiLambdaSecdTracks);
1642+
analyzePairs<kLambdaLambda, kRec, kPS, true>(lambdaPrimTracks, lambdaSecdTracks);
1643+
analyzePairs<kAntiLambdaAntiLambda, kRec, kPS, true>(antiLambdaPrimTracks, antiLambdaSecdTracks);
1644+
analyzePairs<kLambdaAntiLambda, kRec, kSP, false>(lambdaSecdTracks, antiLambdaPrimTracks);
1645+
analyzePairs<kLambdaLambda, kRec, kSP, true>(lambdaSecdTracks, lambdaPrimTracks);
1646+
analyzePairs<kAntiLambdaAntiLambda, kRec, kSP, true>(antiLambdaSecdTracks, antiLambdaPrimTracks);
1647+
analyzePairs<kLambdaAntiLambda, kRec, kSS, false>(lambdaSecdTracks, antiLambdaSecdTracks);
1648+
analyzePairs<kLambdaLambda, kRec, kSS, true>(lambdaSecdTracks, lambdaSecdTracks);
1649+
analyzePairs<kAntiLambdaAntiLambda, kRec, kSS, true>(antiLambdaSecdTracks, antiLambdaSecdTracks);
1650+
}
16441651
}
16451652
}
16461653

@@ -1669,22 +1676,30 @@ struct LambdaR2Correlation {
16691676

16701677
analyzeSingles<kLambda, kGen, kPrimary>(lambdaPrimTracks);
16711678
analyzeSingles<kAntiLambda, kGen, kPrimary>(antiLambdaPrimTracks);
1672-
analyzeSingles<kLambda, kGen, kSecondary>(lambdaSecdTracks);
1673-
analyzeSingles<kAntiLambda, kGen, kSecondary>(antiLambdaSecdTracks);
1679+
1680+
if (cAnaSecondaries) {
1681+
analyzeSingles<kLambda, kGen, kSecondary>(lambdaSecdTracks);
1682+
analyzeSingles<kAntiLambda, kGen, kSecondary>(antiLambdaSecdTracks);
1683+
}
16741684

16751685
if (cAnaPairs) {
1686+
// Primary Pairs Only
16761687
analyzePairs<kLambdaAntiLambda, kGen, kPP, false>(lambdaPrimTracks, antiLambdaPrimTracks);
16771688
analyzePairs<kLambdaLambda, kGen, kPP, true>(lambdaPrimTracks, lambdaPrimTracks);
16781689
analyzePairs<kAntiLambdaAntiLambda, kGen, kPP, true>(antiLambdaPrimTracks, antiLambdaPrimTracks);
1679-
analyzePairs<kLambdaAntiLambda, kGen, kPS, false>(lambdaPrimTracks, antiLambdaSecdTracks);
1680-
analyzePairs<kLambdaLambda, kGen, kPS, true>(lambdaPrimTracks, lambdaSecdTracks);
1681-
analyzePairs<kAntiLambdaAntiLambda, kGen, kPS, true>(antiLambdaPrimTracks, antiLambdaSecdTracks);
1682-
analyzePairs<kLambdaAntiLambda, kGen, kSP, false>(lambdaSecdTracks, antiLambdaPrimTracks);
1683-
analyzePairs<kLambdaLambda, kGen, kSP, true>(lambdaSecdTracks, lambdaPrimTracks);
1684-
analyzePairs<kAntiLambdaAntiLambda, kGen, kSP, true>(antiLambdaSecdTracks, antiLambdaPrimTracks);
1685-
analyzePairs<kLambdaAntiLambda, kGen, kSS, false>(lambdaSecdTracks, antiLambdaSecdTracks);
1686-
analyzePairs<kLambdaLambda, kGen, kSS, true>(lambdaSecdTracks, lambdaSecdTracks);
1687-
analyzePairs<kAntiLambdaAntiLambda, kGen, kSS, true>(antiLambdaSecdTracks, antiLambdaSecdTracks);
1690+
1691+
// Secondary Pairs
1692+
if (cAnaSecondaryPairs) {
1693+
analyzePairs<kLambdaAntiLambda, kGen, kPS, false>(lambdaPrimTracks, antiLambdaSecdTracks);
1694+
analyzePairs<kLambdaLambda, kGen, kPS, true>(lambdaPrimTracks, lambdaSecdTracks);
1695+
analyzePairs<kAntiLambdaAntiLambda, kGen, kPS, true>(antiLambdaPrimTracks, antiLambdaSecdTracks);
1696+
analyzePairs<kLambdaAntiLambda, kGen, kSP, false>(lambdaSecdTracks, antiLambdaPrimTracks);
1697+
analyzePairs<kLambdaLambda, kGen, kSP, true>(lambdaSecdTracks, lambdaPrimTracks);
1698+
analyzePairs<kAntiLambdaAntiLambda, kGen, kSP, true>(antiLambdaSecdTracks, antiLambdaPrimTracks);
1699+
analyzePairs<kLambdaAntiLambda, kGen, kSS, false>(lambdaSecdTracks, antiLambdaSecdTracks);
1700+
analyzePairs<kLambdaLambda, kGen, kSS, true>(lambdaSecdTracks, lambdaSecdTracks);
1701+
analyzePairs<kAntiLambdaAntiLambda, kGen, kSS, true>(antiLambdaSecdTracks, antiLambdaSecdTracks);
1702+
}
16881703
}
16891704
}
16901705

0 commit comments

Comments
 (0)