3434#include < Framework/OutputObjHeader.h>
3535#include < Framework/runDataProcessing.h>
3636
37+ #include < TFile.h>
3738#include < TH1.h>
3839
3940#include < chrono>
@@ -64,6 +65,7 @@ struct McCentrality {
6465 Service<o2::framework::O2DatabasePDG> pdgDB;
6566 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" };
6667 ConfigurableAxis binsMultiplicity{" binsMultiplicity" , {1000 , 0 , 5000 }, " Binning of the multiplicity axis" };
68+ Configurable<bool > fillFt0M{" fillFt0M" , true , " Fills the FT0M histogram" };
6769 Configurable<bool > fillFt0A{" fillFt0A" , false , " Fills the FT0A histogram" };
6870 Configurable<bool > fillFt0C{" fillFt0C" , false , " Fills the FT0C histogram" };
6971 Configurable<bool > doNotCrashOnNull{" doNotCrashOnNull" , false , " If ccdb object does not exist, fill with dummy values" };
@@ -89,8 +91,11 @@ struct McCentrality {
8991
9092 mCounter .mPdgDatabase = pdgDB.service ;
9193 mCounter .mSelectPrimaries = selectPrimaries.value ;
92- histos.add (" FT0M/percentile" , " FT0M percentile." , HistType::kTH1D , {{binsPercentile, " FT0M percentile" }});
93- histos.add (" FT0M/percentilevsMult" , " FT0M percentile." , HistType::kTH2D , {{binsPercentile, " FT0M percentile" }, {binsMultiplicity, " FT0M mult." }});
94+
95+ if (fillFt0M) {
96+ histos.add (" FT0M/percentile" , " FT0M percentile." , HistType::kTH1D , {{binsPercentile, " FT0M percentile" }});
97+ histos.add (" FT0M/percentilevsMult" , " FT0M percentile." , HistType::kTH2D , {{binsPercentile, " FT0M percentile" }, {binsMultiplicity, " FT0M mult." }});
98+ }
9499 if (fillFt0A) {
95100 histos.add (" FT0A/percentile" , " FT0A percentile." , HistType::kTH1D , {{binsPercentile, " FT0A percentile" }});
96101 histos.add (" FT0A/percentilevsMult" , " FT0A percentile." , HistType::kTH2D , {{binsPercentile, " FT0A percentile" }, {binsMultiplicity, " FT0A mult." }});
@@ -139,9 +144,12 @@ struct McCentrality {
139144 LOG (fatal) << " Could not open histogram " << name << " from TList" ;
140145 }
141146 }
147+ hist->SetDirectory (0 );
142148 return hist;
143149 };
144- h1dFT0M = getHist (" h1dFT0M" );
150+ if (fillFt0M) {
151+ h1dFT0M = getHist (" h1dFT0M" );
152+ }
145153 if (fillFt0A) {
146154 h1dFT0A = getHist (" h1dFT0A" );
147155 }
@@ -159,27 +167,26 @@ struct McCentrality {
159167 const float nFT0M = nFT0A + nFT0C;
160168 // const float nFV0A = mCounter.countFV0A(mcParticles);
161169
162- float valueCentFT0M = 105 .0f ;
163- if (h1dFT0M)
164- valueCentFT0M = h1dFT0M->GetBinContent (h1dFT0M->FindBin (nFT0M));
170+ if (fillFt0M) {
171+ const float valueCentFT0M = h1dFT0M ? h1dFT0M->GetBinContent (h1dFT0M->FindBin (nFT0M)) : 105 .0f ;
172+ centFT0M (valueCentFT0M);
173+ histos.fill (HIST (" FT0M/percentile" ), valueCentFT0M);
174+ histos.fill (HIST (" FT0M/percentilevsMult" ), valueCentFT0M, nFT0M);
175+ }
165176 if (fillFt0A) {
166- float valueCentFT0A = 105 .0f ;
167- if (h1dFT0A)
168- valueCentFT0A = h1dFT0A->GetBinContent (h1dFT0A->FindBin (nFT0A));
177+ const float valueCentFT0A = h1dFT0A ? h1dFT0A->GetBinContent (h1dFT0A->FindBin (nFT0A)) : 105 .0f ;
169178 centFT0A (valueCentFT0A);
179+ histos.fill (HIST (" FT0A/percentile" ), valueCentFT0A);
180+ histos.fill (HIST (" FT0A/percentilevsMult" ), valueCentFT0A, nFT0A);
170181 }
171182 if (fillFt0C) {
172- float valueCentFT0C = 105 .0f ;
173- if (h1dFT0C)
174- valueCentFT0C = h1dFT0C->GetBinContent (h1dFT0C->FindBin (nFT0C));
183+ const float valueCentFT0C = h1dFT0C ? h1dFT0C->GetBinContent (h1dFT0C->FindBin (nFT0C)) : 105 .0f ;
175184 centFT0C (valueCentFT0C);
185+ histos.fill (HIST (" FT0C/percentile" ), valueCentFT0C);
186+ histos.fill (HIST (" FT0C/percentilevsMult" ), valueCentFT0C, nFT0C);
176187 }
177188 // const float valueCentFV0A = h1dFT0M->GetBinContent(h1dFT0M->FindBin(nFV0A));
178-
179- centFT0M (valueCentFT0M);
180189 // centFV0A(valueCentFV0A);
181- histos.fill (HIST (" FT0M/percentile" ), valueCentFT0M);
182- histos.fill (HIST (" FT0M/percentilevsMult" ), valueCentFT0M, nFT0M);
183190 }
184191};
185192
0 commit comments