@@ -162,6 +162,7 @@ enum EEventHistograms {
162162 eHistVertexZ,
163163 eHistImpactParameter,
164164 eHistNumContrib,
165+ eHistOccupancy,
165166 eEventHistograms_N
166167};
167168
@@ -207,8 +208,8 @@ static constexpr std::array<const char*, eOccupancyEstimator_N> OccupancyEstimat
207208static constexpr std::array<const char *, eParticleHistograms_N> ParticleHistTitles = {" p_{T}" , " #varphi" , " #eta" , " Particle charge" };
208209static constexpr std::array<const char *, eParticleHistograms_N> ParticleHistNames = {" eHistPt" , " eHistPhi" , " eHistEta" , " eHistCharge" };
209210
210- static constexpr std::array<const char *, eEventHistograms_N> EventHistTitles = {" Centrality" , " Multiplicity (trak.size())" , " Reference Multiplicity" , " Vertex X" , " Vertex Y" , " Vertex Z" , " Impact Parameter" , " Number of Contributor" };
211- static constexpr std::array<const char *, eEventHistograms_N> EventHistNames = {" eHistCentrality" , " eHistMult" , " eHistRefMult" , " eHistVertexX" , " eHistVertexY" , " eHistVertexZ" , " eHistImpactParameter" , " eHistNumContrib" };
211+ static constexpr std::array<const char *, eEventHistograms_N> EventHistTitles = {" Centrality" , " Multiplicity (trak.size())" , " Reference Multiplicity" , " Vertex X" , " Vertex Y" , " Vertex Z" , " Impact Parameter" , " Number of Contributor" , " Occupancy " };
212+ static constexpr std::array<const char *, eEventHistograms_N> EventHistNames = {" eHistCentrality" , " eHistMult" , " eHistRefMult" , " eHistVertexX" , " eHistVertexY" , " eHistVertexZ" , " eHistImpactParameter" , " eHistNumContrib" , " eHistOccupancy " };
212213
213214static constexpr std::array<const char *, eWeightsHistograms_N> WeightsNames = {" eWPhiRec" , " eWPhiSim" , " eWPt" };
214215
@@ -251,6 +252,7 @@ struct MultiparticleCorrelationsMei // this name is used in lower-case format to
251252 Configurable<std::vector<float >> cfVyBins{" cfVyBins" , {500 , -0.015 , 0.015 }, " Vertex Y hist: nVyBins, vyMin, vyMax" };
252253 Configurable<std::vector<float >> cfVzBins{" cfVzBins" , {500 , -20 ., 20 .}, " Vertex Z hist: nVzBins, vzMin, vzMax" };
253254 Configurable<std::vector<float >> cfIpBins{" cfIpBins" , {100 , 0 ., 20 .}, " Impact parameters hist (MC only): nIPBins, ipMin, ipMax" };
255+ Configurable<std::vector<float >> cfOccuBins{" cfOccuBins" , {300 , 0 ., 10000 .}, " Occupancy hist (Rec only): nOccuBins, occuMin, occuMax" };
254256
255257 Configurable<std::vector<float >> cfPtBins{" cfPtBins" , {4000 , 0 ., 10 .}, " nPtBins, ptMin, ptMax" };
256258 Configurable<std::vector<float >> cfPhiBins{" cfPhiBins" , {180 , 0 ., math::TwoPI}, " nPhiBins, phiMin, phiMax" };
@@ -773,6 +775,7 @@ struct MultiparticleCorrelationsMei // this name is used in lower-case format to
773775 if constexpr ((rs == eRec || rs == eRecAndSim) && rm == eReal) { // Fill reconstructed-level event histograms
774776 auto thisCent = chooseCent (collision, tc.fCentralityEstimator );
775777 auto thisRefMult = chooseMult (collision, tc.fMultiplicityTables );
778+ auto thisOccu = chooseOccu (collision, tc.fOccupancyEstimator );
776779 int multiplicityRec = static_cast <int >(tracks.size ());
777780 if constexpr (cuts == eBefore) {
778781 ec.fEventHist [eHistMult][eRec][eBefore]->Fill (multiplicityRec);
@@ -782,6 +785,7 @@ struct MultiparticleCorrelationsMei // this name is used in lower-case format to
782785 ec.fEventHist [eHistVertexY][eRec][eBefore]->Fill (collision.posY ());
783786 ec.fEventHist [eHistVertexZ][eRec][eBefore]->Fill (collision.posZ ());
784787 ec.fEventHist [eHistNumContrib][eRec][eBefore]->Fill (collision.numContrib ());
788+ ec.fEventHist [eHistOccupancy][eRec][eBefore]->Fill (thisOccu);
785789 }
786790 if constexpr (cuts == eAfter) {
787791 ec.fEventHist [eHistMult][eRec][eAfter]->Fill (multiplicityRec);
@@ -791,6 +795,7 @@ struct MultiparticleCorrelationsMei // this name is used in lower-case format to
791795 ec.fEventHist [eHistVertexY][eRec][eAfter]->Fill (collision.posY ());
792796 ec.fEventHist [eHistVertexZ][eRec][eAfter]->Fill (collision.posZ ());
793797 ec.fEventHist [eHistNumContrib][eRec][eAfter]->Fill (collision.numContrib ());
798+ ec.fEventHist [eHistOccupancy][eRec][eAfter]->Fill (thisOccu);
794799 }
795800 }
796801
@@ -1340,6 +1345,7 @@ struct MultiparticleCorrelationsMei // this name is used in lower-case format to
13401345 lEventHistBins[eHistVertexZ] = cfVzBins.value ;
13411346 lEventHistBins[eHistImpactParameter] = cfIpBins.value ;
13421347 lEventHistBins[eHistNumContrib] = cfNumContribBins.value ;
1348+ lEventHistBins[eHistOccupancy] = cfOccuBins.value ;
13431349
13441350 if (doprocessRec || doprocessRecSim) {
13451351 for (int i = 0 ; i < eEventHistograms_N; ++i) {
@@ -1361,11 +1367,13 @@ struct MultiparticleCorrelationsMei // this name is used in lower-case format to
13611367 ec.fEventHist [eHistCentrality][eRec][eAfter]->GetXaxis ()->SetTitle (Form (" %s (%s)" , EventHistTitles[eHistCentrality], CentralityEstimatorNames[cfCentralityEstimator]));
13621368 ec.fEventHist [eHistRefMult][eRec][eBefore]->GetXaxis ()->SetTitle (Form (" %s (%s)" , EventHistTitles[eHistRefMult], MultiplicityTablesNames[cfMultiplicityTables]));
13631369 ec.fEventHist [eHistRefMult][eRec][eAfter]->GetXaxis ()->SetTitle (Form (" %s (%s)" , EventHistTitles[eHistRefMult], MultiplicityTablesNames[cfMultiplicityTables]));
1370+ ec.fEventHist [eHistOccupancy][eRec][eBefore]->GetXaxis ()->SetTitle (Form (" %s (%s)" , EventHistTitles[eHistRefMult], OccupancyEstimatorNames[tc.fOccupancyEstimator ]));
1371+ ec.fEventHist [eHistOccupancy][eRec][eAfter]->GetXaxis ()->SetTitle (Form (" %s (%s)" , EventHistTitles[eHistRefMult], OccupancyEstimatorNames[tc.fOccupancyEstimator ]));
13641372 } // end of if (doprocessRec || doprocessRecSim) {
13651373
13661374 if (doprocessSim || doprocessRecSim) {
13671375 for (int i = 0 ; i < eEventHistograms_N; ++i) {
1368- if (i == eHistRefMult || i == eHistNumContrib) { // no RefMult for Sim
1376+ if (i == eHistRefMult || i == eHistNumContrib || i == eHistOccupancy ) { // no RefMult for Sim
13691377 continue ;
13701378 }
13711379 const auto & bins = lEventHistBins[i];
0 commit comments