@@ -138,7 +138,8 @@ struct lambdapolarization {
138138 Configurable<bool > cfgAccCor{" cfgAccCor" , false , " flag to apply acceptance correction" };
139139 Configurable<std::string> cfgAccCorPath{" cfgAccCorPath" , " " , " path for pseudo acceptance correction" };
140140
141- Configurable<bool > cfgCalcCum{" cfgCalcCum" , false , " flag to calculate cumulants" };
141+ Configurable<bool > cfgCalcCum{" cfgCalcCum" , false , " flag to calculate cumulants of cossin" };
142+ Configurable<bool > cfgCalcCum1{" cfgCalcCum1" , false , " flag to calculate cumulants of coscos" };
142143
143144 Configurable<bool > cfgRapidityDep{" cfgRapidityDep" , false , " flag for rapidity dependent study" };
144145 Configurable<bool > cfgAccAzimuth{" cfgAccAzimuth" , false , " flag for azimuth closure study" };
@@ -284,6 +285,38 @@ struct lambdapolarization {
284285 histos.add (" psi2/QA/sinPhi_cosPsi_al" , " " , {HistType::kTHnSparseF , {massAxis, ptAxis, cosAxis, centAxis}});
285286 }
286287
288+ if (cfgCalcCum1) {
289+ histos.add (" psi2/QA/cosTheta_l" , " " , {HistType::kTHnSparseF , {massAxis, ptAxis, cosAxis, centAxis}});
290+ histos.add (" psi2/QA/cosPsi_l" , " " , {HistType::kTHnSparseF , {massAxis, ptAxis, cosAxis, centAxis}});
291+ histos.add (" psi2/QA/cosPhi_l" , " " , {HistType::kTHnSparseF , {massAxis, ptAxis, cosAxis, centAxis}});
292+
293+ histos.add (" psi2/QA/cosPhi_cosPsi_l" , " " , {HistType::kTHnSparseF , {massAxis, ptAxis, cosAxis, centAxis}});
294+ histos.add (" psi2/QA/cosTheta_cosPhi_l" , " " , {HistType::kTHnSparseF , {massAxis, ptAxis, cosAxis, centAxis}});
295+ histos.add (" psi2/QA/cosTheta_cosPsi_l" , " " , {HistType::kTHnSparseF , {massAxis, ptAxis, cosAxis, centAxis}});
296+
297+ histos.add (" psi2/QA/sinPhi_sinPsi_l" , " " , {HistType::kTHnSparseF , {massAxis, ptAxis, cosAxis, centAxis}});
298+ histos.add (" psi2/QA/cosTheta_sinPhi_l" , " " , {HistType::kTHnSparseF , {massAxis, ptAxis, cosAxis, centAxis}});
299+ histos.add (" psi2/QA/cosTheta_sinPsi_l" , " " , {HistType::kTHnSparseF , {massAxis, ptAxis, cosAxis, centAxis}});
300+
301+ histos.add (" psi2/QA/sinPsi_l" , " " , {HistType::kTHnSparseF , {massAxis, ptAxis, cosAxis, centAxis}});
302+ histos.add (" psi2/QA/sinPhi_l" , " " , {HistType::kTHnSparseF , {massAxis, ptAxis, cosAxis, centAxis}});
303+
304+ histos.add (" psi2/QA/cosTheta_al" , " " , {HistType::kTHnSparseF , {massAxis, ptAxis, cosAxis, centAxis}});
305+ histos.add (" psi2/QA/cosPsi_al" , " " , {HistType::kTHnSparseF , {massAxis, ptAxis, cosAxis, centAxis}});
306+ histos.add (" psi2/QA/cosPhi_al" , " " , {HistType::kTHnSparseF , {massAxis, ptAxis, cosAxis, centAxis}});
307+
308+ histos.add (" psi2/QA/cosPhi_cosPsi_al" , " " , {HistType::kTHnSparseF , {massAxis, ptAxis, cosAxis, centAxis}});
309+ histos.add (" psi2/QA/cosTheta_cosPhi_al" , " " , {HistType::kTHnSparseF , {massAxis, ptAxis, cosAxis, centAxis}});
310+ histos.add (" psi2/QA/cosTheta_cosPsi_al" , " " , {HistType::kTHnSparseF , {massAxis, ptAxis, cosAxis, centAxis}});
311+
312+ histos.add (" psi2/QA/sinPhi_sinPsi_al" , " " , {HistType::kTHnSparseF , {massAxis, ptAxis, cosAxis, centAxis}});
313+ histos.add (" psi2/QA/cosTheta_sinPhi_al" , " " , {HistType::kTHnSparseF , {massAxis, ptAxis, cosAxis, centAxis}});
314+ histos.add (" psi2/QA/cosTheta_sinPsi_al" , " " , {HistType::kTHnSparseF , {massAxis, ptAxis, cosAxis, centAxis}});
315+
316+ histos.add (" psi2/QA/sinPsi_al" , " " , {HistType::kTHnSparseF , {massAxis, ptAxis, cosAxis, centAxis}});
317+ histos.add (" psi2/QA/sinPhi_al" , " " , {HistType::kTHnSparseF , {massAxis, ptAxis, cosAxis, centAxis}});
318+ }
319+
287320 if (cfgQAv0) {
288321 histos.add (" QA/CentDist" , " " , {HistType::kTH1F , {centQaAxis}});
289322 histos.add (" QA/PVzDist" , " " , {HistType::kTH1F , {PVzQaAxis}});
@@ -666,9 +699,9 @@ struct lambdapolarization {
666699 auto deltapsiFT0A = 0.0 ;
667700 auto deltapsiFV0A = 0.0 ;
668701
669- auto psidefFT0C = TMath::ATan2 (collision.qvecIm ()[3 + (nmode - 2 ) * 28 ], collision.qvecRe ()[3 + (nmode - 2 ) * 28 ]) / static_cast <float >(nmode);
670- auto psidefFT0A = TMath::ATan2 (collision.qvecIm ()[3 + 4 + (nmode - 2 ) * 28 ], collision.qvecRe ()[3 + 4 + (nmode - 2 ) * 28 ]) / static_cast <float >(nmode);
671- auto psidefFV0A = TMath::ATan2 (collision.qvecIm ()[3 + 12 + (nmode - 2 ) * 28 ], collision.qvecRe ()[3 + 12 + (nmode - 2 ) * 28 ]) / static_cast <float >(nmode);
702+ auto psidefFT0C = TMath::ATan2 (collision.qvecIm ()[QvecDetInd ], collision.qvecRe ()[QvecDetInd ]) / static_cast <float >(nmode);
703+ auto psidefFT0A = TMath::ATan2 (collision.qvecIm ()[QvecRefAInd ], collision.qvecRe ()[QvecRefAInd ]) / static_cast <float >(nmode);
704+ auto psidefFV0A = TMath::ATan2 (collision.qvecIm ()[QvecRefBInd ], collision.qvecRe ()[QvecRefBInd ]) / static_cast <float >(nmode);
672705 for (int ishift = 1 ; ishift <= 10 ; ishift++) {
673706 auto coeffshiftxFT0C = shiftprofile.at (nmode - 2 )->GetBinContent (shiftprofile.at (nmode - 2 )->FindBin (centrality, 0.5 , ishift - 0.5 ));
674707 auto coeffshiftyFT0C = shiftprofile.at (nmode - 2 )->GetBinContent (shiftprofile.at (nmode - 2 )->FindBin (centrality, 1.5 , ishift - 0.5 ));
@@ -681,6 +714,7 @@ struct lambdapolarization {
681714 deltapsiFT0A += ((1 / (1.0 * ishift)) * (-coeffshiftxFT0A * TMath::Cos (ishift * static_cast <float >(nmode) * psidefFT0A) + coeffshiftyFT0A * TMath::Sin (ishift * static_cast <float >(nmode) * psidefFT0A)));
682715 deltapsiFV0A += ((1 / (1.0 * ishift)) * (-coeffshiftxFV0A * TMath::Cos (ishift * static_cast <float >(nmode) * psidefFV0A) + coeffshiftyFV0A * TMath::Sin (ishift * static_cast <float >(nmode) * psidefFV0A)));
683716 }
717+ psi += deltapsiFT0C;
684718 relphi = TVector2::Phi_0_2pi (static_cast <float >(nmode) * (LambdaVec.Phi () - psidefFT0C - deltapsiFT0C));
685719 }
686720
@@ -743,6 +777,22 @@ struct lambdapolarization {
743777 histos.fill (HIST (" psi2/QA/cosPhi_sinPsi_l" ), v0.mLambda (), v0.pt (), TMath::Cos (v0.phi () * 2.0 ) * TMath::Sin (psi * 2.0 ), centrality);
744778 histos.fill (HIST (" psi2/QA/sinPhi_cosPsi_l" ), v0.mLambda (), v0.pt (), TMath::Sin (v0.phi () * 2.0 ) * TMath::Cos (psi * 2.0 ), centrality);
745779 }
780+ if (cfgCalcCum1) {
781+ histos.fill (HIST (" psi2/QA/cosTheta_l" ), v0.mLambda (), v0.pt (), angle, centrality);
782+ histos.fill (HIST (" psi2/QA/cosPsi_l" ), v0.mLambda (), v0.pt (), TMath::Cos (psi * 2.0 ), centrality);
783+ histos.fill (HIST (" psi2/QA/cosPhi_l" ), v0.mLambda (), v0.pt (), TMath::Cos (v0.phi () * 2.0 ), centrality);
784+
785+ histos.fill (HIST (" psi2/QA/cosPhi_cosPsi_l" ), v0.mLambda (), v0.pt (), TMath::Cos (v0.phi () * 2.0 ) * TMath::Cos (psi * 2.0 ), centrality);
786+ histos.fill (HIST (" psi2/QA/cosTheta_cosPhi_l" ), v0.mLambda (), v0.pt (), angle * TMath::Cos (v0.phi () * 2.0 ), centrality);
787+ histos.fill (HIST (" psi2/QA/cosTheta_cosPsi_l" ), v0.mLambda (), v0.pt (), angle * TMath::Cos (psi * 2.0 ), centrality);
788+
789+ histos.fill (HIST (" psi2/QA/sinPhi_sinPsi_l" ), v0.mLambda (), v0.pt (), TMath::Sin (v0.phi () * 2.0 ) * TMath::Sin (psi * 2.0 ), centrality);
790+ histos.fill (HIST (" psi2/QA/cosTheta_sinPhi_l" ), v0.mLambda (), v0.pt (), angle * TMath::Sin (v0.phi () * 2.0 ), centrality);
791+ histos.fill (HIST (" psi2/QA/cosTheta_sinPsi_l" ), v0.mLambda (), v0.pt (), angle * TMath::Sin (psi * 2.0 ), centrality);
792+
793+ histos.fill (HIST (" psi2/QA/sinPsi_l" ), v0.mLambda (), v0.pt (), TMath::Sin (psi * 2.0 ), centrality);
794+ histos.fill (HIST (" psi2/QA/sinPhi_l" ), v0.mLambda (), v0.pt (), TMath::Sin (v0.phi () * 2.0 ), centrality);
795+ }
746796 }
747797 if (aLambdaTag) {
748798 histos.fill (HIST (" psi2/h_alambda_cos" ), v0.mAntiLambda (), v0.pt (), angle, centrality, relphi, weight);
@@ -760,21 +810,37 @@ struct lambdapolarization {
760810 }
761811
762812 if (cfgCalcCum) {
763- histos.fill (HIST (" psi2/QA/cosTheta_al" ), v0.mLambda (), v0.pt (), angle, centrality);
764- histos.fill (HIST (" psi2/QA/cosPsi_al" ), v0.mLambda (), v0.pt (), TMath::Cos (psi * 2.0 ), centrality);
765- histos.fill (HIST (" psi2/QA/cosPhi_al" ), v0.mLambda (), v0.pt (), TMath::Cos (v0.phi () * 2.0 ), centrality);
813+ histos.fill (HIST (" psi2/QA/cosTheta_al" ), v0.mAntiLambda (), v0.pt (), angle, centrality);
814+ histos.fill (HIST (" psi2/QA/cosPsi_al" ), v0.mAntiLambda (), v0.pt (), TMath::Cos (psi * 2.0 ), centrality);
815+ histos.fill (HIST (" psi2/QA/cosPhi_al" ), v0.mAntiLambda (), v0.pt (), TMath::Cos (v0.phi () * 2.0 ), centrality);
816+
817+ histos.fill (HIST (" psi2/QA/sinPsi_al" ), v0.mAntiLambda (), v0.pt (), TMath::Sin (psi * 2.0 ), centrality);
818+ histos.fill (HIST (" psi2/QA/sinPhi_al" ), v0.mAntiLambda (), v0.pt (), TMath::Sin (v0.phi () * 2.0 ), centrality);
819+
820+ histos.fill (HIST (" psi2/QA/cosTheta_cosPhi_al" ), v0.mAntiLambda (), v0.pt (), angle * TMath::Cos (v0.phi () * 2.0 ), centrality);
821+ histos.fill (HIST (" psi2/QA/cosTheta_cosPsi_al" ), v0.mAntiLambda (), v0.pt (), angle * TMath::Cos (psi * 2.0 ), centrality);
766822
767- histos.fill (HIST (" psi2/QA/sinPsi_al" ), v0.mLambda (), v0.pt (), TMath::Sin (psi * 2.0 ), centrality);
768- histos.fill (HIST (" psi2/QA/sinPhi_al" ), v0.mLambda (), v0.pt (), TMath::Sin (v0.phi () * 2.0 ), centrality);
823+ histos.fill (HIST (" psi2/QA/cosTheta_sinPhi_al" ), v0.mAntiLambda (), v0.pt (), angle * TMath::Sin (v0.phi () * 2.0 ), centrality);
824+ histos.fill (HIST (" psi2/QA/cosTheta_sinPsi_al" ), v0.mAntiLambda (), v0.pt (), angle * TMath::Sin (psi * 2.0 ), centrality);
825+
826+ histos.fill (HIST (" psi2/QA/cosPhi_sinPsi_al" ), v0.mAntiLambda (), v0.pt (), TMath::Cos (v0.phi () * 2.0 ) * TMath::Sin (psi * 2.0 ), centrality);
827+ histos.fill (HIST (" psi2/QA/sinPhi_cosPsi_al" ), v0.mAntiLambda (), v0.pt (), TMath::Sin (v0.phi () * 2.0 ) * TMath::Cos (psi * 2.0 ), centrality);
828+ }
829+ if (cfgCalcCum1) {
830+ histos.fill (HIST (" psi2/QA/cosTheta_al" ), v0.mAntiLambda (), v0.pt (), angle, centrality);
831+ histos.fill (HIST (" psi2/QA/cosPsi_al" ), v0.mAntiLambda (), v0.pt (), TMath::Cos (psi * 2.0 ), centrality);
832+ histos.fill (HIST (" psi2/QA/cosPhi_al" ), v0.mAntiLambda (), v0.pt (), TMath::Cos (v0.phi () * 2.0 ), centrality);
769833
770- histos.fill (HIST (" psi2/QA/cosTheta_cosPhi_al" ), v0.mLambda (), v0.pt (), angle * TMath::Cos (v0.phi () * 2.0 ), centrality);
771- histos.fill (HIST (" psi2/QA/cosTheta_cosPsi_al" ), v0.mLambda (), v0.pt (), angle * TMath::Cos (psi * 2.0 ), centrality);
834+ histos.fill (HIST (" psi2/QA/cosPhi_cosPsi_al" ), v0.mAntiLambda (), v0.pt (), TMath::Cos (v0.phi () * 2.0 ) * TMath::Cos (psi * 2.0 ), centrality);
835+ histos.fill (HIST (" psi2/QA/cosTheta_cosPhi_al" ), v0.mAntiLambda (), v0.pt (), angle * TMath::Cos (v0.phi () * 2.0 ), centrality);
836+ histos.fill (HIST (" psi2/QA/cosTheta_cosPsi_al" ), v0.mAntiLambda (), v0.pt (), angle * TMath::Cos (psi * 2.0 ), centrality);
772837
773- histos.fill (HIST (" psi2/QA/cosTheta_sinPhi_al" ), v0.mLambda (), v0.pt (), angle * TMath::Sin (v0.phi () * 2.0 ), centrality);
774- histos.fill (HIST (" psi2/QA/cosTheta_sinPsi_al" ), v0.mLambda (), v0.pt (), angle * TMath::Sin (psi * 2.0 ), centrality);
838+ histos.fill (HIST (" psi2/QA/sinPhi_sinPsi_al" ), v0.mAntiLambda (), v0.pt (), TMath::Sin (v0.phi () * 2.0 ) * TMath::Sin (psi * 2.0 ), centrality);
839+ histos.fill (HIST (" psi2/QA/cosTheta_sinPhi_al" ), v0.mAntiLambda (), v0.pt (), angle * TMath::Sin (v0.phi () * 2.0 ), centrality);
840+ histos.fill (HIST (" psi2/QA/cosTheta_sinPsi_al" ), v0.mAntiLambda (), v0.pt (), angle * TMath::Sin (psi * 2.0 ), centrality);
775841
776- histos.fill (HIST (" psi2/QA/cosPhi_sinPsi_al " ), v0.mLambda (), v0.pt (), TMath::Cos (v0. phi () * 2.0 ) * TMath::Sin (psi * 2.0 ), centrality);
777- histos.fill (HIST (" psi2/QA/sinPhi_cosPsi_al " ), v0.mLambda (), v0.pt (), TMath::Sin (v0.phi () * 2.0 ) * TMath::Cos (psi * 2.0 ), centrality);
842+ histos.fill (HIST (" psi2/QA/sinPsi_al " ), v0.mAntiLambda (), v0.pt (), TMath::Sin (psi * 2.0 ), centrality);
843+ histos.fill (HIST (" psi2/QA/sinPhi_al " ), v0.mAntiLambda (), v0.pt (), TMath::Sin (v0.phi () * 2.0 ), centrality);
778844 }
779845 }
780846 } else if (nmode == 3 ) {
0 commit comments