Skip to content

Commit dc0c830

Browse files
authored
[PWGCF] FemtoUniverse: Fixing issues with covariance matrix (#9245)
1 parent 1d99412 commit dc0c830

File tree

1 file changed

+26
-24
lines changed

1 file changed

+26
-24
lines changed

PWGCF/FemtoUniverse/Core/FemtoUniversePairSHCentMultKt.h

Lines changed: 26 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
#include <memory>
2323
#include "Framework/HistogramRegistry.h"
2424

25-
using namespace o2::constants::physics;
25+
// using namespace o2::constants::physics;
2626

2727
namespace o2::analysis::femto_universe
2828
{
@@ -117,6 +117,7 @@ class PairSHCentMultKt
117117
} else {
118118
suffix = "Ylm" + std::to_string(felsi[ihist]) + std::to_string(femsi[ihist]);
119119
}
120+
// std::cout<<"ihist "<<ihist<<" "<<suffix.c_str()<<std::endl;
120121
if (FolderSuffix[EventType] == FolderSuffix[0]) {
121122
fnumsreal[i][j][ihist] = pairSHCentMultKtRegistry->add<TH1>(
122123
(histFolderMult + "/" + histFolderkT + "/" + "NumRe" + suffix).c_str(),
@@ -141,6 +142,7 @@ class PairSHCentMultKt
141142
{(kMaxJM * 2), -0.5, ((static_cast<float>(kMaxJM) * 2.0 - 0.5))},
142143
{(kMaxJM * 2), -0.5,
143144
((static_cast<float>(kMaxJM) * 2.0 - 0.5))}});
145+
fcovnum[i][j]->Sumw2();
144146
} else if (FolderSuffix[EventType] == FolderSuffix[1]) {
145147
std::string bufnameDen = "CovDen";
146148
fcovden[i][j] = pairSHCentMultKtRegistry->add<TH3>((histFolderMult + "/" + histFolderkT + "/" + bufnameDen).c_str(), "; x; y; z", kTH3D,
@@ -257,7 +259,9 @@ class PairSHCentMultKt
257259
const float qlong = f3d[3];
258260

259261
double kv = std::sqrt(qout * qout + qside * qside + qlong * qlong);
260-
int nqbin = fbinctn[0][0]->GetXaxis()->FindFixBin(kv) - 1;
262+
263+
// int nqbin = fbinctn[0][0]->GetXaxis()->FindFixBin(kv);
264+
// int nqbinnotfix = fbinctn[0][0]->GetXaxis()->FindBin(kv);
261265

262266
FemtoUniverseSpherHarMath kYlm;
263267
kYlm.doYlmUpToL(kMaxL, qout, qside, qlong, fYlmBuffer.data());
@@ -268,17 +272,16 @@ class PairSHCentMultKt
268272
fnumsimag[fMultBin][fKtBin][ihist]->Fill(kv, -imag(fYlmBuffer[ihist]));
269273
fbinctn[fMultBin][fKtBin]->Fill(kv, 1.0);
270274
}
271-
if (nqbin < fbinctn[0][0]->GetNbinsX()) {
272-
for (int ilmzero = 0; ilmzero < kMaxJM; ilmzero++) {
273-
for (int ilmprim = 0; ilmprim < kMaxJM; ilmprim++) {
274-
fcovmnum[fMultBin][fKtBin][getBin(nqbin, ilmzero, 0, ilmprim, 0)] +=
275-
(real(fYlmBuffer[ilmzero]) * real(fYlmBuffer[ilmprim]));
276-
fcovmnum[fMultBin][fKtBin][getBin(nqbin, ilmzero, 0, ilmprim, 1)] +=
277-
(real(fYlmBuffer[ilmzero]) * -imag(fYlmBuffer[ilmprim]));
278-
fcovmnum[fMultBin][fKtBin][getBin(nqbin, ilmzero, 1, ilmprim, 0)] +=
279-
(-imag(fYlmBuffer[ilmzero]) * real(fYlmBuffer[ilmprim]));
280-
fcovmnum[fMultBin][fKtBin][getBin(nqbin, ilmzero, 1, ilmprim, 1)] +=
281-
(-imag(fYlmBuffer[ilmzero]) * -imag(fYlmBuffer[ilmprim]));
275+
for (int ilmzero = 0; ilmzero < kMaxJM * 2; ilmzero++) {
276+
for (int ilmprim = 0; ilmprim < kMaxJM * 2; ilmprim++) {
277+
if ((ilmzero % 2) == 0 && (ilmprim % 2) == 0) {
278+
fcovnum[fMultBin][fKtBin]->Fill(kv, ilmzero, ilmprim, (real(fYlmBuffer[ilmzero / 2]) * real(fYlmBuffer[ilmprim / 2])));
279+
} else if ((ilmzero % 2) == 0 && (ilmprim % 2) == 1) {
280+
fcovnum[fMultBin][fKtBin]->Fill(kv, ilmzero, ilmprim, (real(fYlmBuffer[ilmzero / 2]) * -imag(fYlmBuffer[ilmprim / 2])));
281+
} else if ((ilmzero % 2) == 1 && (ilmprim % 2) == 0) {
282+
fcovnum[fMultBin][fKtBin]->Fill(kv, ilmzero, ilmprim, (-imag(fYlmBuffer[ilmzero / 2]) * real(fYlmBuffer[ilmprim / 2])));
283+
} else if ((ilmzero % 2) == 1 && (ilmprim % 2) == 1) {
284+
fcovnum[fMultBin][fKtBin]->Fill(kv, ilmzero, ilmprim, (-imag(fYlmBuffer[ilmzero / 2]) * -imag(fYlmBuffer[ilmprim / 2])));
282285
}
283286
}
284287
}
@@ -288,17 +291,16 @@ class PairSHCentMultKt
288291
fdensimag[fMultBin][fKtBin][ihist]->Fill(kv, -imag(fYlmBuffer[ihist]));
289292
fbinctd[fMultBin][fKtBin]->Fill(kv, 1.0);
290293
}
291-
if (nqbin < fbinctd[0][0]->GetNbinsX()) {
292-
for (int ilmzero = 0; ilmzero < kMaxJM; ilmzero++) {
293-
for (int ilmprim = 0; ilmprim < kMaxJM; ilmprim++) {
294-
fcovmden[fMultBin][fKtBin][getBin(nqbin, ilmzero, 0, ilmprim, 0)] +=
295-
(real(fYlmBuffer[ilmzero]) * real(fYlmBuffer[ilmprim]));
296-
fcovmden[fMultBin][fKtBin][getBin(nqbin, ilmzero, 0, ilmprim, 1)] +=
297-
(real(fYlmBuffer[ilmzero]) * -imag(fYlmBuffer[ilmprim]));
298-
fcovmden[fMultBin][fKtBin][getBin(nqbin, ilmzero, 1, ilmprim, 0)] +=
299-
(-imag(fYlmBuffer[ilmzero]) * real(fYlmBuffer[ilmprim]));
300-
fcovmden[fMultBin][fKtBin][getBin(nqbin, ilmzero, 1, ilmprim, 1)] +=
301-
(-imag(fYlmBuffer[ilmzero]) * -imag(fYlmBuffer[ilmprim]));
294+
for (int ilmzero = 0; ilmzero < kMaxJM * 2; ilmzero++) {
295+
for (int ilmprim = 0; ilmprim < kMaxJM * 2; ilmprim++) {
296+
if ((ilmzero % 2) == 0 && (ilmprim % 2) == 0) {
297+
fcovden[fMultBin][fKtBin]->Fill(kv, ilmzero, ilmprim, (real(fYlmBuffer[ilmzero / 2]) * real(fYlmBuffer[ilmprim / 2])));
298+
} else if ((ilmzero % 2) == 0 && (ilmprim % 2) == 1) {
299+
fcovden[fMultBin][fKtBin]->Fill(kv, ilmzero, ilmprim, (real(fYlmBuffer[ilmzero / 2]) * -imag(fYlmBuffer[ilmprim / 2])));
300+
} else if ((ilmzero % 2) == 1 && (ilmprim % 2) == 0) {
301+
fcovden[fMultBin][fKtBin]->Fill(kv, ilmzero, ilmprim, (-imag(fYlmBuffer[ilmzero / 2]) * real(fYlmBuffer[ilmprim / 2])));
302+
} else if ((ilmzero % 2) == 1 && (ilmprim % 2) == 1) {
303+
fcovden[fMultBin][fKtBin]->Fill(kv, ilmzero, ilmprim, (-imag(fYlmBuffer[ilmzero / 2]) * -imag(fYlmBuffer[ilmprim / 2])));
302304
}
303305
}
304306
}

0 commit comments

Comments
 (0)