diff --git a/PWGCF/JCorran/Core/FlowJHistManager.h b/PWGCF/JCorran/Core/FlowJHistManager.h index e067a9f00b5..fa3984b499f 100644 --- a/PWGCF/JCorran/Core/FlowJHistManager.h +++ b/PWGCF/JCorran/Core/FlowJHistManager.h @@ -235,7 +235,7 @@ class FlowJHistManager mHistRegistryQA->fill(HIST(MCentClasses[cBin]) + HIST(SubDir[mode]) + HIST("histPt"), track.pt()); mHistRegistryQA->fill(HIST(MCentClasses[cBin]) + HIST(SubDir[mode]) + HIST("histEta"), track.eta()); mHistRegistryQA->fill(HIST(MCentClasses[cBin]) + HIST(SubDir[mode]) + HIST("histPhi"), track.phi()); - mHistRegistryQA->fill(HIST(MCentClasses[cBin]) + HIST(SubDir[mode]) + HIST("histCharge"), track.sign()); + // mHistRegistryQA->fill(HIST(MCentClasses[cBin]) + HIST(SubDir[mode]) + HIST("histCharge"), track.sign()); if (mode == 1) { // 'Weight' distributions are defined only for After/. mHistRegistryQA->fill(HIST(MCentClasses[cBin]) + HIST("After/histPtCorrected"), @@ -257,6 +257,7 @@ class FlowJHistManager if (mSaveAllQA) { // TPC information. + /* mHistRegistryQA->fill(HIST(MCentClasses[cBin]) + HIST(SubDir[mode]) + HIST("histTPCNClsFound"), track.tpcNClsFound()); mHistRegistryQA->fill(HIST(MCentClasses[cBin]) + HIST(SubDir[mode]) + HIST("histTPCNClsCrossedRows"), @@ -283,6 +284,7 @@ class FlowJHistManager track.pt(), track.dcaXY()); mHistRegistryQA->fill(HIST(MCentClasses[cBin]) + HIST(SubDir[mode]) + HIST("histDCAz"), track.dcaZ()); + */ } if (mDebugLog) { diff --git a/PWGCF/JCorran/Core/FlowJSPCObservables.h b/PWGCF/JCorran/Core/FlowJSPCObservables.h index bc504fe31fe..9fb479772d5 100644 --- a/PWGCF/JCorran/Core/FlowJSPCObservables.h +++ b/PWGCF/JCorran/Core/FlowJSPCObservables.h @@ -67,7 +67,7 @@ class FlowJSPCObservables {0, 0, 0, 0, 0, 0, 0, 0}}; memcpy(harmonicArray, harmonicArray02, sizeof(int) * maxNrComb * 8); } break; - case 3: { + case 2: { LOGF(info, "Computing five and six harmonic SPC"); int harmonicArray03[maxNrComb][8] = { {5, 3, 3, -2, -2, -2, 0, 0}, @@ -84,6 +84,23 @@ class FlowJSPCObservables {0, 0, 0, 0, 0, 0, 0, 0}}; memcpy(harmonicArray, harmonicArray03, sizeof(int) * maxNrComb * 8); } break; + case 3: { + LOGF(info, "Computing slected five harmonic SPC"); + int harmonicArray04[maxNrComb][8] = { + {5, 3, 3, -2, -2, -2, 0, 0}, + {0, 2, 2, -3, 4, -5, 0, 0}, + {5, 2, 3, 3, -4, -4, 0, 0}, + {0, 3, 3, 3, -4, -5, 0, 0}, + {0, 2, 3, -4, 5, -6, 0, 0}, + {0, 8, -2, -2, -2, -2, 0, 0}, + {0, 2, 2, 2, 2, -4, -4, 0}, + {0, 2, 3, 4, 4, -6, -7, 0}, + {0, 2, 2, 2, 2, -3, -5, 0}, + {0, 2, 2, 2, 3, -4, -5, 0}, + {0, 2, 2, 3, 3, -4, -6, 0}, + {0, 0, 0, 0, 0, 0, 0, 0}}; + memcpy(harmonicArray, harmonicArray04, sizeof(int) * maxNrComb * 8); + } break; default: LOGF(error, "ERROR: Invalid configuration index. Skipping this element."); } diff --git a/PWGCF/JCorran/Tasks/flowJSPCAnalysis.cxx b/PWGCF/JCorran/Tasks/flowJSPCAnalysis.cxx index 2ce4568348f..111e1f8e92b 100644 --- a/PWGCF/JCorran/Tasks/flowJSPCAnalysis.cxx +++ b/PWGCF/JCorran/Tasks/flowJSPCAnalysis.cxx @@ -59,6 +59,8 @@ struct flowJSPCAnalysis { FlowJSPCAnalysis::JQVectorsT jqvecs; template using HasWeightNUA = decltype(std::declval().weightNUA()); + template + using HasWeightEff = decltype(std::declval().weightEff()); HistogramRegistry qaHistRegistry{"qaHistRegistry", {}, OutputObjHandlingPolicy::AnalysisObject, true, true}; FlowJHistManager histManager; @@ -117,11 +119,19 @@ struct flowJSPCAnalysis { int cBin = histManager.getCentBin(cent); spcHistograms.fill(HIST("FullCentrality"), cent); int nTracks = tracks.size(); + double wNUA = 1.0; + double wEff = 1.0; for (const auto& track : tracks) { if (cfgFillQA) { // histManager.FillTrackQA<0>(track, cBin, collision.posZ()); using JInputClassIter = typename TrackT::iterator; + if constexpr (std::experimental::is_detected::value) + wNUA = track.weightNUA(); + if constexpr (std::experimental::is_detected::value) + wEff = track.weightEff(); + histManager.fillTrackQA<1>(track, cBin, wEff, wNUA, collision.posZ()); + if constexpr (std::experimental::is_detected::value) { spcAnalysis.fillQAHistograms(cBin, track.phi(), 1. / track.weightNUA()); }