diff --git a/PWGLF/TableProducer/Common/mcCentrality.cxx b/PWGLF/TableProducer/Common/mcCentrality.cxx index e7ccd4d59fb..a55ac09ef44 100644 --- a/PWGLF/TableProducer/Common/mcCentrality.cxx +++ b/PWGLF/TableProducer/Common/mcCentrality.cxx @@ -34,6 +34,7 @@ #include #include +#include #include #include @@ -64,6 +65,7 @@ struct McCentrality { Service pdgDB; ConfigurableAxis binsPercentile{"binsPercentile", {VARIABLE_WIDTH, 0, 0.001, 0.01, 1.0, 5.0, 10.0, 15.0, 20.0, 25.0, 30.0, 40.0, 50.0, 60.0, 70.0, 80.0, 90.0, 100.0}, "Binning of the percentile axis"}; ConfigurableAxis binsMultiplicity{"binsMultiplicity", {1000, 0, 5000}, "Binning of the multiplicity axis"}; + Configurable fillFt0M{"fillFt0M", true, "Fills the FT0M histogram"}; Configurable fillFt0A{"fillFt0A", false, "Fills the FT0A histogram"}; Configurable fillFt0C{"fillFt0C", false, "Fills the FT0C histogram"}; Configurable doNotCrashOnNull{"doNotCrashOnNull", false, "If ccdb object does not exist, fill with dummy values"}; @@ -89,8 +91,11 @@ struct McCentrality { mCounter.mPdgDatabase = pdgDB.service; mCounter.mSelectPrimaries = selectPrimaries.value; - histos.add("FT0M/percentile", "FT0M percentile.", HistType::kTH1D, {{binsPercentile, "FT0M percentile"}}); - histos.add("FT0M/percentilevsMult", "FT0M percentile.", HistType::kTH2D, {{binsPercentile, "FT0M percentile"}, {binsMultiplicity, "FT0M mult."}}); + + if (fillFt0M) { + histos.add("FT0M/percentile", "FT0M percentile.", HistType::kTH1D, {{binsPercentile, "FT0M percentile"}}); + histos.add("FT0M/percentilevsMult", "FT0M percentile.", HistType::kTH2D, {{binsPercentile, "FT0M percentile"}, {binsMultiplicity, "FT0M mult."}}); + } if (fillFt0A) { histos.add("FT0A/percentile", "FT0A percentile.", HistType::kTH1D, {{binsPercentile, "FT0A percentile"}}); histos.add("FT0A/percentilevsMult", "FT0A percentile.", HistType::kTH2D, {{binsPercentile, "FT0A percentile"}, {binsMultiplicity, "FT0A mult."}}); @@ -139,9 +144,12 @@ struct McCentrality { LOG(fatal) << "Could not open histogram " << name << " from TList"; } } + hist->SetDirectory(0); return hist; }; - h1dFT0M = getHist("h1dFT0M"); + if (fillFt0M) { + h1dFT0M = getHist("h1dFT0M"); + } if (fillFt0A) { h1dFT0A = getHist("h1dFT0A"); } @@ -159,27 +167,26 @@ struct McCentrality { const float nFT0M = nFT0A + nFT0C; // const float nFV0A = mCounter.countFV0A(mcParticles); - float valueCentFT0M = 105.0f; - if (h1dFT0M) - valueCentFT0M = h1dFT0M->GetBinContent(h1dFT0M->FindBin(nFT0M)); + if (fillFt0M) { + const float valueCentFT0M = h1dFT0M ? h1dFT0M->GetBinContent(h1dFT0M->FindBin(nFT0M)) : 105.0f; + centFT0M(valueCentFT0M); + histos.fill(HIST("FT0M/percentile"), valueCentFT0M); + histos.fill(HIST("FT0M/percentilevsMult"), valueCentFT0M, nFT0M); + } if (fillFt0A) { - float valueCentFT0A = 105.0f; - if (h1dFT0A) - valueCentFT0A = h1dFT0A->GetBinContent(h1dFT0A->FindBin(nFT0A)); + const float valueCentFT0A = h1dFT0A ? h1dFT0A->GetBinContent(h1dFT0A->FindBin(nFT0A)) : 105.0f; centFT0A(valueCentFT0A); + histos.fill(HIST("FT0A/percentile"), valueCentFT0A); + histos.fill(HIST("FT0A/percentilevsMult"), valueCentFT0A, nFT0A); } if (fillFt0C) { - float valueCentFT0C = 105.0f; - if (h1dFT0C) - valueCentFT0C = h1dFT0C->GetBinContent(h1dFT0C->FindBin(nFT0C)); + const float valueCentFT0C = h1dFT0C ? h1dFT0C->GetBinContent(h1dFT0C->FindBin(nFT0C)) : 105.0f; centFT0C(valueCentFT0C); + histos.fill(HIST("FT0C/percentile"), valueCentFT0C); + histos.fill(HIST("FT0C/percentilevsMult"), valueCentFT0C, nFT0C); } // const float valueCentFV0A = h1dFT0M->GetBinContent(h1dFT0M->FindBin(nFV0A)); - - centFT0M(valueCentFT0M); // centFV0A(valueCentFV0A); - histos.fill(HIST("FT0M/percentile"), valueCentFT0M); - histos.fill(HIST("FT0M/percentilevsMult"), valueCentFT0M, nFT0M); } };