@@ -83,6 +83,12 @@ struct qVectorsTable {
8383 kRescale ,
8484 kNCorrections
8585 };
86+ enum MultNorms {
87+ kNoNorm = 0 ,
88+ kScalarProd ,
89+ kEsE ,
90+ kMultNormTypes
91+ };
8692
8793 // Configurables.
8894 struct : ConfigurableGroup {
@@ -392,18 +398,30 @@ struct qVectorsTable {
392398 }
393399 }
394400
395- void NormalizeQvec (std::vector<float >& QvecReNorm, std::vector<float >& QvecImNorm, std::vector<float > QvecReRaw, std::vector<float > QvecImRaw, std::vector<float >& QvecAmp, bool useSqrt = false ) {
396-
401+ void NormalizeQvec (std::vector<float >& QvecReNorm,
402+ std::vector<float >& QvecImNorm,
403+ std::vector<float > QvecReRaw,
404+ std::vector<float > QvecImRaw,
405+ std::vector<float >& QvecAmp,
406+ MultNorms normType)
407+ {
397408 for (std::size_t i = 0 ; i < kNDetectors ; i++) {
398409 float qVecDetReNorm{999 .}, qVecDetImNorm{999 .};
399410 if (QvecAmp[i] > 1e-8 ) {
400- if (useSqrt) {
401- qVecDetReNorm = QvecReRaw[i] / std::sqrt (QvecAmp[i]);
402- qVecDetImNorm = QvecImRaw[i] / std::sqrt (QvecAmp[i]);
403- } else {
404- qVecDetReNorm = QvecReRaw[i] / QvecAmp[i];
405- qVecDetImNorm = QvecImRaw[i] / QvecAmp[i];
411+ switch (normType) {
412+ case MultNorms::kScalarProd :
413+ qVecDetReNorm = QvecReRaw[i] / QvecAmp[i];
414+ qVecDetImNorm = QvecImRaw[i] / QvecAmp[i];
415+ break ;
416+ case MultNorms::kEsE :
417+ qVecDetReNorm = QvecReRaw[i] / std::sqrt (QvecAmp[i]);
418+ qVecDetImNorm = QvecImRaw[i] / std::sqrt (QvecAmp[i]);
419+ break ;
420+ default :
421+ LOGP (fatal, " Undefined normalization type for Q-vector amplitude. Check the configuration." );
422+ break ;
406423 }
424+ std::cout << " [NORMALIZED] " << i << " Re: " << qVecDetReNorm << " , Im: " << qVecDetImNorm << " , amp: " << QvecAmp[i] << std::endl;
407425 }
408426 for (int iCorr=0 ; iCorr < Corrections::kNCorrections ; iCorr++) {
409427 QvecReNorm.push_back (qVecDetReNorm);
@@ -548,7 +566,6 @@ struct qVectorsTable {
548566 helperEP.SumQvectors (0 , FT0AchId, ampl / FT0RelGainConst[FT0AchId], nMode, QvecFT0M, sumAmplFT0M, ft0geom, fv0geom);
549567 }
550568 if (sumAmplFT0A > 1e-8 ) {
551- QvecDet /= sumAmplFT0A;
552569 qVectFT0A[0 ] = QvecDet.Re ();
553570 qVectFT0A[1 ] = QvecDet.Im ();
554571 }
@@ -568,12 +585,10 @@ struct qVectorsTable {
568585 }
569586
570587 if (sumAmplFT0C > 1e-8 ) {
571- QvecDet /= sumAmplFT0C;
572588 qVectFT0C[0 ] = QvecDet.Re ();
573589 qVectFT0C[1 ] = QvecDet.Im ();
574590 }
575591 if (sumAmplFT0M > 1e-8 && useDetector[" QvectorFT0Ms" ]) {
576- QvecFT0M /= sumAmplFT0M;
577592 qVectFT0M[0 ] = QvecFT0M.Re ();
578593 qVectFT0M[1 ] = QvecFT0M.Im ();
579594 }
@@ -594,7 +609,6 @@ struct qVectorsTable {
594609 }
595610
596611 if (sumAmplFV0A > 1e-8 ) {
597- QvecDet /= sumAmplFV0A;
598612 qVectFV0A[0 ] = QvecDet.Re ();
599613 qVectFV0A[1 ] = QvecDet.Im ();
600614 }
@@ -658,10 +672,20 @@ struct qVectorsTable {
658672 QvecAmp.push_back (static_cast <float >(nTrkTPCpos));
659673 QvecAmp.push_back (static_cast <float >(nTrkTPCneg));
660674 QvecAmp.push_back (static_cast <float >(nTrkTPCall));
675+
676+ LOG (info) << " [RAW] qVectFT0A: " << qVectFT0A[0 ] << " , " << qVectFT0A[1 ] << " , ampl: " << sumAmplFT0A;
677+ LOG (info) << " [RAW] qVectFT0C: " << qVectFT0C[0 ] << " , " << qVectFT0C[1 ] << " , ampl: " << sumAmplFT0C;
678+ LOG (info) << " [RAW] qVectFT0M: " << qVectFT0M[0 ] << " , " << qVectFT0M[1 ] << " , ampl: " << sumAmplFT0M;
679+ LOG (info) << " [RAW] qVectFV0A: " << qVectFV0A[0 ] << " , " << qVectFV0A[1 ] << " , ampl: " << sumAmplFV0A;
680+ LOG (info) << " [RAW] qVectTPCpos: " << qVectTPCpos[0 ] << " , " << qVectTPCpos[1 ] << " , nTrk: " << nTrkTPCpos;
681+ LOG (info) << " [RAW] qVectTPCneg: " << qVectTPCneg[0 ] << " , " << qVectTPCneg[1 ] << " , nTrk: " << nTrkTPCneg;
682+ LOG (info) << " [RAW] qVectTPCall: " << qVectTPCall[0 ] << " , " << qVectTPCall[1 ] << " , nTrk: " << nTrkTPCall;
683+
661684 }
662685
663686 void process (MyCollisions::iterator const & coll, aod::BCsWithTimestamps const &, aod::FT0s const &, aod::FV0As const &, MyTracks const & tracks)
664687 {
688+ LOG (info) << " ---------------------------- Processing Event ---------------------------" ;
665689 std::vector<int > TrkTPCposLabel{};
666690 std::vector<int > TrkTPCnegLabel{};
667691 std::vector<int > TrkTPCallLabel{};
@@ -729,19 +753,17 @@ struct qVectorsTable {
729753 // Scalar Product Q-vectors, normalization by multiplicity/amplitude
730754 std::vector<float > nModeQvecReSp{};
731755 std::vector<float > nModeQvecImSp{};
732- NormalizeQvec (nModeQvecReSp, nModeQvecImSp, qvecReRaw, qvecImRaw, qvecAmp, false );
756+ NormalizeQvec (nModeQvecReSp, nModeQvecImSp, qvecReRaw, qvecImRaw, qvecAmp, MultNorms:: kScalarProd );
733757 CorrectQvec (cent, nModeQvecReSp, nModeQvecImSp, corrsQvecSp[id], nMode);
734-
735758 // Add to summary vector
736759 qvecReSp.insert (qvecReSp.end (), nModeQvecReSp.begin (), nModeQvecReSp.end ());
737760 qvecImSp.insert (qvecImSp.end (), nModeQvecImSp.begin (), nModeQvecImSp.end ());
738761
739762 // Ese Q-vectors, normalization by sqrt(multiplicity/amplitude)
740763 std::vector<float > nModeQvecReEse{};
741764 std::vector<float > nModeQvecImEse{};
742- NormalizeQvec (nModeQvecReEse, nModeQvecImEse, qvecReRaw, qvecImRaw, qvecAmp, true );
765+ NormalizeQvec (nModeQvecReEse, nModeQvecImEse, qvecReRaw, qvecImRaw, qvecAmp, MultNorms:: kEsE );
743766 CorrectQvec (cent, nModeQvecReEse, nModeQvecImEse, corrsQvecEse[id], nMode);
744-
745767 // Add to summary vector
746768 qvecReEse.insert (qvecReEse.end (), nModeQvecReEse.begin (), nModeQvecReEse.end ());
747769 qvecImEse.insert (qvecImEse.end (), nModeQvecImEse.begin (), nModeQvecImEse.end ());
@@ -798,6 +820,16 @@ struct qVectorsTable {
798820 if (useDetector[" QvectorTPCalls" ])
799821 qVectorTPCall (IsCalibrated, qvecReTPCallSp.at (0 ), qvecImTPCallSp.at (0 ), qvecAmp[kTPCall ], TrkTPCallLabel);
800822
823+ // Debug prints of values after corrections
824+ std::cout << " [CORRECTED] FT0C, Re: " << qvecReFT0CSp.at (0 ) << " , Im: " << qvecImFT0CSp.at (0 ) << std::endl;
825+ std::cout << " [CORRECTED] FT0A, Re: " << qvecReFT0ASp.at (0 ) << " , Im: " << qvecImFT0ASp.at (0 ) << std::endl;
826+ std::cout << " [CORRECTED] FT0M, Re: " << qvecReFT0MSp.at (0 ) << " , Im: " << qvecImFT0MSp.at (0 ) << std::endl;
827+ std::cout << " [CORRECTED] FV0A, Re: " << qvecReFV0ASp.at (0 ) << " , Im: " << qvecImFV0ASp.at (0 ) << std::endl;
828+ std::cout << " [CORRECTED] TPCpos, Re: " << qvecReTPCposSp.at (0 ) << " , Im: " << qvecImTPCposSp.at (0 ) << std::endl;
829+ std::cout << " [CORRECTED] TPCneg, Re: " << qvecReTPCnegSp.at (0 ) << " , Im: " << qvecImTPCnegSp.at (0 ) << std::endl;
830+ std::cout << " [CORRECTED] TPCall, Re: " << qvecReTPCallSp.at (0 ) << " , Im: " << qvecImTPCallSp.at (0 ) << std::endl;
831+
832+
801833 qVectorFT0CVec (IsCalibrated, qvecReFT0CSp, qvecImFT0CSp, qvecAmp[kFT0C ]);
802834 qVectorFT0AVec (IsCalibrated, qvecReFT0ASp, qvecImFT0ASp, qvecAmp[kFT0A ]);
803835 qVectorFT0MVec (IsCalibrated, qvecReFT0MSp, qvecImFT0MSp, qvecAmp[kFT0M ]);
0 commit comments