@@ -134,10 +134,15 @@ struct lambdapolarization {
134134
135135 Configurable<bool > cfgCalcCum{" cfgCalcCum" , false , " flag to calculate cumulants" };
136136
137+ Configurable<bool > cfgRapidityDep{" cfgRapidityDep" , false , " flag for rapidity dependent study" };
138+ Configurable<bool > cfgAccAzimuth{" cfgAccAzimuth" , false , " flag for azimuth closure study" };
139+
137140 ConfigurableAxis massAxis{" massAxis" , {30 , 1.1 , 1.13 }, " Invariant mass axis" };
138141 ConfigurableAxis ptAxis{" ptAxis" , {VARIABLE_WIDTH, 0.2 , 0.5 , 1.0 , 1.5 , 2.0 , 2.5 , 3.0 , 4.0 , 5.0 , 6.5 , 8.0 , 10.0 , 100.0 }, " Transverse momentum bins" };
139142 ConfigurableAxis centAxis{" centAxis" , {VARIABLE_WIDTH, 0 , 5 , 10 , 20 , 30 , 40 , 50 , 60 , 70 , 80 , 100 }, " Centrality interval" };
140143 ConfigurableAxis cosAxis{" cosAxis" , {110 , -1.05 , 1.05 }, " Cosine axis" };
144+ ConfigurableAxis RapAxis{" RapAxis" , {10 , -0.5 , 0.5 }, " Rapidity axis" };
145+ ConfigurableAxis qqAxis{" qqAxis" , {100 , -0.1 , 0.1 }, " qq axis" };
141146
142147 TF1* fMultPVCutLow = nullptr ;
143148 TF1* fMultPVCutHigh = nullptr ;
@@ -203,9 +208,19 @@ struct lambdapolarization {
203208 histos.add (Form (" psi%d/h_lambda_cos2" , i), " " , {HistType::kTHnSparseF , {massAxis, ptAxis, cosAxis, centAxis, epAxis}});
204209 histos.add (Form (" psi%d/h_alambda_cos2" , i), " " , {HistType::kTHnSparseF , {massAxis, ptAxis, cosAxis, centAxis, epAxis}});
205210
211+ if (cfgRapidityDep) {
212+ histos.add (Form (" psi%d/h_lambda_cos2_rap" , i), " " , {HistType::kTHnSparseF , {massAxis, ptAxis, cosAxis, centAxis, RapAxis}});
213+ histos.add (Form (" psi%d/h_alambda_cos2_rap" , i), " " , {HistType::kTHnSparseF , {massAxis, ptAxis, cosAxis, centAxis, RapAxis}});
214+ }
215+
206216 histos.add (Form (" psi%d/h_lambda_cossin" , i), " " , {HistType::kTHnSparseF , {massAxis, ptAxis, cosAxis, centAxis}});
207217 histos.add (Form (" psi%d/h_alambda_cossin" , i), " " , {HistType::kTHnSparseF , {massAxis, ptAxis, cosAxis, centAxis}});
208218
219+ if (cfgAccAzimuth) {
220+ histos.add (Form (" psi%d/h_lambda_coscos" , i), " " , {HistType::kTHnSparseF , {massAxis, ptAxis, cosAxis, centAxis}});
221+ histos.add (Form (" psi%d/h_alambda_coscos" , i), " " , {HistType::kTHnSparseF , {massAxis, ptAxis, cosAxis, centAxis}});
222+ }
223+
209224 histos.add (Form (" psi%d/h_lambda_vncos" , i), " " , {HistType::kTHnSparseF , {massAxis, ptAxis, cosAxis, centAxis}});
210225 histos.add (Form (" psi%d/h_lambda_vnsin" , i), " " , {HistType::kTHnSparseF , {massAxis, ptAxis, cosAxis, centAxis}});
211226 histos.add (Form (" psi%d/h_alambda_vncos" , i), " " , {HistType::kTHnSparseF , {massAxis, ptAxis, cosAxis, centAxis}});
@@ -264,6 +279,14 @@ struct lambdapolarization {
264279 histos.add (Form (" psi%d/QA/EP_RefA" , i), " " , {HistType::kTH2F , {centQaAxis, epQaAxis}});
265280 histos.add (Form (" psi%d/QA/EP_RefB" , i), " " , {HistType::kTH2F , {centQaAxis, epQaAxis}});
266281
282+ histos.add (Form (" psi%d/QA/qqAxis_Det_RefA_xx" , i), " " , {HistType::kTH2F , {centQaAxis, qqAxis}});
283+ histos.add (Form (" psi%d/QA/qqAxis_Det_RefB_xx" , i), " " , {HistType::kTH2F , {centQaAxis, qqAxis}});
284+ histos.add (Form (" psi%d/QA/qqAxis_RefA_RefB_xx" , i), " " , {HistType::kTH2F , {centQaAxis, qqAxis}});
285+
286+ histos.add (Form (" psi%d/QA/qqAxis_Det_RefA_yy" , i), " " , {HistType::kTH2F , {centQaAxis, qqAxis}});
287+ histos.add (Form (" psi%d/QA/qqAxis_Det_RefB_yy" , i), " " , {HistType::kTH2F , {centQaAxis, qqAxis}});
288+ histos.add (Form (" psi%d/QA/qqAxis_RefA_RefB_yy" , i), " " , {HistType::kTH2F , {centQaAxis, qqAxis}});
289+
267290 histos.add (Form (" psi%d/QA/EPRes_Det_RefA" , i), " " , {HistType::kTH2F , {centQaAxis, cosAxis}});
268291 histos.add (Form (" psi%d/QA/EPRes_Det_RefB" , i), " " , {HistType::kTH2F , {centQaAxis, cosAxis}});
269292 histos.add (Form (" psi%d/QA/EPRes_RefA_RefB" , i), " " , {HistType::kTH2F , {centQaAxis, cosAxis}});
@@ -457,6 +480,14 @@ struct lambdapolarization {
457480 histos.fill (HIST (" psi2/QA/EP_RefA" ), centrality, TMath::ATan2 (collision.qvecIm ()[QvecRefAInd], collision.qvecRe ()[QvecRefAInd]) / static_cast <float >(nmode));
458481 histos.fill (HIST (" psi2/QA/EP_RefB" ), centrality, TMath::ATan2 (collision.qvecIm ()[QvecRefBInd], collision.qvecRe ()[QvecRefBInd]) / static_cast <float >(nmode));
459482
483+ histos.fill (HIST (" psi2/QA/qqAxis_Det_RefA_xx" ), centrality, collision.qvecRe ()[QvecDetInd] * collision.qvecRe ()[QvecRefAInd]);
484+ histos.fill (HIST (" psi2/QA/qqAxis_Det_RefB_xx" ), centrality, collision.qvecRe ()[QvecDetInd] * collision.qvecRe ()[QvecRefBInd]);
485+ histos.fill (HIST (" psi2/QA/qqAxis_RefA_RefB_xx" ), centrality, collision.qvecRe ()[QvecRefAInd] * collision.qvecRe ()[QvecRefBInd]);
486+
487+ histos.fill (HIST (" psi2/QA/qqAxis_Det_RefA_yy" ), centrality, collision.qvecIm ()[QvecDetInd] * collision.qvecIm ()[QvecRefAInd]);
488+ histos.fill (HIST (" psi2/QA/qqAxis_Det_RefB_yy" ), centrality, collision.qvecIm ()[QvecDetInd] * collision.qvecIm ()[QvecRefBInd]);
489+ histos.fill (HIST (" psi2/QA/qqAxis_RefA_RefB_yy" ), centrality, collision.qvecIm ()[QvecRefAInd] * collision.qvecIm ()[QvecRefBInd]);
490+
460491 histos.fill (HIST (" psi2/QA/EPRes_Det_RefA" ), centrality, TMath::Cos (TMath::ATan2 (collision.qvecIm ()[QvecDetInd], collision.qvecRe ()[QvecDetInd]) - TMath::ATan2 (collision.qvecIm ()[QvecRefAInd], collision.qvecRe ()[QvecRefAInd])));
461492 histos.fill (HIST (" psi2/QA/EPRes_Det_RefB" ), centrality, TMath::Cos (TMath::ATan2 (collision.qvecIm ()[QvecDetInd], collision.qvecRe ()[QvecDetInd]) - TMath::ATan2 (collision.qvecIm ()[QvecRefBInd], collision.qvecRe ()[QvecRefBInd])));
462493 histos.fill (HIST (" psi2/QA/EPRes_RefA_RefB" ), centrality, TMath::Cos (TMath::ATan2 (collision.qvecIm ()[QvecRefAInd], collision.qvecRe ()[QvecRefAInd]) - TMath::ATan2 (collision.qvecIm ()[QvecRefBInd], collision.qvecRe ()[QvecRefBInd])));
@@ -465,6 +496,14 @@ struct lambdapolarization {
465496 histos.fill (HIST (" psi3/QA/EP_RefA" ), centrality, TMath::ATan2 (collision.qvecIm ()[QvecRefAInd], collision.qvecRe ()[QvecRefAInd]) / static_cast <float >(nmode));
466497 histos.fill (HIST (" psi3/QA/EP_RefB" ), centrality, TMath::ATan2 (collision.qvecIm ()[QvecRefBInd], collision.qvecRe ()[QvecRefBInd]) / static_cast <float >(nmode));
467498
499+ histos.fill (HIST (" psi3/QA/qqAxis_Det_RefA_xx" ), centrality, collision.qvecRe ()[QvecDetInd] * collision.qvecRe ()[QvecRefAInd]);
500+ histos.fill (HIST (" psi3/QA/qqAxis_Det_RefB_xx" ), centrality, collision.qvecRe ()[QvecDetInd] * collision.qvecRe ()[QvecRefBInd]);
501+ histos.fill (HIST (" psi3/QA/qqAxis_RefA_RefB_xx" ), centrality, collision.qvecRe ()[QvecRefAInd] * collision.qvecRe ()[QvecRefBInd]);
502+
503+ histos.fill (HIST (" psi3/QA/qqAxis_Det_RefA_yy" ), centrality, collision.qvecIm ()[QvecDetInd] * collision.qvecIm ()[QvecRefAInd]);
504+ histos.fill (HIST (" psi3/QA/qqAxis_Det_RefB_yy" ), centrality, collision.qvecIm ()[QvecDetInd] * collision.qvecIm ()[QvecRefBInd]);
505+ histos.fill (HIST (" psi3/QA/qqAxis_RefA_RefB_yy" ), centrality, collision.qvecIm ()[QvecRefAInd] * collision.qvecIm ()[QvecRefBInd]);
506+
468507 histos.fill (HIST (" psi3/QA/EPRes_Det_RefA" ), centrality, TMath::Cos (TMath::ATan2 (collision.qvecIm ()[QvecDetInd], collision.qvecRe ()[QvecDetInd]) - TMath::ATan2 (collision.qvecIm ()[QvecRefAInd], collision.qvecRe ()[QvecRefAInd])));
469508 histos.fill (HIST (" psi3/QA/EPRes_Det_RefB" ), centrality, TMath::Cos (TMath::ATan2 (collision.qvecIm ()[QvecDetInd], collision.qvecRe ()[QvecDetInd]) - TMath::ATan2 (collision.qvecIm ()[QvecRefBInd], collision.qvecRe ()[QvecRefBInd])));
470509 histos.fill (HIST (" psi3/QA/EPRes_RefA_RefB" ), centrality, TMath::Cos (TMath::ATan2 (collision.qvecIm ()[QvecRefAInd], collision.qvecRe ()[QvecRefAInd]) - TMath::ATan2 (collision.qvecIm ()[QvecRefBInd], collision.qvecRe ()[QvecRefBInd])));
@@ -473,6 +512,14 @@ struct lambdapolarization {
473512 histos.fill (HIST (" psi4/QA/EP_RefA" ), centrality, TMath::ATan2 (collision.qvecIm ()[QvecRefAInd], collision.qvecRe ()[QvecRefAInd]) / static_cast <float >(nmode));
474513 histos.fill (HIST (" psi4/QA/EP_RefB" ), centrality, TMath::ATan2 (collision.qvecIm ()[QvecRefBInd], collision.qvecRe ()[QvecRefBInd]) / static_cast <float >(nmode));
475514
515+ histos.fill (HIST (" psi4/QA/qqAxis_Det_RefA_xx" ), centrality, collision.qvecRe ()[QvecDetInd] * collision.qvecRe ()[QvecRefAInd]);
516+ histos.fill (HIST (" psi4/QA/qqAxis_Det_RefB_xx" ), centrality, collision.qvecRe ()[QvecDetInd] * collision.qvecRe ()[QvecRefBInd]);
517+ histos.fill (HIST (" psi4/QA/qqAxis_RefA_RefB_xx" ), centrality, collision.qvecRe ()[QvecRefAInd] * collision.qvecRe ()[QvecRefBInd]);
518+
519+ histos.fill (HIST (" psi4/QA/qqAxis_Det_RefA_yy" ), centrality, collision.qvecIm ()[QvecDetInd] * collision.qvecIm ()[QvecRefAInd]);
520+ histos.fill (HIST (" psi4/QA/qqAxis_Det_RefB_yy" ), centrality, collision.qvecIm ()[QvecDetInd] * collision.qvecIm ()[QvecRefBInd]);
521+ histos.fill (HIST (" psi4/QA/qqAxis_RefA_RefB_yy" ), centrality, collision.qvecIm ()[QvecRefAInd] * collision.qvecIm ()[QvecRefBInd]);
522+
476523 histos.fill (HIST (" psi4/QA/EPRes_Det_RefA" ), centrality, TMath::Cos (TMath::ATan2 (collision.qvecIm ()[QvecDetInd], collision.qvecRe ()[QvecDetInd]) - TMath::ATan2 (collision.qvecIm ()[QvecRefAInd], collision.qvecRe ()[QvecRefAInd])));
477524 histos.fill (HIST (" psi4/QA/EPRes_Det_RefB" ), centrality, TMath::Cos (TMath::ATan2 (collision.qvecIm ()[QvecDetInd], collision.qvecRe ()[QvecDetInd]) - TMath::ATan2 (collision.qvecIm ()[QvecRefBInd], collision.qvecRe ()[QvecRefBInd])));
478525 histos.fill (HIST (" psi4/QA/EPRes_RefA_RefB" ), centrality, TMath::Cos (TMath::ATan2 (collision.qvecIm ()[QvecRefAInd], collision.qvecRe ()[QvecRefAInd]) - TMath::ATan2 (collision.qvecIm ()[QvecRefBInd], collision.qvecRe ()[QvecRefBInd])));
@@ -638,6 +685,14 @@ struct lambdapolarization {
638685 histos.fill (HIST (" psi2/h_lambda_vncos" ), v0.mLambda (), v0.pt (), qvecMag * TMath::Cos (relphi), centrality, weight);
639686 histos.fill (HIST (" psi2/h_lambda_vnsin" ), v0.mLambda (), v0.pt (), TMath::Sin (relphi), centrality, weight);
640687
688+ if (cfgRapidityDep) {
689+ histos.fill (HIST (" psi2/h_lambda_cos2_rap" ), v0.mLambda (), v0.pt (), angle * angle, centrality, v0.yLambda (), weight);
690+ }
691+
692+ if (cfgAccAzimuth) {
693+ histos.fill (HIST (" psi2/h_lambda_coscos" ), v0.mLambda (), v0.pt (), angle * TMath::Cos (relphi), centrality, weight);
694+ }
695+
641696 if (cfgCalcCum) {
642697 histos.fill (HIST (" psi2/QA/cosTheta_l" ), v0.mLambda (), v0.pt (), angle, centrality);
643698 histos.fill (HIST (" psi2/QA/cosPsi_l" ), v0.mLambda (), v0.pt (), TMath::Cos (psi * 2.0 ), centrality);
@@ -663,6 +718,14 @@ struct lambdapolarization {
663718 histos.fill (HIST (" psi2/h_alambda_vncos" ), v0.mAntiLambda (), v0.pt (), qvecMag * TMath::Cos (relphi), centrality, weight);
664719 histos.fill (HIST (" psi2/h_alambda_vnsin" ), v0.mAntiLambda (), v0.pt (), TMath::Sin (relphi), centrality, weight);
665720
721+ if (cfgRapidityDep) {
722+ histos.fill (HIST (" psi2/h_alambda_cos2_rap" ), v0.mAntiLambda (), v0.pt (), angle * angle, centrality, v0.yLambda (), weight);
723+ }
724+
725+ if (cfgAccAzimuth) {
726+ histos.fill (HIST (" psi2/h_alambda_coscos" ), v0.mAntiLambda (), v0.pt (), angle * TMath::Cos (relphi), centrality, weight);
727+ }
728+
666729 if (cfgCalcCum) {
667730 histos.fill (HIST (" psi2/QA/cosTheta_al" ), v0.mLambda (), v0.pt (), angle, centrality);
668731 histos.fill (HIST (" psi2/QA/cosPsi_al" ), v0.mLambda (), v0.pt (), TMath::Cos (psi * 2.0 ), centrality);
@@ -688,13 +751,29 @@ struct lambdapolarization {
688751 histos.fill (HIST (" psi3/h_lambda_cossin" ), v0.mLambda (), v0.pt (), angle * TMath::Sin (relphi), centrality, weight);
689752 histos.fill (HIST (" psi3/h_lambda_vncos" ), v0.mLambda (), v0.pt (), qvecMag * TMath::Cos (relphi), centrality, weight);
690753 histos.fill (HIST (" psi3/h_lambda_vnsin" ), v0.mLambda (), v0.pt (), TMath::Sin (relphi), centrality, weight);
754+
755+ if (cfgRapidityDep) {
756+ histos.fill (HIST (" psi3/h_lambda_cos2_rap" ), v0.mLambda (), v0.pt (), angle * angle, centrality, v0.yLambda (), weight);
757+ }
758+
759+ if (cfgAccAzimuth) {
760+ histos.fill (HIST (" psi3/h_lambda_coscos" ), v0.mLambda (), v0.pt (), angle * TMath::Cos (relphi), centrality, weight);
761+ }
691762 }
692763 if (aLambdaTag) {
693764 histos.fill (HIST (" psi3/h_alambda_cos" ), v0.mAntiLambda (), v0.pt (), angle, centrality, relphi, weight);
694765 histos.fill (HIST (" psi3/h_alambda_cos2" ), v0.mAntiLambda (), v0.pt (), angle * angle, centrality, relphi, weight);
695766 histos.fill (HIST (" psi3/h_alambda_cossin" ), v0.mAntiLambda (), v0.pt (), angle * TMath::Sin (relphi), centrality, weight);
696767 histos.fill (HIST (" psi3/h_alambda_vncos" ), v0.mAntiLambda (), v0.pt (), qvecMag * TMath::Cos (relphi), centrality, weight);
697768 histos.fill (HIST (" psi3/h_alambda_vnsin" ), v0.mAntiLambda (), v0.pt (), TMath::Sin (relphi), centrality, weight);
769+
770+ if (cfgRapidityDep) {
771+ histos.fill (HIST (" psi3/h_alambda_cos2_rap" ), v0.mAntiLambda (), v0.pt (), angle * angle, centrality, v0.yLambda (), weight);
772+ }
773+
774+ if (cfgAccAzimuth) {
775+ histos.fill (HIST (" psi3/h_alambda_coscos" ), v0.mAntiLambda (), v0.pt (), angle * TMath::Cos (relphi), centrality, weight);
776+ }
698777 }
699778 } else if (nmode == 4 ) {
700779 if (LambdaTag) {
@@ -703,13 +782,29 @@ struct lambdapolarization {
703782 histos.fill (HIST (" psi4/h_lambda_cossin" ), v0.mLambda (), v0.pt (), angle * TMath::Sin (relphi), centrality, weight);
704783 histos.fill (HIST (" psi4/h_lambda_vncos" ), v0.mLambda (), v0.pt (), qvecMag * TMath::Cos (relphi), centrality, weight);
705784 histos.fill (HIST (" psi4/h_lambda_vnsin" ), v0.mLambda (), v0.pt (), TMath::Sin (relphi), centrality, weight);
785+
786+ if (cfgRapidityDep) {
787+ histos.fill (HIST (" psi4/h_lambda_cos2_rap" ), v0.mLambda (), v0.pt (), angle * angle, centrality, v0.yLambda (), weight);
788+ }
789+
790+ if (cfgAccAzimuth) {
791+ histos.fill (HIST (" psi4/h_lambda_coscos" ), v0.mLambda (), v0.pt (), angle * TMath::Cos (relphi), centrality, weight);
792+ }
706793 }
707794 if (aLambdaTag) {
708795 histos.fill (HIST (" psi4/h_alambda_cos" ), v0.mAntiLambda (), v0.pt (), angle, centrality, relphi, weight);
709796 histos.fill (HIST (" psi4/h_alambda_cos2" ), v0.mAntiLambda (), v0.pt (), angle * angle, centrality, relphi, weight);
710797 histos.fill (HIST (" psi4/h_alambda_cossin" ), v0.mAntiLambda (), v0.pt (), angle * TMath::Sin (relphi), centrality, weight);
711798 histos.fill (HIST (" psi4/h_alambda_vncos" ), v0.mAntiLambda (), v0.pt (), qvecMag * TMath::Cos (relphi), centrality, weight);
712799 histos.fill (HIST (" psi4/h_alambda_vnsin" ), v0.mAntiLambda (), v0.pt (), TMath::Sin (relphi), centrality, weight);
800+
801+ if (cfgRapidityDep) {
802+ histos.fill (HIST (" psi4/h_alambda_cos2_rap" ), v0.mAntiLambda (), v0.pt (), angle * angle, centrality, v0.yLambda (), weight);
803+ }
804+
805+ if (cfgAccAzimuth) {
806+ histos.fill (HIST (" psi4/h_alambda_coscos" ), v0.mAntiLambda (), v0.pt (), angle * TMath::Cos (relphi), centrality, weight);
807+ }
713808 }
714809 } // //////// FIXME: not possible to get histograms using nmode
715810 }
0 commit comments