@@ -1119,11 +1119,17 @@ struct LambdaTracksExtProducer {
11191119struct LambdaR2Correlation {
11201120
11211121 // Global Configurables
1122+ Configurable<int > cNPtBins{" cNPtBins" , 10 , " N pT Bins" };
1123+ Configurable<float > cMinPt{" cMinPt" , 0.8 , " pT Min" };
1124+ Configurable<float > cMaxPt{" cMaxPt" , 2.8 , " pT Max" };
11221125 Configurable<int > cNRapBins{" cNRapBins" , 12 , " N Rapidity Bins" };
11231126 Configurable<float > cMinRap{" cMinRap" , -0.6 , " Minimum Rapidity" };
11241127 Configurable<float > cMaxRap{" cMaxRap" , 0.6 , " Maximum Rapidity" };
11251128 Configurable<int > cNPhiBins{" cNPhiBins" , 64 , " N Phi Bins" };
11261129
1130+ // Avg Pair Efficiency Factor
1131+ Configurable<float > cAvgPairEffFactor{" cAvgPairEffFactor" , 0.76279 , " Avg Pair Eff Correction Factor" };
1132+
11271133 // Eta/Rap Analysis
11281134 Configurable<bool > cDoEtaAnalysis{" cDoEtaAnalysis" , false , " Eta/Rap Analysis Flag" };
11291135
@@ -1161,17 +1167,17 @@ struct LambdaR2Correlation {
11611167 const AxisSpec axisCent (105 , 0 , 105 , " FT0M (%)" );
11621168 const AxisSpec axisMult (10 , 0 , 10 , " N_{#Lambda}" );
11631169 const AxisSpec axisMass (100 , 1.06 , 1.16 , " Inv Mass (GeV/#it{c}^{2})" );
1164- const AxisSpec axisPt (40 , 0 , 4.0 , " p_{T} (GeV/#it{c})" );
1165- const AxisSpec axisEta (24 , - 1.2 , 1.2 , " #eta" );
1166- const AxisSpec axisYRap (24 , - 1.2 , 1.2 , " y" );
1170+ const AxisSpec axisPt (cNPtBins, cMinPt, cMaxPt , " p_{T} (GeV/#it{c})" );
1171+ const AxisSpec axisEta (cNRapBins, cMinRap, cMaxRap , " #eta" );
1172+ const AxisSpec axisYRap (cNRapBins, cMinRap, cMaxRap , " y" );
11671173 const AxisSpec axisRap (cNRapBins, cMinRap, cMaxRap, " rap" );
11681174 const AxisSpec axisPhi (cNPhiBins, 0 ., TwoPI, " #phi (rad)" );
11691175 const AxisSpec axisRapPhi (knrapphibins, kminrapphi, kmaxrapphi, " y #phi" );
11701176 const AxisSpec axisQinv (100 , 0 , 10 , " q_{inv} (GeV/#it{c})" );
11711177
1172- const AxisSpec axisEfPt (20 , 0 , 4.0 , " p_{T}" );
1173- const AxisSpec axisEfEta (24 , - 1.2 , 1.2 , " #eta" );
1174- const AxisSpec axisEfRap (24 , - 1.2 , 1.2 , " y" );
1178+ const AxisSpec axisEfPt (cNPtBins, cMinPt, cMaxPt , " p_{T}" );
1179+ const AxisSpec axisEfEta (cNRapBins, cMinRap, cMaxRap , " #eta" );
1180+ const AxisSpec axisEfRap (cNRapBins, cMinRap, cMaxRap , " y" );
11751181 const AxisSpec axisEfPosZ (10 , -10 ., 10 ., " V_{Z}" );
11761182
11771183 // Create Histograms.
@@ -1182,6 +1188,7 @@ struct LambdaR2Correlation {
11821188 histos.add (" Event/Reco/h1i_antilambda_mult" , " #bar{#Lambda} - Multiplicity" , kTH1I , {axisMult});
11831189
11841190 // Efficiency Histograms
1191+ // Single Particle Efficiencies
11851192 histos.add (" Reco/Efficiency/h1f_n1_pt_LaP" , " #rho_{1}^{#Lambda}" , kTH1F , {axisEfPt});
11861193 histos.add (" Reco/Efficiency/h1f_n1_pt_LaM" , " #rho_{1}^{#bar{#Lambda}}" , kTH1F , {axisEfPt});
11871194 histos.add (" Reco/Efficiency/h2f_n1_pteta_LaP" , " #rho_{1}^{#Lambda}" , kTH2F , {axisEfPt, axisEfEta});
@@ -1193,7 +1200,15 @@ struct LambdaR2Correlation {
11931200 histos.add (" Reco/Efficiency/h3f_n1_ptrapposz_LaP" , " #rho_{1}^{#Lambda}" , kTH3F , {axisEfPt, axisEfRap, axisEfPosZ});
11941201 histos.add (" Reco/Efficiency/h3f_n1_ptrapposz_LaM" , " #rho_{1}^{#bar{#Lambda}}" , kTH3F , {axisEfPt, axisEfRap, axisEfPosZ});
11951202
1196- // single and two particle densities
1203+ // Two Particle Efficiencies
1204+ histos.add (" Reco/Efficiency/h2f_n2_ptpt_LaP_LaM" , " #rho_{2}^{#Lambda#bar{#Lambda}}" , kTH2F , {axisEfPt, axisEfPt});
1205+ histos.add (" Reco/Efficiency/h2f_n2_ptpt_LaP_LaP" , " #rho_{2}^{#Lambda#Lambda}" , kTH2F , {axisEfPt, axisEfPt});
1206+ histos.add (" Reco/Efficiency/h2f_n2_ptpt_LaM_LaM" , " #rho_{2}^{#bar{#Lambda}#bar{#Lambda}}" , kTH2F , {axisEfPt, axisEfPt});
1207+ histos.add (" Reco/Efficiency/h4f_n2_ptrapptrap_LaP_LaM" , " #rho_{2}^{#Lambda#bar{#Lambda}}" , kTHnSparseF , {axisEfPt, axisEfRap, axisEfPt, axisEfRap});
1208+ histos.add (" Reco/Efficiency/h4f_n2_ptrapptrap_LaP_LaP" , " #rho_{2}^{#Lambda#Lambda}" , kTHnSparseF , {axisEfPt, axisEfRap, axisEfPt, axisEfRap});
1209+ histos.add (" Reco/Efficiency/h4f_n2_ptrapptrap_LaM_LaM" , " #rho_{2}^{#bar{#Lambda}#bar{#Lambda}}" , kTHnSparseF , {axisEfPt, axisEfRap, axisEfPt, axisEfRap});
1210+
1211+ // Single and Two Particle Densities
11971212 // 1D Histograms
11981213 histos.add (" Reco/h1d_n1_mass_LaP" , " #rho_{1}^{#Lambda}" , kTH1D , {axisMass});
11991214 histos.add (" Reco/h1d_n1_mass_LaM" , " #rho_{1}^{#bar{#Lambda}}" , kTH1D , {axisMass});
@@ -1206,6 +1221,14 @@ struct LambdaR2Correlation {
12061221 histos.add (" Reco/h1d_n1_phi_LaP" , " #rho_{1}^{#Lambda}" , kTH1D , {axisPhi});
12071222 histos.add (" Reco/h1d_n1_phi_LaM" , " #rho_{1}^{#bar{#Lambda}}" , kTH1D , {axisPhi});
12081223
1224+ // 2D Histograms for pair
1225+ histos.add (" Reco/h2d_n2_ptpt_LaP_LaM" , " #rho_{2}^{#Lambda#bar{#Lambda}}" , kTH2D , {axisEfPt, axisEfPt});
1226+ histos.add (" Reco/h2d_n2_ptpt_LaP_LaP" , " #rho_{2}^{#Lambda#Lambda}" , kTH2D , {axisEfPt, axisEfPt});
1227+ histos.add (" Reco/h2d_n2_ptpt_LaM_LaM" , " #rho_{2}^{#bar{#Lambda}#bar{#Lambda}}" , kTH2D , {axisEfPt, axisEfPt});
1228+ histos.add (" Reco/h2d_n2_raprap_LaP_LaM" , " #rho_{2}^{#Lambda#bar{#Lambda}}" , kTH2D , {axisEfRap, axisEfRap});
1229+ histos.add (" Reco/h2d_n2_raprap_LaP_LaP" , " #rho_{2}^{#Lambda#Lambda}" , kTH2D , {axisEfRap, axisEfRap});
1230+ histos.add (" Reco/h2d_n2_raprap_LaM_LaM" , " #rho_{2}^{#bar{#Lambda}#bar{#Lambda}}" , kTH2D , {axisEfRap, axisEfRap});
1231+
12091232 // rho1 for R2 deta dphi histograms
12101233 histos.add (" Reco/h2d_n1_rapphi_LaP" , " #rho_{1}^{#Lambda}" , kTH2D , {axisRap, axisPhi});
12111234 histos.add (" Reco/h2d_n1_rapphi_LaM" , " #rho_{1}^{#bar{#Lambda}}" , kTH2D , {axisRap, axisPhi});
@@ -1248,7 +1271,11 @@ struct LambdaR2Correlation {
12481271 int phibin1 = static_cast <int >(p1.phi () / phibinwidth);
12491272 int phibin2 = static_cast <int >(p2.phi () / phibinwidth);
12501273
1251- float corfac = p1.corrFact () * p2.corrFact ();
1274+ float corfac = (p1.corrFact () * p2.corrFact ()) / cAvgPairEffFactor;
1275+
1276+ // QA Histogrms
1277+ histos.fill (HIST (SubDirRecGen[rec_gen]) + HIST (" h2d_n2_ptpt_" ) + HIST (SubDirHist[part_pair]), p1.pt (), p2.pt (), corfac);
1278+ histos.fill (HIST (SubDirRecGen[rec_gen]) + HIST (" h2d_n2_raprap_" ) + HIST (SubDirHist[part_pair]), p1.rap (), p2.rap (), corfac);
12521279
12531280 if (rapbin1 >= 0 && rapbin2 >= 0 && phibin1 >= 0 && phibin2 >= 0 && rapbin1 < nrapbins && rapbin2 < nrapbins && phibin1 < nphibins && phibin2 < nphibins) {
12541281
@@ -1263,6 +1290,10 @@ struct LambdaR2Correlation {
12631290 e = RecoDecay::e (p1.px (), p1.py (), p1.pz (), MassLambda0) - RecoDecay::e (p2.px (), p2.py (), p2.pz (), MassLambda0);
12641291 qinv = std::sqrt (-RecoDecay::m2 (q, e));
12651292 histos.fill (HIST (SubDirRecGen[rec_gen]) + HIST (" h1d_n2_qinv_" ) + HIST (SubDirHist[part_pair]), qinv, corfac);
1293+
1294+ // Efficiency Histograms
1295+ histos.fill (HIST (SubDirRecGen[rec_gen]) + HIST (" Efficiency/h2f_n2_ptpt_" ) + HIST (SubDirHist[part_pair]), p1.pt (), p2.pt ());
1296+ histos.fill (HIST (SubDirRecGen[rec_gen]) + HIST (" Efficiency/h4f_n2_ptrapptrap_" ) + HIST (SubDirHist[part_pair]), p1.pt (), p1.rap (), p2.pt (), p2.rap ());
12661297 }
12671298
12681299 template <ParticleType part, RecGenType rec_gen, typename C, typename T>
0 commit comments