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