Skip to content

Commit 49f1734

Browse files
author
Marcello Di Costanzo
committed
Normalization enum + debug prints
1 parent c42d6c3 commit 49f1734

1 file changed

Lines changed: 48 additions & 16 deletions

File tree

Common/TableProducer/qVectorsTable.cxx

Lines changed: 48 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)