Skip to content

Commit 12dcf24

Browse files
MaximVirtaalibuild
andauthored
[PWGCF] SPC corrections added (#14437)
Co-authored-by: ALICE Action Bot <alibuild@cern.ch>
1 parent aa6de1c commit 12dcf24

File tree

3 files changed

+31
-2
lines changed

3 files changed

+31
-2
lines changed

PWGCF/JCorran/Core/FlowJHistManager.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,7 @@ class FlowJHistManager
235235
mHistRegistryQA->fill(HIST(MCentClasses[cBin]) + HIST(SubDir[mode]) + HIST("histPt"), track.pt());
236236
mHistRegistryQA->fill(HIST(MCentClasses[cBin]) + HIST(SubDir[mode]) + HIST("histEta"), track.eta());
237237
mHistRegistryQA->fill(HIST(MCentClasses[cBin]) + HIST(SubDir[mode]) + HIST("histPhi"), track.phi());
238-
mHistRegistryQA->fill(HIST(MCentClasses[cBin]) + HIST(SubDir[mode]) + HIST("histCharge"), track.sign());
238+
// mHistRegistryQA->fill(HIST(MCentClasses[cBin]) + HIST(SubDir[mode]) + HIST("histCharge"), track.sign());
239239

240240
if (mode == 1) { // 'Weight' distributions are defined only for After/.
241241
mHistRegistryQA->fill(HIST(MCentClasses[cBin]) + HIST("After/histPtCorrected"),
@@ -257,6 +257,7 @@ class FlowJHistManager
257257

258258
if (mSaveAllQA) {
259259
// TPC information.
260+
/*
260261
mHistRegistryQA->fill(HIST(MCentClasses[cBin]) + HIST(SubDir[mode]) + HIST("histTPCNClsFound"),
261262
track.tpcNClsFound());
262263
mHistRegistryQA->fill(HIST(MCentClasses[cBin]) + HIST(SubDir[mode]) + HIST("histTPCNClsCrossedRows"),
@@ -283,6 +284,7 @@ class FlowJHistManager
283284
track.pt(), track.dcaXY());
284285
mHistRegistryQA->fill(HIST(MCentClasses[cBin]) + HIST(SubDir[mode]) + HIST("histDCAz"),
285286
track.dcaZ());
287+
*/
286288
}
287289

288290
if (mDebugLog) {

PWGCF/JCorran/Core/FlowJSPCObservables.h

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ class FlowJSPCObservables
6767
{0, 0, 0, 0, 0, 0, 0, 0}};
6868
memcpy(harmonicArray, harmonicArray02, sizeof(int) * maxNrComb * 8);
6969
} break;
70-
case 3: {
70+
case 2: {
7171
LOGF(info, "Computing five and six harmonic SPC");
7272
int harmonicArray03[maxNrComb][8] = {
7373
{5, 3, 3, -2, -2, -2, 0, 0},
@@ -84,6 +84,23 @@ class FlowJSPCObservables
8484
{0, 0, 0, 0, 0, 0, 0, 0}};
8585
memcpy(harmonicArray, harmonicArray03, sizeof(int) * maxNrComb * 8);
8686
} break;
87+
case 3: {
88+
LOGF(info, "Computing slected five harmonic SPC");
89+
int harmonicArray04[maxNrComb][8] = {
90+
{5, 3, 3, -2, -2, -2, 0, 0},
91+
{0, 2, 2, -3, 4, -5, 0, 0},
92+
{5, 2, 3, 3, -4, -4, 0, 0},
93+
{0, 3, 3, 3, -4, -5, 0, 0},
94+
{0, 2, 3, -4, 5, -6, 0, 0},
95+
{0, 8, -2, -2, -2, -2, 0, 0},
96+
{0, 2, 2, 2, 2, -4, -4, 0},
97+
{0, 2, 3, 4, 4, -6, -7, 0},
98+
{0, 2, 2, 2, 2, -3, -5, 0},
99+
{0, 2, 2, 2, 3, -4, -5, 0},
100+
{0, 2, 2, 3, 3, -4, -6, 0},
101+
{0, 0, 0, 0, 0, 0, 0, 0}};
102+
memcpy(harmonicArray, harmonicArray04, sizeof(int) * maxNrComb * 8);
103+
} break;
87104
default:
88105
LOGF(error, "ERROR: Invalid configuration index. Skipping this element.");
89106
}

PWGCF/JCorran/Tasks/flowJSPCAnalysis.cxx

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,8 @@ struct flowJSPCAnalysis {
5959
FlowJSPCAnalysis::JQVectorsT jqvecs;
6060
template <class T>
6161
using HasWeightNUA = decltype(std::declval<T&>().weightNUA());
62+
template <class T>
63+
using HasWeightEff = decltype(std::declval<T&>().weightEff());
6264

6365
HistogramRegistry qaHistRegistry{"qaHistRegistry", {}, OutputObjHandlingPolicy::AnalysisObject, true, true};
6466
FlowJHistManager histManager;
@@ -117,11 +119,19 @@ struct flowJSPCAnalysis {
117119
int cBin = histManager.getCentBin(cent);
118120
spcHistograms.fill(HIST("FullCentrality"), cent);
119121
int nTracks = tracks.size();
122+
double wNUA = 1.0;
123+
double wEff = 1.0;
120124
for (const auto& track : tracks) {
121125
if (cfgFillQA) {
122126
// histManager.FillTrackQA<0>(track, cBin, collision.posZ());
123127

124128
using JInputClassIter = typename TrackT::iterator;
129+
if constexpr (std::experimental::is_detected<HasWeightNUA, const JInputClassIter>::value)
130+
wNUA = track.weightNUA();
131+
if constexpr (std::experimental::is_detected<HasWeightEff, const JInputClassIter>::value)
132+
wEff = track.weightEff();
133+
histManager.fillTrackQA<1>(track, cBin, wEff, wNUA, collision.posZ());
134+
125135
if constexpr (std::experimental::is_detected<HasWeightNUA, const JInputClassIter>::value) {
126136
spcAnalysis.fillQAHistograms(cBin, track.phi(), 1. / track.weightNUA());
127137
}

0 commit comments

Comments
 (0)