From d0d3c84a62c69084d33a71d170dcababacd42b2f Mon Sep 17 00:00:00 2001 From: Maurice Coquet Date: Mon, 13 Jul 2026 13:18:26 +0200 Subject: [PATCH 01/24] readability-redundant-member-init' --- PWGDQ/Core/HistogramManager.cxx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/PWGDQ/Core/HistogramManager.cxx b/PWGDQ/Core/HistogramManager.cxx index ae062e371e3..a94e455724b 100644 --- a/PWGDQ/Core/HistogramManager.cxx +++ b/PWGDQ/Core/HistogramManager.cxx @@ -48,7 +48,7 @@ HistogramManager::HistogramManager() : TNamed("", ""), fMainList(nullptr), fNVars(0), fUsedVars(nullptr), - fVariablesMap(), + fUseDefaultVariableNames(false), fBinsAllocated(0), fVariableNames(nullptr), @@ -64,7 +64,7 @@ HistogramManager::HistogramManager(const char* name, const char* title, const in fMainList(), fNVars(maxNVars), fUsedVars(), - fVariablesMap(), + fUseDefaultVariableNames(kFALSE), fBinsAllocated(0), fVariableNames(), From cfee67af19ef9a37f011b4dcc61935b6906392ae Mon Sep 17 00:00:00 2001 From: Maurice Coquet Date: Mon, 13 Jul 2026 13:35:16 +0200 Subject: [PATCH 02/24] cppcoreguidelines-prefer-member-initializer --- PWGDQ/Core/HistogramManager.cxx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/PWGDQ/Core/HistogramManager.cxx b/PWGDQ/Core/HistogramManager.cxx index a94e455724b..7a4fea71b79 100644 --- a/PWGDQ/Core/HistogramManager.cxx +++ b/PWGDQ/Core/HistogramManager.cxx @@ -61,9 +61,9 @@ HistogramManager::HistogramManager() : TNamed("", ""), //_______________________________________________________________________________ HistogramManager::HistogramManager(const char* name, const char* title, const int maxNVars) : TNamed(name, title), - fMainList(), + fMainList(new THashList), fNVars(maxNVars), - fUsedVars(), + fUsedVars(new bool[maxNVars]), fUseDefaultVariableNames(kFALSE), fBinsAllocated(0), @@ -73,10 +73,10 @@ HistogramManager::HistogramManager(const char* name, const char* title, const in // // Constructor // - fMainList = new THashList; + fMainList->SetOwner(kTRUE); fMainList->SetName(name); - fUsedVars = new bool[maxNVars]; + for (int i = 0; i < maxNVars; ++i) { fUsedVars[i] = false; } From a9d6917e5b143f0d78cadcae5f832a41730566bf Mon Sep 17 00:00:00 2001 From: Maurice Coquet Date: Mon, 13 Jul 2026 13:55:39 +0200 Subject: [PATCH 03/24] readability-implicit-bool-conversion --- PWGDQ/Core/HistogramManager.cxx | 72 ++++++++++++++++----------------- 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/PWGDQ/Core/HistogramManager.cxx b/PWGDQ/Core/HistogramManager.cxx index 7a4fea71b79..aed774d9e23 100644 --- a/PWGDQ/Core/HistogramManager.cxx +++ b/PWGDQ/Core/HistogramManager.cxx @@ -207,9 +207,9 @@ void HistogramManager::AddHistogram(const char* histClass, const char* hname, co fBinsAllocated += nXbins + 2; // TODO: possibly make the call of Sumw2() optional for all histograms h->Sumw2(); - if (fVariableNames[varX][0]) { + if (fVariableNames[varX][0] != 0) { h->GetXaxis()->SetTitle(Form("%s %s", fVariableNames[varX].Data(), - (fVariableUnits[varX][0] ? Form("(%s)", fVariableUnits[varX].Data()) : ""))); + ((fVariableUnits[varX][0] != 0) ? Form("(%s)", fVariableUnits[varX].Data()) : ""))); } if (arr->At(1)) { h->GetXaxis()->SetTitle(arr->At(1)->GetName()); @@ -240,9 +240,9 @@ void HistogramManager::AddHistogram(const char* histClass, const char* hname, co fBinsAllocated += (nXbins + 2) * (nYbins + 2); h->Sumw2(); } - if (fVariableNames[varX][0]) { + if (fVariableNames[varX][0] != 0) { h->GetXaxis()->SetTitle(Form("%s %s", fVariableNames[varX].Data(), - (fVariableUnits[varX][0] ? Form("(%s)", fVariableUnits[varX].Data()) : ""))); + ((fVariableUnits[varX][0] != 0) ? Form("(%s)", fVariableUnits[varX].Data()) : ""))); } if (arr->At(1)) { h->GetXaxis()->SetTitle(arr->At(1)->GetName()); @@ -251,13 +251,13 @@ void HistogramManager::AddHistogram(const char* histClass, const char* hname, co MakeAxisLabels(h->GetXaxis(), xLabels); } - if (fVariableNames[varY][0]) { + if (fVariableNames[varY][0] != 0) { h->GetYaxis()->SetTitle(Form("%s %s", fVariableNames[varY].Data(), - (fVariableUnits[varY][0] ? Form("(%s)", fVariableUnits[varY].Data()) : ""))); + ((fVariableUnits[varY][0] != 0) ? Form("(%s)", fVariableUnits[varY].Data()) : ""))); } - if (fVariableNames[varY][0] && isProfile) { + if ((fVariableNames[varY][0] != 0) && isProfile) { h->GetYaxis()->SetTitle(Form("<%s> %s", fVariableNames[varY].Data(), - (fVariableUnits[varY][0] ? Form("(%s)", fVariableUnits[varY].Data()) : ""))); + ((fVariableUnits[varY][0] != 0) ? Form("(%s)", fVariableUnits[varY].Data()) : ""))); } if (arr->At(2)) { h->GetYaxis()->SetTitle(arr->At(2)->GetName()); @@ -295,9 +295,9 @@ void HistogramManager::AddHistogram(const char* histClass, const char* hname, co fBinsAllocated += (nXbins + 2) * (nYbins + 2) * (nZbins + 2); h->Sumw2(); } - if (fVariableNames[varX][0]) { + if (fVariableNames[varX][0] != 0) { h->GetXaxis()->SetTitle(Form("%s %s", fVariableNames[varX].Data(), - (fVariableUnits[varX][0] ? Form("(%s)", fVariableUnits[varX].Data()) : ""))); + ((fVariableUnits[varX][0] != 0) ? Form("(%s)", fVariableUnits[varX].Data()) : ""))); } if (arr->At(1)) { h->GetXaxis()->SetTitle(arr->At(1)->GetName()); @@ -305,9 +305,9 @@ void HistogramManager::AddHistogram(const char* histClass, const char* hname, co if (xLabels[0] != '\0') { MakeAxisLabels(h->GetXaxis(), xLabels); } - if (fVariableNames[varY][0]) { + if (fVariableNames[varY][0] != 0) { h->GetYaxis()->SetTitle(Form("%s %s", fVariableNames[varY].Data(), - (fVariableUnits[varY][0] ? Form("(%s)", fVariableUnits[varY].Data()) : ""))); + ((fVariableUnits[varY][0] != 0) ? Form("(%s)", fVariableUnits[varY].Data()) : ""))); } if (arr->At(2)) { h->GetYaxis()->SetTitle(arr->At(2)->GetName()); @@ -315,13 +315,13 @@ void HistogramManager::AddHistogram(const char* histClass, const char* hname, co if (yLabels[0] != '\0') { MakeAxisLabels(h->GetYaxis(), yLabels); } - if (fVariableNames[varZ][0]) { + if (fVariableNames[varZ][0] != 0) { h->GetZaxis()->SetTitle(Form("%s %s", fVariableNames[varZ].Data(), - (fVariableUnits[varZ][0] ? Form("(%s)", fVariableUnits[varZ].Data()) : ""))); + ((fVariableUnits[varZ][0] != 0) ? Form("(%s)", fVariableUnits[varZ].Data()) : ""))); } - if (fVariableNames[varZ][0] && isProfile && varT < 0) { // for TProfile2D + if ((fVariableNames[varZ][0] != 0) && isProfile && varT < 0) { // for TProfile2D h->GetZaxis()->SetTitle(Form("<%s> %s", fVariableNames[varZ].Data(), - (fVariableUnits[varZ][0] ? Form("(%s)", fVariableUnits[varZ].Data()) : ""))); + ((fVariableUnits[varZ][0] != 0) ? Form("(%s)", fVariableUnits[varZ].Data()) : ""))); } if (arr->At(3)) { h->GetZaxis()->SetTitle(arr->At(3)->GetName()); @@ -415,9 +415,9 @@ void HistogramManager::AddHistogram(const char* histClass, const char* hname, co } fBinsAllocated += nXbins + 2; h->Sumw2(); - if (fVariableNames[varX][0]) { + if (fVariableNames[varX][0] != 0) { h->GetXaxis()->SetTitle(Form("%s %s", fVariableNames[varX].Data(), - (fVariableUnits[varX][0] ? Form("(%s)", fVariableUnits[varX].Data()) : ""))); + ((fVariableUnits[varX][0] != 0) ? Form("(%s)", fVariableUnits[varX].Data()) : ""))); } if (arr->At(1)) { h->GetXaxis()->SetTitle(arr->At(1)->GetName()); @@ -446,9 +446,9 @@ void HistogramManager::AddHistogram(const char* histClass, const char* hname, co fBinsAllocated += (nXbins + 2) * (nYbins + 2); h->Sumw2(); } - if (fVariableNames[varX][0]) { + if (fVariableNames[varX][0] != 0) { h->GetXaxis()->SetTitle(Form("%s %s", fVariableNames[varX].Data(), - (fVariableUnits[varX][0] ? Form("(%s)", fVariableUnits[varX].Data()) : ""))); + ((fVariableUnits[varX][0] != 0) ? Form("(%s)", fVariableUnits[varX].Data()) : ""))); } if (arr->At(1)) { h->GetXaxis()->SetTitle(arr->At(1)->GetName()); @@ -456,13 +456,13 @@ void HistogramManager::AddHistogram(const char* histClass, const char* hname, co if (xLabels[0] != '\0') { MakeAxisLabels(h->GetXaxis(), xLabels); } - if (fVariableNames[varY][0]) { + if (fVariableNames[varY][0] != 0) { h->GetYaxis()->SetTitle(Form("%s %s", fVariableNames[varY].Data(), - (fVariableUnits[varY][0] ? Form("(%s)", fVariableUnits[varY].Data()) : ""))); + ((fVariableUnits[varY][0] != 0) ? Form("(%s)", fVariableUnits[varY].Data()) : ""))); } - if (fVariableNames[varY][0] && isProfile) { + if ((fVariableNames[varY][0] != 0) && isProfile) { h->GetYaxis()->SetTitle(Form("<%s> %s", fVariableNames[varY].Data(), - (fVariableUnits[varY][0] ? Form("(%s)", fVariableUnits[varY].Data()) : ""))); + ((fVariableUnits[varY][0] != 0) ? Form("(%s)", fVariableUnits[varY].Data()) : ""))); } if (arr->At(2)) { @@ -501,9 +501,9 @@ void HistogramManager::AddHistogram(const char* histClass, const char* hname, co fBinsAllocated += (nXbins + 2) * (nYbins + 2) * (nZbins + 2); h->Sumw2(); } - if (fVariableNames[varX][0]) { + if (fVariableNames[varX][0] != 0) { h->GetXaxis()->SetTitle(Form("%s %s", fVariableNames[varX].Data(), - (fVariableUnits[varX][0] ? Form("(%s)", fVariableUnits[varX].Data()) : ""))); + ((fVariableUnits[varX][0] != 0) ? Form("(%s)", fVariableUnits[varX].Data()) : ""))); } if (arr->At(1)) { h->GetXaxis()->SetTitle(arr->At(1)->GetName()); @@ -511,9 +511,9 @@ void HistogramManager::AddHistogram(const char* histClass, const char* hname, co if (xLabels[0] != '\0') { MakeAxisLabels(h->GetXaxis(), xLabels); } - if (fVariableNames[varY][0]) { + if (fVariableNames[varY][0] != 0) { h->GetYaxis()->SetTitle(Form("%s %s", fVariableNames[varY].Data(), - (fVariableUnits[varY][0] ? Form("(%s)", fVariableUnits[varY].Data()) : ""))); + ((fVariableUnits[varY][0] != 0) ? Form("(%s)", fVariableUnits[varY].Data()) : ""))); } if (arr->At(2)) { h->GetYaxis()->SetTitle(arr->At(2)->GetName()); @@ -521,13 +521,13 @@ void HistogramManager::AddHistogram(const char* histClass, const char* hname, co if (yLabels[0] != '\0') { MakeAxisLabels(h->GetYaxis(), yLabels); } - if (fVariableNames[varZ][0]) { + if (fVariableNames[varZ][0] != 0) { h->GetZaxis()->SetTitle(Form("%s %s", fVariableNames[varZ].Data(), - (fVariableUnits[varZ][0] ? Form("(%s)", fVariableUnits[varZ].Data()) : ""))); + ((fVariableUnits[varZ][0] != 0) ? Form("(%s)", fVariableUnits[varZ].Data()) : ""))); } - if (fVariableNames[varZ][0] && isProfile && varT < 0) { // TProfile2D + if ((fVariableNames[varZ][0] != 0) && isProfile && varT < 0) { // TProfile2D h->GetZaxis()->SetTitle(Form("<%s> %s", fVariableNames[varZ].Data(), - (fVariableUnits[varZ][0] ? Form("(%s)", fVariableUnits[varZ].Data()) : ""))); + ((fVariableUnits[varZ][0] != 0) ? Form("(%s)", fVariableUnits[varZ].Data()) : ""))); } if (arr->At(3)) { @@ -611,9 +611,9 @@ void HistogramManager::AddHistogram(const char* histClass, const char* hname, co for (int idim = 0; idim < nDimensions; ++idim) { nbins *= (nBins[idim] + 2); TAxis* axis = h->GetAxis(idim); - if (fVariableNames[vars[idim]][0]) { + if (fVariableNames[vars[idim]][0] != 0) { axis->SetTitle(Form("%s %s", fVariableNames[vars[idim]].Data(), - (fVariableUnits[vars[idim]][0] ? Form("(%s)", fVariableUnits[vars[idim]].Data()) : ""))); + ((fVariableUnits[vars[idim]][0] != 0) ? Form("(%s)", fVariableUnits[vars[idim]].Data()) : ""))); } if (arr->At(1 + idim)) { axis->SetTitle(arr->At(1 + idim)->GetName()); @@ -719,9 +719,9 @@ void HistogramManager::AddHistogram(const char* histClass, const char* hname, co for (int idim = 0; idim < nDimensions; ++idim) { bins *= (nBins[idim] + 2); TAxis* axis = h->GetAxis(idim); - if (fVariableNames[vars[idim]][0]) { + if (fVariableNames[vars[idim]][0] != 0) { axis->SetTitle(Form("%s %s", fVariableNames[vars[idim]].Data(), - (fVariableUnits[vars[idim]][0] ? Form("(%s)", fVariableUnits[vars[idim]].Data()) : ""))); + ((fVariableUnits[vars[idim]][0] != 0) ? Form("(%s)", fVariableUnits[vars[idim]].Data()) : ""))); } if (arr->At(1 + idim)) { axis->SetTitle(arr->At(1 + idim)->GetName()); From 7b56b13976b1468b7aaab510b25a1d945fcffb2f Mon Sep 17 00:00:00 2001 From: Maurice Coquet Date: Mon, 13 Jul 2026 14:01:27 +0200 Subject: [PATCH 04/24] cppcoreguidelines-init-variables --- PWGDQ/Core/HistogramManager.cxx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/PWGDQ/Core/HistogramManager.cxx b/PWGDQ/Core/HistogramManager.cxx index aed774d9e23..7ee366fff09 100644 --- a/PWGDQ/Core/HistogramManager.cxx +++ b/PWGDQ/Core/HistogramManager.cxx @@ -769,8 +769,8 @@ void HistogramManager::FillHistClass(const char* className, Float_t* values) TIter next(hList); TObject* h = nullptr; - bool isProfile; - bool isTHn; + bool isProfile = false; + bool isTHn = false; int dimension = 0; bool isSparse = kFALSE; bool isFillLabelx = kFALSE; From 211aa2b14abd9eb4a7c04b92f527dcdab59f535f Mon Sep 17 00:00:00 2001 From: Maurice Coquet Date: Mon, 13 Jul 2026 14:09:07 +0200 Subject: [PATCH 05/24] readability-simplify-boolean-expr --- PWGDQ/Core/HistogramManager.cxx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/PWGDQ/Core/HistogramManager.cxx b/PWGDQ/Core/HistogramManager.cxx index 7ee366fff09..9177513cb78 100644 --- a/PWGDQ/Core/HistogramManager.cxx +++ b/PWGDQ/Core/HistogramManager.cxx @@ -784,8 +784,8 @@ void HistogramManager::FillHistClass(const char* className, Float_t* values) for (auto varIter = varList.begin(); varIter != varList.end(); varIter++) { h = next(); // get the histogram // decode information from the vector of indices - isProfile = ((*varIter)[0] == 1 ? true : false); - isTHn = ((*varIter)[1] > 0 ? true : false); + isProfile = ((*varIter)[0] == 1); + isTHn = ((*varIter)[1] > 0); if (isTHn) { dimension = (*varIter)[1]; } else { @@ -803,7 +803,7 @@ void HistogramManager::FillHistClass(const char* className, Float_t* values) varY = (*varIter)[4]; varZ = (*varIter)[5]; varT = (*varIter)[6]; - isFillLabelx = ((*varIter)[7] == 1 ? true : false); + isFillLabelx = ((*varIter)[7] == 1); } if (!isTHn) { From e547ea7aee8f3b70a37db514237fa606020d9e9a Mon Sep 17 00:00:00 2001 From: Maurice Coquet Date: Mon, 13 Jul 2026 15:18:19 +0200 Subject: [PATCH 06/24] cppcoreguidelines-pro-type-reinterpret-cast --- PWGDQ/Core/HistogramManager.cxx | 151 +++++++++++++++++++++----------- 1 file changed, 102 insertions(+), 49 deletions(-) diff --git a/PWGDQ/Core/HistogramManager.cxx b/PWGDQ/Core/HistogramManager.cxx index 9177513cb78..431a1c36f36 100644 --- a/PWGDQ/Core/HistogramManager.cxx +++ b/PWGDQ/Core/HistogramManager.cxx @@ -139,7 +139,7 @@ void HistogramManager::AddHistogram(const char* histClass, const char* hname, co // TODO: replace the cout warning messages with LOG (same for all the other functions) // get the list to which the histogram should be added - auto* hList = reinterpret_cast(fMainList->FindObject(histClass)); + auto* hList = dynamic_cast(fMainList->FindObject(histClass)); if (!hList) { LOG(warn) << "HistogramManager::AddHistogram(): Histogram list " << histClass << " not found!"; LOG(warn) << " Histogram not created"; @@ -229,7 +229,9 @@ void HistogramManager::AddHistogram(const char* histClass, const char* hname, co // if requested, build the profile using the profile widths instead of stat errors // TODO: make this option more transparent to the user ? if (titleStr.Contains("--s--")) { - (reinterpret_cast(h))->BuildOptions(0., 0., "s"); + if (auto* profile = dynamic_cast(h)) { + profile->BuildOptions(0., 0., "s"); + } } } else { if (!isdouble) { @@ -276,14 +278,18 @@ void HistogramManager::AddHistogram(const char* histClass, const char* hname, co fBinsAllocated += (nXbins + 2) * (nYbins + 2) * (nZbins + 2); h->Sumw2(); if (titleStr.Contains("--s--")) { - (reinterpret_cast(h))->BuildOptions(0., 0., "s"); + if (auto* profile = dynamic_cast(h)) { + profile->BuildOptions(0., 0., "s"); + } } } else { // TProfile2D h = new TProfile2D(hname, (arr->At(0) ? arr->At(0)->GetName() : ""), nXbins, xmin, xmax, nYbins, ymin, ymax); fBinsAllocated += (nXbins + 2) * (nYbins + 2); h->Sumw2(); if (titleStr.Contains("--s--")) { - (reinterpret_cast(h))->BuildOptions(0., 0., "s"); + if (auto* profile = dynamic_cast(h)) { + profile->BuildOptions(0., 0., "s"); + } } } } else { // TH3F @@ -348,7 +354,7 @@ void HistogramManager::AddHistogram(const char* histClass, const char* hname, co // // get the list to which the histogram should be added - auto* hList = reinterpret_cast(fMainList->FindObject(histClass)); + auto* hList = dynamic_cast(fMainList->FindObject(histClass)); if (!hList) { LOG(warn) << "HistogramManager::AddHistogram(): Histogram list " << histClass << " not found!"; LOG(warn) << " Histogram not created"; @@ -435,7 +441,9 @@ void HistogramManager::AddHistogram(const char* histClass, const char* hname, co fBinsAllocated += nXbins + 2; h->Sumw2(); if (titleStr.Contains("--s--")) { - (reinterpret_cast(h))->BuildOptions(0., 0., "s"); + if (auto* profile = dynamic_cast(h)) { + profile->BuildOptions(0., 0., "s"); + } } } else { if (!isdouble) { @@ -482,14 +490,18 @@ void HistogramManager::AddHistogram(const char* histClass, const char* hname, co fBinsAllocated += (nXbins + 2) * (nYbins + 2) * (nZbins + 2); h->Sumw2(); if (titleStr.Contains("--s--")) { - (reinterpret_cast(h))->BuildOptions(0., 0., "s"); + if (auto* profile = dynamic_cast(h)) { + profile->BuildOptions(0., 0., "s"); + } } } else { h = new TProfile2D(hname, (arr->At(0) ? arr->At(0)->GetName() : ""), nXbins, xbins, nYbins, ybins); fBinsAllocated += (nXbins + 2) * (nYbins + 2); h->Sumw2(); if (titleStr.Contains("--s--")) { - (reinterpret_cast(h))->BuildOptions(0., 0., "s"); + if (auto* profile = dynamic_cast(h)) { + profile->BuildOptions(0., 0., "s"); + } } } } else { @@ -551,7 +563,7 @@ void HistogramManager::AddHistogram(const char* histClass, const char* hname, co // // get the list to which the histogram should be added - auto* hList = reinterpret_cast(fMainList->FindObject(histClass)); + auto* hList = dynamic_cast(fMainList->FindObject(histClass)); if (!hList) { LOG(warn) << "HistogramManager::AddHistogram(): Histogram list " << histClass << " not found!"; LOG(warn) << " Histogram not created"; @@ -626,15 +638,19 @@ void HistogramManager::AddHistogram(const char* histClass, const char* hname, co } if (!isdouble) { if (useSparse) { - hList->Add(reinterpret_cast(h)); - } else { - hList->Add(reinterpret_cast(h)); + if (auto* hn = dynamic_cast(h)) { + hList->Add(hn); + } + } else if (auto* hn = dynamic_cast(h)) { + hList->Add(hn); } } else { if (useSparse) { - hList->Add(reinterpret_cast(h)); - } else { - hList->Add(reinterpret_cast(h)); + if (auto* hn = dynamic_cast(h)) { + hList->Add(hn); + } + } else if (auto* hn = dynamic_cast(h)) { + hList->Add(hn); } } @@ -651,7 +667,7 @@ void HistogramManager::AddHistogram(const char* histClass, const char* hname, co // // get the list to which the histogram should be added - auto* hList = reinterpret_cast(fMainList->FindObject(histClass)); + auto* hList = dynamic_cast(fMainList->FindObject(histClass)); if (!hList) { LOG(warn) << "HistogramManager::AddHistogram(): Histogram list " << histClass << " not found!"; LOG(warn) << " Histogram not created"; @@ -733,15 +749,19 @@ void HistogramManager::AddHistogram(const char* histClass, const char* hname, co } if (!isdouble) { if (useSparse) { - hList->Add(reinterpret_cast(h)); - } else { - hList->Add(reinterpret_cast(h)); + if (auto* hn = dynamic_cast(h)) { + hList->Add(hn); + } + } else if (auto* hn = dynamic_cast(h)) { + hList->Add(hn); } } else { if (useSparse) { - hList->Add(reinterpret_cast(h)); - } else { - hList->Add(reinterpret_cast(h)); + if (auto* hn = dynamic_cast(h)) { + hList->Add(hn); + } + } else if (auto* hn = dynamic_cast(h)) { + hList->Add(hn); } } fBinsAllocated += bins; @@ -755,7 +775,7 @@ void HistogramManager::FillHistClass(const char* className, Float_t* values) // // get the needed histogram list - auto* hList = reinterpret_cast(fMainList->FindObject(className)); + auto* hList = dynamic_cast(fMainList->FindObject(className)); if (!hList) { // TODO: add some meaningfull error message /*LOG(warn) << "HistogramManager::FillHistClass(): Histogram list " << className << " not found!"; @@ -788,8 +808,10 @@ void HistogramManager::FillHistClass(const char* className, Float_t* values) isTHn = ((*varIter)[1] > 0); if (isTHn) { dimension = (*varIter)[1]; + } else if (auto* h1 = dynamic_cast(h)) { + dimension = h1->GetDimension(); } else { - dimension = (reinterpret_cast(h))->GetDimension(); + continue; } // get the various variable indices @@ -810,70 +832,94 @@ void HistogramManager::FillHistClass(const char* className, Float_t* values) switch (dimension) { case 1: if (isProfile) { + auto* profile = dynamic_cast(h); + if (!profile) { + break; + } if (varW > kNothing) { if (isFillLabelx) { - (reinterpret_cast(h))->Fill(Form("%d", static_cast(values[varX])), values[varY], values[varW]); + profile->Fill(Form("%d", static_cast(values[varX])), values[varY], values[varW]); } else { - (reinterpret_cast(h))->Fill(values[varX], values[varY], values[varW]); + profile->Fill(values[varX], values[varY], values[varW]); } } else { if (isFillLabelx) { - (reinterpret_cast(h))->Fill(Form("%d", static_cast(values[varX])), values[varY]); + profile->Fill(Form("%d", static_cast(values[varX])), values[varY]); } else { - (reinterpret_cast(h))->Fill(values[varX], values[varY]); + profile->Fill(values[varX], values[varY]); } } } else { + auto* h1 = dynamic_cast(h); + if (!h1) { + break; + } if (varW > kNothing) { if (isFillLabelx) { - (reinterpret_cast(h))->Fill(Form("%d", static_cast(values[varX])), values[varW]); + h1->Fill(Form("%d", static_cast(values[varX])), values[varW]); } else { - (reinterpret_cast(h))->Fill(values[varX], values[varW]); + h1->Fill(values[varX], values[varW]); } } else { if (isFillLabelx) { - (reinterpret_cast(h))->Fill(Form("%d", static_cast(values[varX])), 1.); + h1->Fill(Form("%d", static_cast(values[varX])), 1.); } else { - (reinterpret_cast(h))->Fill(values[varX]); + h1->Fill(values[varX]); } } } break; case 2: if (isProfile) { + auto* profile = dynamic_cast(h); + if (!profile) { + break; + } if (varW > kNothing) { - (reinterpret_cast(h))->Fill(values[varX], values[varY], values[varZ], values[varW]); + profile->Fill(values[varX], values[varY], values[varZ], values[varW]); } else { - (reinterpret_cast(h))->Fill(values[varX], values[varY], values[varZ]); + profile->Fill(values[varX], values[varY], values[varZ]); } } else { + auto* h2 = dynamic_cast(h); + if (!h2) { + break; + } if (varW > kNothing) { if (isFillLabelx) { - (reinterpret_cast(h))->Fill(Form("%d", static_cast(values[varX])), values[varY], values[varW]); + h2->Fill(Form("%d", static_cast(values[varX])), values[varY], values[varW]); } else { - (reinterpret_cast(h))->Fill(values[varX], values[varY], values[varW]); + h2->Fill(values[varX], values[varY], values[varW]); } } else { if (isFillLabelx) { - (reinterpret_cast(h))->Fill(Form("%d", static_cast(values[varX])), values[varY], 1.); + h2->Fill(Form("%d", static_cast(values[varX])), values[varY], 1.); } else { - (reinterpret_cast(h))->Fill(values[varX], values[varY]); + h2->Fill(values[varX], values[varY]); } } } break; case 3: if (isProfile) { + auto* profile = dynamic_cast(h); + if (!profile) { + break; + } if (varW > kNothing) { - (reinterpret_cast(h))->Fill(values[varX], values[varY], values[varZ], values[varT], values[varW]); + profile->Fill(values[varX], values[varY], values[varZ], values[varT], values[varW]); } else { - (reinterpret_cast(h))->Fill(values[varX], values[varY], values[varZ], values[varT]); + profile->Fill(values[varX], values[varY], values[varZ], values[varT]); } } else { + auto* h3 = dynamic_cast(h); + if (!h3) { + break; + } if (varW > kNothing) { - (reinterpret_cast(h))->Fill(values[varX], values[varY], values[varZ], values[varW]); + h3->Fill(values[varX], values[varY], values[varZ], values[varW]); } else { - (reinterpret_cast(h))->Fill(values[varX], values[varY], values[varZ]); + h3->Fill(values[varX], values[varY], values[varZ]); } } break; @@ -885,15 +931,19 @@ void HistogramManager::FillHistClass(const char* className, Float_t* values) } else { if (varW > kNothing) { if (isSparse) { - (reinterpret_cast(h))->Fill(fillValues, values[varW]); - } else { - (reinterpret_cast(h))->Fill(fillValues, values[varW]); + if (auto* hn = dynamic_cast(h)) { + hn->Fill(fillValues, values[varW]); + } + } else if (auto* hn = dynamic_cast(h)) { + hn->Fill(fillValues, values[varW]); } } else { if (isSparse) { - (reinterpret_cast(h))->Fill(fillValues); - } else { - (reinterpret_cast(h))->Fill(fillValues); + if (auto* hn = dynamic_cast(h)) { + hn->Fill(fillValues); + } + } else if (auto* hn = dynamic_cast(h)) { + hn->Fill(fillValues); } } } // end else @@ -925,7 +975,10 @@ void HistogramManager::Print(Option_t*) const cout << "###################################################################" << endl; cout << "HistogramManager:: " << fMainList->GetName() << endl; for (int i = 0; i < fMainList->GetEntries(); ++i) { - auto* list = reinterpret_cast(fMainList->At(i)); + auto* list = dynamic_cast(fMainList->At(i)); + if (!list) { + continue; + } cout << "************** List " << list->GetName() << endl; for (int j = 0; j < list->GetEntries(); ++j) { TObject* obj = list->At(j); From 7bc2d1bc347e20056c4a294700bab693caf65de8 Mon Sep 17 00:00:00 2001 From: Maurice Coquet Date: Mon, 13 Jul 2026 15:48:37 +0200 Subject: [PATCH 07/24] bugprone-switch-missing-default-case --- PWGDQ/Core/HistogramManager.cxx | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/PWGDQ/Core/HistogramManager.cxx b/PWGDQ/Core/HistogramManager.cxx index 431a1c36f36..0c5b55bf4a7 100644 --- a/PWGDQ/Core/HistogramManager.cxx +++ b/PWGDQ/Core/HistogramManager.cxx @@ -338,6 +338,11 @@ void HistogramManager::AddHistogram(const char* histClass, const char* hname, co h->SetDirectory(nullptr); hList->Add(h); break; + + default: + LOG(warn) << "HistogramManager::AddHistogram(): Unsupported dimension " << dimension + << " for histogram " << hname; + return; } // end switch } @@ -550,6 +555,11 @@ void HistogramManager::AddHistogram(const char* histClass, const char* hname, co } hList->Add(h); break; + + default: + LOG(warn) << "HistogramManager::AddHistogram(): Unsupported dimension " << dimension + << " for histogram " << hname; + return; } // end switch(dimension) } From 7c81682819842cdaa623ea0bf8e3816a8207fa94 Mon Sep 17 00:00:00 2001 From: Maurice Coquet Date: Mon, 13 Jul 2026 15:50:11 +0200 Subject: [PATCH 08/24] modernize-avoid-c-arrays --- PWGDQ/Core/HistogramManager.cxx | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/PWGDQ/Core/HistogramManager.cxx b/PWGDQ/Core/HistogramManager.cxx index 0c5b55bf4a7..8ce0660e6c8 100644 --- a/PWGDQ/Core/HistogramManager.cxx +++ b/PWGDQ/Core/HistogramManager.cxx @@ -25,6 +25,7 @@ #include #include +#include #include #include #include @@ -806,7 +807,7 @@ void HistogramManager::FillHistClass(const char* className, Float_t* values) bool isFillLabelx = kFALSE; // TODO: At the moment, maximum 20 dimensions are foreseen for the THn histograms. We should make this more dynamic // But maybe its better to have it like to avoid dynamically allocating this array in the histogram loop - double fillValues[20] = {0.0}; + std::array fillValues{}; int varX = -1, varY = -1, varZ = -1, varT = -1, varW = -1; // loop over the histogram and std::list @@ -942,18 +943,18 @@ void HistogramManager::FillHistClass(const char* className, Float_t* values) if (varW > kNothing) { if (isSparse) { if (auto* hn = dynamic_cast(h)) { - hn->Fill(fillValues, values[varW]); + hn->Fill(fillValues.data(), values[varW]); } } else if (auto* hn = dynamic_cast(h)) { - hn->Fill(fillValues, values[varW]); + hn->Fill(fillValues.data(), values[varW]); } } else { if (isSparse) { if (auto* hn = dynamic_cast(h)) { - hn->Fill(fillValues); + hn->Fill(fillValues.data()); } } else if (auto* hn = dynamic_cast(h)) { - hn->Fill(fillValues); + hn->Fill(fillValues.data()); } } } // end else From 4ee2d66f0aa8d0997ca1fd00f10cac82a715b6f4 Mon Sep 17 00:00:00 2001 From: Maurice Coquet Date: Mon, 13 Jul 2026 16:13:09 +0200 Subject: [PATCH 09/24] bugprone-pointer-arithmetic-on-polymorphic-object --- PWGDQ/Core/HistogramManager.cxx | 49 ++++++++++++++++++++------------- PWGDQ/Core/HistogramManager.h | 4 +-- 2 files changed, 32 insertions(+), 21 deletions(-) diff --git a/PWGDQ/Core/HistogramManager.cxx b/PWGDQ/Core/HistogramManager.cxx index 8ce0660e6c8..15117d36e3d 100644 --- a/PWGDQ/Core/HistogramManager.cxx +++ b/PWGDQ/Core/HistogramManager.cxx @@ -30,6 +30,7 @@ #include #include #include +#include #include using namespace std; @@ -49,11 +50,8 @@ HistogramManager::HistogramManager() : TNamed("", ""), fMainList(nullptr), fNVars(0), fUsedVars(nullptr), - fUseDefaultVariableNames(false), - fBinsAllocated(0), - fVariableNames(nullptr), - fVariableUnits(nullptr) + fBinsAllocated(0) { // // Constructor @@ -67,9 +65,7 @@ HistogramManager::HistogramManager(const char* name, const char* title, const in fUsedVars(new bool[maxNVars]), fUseDefaultVariableNames(kFALSE), - fBinsAllocated(0), - fVariableNames(), - fVariableUnits() + fBinsAllocated(0) { // // Constructor @@ -81,8 +77,8 @@ HistogramManager::HistogramManager(const char* name, const char* title, const in for (int i = 0; i < maxNVars; ++i) { fUsedVars[i] = false; } - fVariableNames = new TString[maxNVars]; - fVariableUnits = new TString[maxNVars]; + fVariableNames.resize(maxNVars); + fVariableUnits.resize(maxNVars); } //_______________________________________________________________________________ @@ -101,9 +97,11 @@ void HistogramManager::SetDefaultVarNames(TString* vars, TString* units) // // Set default variable names // + std::span varNames{vars, fNVars}; + std::span varUnits{units, fNVars}; for (int i = 0; i < fNVars; ++i) { - fVariableNames[i] = vars[i]; - fVariableUnits[i] = units[i]; + fVariableNames[i] = varNames[i]; + fVariableUnits[i] = varUnits[i]; } }; @@ -630,6 +628,11 @@ void HistogramManager::AddHistogram(const char* histClass, const char* hname, co } h->Sumw2(); + std::span axisLabels{}; + if (axLabels) { + axisLabels = std::span{axLabels, nDimensions}; + } + // configure the THn histogram and count the allocated bins for (int idim = 0; idim < nDimensions; ++idim) { nbins *= (nBins[idim] + 2); @@ -641,8 +644,8 @@ void HistogramManager::AddHistogram(const char* histClass, const char* hname, co if (arr->At(1 + idim)) { axis->SetTitle(arr->At(1 + idim)->GetName()); } - if (axLabels && !axLabels[idim].IsNull()) { - MakeAxisLabels(axis, axLabels[idim].Data()); + if (!axisLabels.empty() && !axisLabels[idim].IsNull()) { + MakeAxisLabels(axis, axisLabels[idim].Data()); } fUsedVars[vars[idim]] = kTRUE; @@ -714,10 +717,13 @@ void HistogramManager::AddHistogram(const char* histClass, const char* hname, co auto* xmin = new double[nDimensions]; auto* xmax = new double[nDimensions]; int* nBins = new int[nDimensions]; + std::span limits{binLimits, nDimensions}; for (int idim = 0; idim < nDimensions; ++idim) { - nBins[idim] = binLimits[idim].GetSize() - 1; - xmin[idim] = binLimits[idim][0]; - xmax[idim] = binLimits[idim][nBins[idim]]; + const TArrayD& dimLimits = limits[idim]; + const double* dimBins = dimLimits.GetArray(); + nBins[idim] = dimLimits.GetSize() - 1; + xmin[idim] = dimBins[0]; + xmax[idim] = dimBins[nBins[idim]]; } // initialize the THn with equal spaced bins @@ -738,10 +744,15 @@ void HistogramManager::AddHistogram(const char* histClass, const char* hname, co // rebin the axes according to the user requested binning for (int idim = 0; idim < nDimensions; ++idim) { TAxis* axis = h->GetAxis(idim); - axis->Set(nBins[idim], binLimits[idim].GetArray()); + axis->Set(nBins[idim], limits[idim].GetArray()); } h->Sumw2(); + std::span axisLabels{}; + if (axLabels) { + axisLabels = std::span{axLabels, nDimensions}; + } + uint32_t bins = 1; for (int idim = 0; idim < nDimensions; ++idim) { bins *= (nBins[idim] + 2); @@ -753,8 +764,8 @@ void HistogramManager::AddHistogram(const char* histClass, const char* hname, co if (arr->At(1 + idim)) { axis->SetTitle(arr->At(1 + idim)->GetName()); } - if (axLabels && !axLabels[idim].IsNull()) { - MakeAxisLabels(axis, axLabels[idim].Data()); + if (!axisLabels.empty() && !axisLabels[idim].IsNull()) { + MakeAxisLabels(axis, axisLabels[idim].Data()); } fUsedVars[vars[idim]] = kTRUE; } diff --git a/PWGDQ/Core/HistogramManager.h b/PWGDQ/Core/HistogramManager.h index ec8781ea66a..1f976ff3e18 100644 --- a/PWGDQ/Core/HistogramManager.h +++ b/PWGDQ/Core/HistogramManager.h @@ -108,8 +108,8 @@ class HistogramManager : public TNamed // various bool fUseDefaultVariableNames; //! toggle the usage of default variable names and units uint64_t fBinsAllocated; //! number of allocated bins - TString* fVariableNames; //! variable names - TString* fVariableUnits; //! variable units + std::vector fVariableNames; //! variable names + std::vector fVariableUnits; //! variable units void MakeAxisLabels(TAxis* ax, const char* labels); From 5f9e479904809d09369e025055aad105a1ff6734 Mon Sep 17 00:00:00 2001 From: Maurice Coquet Date: Mon, 13 Jul 2026 16:16:54 +0200 Subject: [PATCH 10/24] further fixes --- PWGDQ/Core/HistogramManager.cxx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/PWGDQ/Core/HistogramManager.cxx b/PWGDQ/Core/HistogramManager.cxx index 15117d36e3d..22e990a6060 100644 --- a/PWGDQ/Core/HistogramManager.cxx +++ b/PWGDQ/Core/HistogramManager.cxx @@ -97,8 +97,8 @@ void HistogramManager::SetDefaultVarNames(TString* vars, TString* units) // // Set default variable names // - std::span varNames{vars, fNVars}; - std::span varUnits{units, fNVars}; + std::span varNames{vars, static_cast(fNVars)}; + std::span varUnits{units, static_cast(fNVars)}; for (int i = 0; i < fNVars; ++i) { fVariableNames[i] = varNames[i]; fVariableUnits[i] = varUnits[i]; @@ -630,7 +630,7 @@ void HistogramManager::AddHistogram(const char* histClass, const char* hname, co std::span axisLabels{}; if (axLabels) { - axisLabels = std::span{axLabels, nDimensions}; + axisLabels = std::span{axLabels, static_cast(nDimensions)}; } // configure the THn histogram and count the allocated bins @@ -717,7 +717,7 @@ void HistogramManager::AddHistogram(const char* histClass, const char* hname, co auto* xmin = new double[nDimensions]; auto* xmax = new double[nDimensions]; int* nBins = new int[nDimensions]; - std::span limits{binLimits, nDimensions}; + std::span limits{binLimits, static_cast(nDimensions)}; for (int idim = 0; idim < nDimensions; ++idim) { const TArrayD& dimLimits = limits[idim]; const double* dimBins = dimLimits.GetArray(); @@ -750,7 +750,7 @@ void HistogramManager::AddHistogram(const char* histClass, const char* hname, co std::span axisLabels{}; if (axLabels) { - axisLabels = std::span{axLabels, nDimensions}; + axisLabels = std::span{axLabels, static_cast(nDimensions)}; } uint32_t bins = 1; From b4d2decde8300f2096b0e43c888d7c3560e8cbe9 Mon Sep 17 00:00:00 2001 From: Maurice Coquet Date: Mon, 13 Jul 2026 16:31:51 +0200 Subject: [PATCH 11/24] modernize-use-nullptr --- PWGDQ/Core/HistogramsLibrary.cxx | 120 +++++++++++++++---------------- 1 file changed, 60 insertions(+), 60 deletions(-) diff --git a/PWGDQ/Core/HistogramsLibrary.cxx b/PWGDQ/Core/HistogramsLibrary.cxx index 4ede101a91d..9ea52d8a67b 100644 --- a/PWGDQ/Core/HistogramsLibrary.cxx +++ b/PWGDQ/Core/HistogramsLibrary.cxx @@ -299,8 +299,8 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h std::array bins = {500, 500, 18}; std::array minBins = {-10, -10, 0}; std::array maxBins = {10, 10, 90}; - hm->AddHistogram(histClass, "Q1ZNAX_Q1ZNAY_CentFT0C", "", 3, varZNA.data(), bins.data(), minBins.data(), maxBins.data(), 0, -1, kTRUE); - hm->AddHistogram(histClass, "Q1ZNCX_Q1ZNCY_CentFT0C", "", 3, varZNC.data(), bins.data(), minBins.data(), maxBins.data(), 0, -1, kTRUE); + hm->AddHistogram(histClass, "Q1ZNAX_Q1ZNAY_CentFT0C", "", 3, varZNA.data(), bins.data(), minBins.data(), maxBins.data(), nullptr, -1, kTRUE); + hm->AddHistogram(histClass, "Q1ZNCX_Q1ZNCY_CentFT0C", "", 3, varZNC.data(), bins.data(), minBins.data(), maxBins.data(), nullptr, -1, kTRUE); hm->AddHistogram(histClass, "IntercalibZNA_CentFT0C", "", false, 18, 0.0, 90.0, VarManager::kCentFT0C, 500, -50.0, 50.0, VarManager::KIntercalibZNA); hm->AddHistogram(histClass, "IntercalibZNC_CentFT0C", "", false, 18, 0.0, 90.0, VarManager::kCentFT0C, 500, -50.0, 50.0, VarManager::KIntercalibZNC); @@ -1204,8 +1204,8 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h std::array bins = {20, 20, 20, 20}; std::array xmin = {0., -1., 0., 0.}; std::array xmax = {20., 1., 2. * o2::constants::math::PI, 2. * o2::constants::math::PI}; - hm->AddHistogram(histClass, "Pt_cosThetaHE_phiHE_phiTildeHE", "", 4, varspTHE.data(), bins.data(), xmin.data(), xmax.data(), 0, -1, kFALSE); - hm->AddHistogram(histClass, "Pt_cosThetaCS_phiCS_phiTildeCS", "", 4, varspTCS.data(), bins.data(), xmin.data(), xmax.data(), 0, -1, kFALSE); + hm->AddHistogram(histClass, "Pt_cosThetaHE_phiHE_phiTildeHE", "", 4, varspTHE.data(), bins.data(), xmin.data(), xmax.data(), nullptr, -1, kFALSE); + hm->AddHistogram(histClass, "Pt_cosThetaCS_phiCS_phiTildeCS", "", 4, varspTCS.data(), bins.data(), xmin.data(), xmax.data(), nullptr, -1, kFALSE); } if (subGroupStr.Contains("pbpb")) { hm->AddHistogram(histClass, "CosThetaStarRandom", "", false, 100, -1.0, 1.0, VarManager::kCosThetaStarRandom); @@ -1265,9 +1265,9 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h std::array bins = {50, 20, 20, 1000}; std::array xmin = {2., 0., -1., -0.5}; std::array xmax = {4., 20., 1., 0.5}; - hm->AddHistogram(histClass, "Mass_Pt_cosThetaHE_Tauxy", "", 4, varspTHE.data(), bins.data(), xmin.data(), xmax.data(), 0, -1, kFALSE); - hm->AddHistogram(histClass, "Mass_Pt_cosThetaCS_Tauxy", "", 4, varspTCS.data(), bins.data(), xmin.data(), xmax.data(), 0, -1, kFALSE); - hm->AddHistogram(histClass, "Mass_Pt_cosThetaRM_Tauxy", "", 4, varspTRM.data(), bins.data(), xmin.data(), xmax.data(), 0, -1, kFALSE); + hm->AddHistogram(histClass, "Mass_Pt_cosThetaHE_Tauxy", "", 4, varspTHE.data(), bins.data(), xmin.data(), xmax.data(), nullptr, -1, kFALSE); + hm->AddHistogram(histClass, "Mass_Pt_cosThetaCS_Tauxy", "", 4, varspTCS.data(), bins.data(), xmin.data(), xmax.data(), nullptr, -1, kFALSE); + hm->AddHistogram(histClass, "Mass_Pt_cosThetaRM_Tauxy", "", 4, varspTRM.data(), bins.data(), xmin.data(), xmax.data(), nullptr, -1, kFALSE); } if (groupStr.CompareTo("pair") == 0) { if (subGroupStr.Contains("cepf")) { @@ -1362,7 +1362,7 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h std::array binspT = {100, 30, 10, 10, 10}; std::array xminpT = {2., 0., 0, -1., 0.0}; std::array xmaxpT = {4.5, 3., 100, 1., 6.28}; - hm->AddHistogram(histClass, "Dielectron_Mass_Pt_Cent_cosThetaHE", "", 5, varsHEpbpb.data(), binspT.data(), xminpT.data(), xmaxpT.data(), 0, -1, kFALSE); + hm->AddHistogram(histClass, "Dielectron_Mass_Pt_Cent_cosThetaHE", "", 5, varsHEpbpb.data(), binspT.data(), xminpT.data(), xmaxpT.data(), nullptr, -1, kFALSE); } if (subGroupStr.Contains("dielectron-polarization-cs-pbpb")) { @@ -1370,7 +1370,7 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h std::array binspT = {100, 30, 10, 10, 10}; std::array xminpT = {2.0, 0., 0, -1., 0.0}; std::array xmaxpT = {4.5, 3., 100, 1., 6.28}; - hm->AddHistogram(histClass, "Dielectron_Mass_Pt_Cent_cosThetaCS", "", 5, varsCSpbpb.data(), binspT.data(), xminpT.data(), xmaxpT.data(), 0, -1, kFALSE); + hm->AddHistogram(histClass, "Dielectron_Mass_Pt_Cent_cosThetaCS", "", 5, varsCSpbpb.data(), binspT.data(), xminpT.data(), xmaxpT.data(), nullptr, -1, kFALSE); } if (subGroupStr.Contains("polarization")) { if (subGroupStr.Contains("helicity")) { @@ -1422,30 +1422,30 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h std::array varA2_TPC_RP = {VarManager::kMass, VarManager::kPt, VarManager::kRap, VarManager::kCentFT0C, VarManager::kA2EP_RP_TPC}; std::array varDeltaPhi_TPC_PP = {VarManager::kMass, VarManager::kPt, VarManager::kRap, VarManager::kCentFT0C, VarManager::kDeltaPhiPP_TPC}; std::array varDeltaPhi_TPC_RP = {VarManager::kMass, VarManager::kPt, VarManager::kRap, VarManager::kCentFT0C, VarManager::kDeltaPhiRP_TPC}; - hm->AddHistogram(histClass, "Mass_Pt_centrFT0C_A2PP_TPC", "", 5, varA2_TPC_PP.data(), bins_A2.data(), minBins_A2.data(), maxBins_A2.data(), 0, -1, kTRUE); - hm->AddHistogram(histClass, "Mass_Pt_centrFT0C_A2RP_TPC", "", 5, varA2_TPC_RP.data(), bins_A2.data(), minBins_A2.data(), maxBins_A2.data(), 0, -1, kTRUE); - hm->AddHistogram(histClass, "Mass_Pt_centrFT0C_DeltaPhiPP_TPC", "", 5, varDeltaPhi_TPC_PP.data(), bins_DeltaPhi.data(), minBins_DeltaPhi.data(), maxBins_DeltaPhi.data(), 0, -1, kTRUE); - hm->AddHistogram(histClass, "Mass_Pt_centrFT0C_DeltaPhiRP_TPC", "", 5, varDeltaPhi_TPC_RP.data(), bins_DeltaPhi.data(), minBins_DeltaPhi.data(), maxBins_DeltaPhi.data(), 0, -1, kTRUE); + hm->AddHistogram(histClass, "Mass_Pt_centrFT0C_A2PP_TPC", "", 5, varA2_TPC_PP.data(), bins_A2.data(), minBins_A2.data(), maxBins_A2.data(), nullptr, -1, kTRUE); + hm->AddHistogram(histClass, "Mass_Pt_centrFT0C_A2RP_TPC", "", 5, varA2_TPC_RP.data(), bins_A2.data(), minBins_A2.data(), maxBins_A2.data(), nullptr, -1, kTRUE); + hm->AddHistogram(histClass, "Mass_Pt_centrFT0C_DeltaPhiPP_TPC", "", 5, varDeltaPhi_TPC_PP.data(), bins_DeltaPhi.data(), minBins_DeltaPhi.data(), maxBins_DeltaPhi.data(), nullptr, -1, kTRUE); + hm->AddHistogram(histClass, "Mass_Pt_centrFT0C_DeltaPhiRP_TPC", "", 5, varDeltaPhi_TPC_RP.data(), bins_DeltaPhi.data(), minBins_DeltaPhi.data(), maxBins_DeltaPhi.data(), nullptr, -1, kTRUE); } if (subGroupStr.Contains("ft0c")) { std::array varA2_FT0C_PP = {VarManager::kMass, VarManager::kPt, VarManager::kRap, VarManager::kCentFT0C, VarManager::kA2EP_PP_FT0C}; std::array varA2_FT0C_RP = {VarManager::kMass, VarManager::kPt, VarManager::kRap, VarManager::kCentFT0C, VarManager::kA2EP_RP_FT0C}; std::array varDeltaPhi_FT0C_PP = {VarManager::kMass, VarManager::kPt, VarManager::kRap, VarManager::kCentFT0C, VarManager::kDeltaPhiPP_FT0C}; std::array varDeltaPhi_FT0C_RP = {VarManager::kMass, VarManager::kPt, VarManager::kRap, VarManager::kCentFT0C, VarManager::kDeltaPhiRP_FT0C}; - hm->AddHistogram(histClass, "Mass_Pt_centrFT0C_A2PP_FT0C", "", 5, varA2_FT0C_PP.data(), bins_A2.data(), minBins_A2.data(), maxBins_A2.data(), 0, -1, kTRUE); - hm->AddHistogram(histClass, "Mass_Pt_centrFT0C_A2RP_FT0C", "", 5, varA2_FT0C_RP.data(), bins_A2.data(), minBins_A2.data(), maxBins_A2.data(), 0, -1, kTRUE); - hm->AddHistogram(histClass, "Mass_Pt_centrFT0C_DeltaPhiPP_FT0C", "", 5, varDeltaPhi_FT0C_PP.data(), bins_DeltaPhi.data(), minBins_DeltaPhi.data(), maxBins_DeltaPhi.data(), 0, -1, kTRUE); - hm->AddHistogram(histClass, "Mass_Pt_centrFT0C_DeltaPhiRP_FT0C", "", 5, varDeltaPhi_FT0C_RP.data(), bins_DeltaPhi.data(), minBins_DeltaPhi.data(), maxBins_DeltaPhi.data(), 0, -1, kTRUE); + hm->AddHistogram(histClass, "Mass_Pt_centrFT0C_A2PP_FT0C", "", 5, varA2_FT0C_PP.data(), bins_A2.data(), minBins_A2.data(), maxBins_A2.data(), nullptr, -1, kTRUE); + hm->AddHistogram(histClass, "Mass_Pt_centrFT0C_A2RP_FT0C", "", 5, varA2_FT0C_RP.data(), bins_A2.data(), minBins_A2.data(), maxBins_A2.data(), nullptr, -1, kTRUE); + hm->AddHistogram(histClass, "Mass_Pt_centrFT0C_DeltaPhiPP_FT0C", "", 5, varDeltaPhi_FT0C_PP.data(), bins_DeltaPhi.data(), minBins_DeltaPhi.data(), maxBins_DeltaPhi.data(), nullptr, -1, kTRUE); + hm->AddHistogram(histClass, "Mass_Pt_centrFT0C_DeltaPhiRP_FT0C", "", 5, varDeltaPhi_FT0C_RP.data(), bins_DeltaPhi.data(), minBins_DeltaPhi.data(), maxBins_DeltaPhi.data(), nullptr, -1, kTRUE); } if (subGroupStr.Contains("ft0a")) { std::array varA2_FT0A_PP = {VarManager::kMass, VarManager::kPt, VarManager::kRap, VarManager::kCentFT0C, VarManager::kA2EP_PP_FT0A}; std::array varA2_FT0A_RP = {VarManager::kMass, VarManager::kPt, VarManager::kRap, VarManager::kCentFT0C, VarManager::kA2EP_RP_FT0A}; std::array varDeltaPhi_FT0A_PP = {VarManager::kMass, VarManager::kPt, VarManager::kRap, VarManager::kCentFT0C, VarManager::kDeltaPhiPP_FT0A}; std::array varDeltaPhi_FT0A_RP = {VarManager::kMass, VarManager::kPt, VarManager::kRap, VarManager::kCentFT0C, VarManager::kDeltaPhiRP_FT0A}; - hm->AddHistogram(histClass, "Mass_Pt_centrFT0C_A2PP_FT0A", "", 5, varA2_FT0A_PP.data(), bins_A2.data(), minBins_A2.data(), maxBins_A2.data(), 0, -1, kTRUE); - hm->AddHistogram(histClass, "Mass_Pt_centrFT0C_A2RP_FT0A", "", 5, varA2_FT0A_RP.data(), bins_A2.data(), minBins_A2.data(), maxBins_A2.data(), 0, -1, kTRUE); - hm->AddHistogram(histClass, "Mass_Pt_centrFT0C_DeltaPhiPP_FT0A", "", 5, varDeltaPhi_FT0A_PP.data(), bins_DeltaPhi.data(), minBins_DeltaPhi.data(), maxBins_DeltaPhi.data(), 0, -1, kTRUE); - hm->AddHistogram(histClass, "Mass_Pt_centrFT0C_DeltaPhiRP_FT0A", "", 5, varDeltaPhi_FT0A_RP.data(), bins_DeltaPhi.data(), minBins_DeltaPhi.data(), maxBins_DeltaPhi.data(), 0, -1, kTRUE); + hm->AddHistogram(histClass, "Mass_Pt_centrFT0C_A2PP_FT0A", "", 5, varA2_FT0A_PP.data(), bins_A2.data(), minBins_A2.data(), maxBins_A2.data(), nullptr, -1, kTRUE); + hm->AddHistogram(histClass, "Mass_Pt_centrFT0C_A2RP_FT0A", "", 5, varA2_FT0A_RP.data(), bins_A2.data(), minBins_A2.data(), maxBins_A2.data(), nullptr, -1, kTRUE); + hm->AddHistogram(histClass, "Mass_Pt_centrFT0C_DeltaPhiPP_FT0A", "", 5, varDeltaPhi_FT0A_PP.data(), bins_DeltaPhi.data(), minBins_DeltaPhi.data(), maxBins_DeltaPhi.data(), nullptr, -1, kTRUE); + hm->AddHistogram(histClass, "Mass_Pt_centrFT0C_DeltaPhiRP_FT0A", "", 5, varDeltaPhi_FT0A_RP.data(), bins_DeltaPhi.data(), minBins_DeltaPhi.data(), maxBins_DeltaPhi.data(), nullptr, -1, kTRUE); } } if (subGroupStr.Contains("upsilon")) { @@ -1484,7 +1484,7 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h std::array binspT = {50, 10, 20, 1000}; std::array xminpT = {2., 0., -1., -0.5}; std::array xmaxpT = {4., 20., 1., 0.5}; - hm->AddHistogram(histClass, "Tauxy_Mass_Pt_CosthetaHE", "", 4, varspTHE.data(), binspT.data(), xminpT.data(), xmaxpT.data(), 0, -1, kFALSE); + hm->AddHistogram(histClass, "Tauxy_Mass_Pt_CosthetaHE", "", 4, varspTHE.data(), binspT.data(), xminpT.data(), xmaxpT.data(), nullptr, -1, kFALSE); } if (subGroupStr.Contains("tauxy-midy-pol-rand")) { @@ -1493,7 +1493,7 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h std::array binspT = {50, 10, 20, 1000}; std::array xminpT = {2., 0., -1., -0.5}; std::array xmaxpT = {4., 20., 1., 0.5}; - hm->AddHistogram(histClass, "Tauxy_Mass_Pt_CosthetaRand", "", 4, varspTRand.data(), binspT.data(), xminpT.data(), xmaxpT.data(), 0, -1, kFALSE); + hm->AddHistogram(histClass, "Tauxy_Mass_Pt_CosthetaRand", "", 4, varspTRand.data(), binspT.data(), xminpT.data(), xmaxpT.data(), nullptr, -1, kFALSE); } if (subGroupStr.Contains("tauxy-midy-pol-cs")) { @@ -1502,7 +1502,7 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h std::array binspT = {50, 10, 20, 1000}; std::array xminpT = {2., 0., -1., -0.5}; std::array xmaxpT = {4., 20., 1., 0.5}; - hm->AddHistogram(histClass, "Tauxy_Mass_Pt_CosthetaCS", "", 4, varspTCS.data(), binspT.data(), xminpT.data(), xmaxpT.data(), 0, -1, kFALSE); + hm->AddHistogram(histClass, "Tauxy_Mass_Pt_CosthetaCS", "", 4, varspTCS.data(), binspT.data(), xminpT.data(), xmaxpT.data(), nullptr, -1, kFALSE); } if (subGroupStr.Contains("kalman-filter")) { @@ -1597,14 +1597,14 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h std::array binsKine = {250, 120, 60}; std::array xminKine = {0.0, 0.0, 2.5}; std::array xmaxKine = {5.0, 30.0, 4.0}; - hm->AddHistogram(histClass, "Mass_Pt_Rapidity", "", 3, varsKine.data(), binsKine.data(), xminKine.data(), xmaxKine.data(), 0, -1, kFALSE); + hm->AddHistogram(histClass, "Mass_Pt_Rapidity", "", 3, varsKine.data(), binsKine.data(), xminKine.data(), xmaxKine.data(), nullptr, -1, kFALSE); } if (subGroupStr.Contains("dimuon-high-mass-multi-diff")) { std::array varsKine = {VarManager::kMass, VarManager::kPt, VarManager::kRap}; std::array binsKine = {250, 120, 60}; std::array xminKine = {7.0, 0.0, 2.5}; std::array xmaxKine = {12.0, 30.0, 4.0}; - hm->AddHistogram(histClass, "Mass_Pt_Rapidity", "", 3, varsKine.data(), binsKine.data(), xminKine.data(), xmaxKine.data(), 0, -1, kFALSE); + hm->AddHistogram(histClass, "Mass_Pt_Rapidity", "", 3, varsKine.data(), binsKine.data(), xminKine.data(), xmaxKine.data(), nullptr, -1, kFALSE); } if (subGroupStr.Contains("dimuon-centr")) { hm->AddHistogram(histClass, "Mass_CentFT0C", "", false, 750, 0.0, 15.0, VarManager::kMass, 100, 0., 100., VarManager::kCentFT0C); @@ -1696,21 +1696,21 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h std::array binspT = {100, 40, 20, 20}; std::array xminpT = {1., 0., -1., -3.14}; std::array xmaxpT = {5., 20., 1., +3.14}; - hm->AddHistogram(histClass, "Mass_Pt_cosThetaHE_phiHE", "", 4, varspTHE.data(), binspT.data(), xminpT.data(), xmaxpT.data(), 0, -1, kFALSE); + hm->AddHistogram(histClass, "Mass_Pt_cosThetaHE_phiHE", "", 4, varspTHE.data(), binspT.data(), xminpT.data(), xmaxpT.data(), nullptr, -1, kFALSE); } if (subGroupStr.Contains("dimuon-polarization-cs")) { std::array varspTCS = {VarManager::kMass, VarManager::kPt, VarManager::kCosThetaCS, VarManager::kPhiCS}; std::array binspT = {100, 40, 20, 20}; std::array xminpT = {1., 0., -1., -3.14}; std::array xmaxpT = {5., 20., 1., +3.14}; - hm->AddHistogram(histClass, "Mass_Pt_cosThetaCS_phiCS", "", 4, varspTCS.data(), binspT.data(), xminpT.data(), xmaxpT.data(), 0, -1, kFALSE); + hm->AddHistogram(histClass, "Mass_Pt_cosThetaCS_phiCS", "", 4, varspTCS.data(), binspT.data(), xminpT.data(), xmaxpT.data(), nullptr, -1, kFALSE); } if (subGroupStr.Contains("dimuon-polarization-pp")) { std::array varspTPP = {VarManager::kMass, VarManager::kPt, VarManager::kCosThetaPP, VarManager::kPhiPP}; std::array binspT = {100, 40, 20, 20}; std::array xminpT = {1., 0., -1., -3.14}; std::array xmaxpT = {5., 20., 1., +3.14}; - hm->AddHistogram(histClass, "Mass_Pt_cosThetaPP_phiPP", "", 4, varspTPP.data(), binspT.data(), xminpT.data(), xmaxpT.data(), 0, -1, kFALSE); + hm->AddHistogram(histClass, "Mass_Pt_cosThetaPP_phiPP", "", 4, varspTPP.data(), binspT.data(), xminpT.data(), xmaxpT.data(), nullptr, -1, kFALSE); } if (subGroupStr.Contains("dimuon-polarization-lowmass-pp")) { std::array varspTPP = {VarManager::kMass, VarManager::kPt, VarManager::kCosThetaPP, VarManager::kPhiPP}; @@ -1721,22 +1721,22 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h std::array xmaxpT = {1.5, 20., 1., +3.14}; std::array xminy = {0.2, 2.5, -1., -3.14}; std::array xmaxy = {1.5, 4.0, 1., +3.14}; - hm->AddHistogram(histClass, "Mass_Pt_cosThetaPP_phiPP", "", 4, varspTPP.data(), binspT.data(), xminpT.data(), xmaxpT.data(), 0, -1, kFALSE); - hm->AddHistogram(histClass, "Mass_y_cosThetaPP_phiPP", "", 4, varsrapPP.data(), binsy.data(), xminy.data(), xmaxy.data(), 0, -1, kFALSE); + hm->AddHistogram(histClass, "Mass_Pt_cosThetaPP_phiPP", "", 4, varspTPP.data(), binspT.data(), xminpT.data(), xmaxpT.data(), nullptr, -1, kFALSE); + hm->AddHistogram(histClass, "Mass_y_cosThetaPP_phiPP", "", 4, varsrapPP.data(), binsy.data(), xminy.data(), xmaxy.data(), nullptr, -1, kFALSE); } if (subGroupStr.Contains("upsilon-polarization-he")) { std::array varspTHE = {VarManager::kMass, VarManager::kPt, VarManager::kCosThetaHE, VarManager::kPhiHE}; std::array binspT = {100, 20, 20, 20}; std::array xminpT = {1., 0., -1., 0.}; std::array xmaxpT = {15., 20., 1., 2. * o2::constants::math::PI}; - hm->AddHistogram(histClass, "Mass_Pt_cosThetaHE_phiHE", "", 4, varspTHE.data(), binspT.data(), xminpT.data(), xmaxpT.data(), 0, -1, kFALSE); + hm->AddHistogram(histClass, "Mass_Pt_cosThetaHE_phiHE", "", 4, varspTHE.data(), binspT.data(), xminpT.data(), xmaxpT.data(), nullptr, -1, kFALSE); } if (subGroupStr.Contains("upsilon-polarization-cs")) { std::array varspTCS = {VarManager::kMass, VarManager::kPt, VarManager::kCosThetaCS, VarManager::kPhiCS}; std::array binspT = {100, 20, 20, 20}; std::array xminpT = {1., 0., -1., 0.}; std::array xmaxpT = {15., 20., 1., 2. * o2::constants::math::PI}; - hm->AddHistogram(histClass, "Mass_Pt_cosThetaCS_phiCS", "", 4, varspTCS.data(), binspT.data(), xminpT.data(), xmaxpT.data(), 0, -1, kFALSE); + hm->AddHistogram(histClass, "Mass_Pt_cosThetaCS_phiCS", "", 4, varspTCS.data(), binspT.data(), xminpT.data(), xmaxpT.data(), nullptr, -1, kFALSE); } if (subGroupStr.Contains("dimuon-polarization-vp")) { std::array varspTVP = {VarManager::kMass, VarManager::kPt, VarManager::kCosPhiVP, VarManager::kPhiVP}; @@ -1747,71 +1747,71 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h std::array xmaxpT = {5., 20., 1., +3.14}; std::array xminy = {1., 2.5, -1., 0.}; std::array xmaxy = {5., 4.0, 1., +3.14}; - hm->AddHistogram(histClass, "Mass_Pt_phiVP", "", 4, varspTVP.data(), binspT.data(), xminpT.data(), xmaxpT.data(), 0, -1, kFALSE); - hm->AddHistogram(histClass, "Mass_y_phiVP", "", 4, varsrapVP.data(), binsy.data(), xminy.data(), xmaxy.data(), 0, -1, kFALSE); + hm->AddHistogram(histClass, "Mass_Pt_phiVP", "", 4, varspTVP.data(), binspT.data(), xminpT.data(), xmaxpT.data(), nullptr, -1, kFALSE); + hm->AddHistogram(histClass, "Mass_y_phiVP", "", 4, varsrapVP.data(), binsy.data(), xminy.data(), xmaxy.data(), nullptr, -1, kFALSE); } if (subGroupStr.Contains("dimuon-rap")) { std::array vars = {VarManager::kMass, VarManager::kPt, VarManager::kCentFT0C, VarManager::kRap}; std::array binspT = {300, 200, 10, 6}; std::array xminpT = {2., 0., 0, 2.5}; std::array xmaxpT = {8., 20., 100, 4.0}; - hm->AddHistogram(histClass, "Mass_Pt_Cent_Rap", "", 4, vars.data(), binspT.data(), xminpT.data(), xmaxpT.data(), 0, -1, kFALSE); + hm->AddHistogram(histClass, "Mass_Pt_Cent_Rap", "", 4, vars.data(), binspT.data(), xminpT.data(), xmaxpT.data(), nullptr, -1, kFALSE); } if (subGroupStr.Contains("dimuon-polarization-he-pbpb")) { std::array varsHEpbpb = {VarManager::kMass, VarManager::kPt, VarManager::kCentFT0C, VarManager::kCosThetaHE, VarManager::kPhiHE}; std::array binspT = {150, 30, 10, 10, 10}; std::array xminpT = {2., 0., 0, -1., -3.14}; std::array xmaxpT = {5., 3., 100, 1., 3.14}; - hm->AddHistogram(histClass, "Mass_Pt_Cent_cosThetaHE", "", 5, varsHEpbpb.data(), binspT.data(), xminpT.data(), xmaxpT.data(), 0, -1, kFALSE); + hm->AddHistogram(histClass, "Mass_Pt_Cent_cosThetaHE", "", 5, varsHEpbpb.data(), binspT.data(), xminpT.data(), xmaxpT.data(), nullptr, -1, kFALSE); } if (subGroupStr.Contains("dimuon-polarization-lowmass-he-pbpb")) { std::array varsHEpbpb = {VarManager::kMass, VarManager::kPt, VarManager::kCentFT0C, VarManager::kCosThetaHE, VarManager::kPhiHE}; std::array binspT = {200, 30, 10, 10, 10}; std::array xminpT = {0.2, 0., 0, -1., -3.14}; std::array xmaxpT = {1.2, 3., 100, 1., 3.14}; - hm->AddHistogram(histClass, "Mass_Pt_Cent_cosThetaHE_lowmass", "", 5, varsHEpbpb.data(), binspT.data(), xminpT.data(), xmaxpT.data(), 0, -1, kFALSE); + hm->AddHistogram(histClass, "Mass_Pt_Cent_cosThetaHE_lowmass", "", 5, varsHEpbpb.data(), binspT.data(), xminpT.data(), xmaxpT.data(), nullptr, -1, kFALSE); } if (subGroupStr.Contains("dimuon-polarization-cs-pbpb")) { std::array varsCSpbpb = {VarManager::kMass, VarManager::kPt, VarManager::kCentFT0C, VarManager::kCosThetaCS, VarManager::kPhiCS}; std::array binspT = {150, 30, 10, 10, 10}; std::array xminpT = {2., 0., 0, -1., -3.14}; std::array xmaxpT = {5., 3., 100, 1., 3.14}; - hm->AddHistogram(histClass, "Mass_Pt_Cent_cosThetaCS", "", 5, varsCSpbpb.data(), binspT.data(), xminpT.data(), xmaxpT.data(), 0, -1, kFALSE); + hm->AddHistogram(histClass, "Mass_Pt_Cent_cosThetaCS", "", 5, varsCSpbpb.data(), binspT.data(), xminpT.data(), xmaxpT.data(), nullptr, -1, kFALSE); } if (subGroupStr.Contains("dimuon-polarization-lowmass-cs-pbpb")) { std::array varsCSpbpb = {VarManager::kMass, VarManager::kPt, VarManager::kCentFT0C, VarManager::kCosThetaCS, VarManager::kPhiCS}; std::array binspT = {200, 30, 10, 10, 10}; std::array xminpT = {0.2, 0., 0, -1., -3.14}; std::array xmaxpT = {1.2, 3., 100, 1., 3.14}; - hm->AddHistogram(histClass, "Mass_Pt_Cent_cosThetaCS_lowmass", "", 5, varsCSpbpb.data(), binspT.data(), xminpT.data(), xmaxpT.data(), 0, -1, kFALSE); + hm->AddHistogram(histClass, "Mass_Pt_Cent_cosThetaCS_lowmass", "", 5, varsCSpbpb.data(), binspT.data(), xminpT.data(), xmaxpT.data(), nullptr, -1, kFALSE); } if (subGroupStr.Contains("dimuon-polarization-vp-pbpb")) { std::array varsVPpbpb = {VarManager::kMass, VarManager::kPt, VarManager::kCentFT0C, VarManager::kCosPhiVP, VarManager::kPhiVP}; std::array binspT = {150, 30, 10, 24, 24}; std::array xminpT = {2., 0., 0, -1., 0.}; std::array xmaxpT = {5., 3., 100, 1., 3.14}; - hm->AddHistogram(histClass, "Mass_Pt_Cent_phiVP", "", 5, varsVPpbpb.data(), binspT.data(), xminpT.data(), xmaxpT.data(), 0, -1, kFALSE); + hm->AddHistogram(histClass, "Mass_Pt_Cent_phiVP", "", 5, varsVPpbpb.data(), binspT.data(), xminpT.data(), xmaxpT.data(), nullptr, -1, kFALSE); } if (subGroupStr.Contains("dimuon-polarization-lowmass-vp-pbpb")) { std::array varsVPpbpb = {VarManager::kMass, VarManager::kPt, VarManager::kCentFT0C, VarManager::kCosPhiVP, VarManager::kPhiVP}; std::array binspT = {200, 30, 10, 24, 24}; std::array xminpT = {0.2, 0., 0, -1., 0.}; std::array xmaxpT = {1.2, 3., 100, 1., 3.14}; - hm->AddHistogram(histClass, "Mass_Pt_Cent_phiVP_lowmass", "", 5, varsVPpbpb.data(), binspT.data(), xminpT.data(), xmaxpT.data(), 0, -1, kFALSE); + hm->AddHistogram(histClass, "Mass_Pt_Cent_phiVP_lowmass", "", 5, varsVPpbpb.data(), binspT.data(), xminpT.data(), xmaxpT.data(), nullptr, -1, kFALSE); } if (subGroupStr.Contains("dimuon-rap-polarization-he-pbpb")) { std::array varsHEpbpb = {VarManager::kMass, VarManager::kPt, VarManager::kCentFT0C, VarManager::kCosThetaHE, VarManager::kRap}; std::array binspT = {150, 30, 10, 10, 6}; std::array xminpT = {2., 0., 0, -1., 2.5}; std::array xmaxpT = {5., 3., 100, 1., 4.0}; - hm->AddHistogram(histClass, "Mass_Pt_Cent_cosThetaHE_Rap", "", 5, varsHEpbpb.data(), binspT.data(), xminpT.data(), xmaxpT.data(), 0, -1, kFALSE); + hm->AddHistogram(histClass, "Mass_Pt_Cent_cosThetaHE_Rap", "", 5, varsHEpbpb.data(), binspT.data(), xminpT.data(), xmaxpT.data(), nullptr, -1, kFALSE); } if (subGroupStr.Contains("dimuon-rap-polarization-cs-pbpb")) { std::array varsCSpbpb = {VarManager::kMass, VarManager::kPt, VarManager::kCentFT0C, VarManager::kCosThetaCS, VarManager::kRap}; std::array binspT = {150, 30, 10, 10, 6}; std::array xminpT = {2., 0., 0, -1., 2.5}; std::array xmaxpT = {5., 3., 100, 1., 4.0}; - hm->AddHistogram(histClass, "Mass_Pt_Cent_cosThetaCS_Rap", "", 5, varsCSpbpb.data(), binspT.data(), xminpT.data(), xmaxpT.data(), 0, -1, kFALSE); + hm->AddHistogram(histClass, "Mass_Pt_Cent_cosThetaCS_Rap", "", 5, varsCSpbpb.data(), binspT.data(), xminpT.data(), xmaxpT.data(), nullptr, -1, kFALSE); } if (subGroupStr.Contains("dimuon-midmult-polarization-he")) { std::array varsITSTPCMulHE = {VarManager::kMass, VarManager::kMultNTracksITSTPC, VarManager::kCosThetaHE, VarManager::kPhiHE}; @@ -1819,8 +1819,8 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h std::array binsMul = {100, 20, 20, 20}; std::array xminMul = {1., 0., -1., -3.14}; std::array xmaxMul = {5., 120., 1., +3.14}; - hm->AddHistogram(histClass, "Mass_ITSTPCMult_cosThetaHE_phiHE", "", 4, varsITSTPCMulHE.data(), binsMul.data(), xminMul.data(), xmaxMul.data(), 0, -1, kFALSE); - hm->AddHistogram(histClass, "Mass_ITSMult_cosThetaHE_phiHE", "", 4, varsITSMulHE.data(), binsMul.data(), xminMul.data(), xmaxMul.data(), 0, -1, kFALSE); + hm->AddHistogram(histClass, "Mass_ITSTPCMult_cosThetaHE_phiHE", "", 4, varsITSTPCMulHE.data(), binsMul.data(), xminMul.data(), xmaxMul.data(), nullptr, -1, kFALSE); + hm->AddHistogram(histClass, "Mass_ITSMult_cosThetaHE_phiHE", "", 4, varsITSMulHE.data(), binsMul.data(), xminMul.data(), xmaxMul.data(), nullptr, -1, kFALSE); } if (subGroupStr.Contains("dimuon-midmult-polarization-cs")) { std::array varsITSTPCMulCS = {VarManager::kMass, VarManager::kMultNTracksITSTPC, VarManager::kCosThetaCS, VarManager::kPhiCS}; @@ -1828,8 +1828,8 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h std::array binsMul = {100, 20, 20, 20}; std::array xminMul = {1., 0., -1., -3.14}; std::array xmaxMul = {5., 120., 1., +3.14}; - hm->AddHistogram(histClass, "Mass_ITSTPCMult_cosThetaCS_phiCS", "", 4, varsITSTPCMulCS.data(), binsMul.data(), xminMul.data(), xmaxMul.data(), 0, -1, kFALSE); - hm->AddHistogram(histClass, "Mass_ITSMult_cosThetaCS_phiCS", "", 4, varsITSMulCS.data(), binsMul.data(), xminMul.data(), xmaxMul.data(), 0, -1, kFALSE); + hm->AddHistogram(histClass, "Mass_ITSTPCMult_cosThetaCS_phiCS", "", 4, varsITSTPCMulCS.data(), binsMul.data(), xminMul.data(), xmaxMul.data(), nullptr, -1, kFALSE); + hm->AddHistogram(histClass, "Mass_ITSMult_cosThetaCS_phiCS", "", 4, varsITSMulCS.data(), binsMul.data(), xminMul.data(), xmaxMul.data(), nullptr, -1, kFALSE); } if (subGroupStr.Contains("dimuon-fwdmult-polarization-he")) { std::array varsFT0AMulHE = {VarManager::kMass, VarManager::kMultFT0A, VarManager::kCosThetaHE, VarManager::kPhiHE}; @@ -1837,8 +1837,8 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h std::array binsMul = {100, 20, 20, 20}; std::array xminMul = {1., 0., -1., -3.14}; std::array xmaxMul = {5., 3000., 1., +3.14}; - hm->AddHistogram(histClass, "Mass_FT0AMult_cosThetaHE_phiHE", "", 4, varsFT0AMulHE.data(), binsMul.data(), xminMul.data(), xmaxMul.data(), 0, -1, kFALSE); - hm->AddHistogram(histClass, "Mass_FV0AMult_cosThetaHE_phiHE", "", 4, varsFV0AMulHE.data(), binsMul.data(), xminMul.data(), xmaxMul.data(), 0, -1, kFALSE); + hm->AddHistogram(histClass, "Mass_FT0AMult_cosThetaHE_phiHE", "", 4, varsFT0AMulHE.data(), binsMul.data(), xminMul.data(), xmaxMul.data(), nullptr, -1, kFALSE); + hm->AddHistogram(histClass, "Mass_FV0AMult_cosThetaHE_phiHE", "", 4, varsFV0AMulHE.data(), binsMul.data(), xminMul.data(), xmaxMul.data(), nullptr, -1, kFALSE); } if (subGroupStr.Contains("dimuon-fwdmult-polarization-cs")) { std::array varsFT0AMulCS = {VarManager::kMass, VarManager::kMultFT0A, VarManager::kCosThetaCS, VarManager::kPhiCS}; @@ -1846,8 +1846,8 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h std::array binsMul = {100, 20, 20, 20}; std::array xminMul = {1., 0., -1., -3.14}; std::array xmaxMul = {5., 3000., 1., +3.14}; - hm->AddHistogram(histClass, "Mass_FT0AMult_cosThetaCS_phiCS", "", 4, varsFT0AMulCS.data(), binsMul.data(), xminMul.data(), xmaxMul.data(), 0, -1, kFALSE); - hm->AddHistogram(histClass, "Mass_FV0AMult_cosThetaCS_phiCS", "", 4, varsFV0AMulCS.data(), binsMul.data(), xminMul.data(), xmaxMul.data(), 0, -1, kFALSE); + hm->AddHistogram(histClass, "Mass_FT0AMult_cosThetaCS_phiCS", "", 4, varsFT0AMulCS.data(), binsMul.data(), xminMul.data(), xmaxMul.data(), nullptr, -1, kFALSE); + hm->AddHistogram(histClass, "Mass_FV0AMult_cosThetaCS_phiCS", "", 4, varsFV0AMulCS.data(), binsMul.data(), xminMul.data(), xmaxMul.data(), nullptr, -1, kFALSE); } if (subGroupStr.Contains("vertexing-forward")) { hm->AddHistogram(histClass, "Lxyz", "", false, 100, 0.0, 10.0, VarManager::kVertexingLxyz); @@ -1885,8 +1885,8 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h std::array bins = {250, 60, 6, 18, 200, 40}; std::array minBins = {0.0, 0.0, 2.5, 0.0, -10.0, -2.0}; std::array maxBins = {5.0, 30.0, 4.0, 90.0, 10.0, 2.0}; - hm->AddHistogram(histClass, "Mass_Pt_centrFT0C_V2POS", "", 6, varV2POS.data(), bins.data(), minBins.data(), maxBins.data(), 0, -1, kTRUE); - hm->AddHistogram(histClass, "Mass_Pt_centrFT0C_V2NEG", "", 6, varV2NEG.data(), bins.data(), minBins.data(), maxBins.data(), 0, -1, kTRUE); + hm->AddHistogram(histClass, "Mass_Pt_centrFT0C_V2POS", "", 6, varV2POS.data(), bins.data(), minBins.data(), maxBins.data(), nullptr, -1, kTRUE); + hm->AddHistogram(histClass, "Mass_Pt_centrFT0C_V2NEG", "", 6, varV2NEG.data(), bins.data(), minBins.data(), maxBins.data(), nullptr, -1, kTRUE); } if (subGroupStr.Contains("flow-dimuon-high-mass")) { std::array varV2 = {VarManager::kMass, VarManager::kPt, VarManager::kRap, VarManager::kCentFT0C, VarManager::kU2Q2, VarManager::kCos2DeltaPhi}; @@ -1894,7 +1894,7 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h std::array bins = {50, 30, 6, 18, 200, 40}; std::array minBins = {7.0, 0.0, 2.5, 0.0, -10.0, -2.0}; std::array maxBins = {12.0, 30.0, 4.0, 90.0, 10.0, 2.0}; - hm->AddHistogram(histClass, "Mass_Pt_centrFT0C_V2", "", 6, varV2.data(), bins.data(), minBins.data(), maxBins.data(), 0, -1, kTRUE); + hm->AddHistogram(histClass, "Mass_Pt_centrFT0C_V2", "", 6, varV2.data(), bins.data(), minBins.data(), maxBins.data(), nullptr, -1, kTRUE); } if (subGroupStr.Contains("flow-dimuon")) { std::array varV2 = {VarManager::kMass, VarManager::kPt, VarManager::kRap, VarManager::kCentFT0C, VarManager::kU2Q2, VarManager::kCos2DeltaPhi}; @@ -1903,7 +1903,7 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h std::array bins = {250, 60, 6, 18, 200, 40}; std::array minBins = {0.0, 0.0, 2.5, 0.0, -10.0, -2.0}; std::array maxBins = {5.0, 30.0, 4.0, 90.0, 10.0, 2.0}; - hm->AddHistogram(histClass, "Mass_Pt_centrFT0C_V2", "", 6, varV2.data(), bins.data(), minBins.data(), maxBins.data(), 0, -1, kTRUE); + hm->AddHistogram(histClass, "Mass_Pt_centrFT0C_V2", "", 6, varV2.data(), bins.data(), minBins.data(), maxBins.data(), nullptr, -1, kTRUE); // hm->AddHistogram(histClass, "Mass_Pt_centrFT0C_V3", "", 6, varV3.data(), bins.data(), minBins.data(), maxBins.data(), 0, -1, kTRUE); // removed temporarily } if (subGroupStr.Contains("flow-ccdb")) { @@ -1948,7 +1948,7 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h hm->AddHistogram(histClass, "Mass_Pt_centrFT0C_M01M0111overMp", "", true, 250, 0.0, 5.0, VarManager::kMass, 60, 0.0, 30.0, VarManager::kPt, 18, 0.0, 90.0, VarManager::kCentFT0C, "", "", "", VarManager::kM01M0111overMp); hm->AddHistogram(histClass, "Mass_Pt_centrFT0C_M11M0111overMp", "", true, 250, 0.0, 5.0, VarManager::kMass, 60, 0.0, 30.0, VarManager::kPt, 18, 0.0, 90.0, VarManager::kCentFT0C, "", "", "", VarManager::kM11M0111overMp); hm->AddHistogram(histClass, "Mass_Pt_centrFT0C_M11M01REFoverMp", "", true, 250, 0.0, 5.0, VarManager::kMass, 60, 0.0, 30.0, VarManager::kPt, 18, 0.0, 90.0, VarManager::kCentFT0C, "", "", "", VarManager::kM11M01overMp); - hm->AddHistogram(histClass, "Mass_Pt_Rapidity_CentFT0C", "", 4, var.data(), bins.data(), minBins.data(), maxBins.data(), 0, -1, kTRUE); + hm->AddHistogram(histClass, "Mass_Pt_Rapidity_CentFT0C", "", 4, var.data(), bins.data(), minBins.data(), maxBins.data(), nullptr, -1, kTRUE); hm->AddHistogram(histClass, "Mass_Pt_centrFT0C_Corr2REF", "", true, 250, 0.0, 5.0, VarManager::kMass, 60, 0.0, 30.0, VarManager::kPt, 18, 0.0, 90.0, VarManager::kCentFT0C, "", "", "", VarManager::kCORR2REFbydimuons, VarManager::kM11REFoverMp); hm->AddHistogram(histClass, "Mass_Pt_centrFT0C_Corr4REF", "", true, 250, 0.0, 5.0, VarManager::kMass, 60, 0.0, 30.0, VarManager::kPt, 18, 0.0, 90.0, VarManager::kCentFT0C, "", "", "", VarManager::kCORR4REFbydimuons, VarManager::kM1111REFoverMp); hm->AddHistogram(histClass, "Mass_Pt_centrFT0C_Corr2POI", "", true, 250, 0.0, 5.0, VarManager::kMass, 60, 0.0, 30.0, VarManager::kPt, 18, 0.0, 90.0, VarManager::kCentFT0C, "", "", "", VarManager::kCORR2POI, VarManager::kM01POIoverMp); @@ -1963,7 +1963,7 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h std::array bins = {250, 60, 6, 18}; std::array minBins = {0.0, 0.0, 2.5, 0.0}; std::array maxBins = {5.0, 30.0, 4.0, 90.0}; - hm->AddHistogram(histClass, "Mass_Pt_Rapidity_CentFT0C", "", 4, var.data(), bins.data(), minBins.data(), maxBins.data(), 0, -1, kTRUE); + hm->AddHistogram(histClass, "Mass_Pt_Rapidity_CentFT0C", "", 4, var.data(), bins.data(), minBins.data(), maxBins.data(), nullptr, -1, kTRUE); hm->AddHistogram(histClass, "Mass_Pt_centrFT0C_Corr2REF", "", true, 250, 0.0, 5.0, VarManager::kMass, 60, 0.0, 30.0, VarManager::kPt, 18, 0.0, 90.0, VarManager::kCentFT0C, "", "", "", VarManager::kCORR2REFbydimuons, VarManager::kM11REFoverMp); hm->AddHistogram(histClass, "Mass_Pt_centrFT0C_Corr4REF", "", true, 250, 0.0, 5.0, VarManager::kMass, 60, 0.0, 30.0, VarManager::kPt, 18, 0.0, 90.0, VarManager::kCentFT0C, "", "", "", VarManager::kCORR4REFbydimuons, VarManager::kM1111REFoverMp); hm->AddHistogram(histClass, "Mass_Pt_centrFT0C_Corr2POI", "", true, 250, 0.0, 5.0, VarManager::kMass, 60, 0.0, 30.0, VarManager::kPt, 18, 0.0, 90.0, VarManager::kCentFT0C, "", "", "", VarManager::kCORR2POI, VarManager::kM01POIoverMp); @@ -1986,7 +1986,7 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h std::array bins = {250, 60, 6, 18}; std::array minBins = {0.0, 0.0, 2.5, 0.0}; std::array maxBins = {5.0, 30.0, 4.0, 90.0}; - hm->AddHistogram(histClass, "Mass_Pt_Rapidity_CentFT0C", "", 4, var.data(), bins.data(), minBins.data(), maxBins.data(), 0, -1, kTRUE); + hm->AddHistogram(histClass, "Mass_Pt_Rapidity_CentFT0C", "", 4, var.data(), bins.data(), minBins.data(), maxBins.data(), nullptr, -1, kTRUE); hm->AddHistogram(histClass, "Mass_Pt_centrFT0C_Corr2REFminus", "", true, 60, 0.0, 30.0, VarManager::kPt2, 18, 0.0, 90.0, VarManager::kCentFT0C, 0, 0.0, 1.0, VarManager::kCORR2REFbydimuons, "", "", "", VarManager::kNothing, VarManager::kM11REFoverMpminus); hm->AddHistogram(histClass, "Mass_Pt_centrFT0C_Corr4REFminus", "", true, 60, 0.0, 30.0, VarManager::kPt2, 18, 0.0, 90.0, VarManager::kCentFT0C, 0, 0.0, 1.0, VarManager::kCORR4REFbydimuons, "", "", "", VarManager::kNothing, VarManager::kM1111REFoverMpminus); hm->AddHistogram(histClass, "Mass_Pt_centrFT0C_Corr2REFplus", "", true, 60, 0.0, 30.0, VarManager::kPt1, 18, 0.0, 90.0, VarManager::kCentFT0C, 0, 0.0, 1.0, VarManager::kCORR2REFbydimuons, "", "", "", VarManager::kNothing, VarManager::kM11REFoverMpplus); @@ -2025,7 +2025,7 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h std::array bins = {125, 60, 6, 18, 200, 40}; std::array minBins = {0.0, 0.0, 2.5, 0.0, -10.0, -2.0}; std::array maxBins = {5.0, 30.0, 4.0, 90.0, 10.0, 2.0}; - hm->AddHistogram(histClass, "Mass_Pt_centrFT0C_R2", "", 6, varV2.data(), bins.data(), minBins.data(), maxBins.data(), 0, -1, kTRUE); + hm->AddHistogram(histClass, "Mass_Pt_centrFT0C_R2", "", 6, varV2.data(), bins.data(), minBins.data(), maxBins.data(), nullptr, -1, kTRUE); // hm->AddHistogram(histClass, "Mass_Pt_centrFT0C_R3", "", 6, varV3.data(), bins.data(), minBins.data(), maxBins.data(), 0, -1, kTRUE); // removed temporarily } if (subGroupStr.Contains("z-boson")) { From fa6b7f3d0e89047b0f0b8d59e70208d9b74f6277 Mon Sep 17 00:00:00 2001 From: Maurice Coquet Date: Mon, 13 Jul 2026 16:32:48 +0200 Subject: [PATCH 12/24] cppcoreguidelines-pro-type-member-init --- PWGDQ/Core/HistogramsLibrary.cxx | 86 ++++++++++++++++---------------- 1 file changed, 43 insertions(+), 43 deletions(-) diff --git a/PWGDQ/Core/HistogramsLibrary.cxx b/PWGDQ/Core/HistogramsLibrary.cxx index 9ea52d8a67b..e8a51f1ee78 100644 --- a/PWGDQ/Core/HistogramsLibrary.cxx +++ b/PWGDQ/Core/HistogramsLibrary.cxx @@ -744,7 +744,7 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h if (subGroupStr.Contains("tpcpid")) { if (subGroupStr.Contains("tpcpid_fine")) { // fine binning for pIN: steps in 10 MeV/c from 0 to 1 GeV/c and 100 MeV/c up to 10 GeV/c - std::array pIN_bins; + std::array pIN_bins{}; for (int i = 0; i <= 200; i++) { pIN_bins[i] = 0.01 * i; } @@ -753,13 +753,13 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h } int nbins_pIN = static_cast(pIN_bins.size()) - 1; - std::array TPCdEdx_bins; + std::array TPCdEdx_bins{}; for (int i = 0; i <= 200; i++) { TPCdEdx_bins[i] = i; } int nbins_TPCdEdx = static_cast(TPCdEdx_bins.size()) - 1; - std::array nSigma_bins; + std::array nSigma_bins{}; for (int i = 0; i <= 100; i++) { nSigma_bins[i] = -5. + 0.1 * i; } @@ -822,7 +822,7 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h if (subGroupStr.Contains("postcalib")) { const int kNvarsPID = 4; const int kTPCnsigmaNbins = 70; - std::array tpcNsigmaBinLims; + std::array tpcNsigmaBinLims{}; for (int i = 0; i <= kTPCnsigmaNbins; ++i) { tpcNsigmaBinLims[i] = -7.0 + 0.2 * i; } @@ -834,7 +834,7 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h std::array etaBinLimsI = {-0.9, -0.7, -0.5, -0.3, -0.1, 0.1, 0.3, 0.5, 0.7, 0.9}; const int kTPCnClusterbins = 16; - std::array tpcNclusterBinLims; + std::array tpcNclusterBinLims{}; for (int i = 0; i <= kTPCnClusterbins; ++i) { tpcNclusterBinLims[i] = 10 * i; } @@ -882,7 +882,7 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h if (subGroupStr.Contains("tofpid")) { if (subGroupStr.Contains("tofpid_fine")) { // fine binning for pIN: steps in 10 MeV/c from 0 to 1 GeV/c and 100 MeV/c up to 10 GeV/c - std::array pIN_bins; + std::array pIN_bins{}; for (int i = 0; i <= 200; i++) { pIN_bins[i] = 0.01 * i; } @@ -891,13 +891,13 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h } int nbins_pIN = static_cast(pIN_bins.size()) - 1; - std::array TOFbeta_bins; + std::array TOFbeta_bins{}; for (int i = 0; i <= 240; i++) { TOFbeta_bins[i] = 0.005 * i; } int nbins_TOFbeta = static_cast(TOFbeta_bins.size()) - 1; - std::array nSigma_bins; + std::array nSigma_bins{}; for (int i = 0; i <= 100; i++) { nSigma_bins[i] = -5. + 0.1 * i; } @@ -919,7 +919,7 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h if (subGroupStr.Contains("pidcorre")) { const int kNvarsPID = 3; const int kNbins_pIN = 169; - std::array pIN_bins; + std::array pIN_bins{}; for (int i = 0; i <= 140; i++) { pIN_bins[i] = 0.01 * i + 0.1; } @@ -931,7 +931,7 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h } const int kNbins_pINmore = 135; - std::array pIN_binsmore; + std::array pIN_binsmore{}; for (int i = 0; i <= 120; i++) { pIN_binsmore[i] = 0.01 * i + 0.3; } @@ -945,31 +945,31 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h pIN_binsmore[135] = 10.; const int kNbins_nSigma = 100; - std::array nSigma_bins; + std::array nSigma_bins{}; for (int i = 0; i <= kNbins_nSigma; i++) { nSigma_bins[i] = -5. + 0.1 * i; } const int kNbins_nSigmamore = 50; - std::array nSigma_binsmore; + std::array nSigma_binsmore{}; for (int i = 0; i <= kNbins_nSigmamore; i++) { nSigma_binsmore[i] = -5. + 0.2 * i; } const int kNbins_nSigmagrob = 24; - std::array nSigma_binsgrob; + std::array nSigma_binsgrob{}; for (int i = 0; i <= kNbins_nSigmagrob; i++) { nSigma_binsgrob[i] = -6. + 0.5 * i; } const int kNbins_TOFbeta = 120; - std::array TOFbeta_bins; + std::array TOFbeta_bins{}; for (int i = 0; i <= kNbins_TOFbeta; i++) { TOFbeta_bins[i] = 0.01 * i; } const int kNbins_TPCdEdx = 140; - std::array TPCdEdx_bins; + std::array TPCdEdx_bins{}; for (int i = 0; i <= kNbins_TPCdEdx; i++) { TPCdEdx_bins[i] = i + 20; } @@ -1148,7 +1148,7 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h hm->AddHistogram(histClass, "tpcNSigmaPi_tofNSigmaPi", "", false, 200, -10., 10., VarManager::kTPCnSigmaPi, 200, -10., 10., VarManager::kTOFnSigmaPi); } if (subGroupStr.Contains("singlemucumulant")) { - std::array PtBinEdges; // 0-30GeV/c + std::array PtBinEdges{}; // 0-30GeV/c for (int i = 0; i < 67; i++) { if (i <= 39) { PtBinEdges[i] = i / 10.; @@ -1157,7 +1157,7 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h } } - std::array CentBinEdges; // 0-90% + std::array CentBinEdges{}; // 0-90% for (int i = 0; i < 19; i++) { CentBinEdges[i] = i * 5; } @@ -1251,7 +1251,7 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h } if (groupStr.CompareTo("energy-correlator-gen") == 0) { - std::array coschiBins; + std::array coschiBins{}; for (int i = 0; i < 26; i++) { coschiBins[i] = -1.0 + 2.0 * TMath::Power(0.04 * i, 2.0); } @@ -1316,11 +1316,11 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h hm->AddHistogram(histClass, "Mass_HighRange", "", false, 375, 0.0, 15.0, VarManager::kMass); hm->AddHistogram(histClass, "Pt", "", false, 2000, 0.0, 20., VarManager::kPt); hm->AddHistogram(histClass, "Mass_Pt", "", false, 500, 0.0, 5.0, VarManager::kMass, 40, 0.0, 20.0, VarManager::kPt); - std::array massBins; + std::array massBins{}; for (int i = 0; i < 76; i++) { massBins[i] = 1.5 + i * 0.04; } - std::array ptBins; + std::array ptBins{}; for (int i = 0; i <= 50; i++) { ptBins[i] = i * 0.01; } @@ -1351,7 +1351,7 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h 4.0, 5.0, 6.5, 8.0, 10.0, 12.0, 15.0, 20.0, 30.0, 40.0, 60.0, 80.0, 100.0}; - std::array massBins; + std::array massBins{}; for (int i = 0; i < 501; i++) { massBins[i] = 0.01 * (i); } @@ -1563,7 +1563,7 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h std::array PtBinLims = {1., 2., 3., 4., 5., 6., 7., 8., 9., 12., 20.}; const int kTauNBins = 500; - std::array TauBinLims; + std::array TauBinLims{}; for (int i = 0; i <= kTauNBins; ++i) { TauBinLims[i] = -0.3 + (0.0015 * i); } @@ -1625,12 +1625,12 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h hm->AddHistogram(histClass, "U2Q2_CentFT0C_ev2", "mass vs. centrality vs. U2Q2_event2", false, 125, 0.0, 5.0, VarManager::kMass, 9, 0.0, 90.0, VarManager::kCentFT0C, 100, -10.0, 10.0, VarManager::kU2Q2Ev2); } if (subGroupStr.Contains("metest")) { - std::array MassBinEdges; // 0-5GeV/c2 + std::array MassBinEdges{}; // 0-5GeV/c2 for (int i = 0; i < 251; i++) { MassBinEdges[i] = i * 0.02; } - std::array PtBinEdges; // 0-20GeV/c + std::array PtBinEdges{}; // 0-20GeV/c for (int i = 0; i < 49; i++) { if (i <= 9) { PtBinEdges[i] = i / 10.; @@ -1639,7 +1639,7 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h } } - std::array CentBinEdges; // 0-90% + std::array CentBinEdges{}; // 0-90% for (int i = 0; i < 19; i++) { CentBinEdges[i] = i * 5; } @@ -1660,12 +1660,12 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h hm->AddHistogram(histClass, "Mass_Pt_CentFT0C_V24ME", "Mass_Pt_CentFT0C_V24ME", true, 250, 0.0, 5.0, VarManager::kMass, 60, 0.0, 30.0, VarManager::kPt, 90, 0.0, 90.0, VarManager::kCentFT0C, "", "", "", VarManager::kV24ME, VarManager::kWV24ME); } if (subGroupStr.Contains("cumulantme1")) { - std::array MassBinEdges; // 0-5GeV/c2 + std::array MassBinEdges{}; // 0-5GeV/c2 for (int i = 0; i < 251; i++) { MassBinEdges[i] = i * 0.02; } - std::array PtBinEdges; // 0-30GeV/c + std::array PtBinEdges{}; // 0-30GeV/c for (int i = 0; i < 67; i++) { if (i <= 39) { PtBinEdges[i] = i / 10.; @@ -1674,7 +1674,7 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h } } - std::array CentBinEdges; // 0-90% + std::array CentBinEdges{}; // 0-90% for (int i = 0; i < 19; i++) { CentBinEdges[i] = i * 5; } @@ -1907,12 +1907,12 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h // hm->AddHistogram(histClass, "Mass_Pt_centrFT0C_V3", "", 6, varV3.data(), bins.data(), minBins.data(), maxBins.data(), 0, -1, kTRUE); // removed temporarily } if (subGroupStr.Contains("flow-ccdb")) { - std::array MassBinEdges; // 0-5GeV/c2 + std::array MassBinEdges{}; // 0-5GeV/c2 for (int i = 0; i < 251; i++) { MassBinEdges[i] = i * 0.02; } - std::array PtBinEdges; // 0-20GeV/c + std::array PtBinEdges{}; // 0-20GeV/c for (int i = 0; i < 49; i++) { if (i <= 9) { PtBinEdges[i] = i / 10.; @@ -1921,7 +1921,7 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h } } - std::array CentBinEdges; // 0-90% + std::array CentBinEdges{}; // 0-90% for (int i = 0; i < 19; i++) { CentBinEdges[i] = i * 5; } @@ -1997,7 +1997,7 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h hm->AddHistogram(histClass, "Mass_Pt_centrFT0C_Corr4POIplus", "", true, 60, 0.0, 30.0, VarManager::kPt1, 18, 0.0, 90.0, VarManager::kCentFT0C, 0, 0.0, 1.0, VarManager::kCORR4POIplus, "", "", "", VarManager::kNothing, VarManager::kM0111POIoverMpplus); } if (subGroupStr.Contains("singlecumulant2")) { - std::array PtBinEdges; // 0-30GeV/c + std::array PtBinEdges{}; // 0-30GeV/c for (int i = 0; i < 67; i++) { if (i <= 39) { PtBinEdges[i] = i / 10.; @@ -2005,7 +2005,7 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h PtBinEdges[i] = (i - 40) * 1. + 4.; } } - std::array CentBinEdges; // 0-90% + std::array CentBinEdges{}; // 0-90% for (int i = 0; i < 19; i++) { CentBinEdges[i] = i * 5; } @@ -2079,7 +2079,7 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h // every 10 MeV from 0 to 0.2 GeV/c2 // every 100 MeV from 0.2 to 1. GeV/c2 // every 500 GeV from 1 to 5 GeV/c2 - std::array mee_bins; + std::array mee_bins{}; for (int i = 0; i <= 20; i++) { mee_bins[i] = 0.01 * i; } @@ -2093,7 +2093,7 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h // binning for ptee at large scales: // every 0.2 GeV/c from 0 to 10 GeV/c - std::array ptee_bins; + std::array ptee_bins{}; for (int i = 0; i <= 50; i++) { ptee_bins[i] = 0.2 * i; } @@ -2101,7 +2101,7 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h // binning for phiv: // steps of size pi/100 - std::array phiv_bins; + std::array phiv_bins{}; for (int i = 0; i <= 100; i++) phiv_bins[i] = o2::constants::math::PI / 100. * i; int nbins_phiv = static_cast(phiv_bins.size()) - 1; @@ -2127,7 +2127,7 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h // every 50 MeV from 1.1 to 2.7 GeV/c2 // every 10 MeV from 2.7 to 3.2 GeV/c2 // every 50 MeV from 3.2 to 12 GeV/c2 - std::array mee_bins; + std::array mee_bins{}; for (int i = 0; i <= 110; i++) { mee_bins[i] = 0.01 * i; } @@ -2145,7 +2145,7 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h // binning for ptee at large scales: // every 0.1 GeV/c from 0 to 10 GeV/c // every 0.5 GeV/c from 10 to 30 GeV/c - std::array ptee_bins; + std::array ptee_bins{}; for (int i = 0; i <= 100; i++) { ptee_bins[i] = 0.1 * i; } @@ -2158,7 +2158,7 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h // every 0.1 sigma from 0 to 5 sigma // every 0.5 sigma from 5 to 10 sigma // every 1.0 sigma from 10 to 40 sigma - std::array dca_bins; + std::array dca_bins{}; for (int i = 0; i <= 50; i++) { dca_bins[i] = 0.1 * i; } @@ -2251,7 +2251,7 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h const int kNvarsTripletCuts = 4; const int kInvMassNbins = 100; - std::array InvMassBinLims; + std::array InvMassBinLims{}; for (int i = 0; i <= kInvMassNbins; ++i) { InvMassBinLims[i] = 4.0 + 0.02 * i; } @@ -2279,13 +2279,13 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h } if (subGroupStr.Contains("dilepton-hadron-array-correlation")) { const int kInvMassBins = 500; - std::array InvMassBinLims; + std::array InvMassBinLims{}; for (int i = 0; i <= kInvMassBins; i++) { InvMassBinLims[i] = 0 + i * 0.01; } const int kDelEtaBins = 20; - std::array DelEtaBinLims; + std::array DelEtaBinLims{}; for (int i = 0; i <= kDelEtaBins; i++) { DelEtaBinLims[i] = -2 + i * 0.2; } @@ -2313,7 +2313,7 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h hm->AddHistogram(histClass, "Delta_Mass_DstarD0region", "", false, 50, 0.14, 0.16, VarManager::kDeltaMass); } if (subGroupStr.Contains("energy-correlator")) { - std::array coschiBins; + std::array coschiBins{}; for (int i = 0; i < 26; i++) { coschiBins[i] = -1.0 + 2.0 * TMath::Power(0.04 * i, 2.0); } From 659a25f7afa8af54d088d3e493035b6c2fdb11df Mon Sep 17 00:00:00 2001 From: Maurice Coquet Date: Mon, 13 Jul 2026 16:35:32 +0200 Subject: [PATCH 13/24] readability-braces-around-statements' --- PWGDQ/Core/HistogramsLibrary.cxx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/PWGDQ/Core/HistogramsLibrary.cxx b/PWGDQ/Core/HistogramsLibrary.cxx index e8a51f1ee78..a68d644fdf3 100644 --- a/PWGDQ/Core/HistogramsLibrary.cxx +++ b/PWGDQ/Core/HistogramsLibrary.cxx @@ -2102,8 +2102,9 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h // binning for phiv: // steps of size pi/100 std::array phiv_bins{}; - for (int i = 0; i <= 100; i++) + for (int i = 0; i <= 100; i++) { phiv_bins[i] = o2::constants::math::PI / 100. * i; +} int nbins_phiv = static_cast(phiv_bins.size()) - 1; // 3D histo From f0c11aa039c156a9b2b4c359b652b5479d945d9d Mon Sep 17 00:00:00 2001 From: Maurice Coquet Date: Mon, 13 Jul 2026 16:38:57 +0200 Subject: [PATCH 14/24] readability-else-after-return --- PWGDQ/Core/HistogramsLibrary.cxx | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/PWGDQ/Core/HistogramsLibrary.cxx b/PWGDQ/Core/HistogramsLibrary.cxx index a68d644fdf3..62db58770eb 100644 --- a/PWGDQ/Core/HistogramsLibrary.cxx +++ b/PWGDQ/Core/HistogramsLibrary.cxx @@ -2603,12 +2603,11 @@ bool o2::aod::dqhistograms::ValidateJSONHistogram(T hist) if (!hist->HasMember("nBins")) { LOG(fatal) << "Missing nBins field for histogram"; return false; - } else { - if (!hist->FindMember("nBins")->value.IsArray()) { + } if (!hist->FindMember("nBins")->value.IsArray()) { LOG(fatal) << "nBins field should be an array"; return false; } - } + } if (hist->HasMember("axLabels") && !hist->FindMember("axLabels")->value.IsArray()) { LOG(fatal) << "axLabels field should be an array of strings"; From fe76037f6114a43d410ff18eff204a5aa7219b2d Mon Sep 17 00:00:00 2001 From: Maurice Coquet Date: Mon, 13 Jul 2026 16:42:16 +0200 Subject: [PATCH 15/24] readability-container-contains --- PWGDQ/Core/HistogramsLibrary.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PWGDQ/Core/HistogramsLibrary.cxx b/PWGDQ/Core/HistogramsLibrary.cxx index 62db58770eb..36454c4c081 100644 --- a/PWGDQ/Core/HistogramsLibrary.cxx +++ b/PWGDQ/Core/HistogramsLibrary.cxx @@ -2661,7 +2661,7 @@ bool o2::aod::dqhistograms::ValidateJSONHistogram(T hist) if (!isTHn) { TString varX = hist->FindMember("varX")->value.GetString(); - if (VarManager::fgVarNamesMap.find(varX) == VarManager::fgVarNamesMap.end()) { + if (!VarManager::fgVarNamesMap.contains(varX)) { LOG(fatal) << "Bad varX variable (" << hist->FindMember("varX")->value.GetString() << ") specified for histogram"; return false; } From a482991b5a16b2c5dde6a0eac6ef357229d52853 Mon Sep 17 00:00:00 2001 From: Maurice Coquet Date: Mon, 13 Jul 2026 16:44:56 +0200 Subject: [PATCH 16/24] modernize-use-auto --- PWGDQ/Core/HistogramsLibrary.cxx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/PWGDQ/Core/HistogramsLibrary.cxx b/PWGDQ/Core/HistogramsLibrary.cxx index 36454c4c081..6aaf08b9011 100644 --- a/PWGDQ/Core/HistogramsLibrary.cxx +++ b/PWGDQ/Core/HistogramsLibrary.cxx @@ -2789,7 +2789,7 @@ void o2::aod::dqhistograms::AddHistogramsFromJSON(HistogramManager* hm, const ch int iDim = 0; binLimits = new TArrayD[nDimensions]; for (auto& v : hist.FindMember("binLimits")->value.GetArray()) { - double* lims = new double[v.GetArray().Size()]; + auto* lims = new double[v.GetArray().Size()]; int iElem = 0; for (auto& lim : v.GetArray()) { lims[iElem++] = lim.GetDouble(); @@ -2927,7 +2927,7 @@ void o2::aod::dqhistograms::AddHistogramsFromJSON(HistogramManager* hm, const ch LOG(fatal) << "Histogram not properly defined in the JSON file. Wrong x binning for histogram"; continue; } - double* xbins = new double[xbinsVec.size()]; + auto* xbins = new double[xbinsVec.size()]; std::copy(xbinsVec.begin(), xbinsVec.end(), xbins); double* ybins = nullptr; From 42e59a5638e3c6b55692408f47158ab8b9d02e1c Mon Sep 17 00:00:00 2001 From: Maurice Coquet Date: Mon, 13 Jul 2026 16:52:06 +0200 Subject: [PATCH 17/24] modernize-avoid-c-arrays --- PWGDQ/Core/HistogramsLibrary.cxx | 1 - 1 file changed, 1 deletion(-) diff --git a/PWGDQ/Core/HistogramsLibrary.cxx b/PWGDQ/Core/HistogramsLibrary.cxx index 6aaf08b9011..a9171e3ad67 100644 --- a/PWGDQ/Core/HistogramsLibrary.cxx +++ b/PWGDQ/Core/HistogramsLibrary.cxx @@ -1416,7 +1416,6 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h std::array bins_DeltaPhi = {50, 20, 20, 9, 10}; std::array minBins_DeltaPhi = {2.0, 0.0, -1., 0.0, 0}; std::array maxBins_DeltaPhi = {4.0, 2.0, 1.0, 90.0, 3.14}; - TString labels[5] = {"kMass", "kPt", "kRapidity", "kCentFT0C", "kA2EP"}; if (subGroupStr.Contains("tpc")) { std::array varA2_TPC_PP = {VarManager::kMass, VarManager::kPt, VarManager::kRap, VarManager::kCentFT0C, VarManager::kA2EP_PP_TPC}; std::array varA2_TPC_RP = {VarManager::kMass, VarManager::kPt, VarManager::kRap, VarManager::kCentFT0C, VarManager::kA2EP_RP_TPC}; From 4a1ab32213d0c90b923a9ff697fcef74e544fe2c Mon Sep 17 00:00:00 2001 From: Maurice Coquet Date: Mon, 13 Jul 2026 16:59:29 +0200 Subject: [PATCH 18/24] clang-analyzer-cplusplus.NewDeleteLeaks --- PWGDQ/Core/HistogramsLibrary.cxx | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/PWGDQ/Core/HistogramsLibrary.cxx b/PWGDQ/Core/HistogramsLibrary.cxx index a9171e3ad67..a7b7dafdcf6 100644 --- a/PWGDQ/Core/HistogramsLibrary.cxx +++ b/PWGDQ/Core/HistogramsLibrary.cxx @@ -2794,6 +2794,7 @@ void o2::aod::dqhistograms::AddHistogramsFromJSON(HistogramManager* hm, const ch lims[iElem++] = lim.GetDouble(); } binLimits[iDim++] = TArrayD(v.GetArray().Size(), lims); + delete[] lims; } } @@ -2820,6 +2821,16 @@ void o2::aod::dqhistograms::AddHistogramsFromJSON(HistogramManager* hm, const ch } } + delete[] vars; + if (isConstantBinning) { + delete[] nBins; + delete[] xmin; + delete[] xmax; + } else { + delete[] binLimits; + } + delete[] axLabels; + } else { // TH1, TH2 or TH3 LOG(debug) << "is TH1, TH2 or TH3 "; @@ -2921,13 +2932,10 @@ void o2::aod::dqhistograms::AddHistogramsFromJSON(HistogramManager* hm, const ch VarManager::fgVarNamesMap[varT], VarManager::fgVarNamesMap[varW], isdouble, isFillLabelx); } } else { - int xBinsSize = xbinsVec.size(); - if (xBinsSize != (nXbins + 1)) { + if (static_cast(xbinsVec.size()) != (nXbins + 1)) { LOG(fatal) << "Histogram not properly defined in the JSON file. Wrong x binning for histogram"; continue; } - auto* xbins = new double[xbinsVec.size()]; - std::copy(xbinsVec.begin(), xbinsVec.end(), xbins); double* ybins = nullptr; if (isTH2 || isTH3) { @@ -2935,22 +2943,20 @@ void o2::aod::dqhistograms::AddHistogramsFromJSON(HistogramManager* hm, const ch LOG(fatal) << "Histogram not properly defined in the JSON file. Wrong y binning for histogram"; continue; } - ybins = new double[ybinsVec.size()]; - std::copy(ybinsVec.begin(), ybinsVec.end(), ybins); + ybins = ybinsVec.data(); } double* zbins = nullptr; if (isTH3) { - if (static_cast(zbinsVec.size()) != (nZbins + 1)) { + if (static_cast(zbinsVec.size()) != (nZbins + 1)) { LOG(fatal) << "Histogram not properly defined in the JSON file. Wrong z binning for histogram"; continue; } - zbins = new double[zbinsVec.size()]; - std::copy(zbinsVec.begin(), zbinsVec.end(), zbins); + zbins = zbinsVec.data(); } for (auto histClass : histClasses) { hm->AddHistogram(histClass, histName, title, isProfile, - nXbins, xbins, VarManager::fgVarNamesMap[varX], + nXbins, xbinsVec.data(), VarManager::fgVarNamesMap[varX], nYbins, ybins, VarManager::fgVarNamesMap[varY], nZbins, zbins, VarManager::fgVarNamesMap[varZ], xLabels, yLabels, zLabels, From 7d04dafae94db1137209169a74d0fd29a356c2fa Mon Sep 17 00:00:00 2001 From: Maurice Coquet Date: Mon, 13 Jul 2026 17:04:31 +0200 Subject: [PATCH 19/24] clang-format --- PWGDQ/Core/HistogramManager.cxx | 6 +++--- PWGDQ/Core/HistogramsLibrary.cxx | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/PWGDQ/Core/HistogramManager.cxx b/PWGDQ/Core/HistogramManager.cxx index 22e990a6060..d6800a45f79 100644 --- a/PWGDQ/Core/HistogramManager.cxx +++ b/PWGDQ/Core/HistogramManager.cxx @@ -63,17 +63,17 @@ HistogramManager::HistogramManager(const char* name, const char* title, const in fMainList(new THashList), fNVars(maxNVars), fUsedVars(new bool[maxNVars]), - + fUseDefaultVariableNames(kFALSE), fBinsAllocated(0) { // // Constructor // - + fMainList->SetOwner(kTRUE); fMainList->SetName(name); - + for (int i = 0; i < maxNVars; ++i) { fUsedVars[i] = false; } diff --git a/PWGDQ/Core/HistogramsLibrary.cxx b/PWGDQ/Core/HistogramsLibrary.cxx index a7b7dafdcf6..f3a510fb3b7 100644 --- a/PWGDQ/Core/HistogramsLibrary.cxx +++ b/PWGDQ/Core/HistogramsLibrary.cxx @@ -2103,7 +2103,7 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h std::array phiv_bins{}; for (int i = 0; i <= 100; i++) { phiv_bins[i] = o2::constants::math::PI / 100. * i; -} + } int nbins_phiv = static_cast(phiv_bins.size()) - 1; // 3D histo @@ -2602,11 +2602,11 @@ bool o2::aod::dqhistograms::ValidateJSONHistogram(T hist) if (!hist->HasMember("nBins")) { LOG(fatal) << "Missing nBins field for histogram"; return false; - } if (!hist->FindMember("nBins")->value.IsArray()) { - LOG(fatal) << "nBins field should be an array"; - return false; - } - + } + if (!hist->FindMember("nBins")->value.IsArray()) { + LOG(fatal) << "nBins field should be an array"; + return false; + } } if (hist->HasMember("axLabels") && !hist->FindMember("axLabels")->value.IsArray()) { LOG(fatal) << "axLabels field should be an array of strings"; From 9002cef7b58ca69004f91d9643939d23ffb6794b Mon Sep 17 00:00:00 2001 From: Maurice Coquet Date: Mon, 13 Jul 2026 17:15:55 +0200 Subject: [PATCH 20/24] Fixing shadowed variables --- PWGDQ/Core/HistogramsLibrary.cxx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/PWGDQ/Core/HistogramsLibrary.cxx b/PWGDQ/Core/HistogramsLibrary.cxx index f3a510fb3b7..c88484dcd7c 100644 --- a/PWGDQ/Core/HistogramsLibrary.cxx +++ b/PWGDQ/Core/HistogramsLibrary.cxx @@ -1351,11 +1351,11 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h 4.0, 5.0, 6.5, 8.0, 10.0, 12.0, 15.0, 20.0, 30.0, 40.0, 60.0, 80.0, 100.0}; - std::array massBins{}; + std::array alice3MassBins{}; for (int i = 0; i < 501; i++) { - massBins[i] = 0.01 * (i); + alice3MassBins[i] = 0.01 * (i); } - hm->AddHistogram(histClass, "Mass_PtLong", "", false, 500, massBins.data(), VarManager::kMass, 20, pTBins.data(), VarManager::kPt); + hm->AddHistogram(histClass, "Mass_PtLong", "", false, 500, alice3MassBins.data(), VarManager::kMass, 20, pTBins.data(), VarManager::kPt); } if (subGroupStr.Contains("dielectron-polarization-he-pbpb")) { std::array varsHEpbpb = {VarManager::kMass, VarManager::kPt, VarManager::kCentFT0C, VarManager::kCosThetaHE, VarManager::kPhiHE}; @@ -2769,7 +2769,7 @@ void o2::aod::dqhistograms::AddHistogramsFromJSON(HistogramManager* hm, const ch nBins = new int[nDimensions]; xmin = new double[nDimensions]; xmax = new double[nDimensions]; - int iDim = 0; + iDim = 0; for (auto& v : hist.FindMember("nBins")->value.GetArray()) { nBins[iDim++] = v.GetInt(); LOG(debug) << "nBins " << iDim << ": " << nBins[iDim - 1]; @@ -2785,7 +2785,7 @@ void o2::aod::dqhistograms::AddHistogramsFromJSON(HistogramManager* hm, const ch LOG(debug) << "xmax " << iDim << ": " << xmax[iDim - 1]; } } else { - int iDim = 0; + iDim = 0; binLimits = new TArrayD[nDimensions]; for (auto& v : hist.FindMember("binLimits")->value.GetArray()) { auto* lims = new double[v.GetArray().Size()]; @@ -2801,7 +2801,7 @@ void o2::aod::dqhistograms::AddHistogramsFromJSON(HistogramManager* hm, const ch TString* axLabels = nullptr; if (hist.HasMember("axLabels")) { axLabels = new TString[hist.FindMember("axLabels")->value.GetArray().Size()]; - int iDim = 0; + iDim = 0; for (auto& v : hist.FindMember("axLabels")->value.GetArray()) { axLabels[iDim++] = v.GetString(); } From 59b56c0f2991719cbb9e5649d9d3e1bfc7979d58 Mon Sep 17 00:00:00 2001 From: Maurice Coquet Date: Mon, 13 Jul 2026 17:17:54 +0200 Subject: [PATCH 21/24] const-ref-in-for-loop --- PWGDQ/Core/HistogramsLibrary.cxx | 34 ++++++++++++++++---------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/PWGDQ/Core/HistogramsLibrary.cxx b/PWGDQ/Core/HistogramsLibrary.cxx index c88484dcd7c..e1f189e2d19 100644 --- a/PWGDQ/Core/HistogramsLibrary.cxx +++ b/PWGDQ/Core/HistogramsLibrary.cxx @@ -2527,7 +2527,7 @@ bool o2::aod::dqhistograms::ValidateJSONHistogram(T hist) LOG(fatal) << "histClass field should be an array of strings, e.g. [class1, class2]"; return false; } - for (auto& v : hist->FindMember("histClass")->value.GetArray()) { + for (const auto& v : hist->FindMember("histClass")->value.GetArray()) { if (!v.IsString()) { LOG(fatal) << "histClass field should be an array of strings, e.g. [class1, class2]"; return false; @@ -2682,7 +2682,7 @@ bool o2::aod::dqhistograms::ValidateJSONHistogram(T hist) } } if (isTHn) { - for (auto& v : hist->FindMember("vars")->value.GetArray()) { + for (const auto& v : hist->FindMember("vars")->value.GetArray()) { if (VarManager::fgVarNamesMap.find(v.GetString()) == VarManager::fgVarNamesMap.end()) { LOG(fatal) << "Bad variable in vars (" << v.GetString() << ") specified for histogram"; return false; @@ -2745,7 +2745,7 @@ void o2::aod::dqhistograms::AddHistogramsFromJSON(HistogramManager* hm, const ch // create an array of strings to store the different histogram classes std::vector histClasses; - for (auto& v : hist.FindMember("histClass")->value.GetArray()) { + for (const auto& v : hist.FindMember("histClass")->value.GetArray()) { histClasses.push_back(v.GetString()); } const char* title = hist.FindMember("title")->value.GetString(); @@ -2756,7 +2756,7 @@ void o2::aod::dqhistograms::AddHistogramsFromJSON(HistogramManager* hm, const ch int* vars = new int[nDimensions]; int iDim = 0; - for (auto& v : hist.FindMember("vars")->value.GetArray()) { + for (const auto& v : hist.FindMember("vars")->value.GetArray()) { LOG(debug) << "iDim " << iDim << ": " << v.GetString(); vars[iDim++] = VarManager::fgVarNamesMap[v.GetString()]; } @@ -2770,27 +2770,27 @@ void o2::aod::dqhistograms::AddHistogramsFromJSON(HistogramManager* hm, const ch xmin = new double[nDimensions]; xmax = new double[nDimensions]; iDim = 0; - for (auto& v : hist.FindMember("nBins")->value.GetArray()) { + for (const auto& v : hist.FindMember("nBins")->value.GetArray()) { nBins[iDim++] = v.GetInt(); LOG(debug) << "nBins " << iDim << ": " << nBins[iDim - 1]; } iDim = 0; - for (auto& v : hist.FindMember("xmin")->value.GetArray()) { + for (const auto& v : hist.FindMember("xmin")->value.GetArray()) { xmin[iDim++] = v.GetDouble(); LOG(debug) << "xmin " << iDim << ": " << xmin[iDim - 1]; } iDim = 0; - for (auto& v : hist.FindMember("xmax")->value.GetArray()) { + for (const auto& v : hist.FindMember("xmax")->value.GetArray()) { xmax[iDim++] = v.GetDouble(); LOG(debug) << "xmax " << iDim << ": " << xmax[iDim - 1]; } } else { iDim = 0; binLimits = new TArrayD[nDimensions]; - for (auto& v : hist.FindMember("binLimits")->value.GetArray()) { + for (const auto& v : hist.FindMember("binLimits")->value.GetArray()) { auto* lims = new double[v.GetArray().Size()]; int iElem = 0; - for (auto& lim : v.GetArray()) { + for (const auto& lim : v.GetArray()) { lims[iElem++] = lim.GetDouble(); } binLimits[iDim++] = TArrayD(v.GetArray().Size(), lims); @@ -2802,7 +2802,7 @@ void o2::aod::dqhistograms::AddHistogramsFromJSON(HistogramManager* hm, const ch if (hist.HasMember("axLabels")) { axLabels = new TString[hist.FindMember("axLabels")->value.GetArray().Size()]; iDim = 0; - for (auto& v : hist.FindMember("axLabels")->value.GetArray()) { + for (const auto& v : hist.FindMember("axLabels")->value.GetArray()) { axLabels[iDim++] = v.GetString(); } } @@ -2812,11 +2812,11 @@ void o2::aod::dqhistograms::AddHistogramsFromJSON(HistogramManager* hm, const ch bool isDouble = (hist.HasMember("isDouble") ? hist.FindMember("isDouble")->value.GetBool() : false); if (isConstantBinning) { - for (auto histClass : histClasses) { + for (const auto& histClass : histClasses) { hm->AddHistogram(histClass, histName, title, nDimensions, vars, nBins, xmin, xmax, axLabels, varW, useSparse, isDouble); } } else { - for (auto histClass : histClasses) { + for (const auto& histClass : histClasses) { hm->AddHistogram(histClass, histName, title, nDimensions, vars, binLimits, axLabels, varW, useSparse, isDouble); } } @@ -2853,7 +2853,7 @@ void o2::aod::dqhistograms::AddHistogramsFromJSON(HistogramManager* hm, const ch std::vector xbinsVec; if (hist.HasMember("xbins")) { LOG(debug) << "xbins: "; - for (auto& v : hist.FindMember("xbins")->value.GetArray()) { + for (const auto& v : hist.FindMember("xbins")->value.GetArray()) { xbinsVec.push_back(v.GetDouble()); LOG(debug) << v.GetDouble(); } @@ -2874,7 +2874,7 @@ void o2::aod::dqhistograms::AddHistogramsFromJSON(HistogramManager* hm, const ch std::vector ybinsVec; if (hist.HasMember("ybins")) { LOG(debug) << "ybins: "; - for (auto& v : hist.FindMember("ybins")->value.GetArray()) { + for (const auto& v : hist.FindMember("ybins")->value.GetArray()) { ybinsVec.push_back(v.GetDouble()); LOG(debug) << v.GetDouble(); } @@ -2895,7 +2895,7 @@ void o2::aod::dqhistograms::AddHistogramsFromJSON(HistogramManager* hm, const ch std::vector zbinsVec; if (hist.HasMember("zbins")) { LOG(debug) << "zbins: "; - for (auto& v : hist.FindMember("zbins")->value.GetArray()) { + for (const auto& v : hist.FindMember("zbins")->value.GetArray()) { zbinsVec.push_back(v.GetDouble()); LOG(debug) << v.GetDouble(); } @@ -2923,7 +2923,7 @@ void o2::aod::dqhistograms::AddHistogramsFromJSON(HistogramManager* hm, const ch LOG(debug) << "isFillLabelx: " << isFillLabelx; if (isConstantBinning) { - for (auto histClass : histClasses) { + for (const auto& histClass : histClasses) { hm->AddHistogram(histClass, histName, title, isProfile, nXbins, xmin, xmax, VarManager::fgVarNamesMap[varX], nYbins, ymin, ymax, VarManager::fgVarNamesMap[varY], @@ -2954,7 +2954,7 @@ void o2::aod::dqhistograms::AddHistogramsFromJSON(HistogramManager* hm, const ch } zbins = zbinsVec.data(); } - for (auto histClass : histClasses) { + for (const auto& histClass : histClasses) { hm->AddHistogram(histClass, histName, title, isProfile, nXbins, xbinsVec.data(), VarManager::fgVarNamesMap[varX], nYbins, ybins, VarManager::fgVarNamesMap[varY], From 681f0791f79c56840f8681ce74b2fa8aa6c40c10 Mon Sep 17 00:00:00 2001 From: Maurice Coquet Date: Mon, 13 Jul 2026 17:20:13 +0200 Subject: [PATCH 22/24] logging --- PWGDQ/Core/HistogramManager.cxx | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/PWGDQ/Core/HistogramManager.cxx b/PWGDQ/Core/HistogramManager.cxx index d6800a45f79..b27bcc24a32 100644 --- a/PWGDQ/Core/HistogramManager.cxx +++ b/PWGDQ/Core/HistogramManager.cxx @@ -27,12 +27,10 @@ #include #include -#include #include #include #include #include -using namespace std; #include #include @@ -790,7 +788,7 @@ void HistogramManager::AddHistogram(const char* histClass, const char* hname, co } //__________________________________________________________________ -void HistogramManager::FillHistClass(const char* className, Float_t* values) +void HistogramManager::FillHistClass(const char* className, float* values) { // // fill a class of histograms @@ -994,17 +992,17 @@ void HistogramManager::Print(Option_t*) const // // Print the defined histograms // - cout << "###################################################################" << endl; - cout << "HistogramManager:: " << fMainList->GetName() << endl; + LOG(info) << "###################################################################"; + LOG(info) << "HistogramManager:: " << fMainList->GetName(); for (int i = 0; i < fMainList->GetEntries(); ++i) { - auto* list = dynamic_cast(fMainList->At(i)); - if (!list) { + auto* histList = dynamic_cast(fMainList->At(i)); + if (!histList) { continue; } - cout << "************** List " << list->GetName() << endl; - for (int j = 0; j < list->GetEntries(); ++j) { - TObject* obj = list->At(j); - cout << obj->GetName() << ": " << obj->IsA()->GetName() << endl; + LOG(info) << "************** List " << histList->GetName(); + for (int j = 0; j < histList->GetEntries(); ++j) { + TObject* obj = histList->At(j); + LOG(info) << obj->GetName() << ": " << obj->IsA()->GetName(); } } } From 99b6ccf1f5cb73cff0054cf45f00be716cce2db5 Mon Sep 17 00:00:00 2001 From: Maurice Coquet Date: Mon, 13 Jul 2026 17:22:36 +0200 Subject: [PATCH 23/24] bugprone-pointer-arithmetic-on-polymorphic-object --- PWGDQ/Core/HistogramsLibrary.cxx | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/PWGDQ/Core/HistogramsLibrary.cxx b/PWGDQ/Core/HistogramsLibrary.cxx index e1f189e2d19..f55e3807b1f 100644 --- a/PWGDQ/Core/HistogramsLibrary.cxx +++ b/PWGDQ/Core/HistogramsLibrary.cxx @@ -2764,7 +2764,7 @@ void o2::aod::dqhistograms::AddHistogramsFromJSON(HistogramManager* hm, const ch int* nBins = nullptr; double* xmin = nullptr; double* xmax = nullptr; - TArrayD* binLimits = nullptr; + std::vector binLimitsVec; if (isConstantBinning) { nBins = new int[nDimensions]; xmin = new double[nDimensions]; @@ -2786,24 +2786,24 @@ void o2::aod::dqhistograms::AddHistogramsFromJSON(HistogramManager* hm, const ch } } else { iDim = 0; - binLimits = new TArrayD[nDimensions]; + binLimitsVec.resize(nDimensions); for (const auto& v : hist.FindMember("binLimits")->value.GetArray()) { auto* lims = new double[v.GetArray().Size()]; int iElem = 0; for (const auto& lim : v.GetArray()) { lims[iElem++] = lim.GetDouble(); } - binLimits[iDim++] = TArrayD(v.GetArray().Size(), lims); + binLimitsVec[iDim++] = TArrayD(v.GetArray().Size(), lims); delete[] lims; } } - TString* axLabels = nullptr; + std::vector axLabelsVec; if (hist.HasMember("axLabels")) { - axLabels = new TString[hist.FindMember("axLabels")->value.GetArray().Size()]; + axLabelsVec.resize(hist.FindMember("axLabels")->value.GetArray().Size()); iDim = 0; for (const auto& v : hist.FindMember("axLabels")->value.GetArray()) { - axLabels[iDim++] = v.GetString(); + axLabelsVec[iDim++] = v.GetString(); } } @@ -2813,11 +2813,13 @@ void o2::aod::dqhistograms::AddHistogramsFromJSON(HistogramManager* hm, const ch if (isConstantBinning) { for (const auto& histClass : histClasses) { - hm->AddHistogram(histClass, histName, title, nDimensions, vars, nBins, xmin, xmax, axLabels, varW, useSparse, isDouble); + hm->AddHistogram(histClass, histName, title, nDimensions, vars, nBins, xmin, xmax, + axLabelsVec.empty() ? nullptr : axLabelsVec.data(), varW, useSparse, isDouble); } } else { for (const auto& histClass : histClasses) { - hm->AddHistogram(histClass, histName, title, nDimensions, vars, binLimits, axLabels, varW, useSparse, isDouble); + hm->AddHistogram(histClass, histName, title, nDimensions, vars, binLimitsVec.data(), + axLabelsVec.empty() ? nullptr : axLabelsVec.data(), varW, useSparse, isDouble); } } @@ -2826,10 +2828,7 @@ void o2::aod::dqhistograms::AddHistogramsFromJSON(HistogramManager* hm, const ch delete[] nBins; delete[] xmin; delete[] xmax; - } else { - delete[] binLimits; } - delete[] axLabels; } else { // TH1, TH2 or TH3 From 62fdeefd41e01e08cb9bb262781583a4afe31f5f Mon Sep 17 00:00:00 2001 From: Maurice Coquet Date: Mon, 13 Jul 2026 17:25:09 +0200 Subject: [PATCH 24/24] clang-format --- PWGDQ/Core/HistogramManager.cxx | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/PWGDQ/Core/HistogramManager.cxx b/PWGDQ/Core/HistogramManager.cxx index b27bcc24a32..131c6e05224 100644 --- a/PWGDQ/Core/HistogramManager.cxx +++ b/PWGDQ/Core/HistogramManager.cxx @@ -14,12 +14,22 @@ #include #include +#include #include #include #include #include +#include +#include #include +#include +#include #include +#include +#include +#include +#include +#include #include #include @@ -32,17 +42,6 @@ #include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - //_______________________________________________________________________________ HistogramManager::HistogramManager() : TNamed("", ""), fMainList(nullptr),