@@ -109,9 +109,20 @@ static const std::vector<std::string> beforeAfterName = {"before", ""};
109109static const std::vector<std::string> beforeAfterSufix = {" B" , " A" };
110110
111111/* helpers for the multiplicity axes definition */
112- #define DPTDPTCENTRALITYAXIS 105 , -0 .5f , 104 .5f
113- #define DPTDPTMULTIPLIICTYAXIS 1001 , -0 .5f , 1000 .5f
114- #define DPTDPTFWMULTIPLICITYAXIS 1000 , 0 .0f , 100000 .0f
112+ static constexpr float MultiplicityUpperLimitBase[11 ][8 ] = {
113+ /* T0A, T0C, T0M, V0A, V0C, V0M, tracks, PV contr. tracks */
114+ {30e3f, 10e3f, 40e3f, 50e3f, 70e3f, 100e3f, 10e3f, 400 .0f }, /* no system */
115+ {30e3f, 10e3f, 40e3f, 50e3f, 70e3f, 100e3f, 10e3f, 400 .0f }, /* pp Run2 */
116+ {30e3f, 10e3f, 40e3f, 50e3f, 70e3f, 100e3f, 10e3f, 400 .0f }, /* pPb Run2 */
117+ {30e3f, 10e3f, 40e3f, 50e3f, 70e3f, 100e3f, 10e3f, 400 .0f }, /* Pbp Run2 */
118+ {30e3f, 10e3f, 40e3f, 50e3f, 70e3f, 100e3f, 10e3f, 400 .0f }, /* PbPb Run2 */
119+ {30e3f, 10e3f, 40e3f, 50e3f, 70e3f, 100e3f, 10e3f, 400 .0f }, /* XeXe Run2 */
120+ {30e3f, 10e3f, 40e3f, 50e3f, 70e3f, 100e3f, 10e3f, 400 .0f }, /* pp Run3 */
121+ {30e3f, 10e3f, 40e3f, 50e3f, 70e3f, 100e3f, 10e3f, 400 .0f }, /* PbPb Run3 */
122+ {30e3f, 10e3f, 40e3f, 50e3f, 70e3f, 100e3f, 10e3f, 400 .0f }, /* NeNe Run3 */
123+ {30e3f, 10e3f, 40e3f, 50e3f, 70e3f, 100e3f, 10e3f, 400 .0f }, /* OO Run3 */
124+ {30e3f, 10e3f, 40e3f, 50e3f, 70e3f, 100e3f, 10e3f, 400 .0f } /* pO Run3 */
125+ };
115126
116127// ============================================================================================
117128// The DptDptFilter histogram objects
@@ -403,14 +414,15 @@ struct DptDptFilter {
403414 Configurable<int64_t > minOrbit{" minOrbit" , -1 , " Lowest orbit to track" };
404415 Configurable<int64_t > maxOrbit{" maxOrbit" , INT64_MAX, " Highest orbit to track" };
405416 Configurable<std::string> rctSource{" rctSource" , " None" , " RCT selection source: None,CBT,CBT_hadronPID,CBT_electronPID,CBT_calo,CBT_muon,CBT_muon_glo. Default: None" };
417+ Configurable<LabeledArray<float >> multiplicityUpperLimit{" multiplicityUpperLimit" , {&MultiplicityUpperLimitBase[0 ][0 ], 11 , 8 , {systemExternalNamesMap.at (0 ), systemExternalNamesMap.at (1 ), systemExternalNamesMap.at (2 ), systemExternalNamesMap.at (3 ), systemExternalNamesMap.at (4 ), systemExternalNamesMap.at (5 ), systemExternalNamesMap.at (6 ), systemExternalNamesMap.at (7 ), systemExternalNamesMap.at (8 ), systemExternalNamesMap.at (9 ), systemExternalNamesMap.at (10 )}, {multiplicitySourceConfigNamesMap.at (0 ), multiplicitySourceConfigNamesMap.at (1 ), multiplicitySourceConfigNamesMap.at (2 ), multiplicitySourceConfigNamesMap.at (3 ), multiplicitySourceConfigNamesMap.at (4 ), multiplicitySourceConfigNamesMap.at (5 ), multiplicitySourceConfigNamesMap.at (6 ), multiplicitySourceConfigNamesMap.at (7 )}}, " Upper limits for the multiplicity observables" };
406418 struct : ConfigurableGroup {
407419 std::string prefix = " cfgEventSelection.occupancySelection" ;
408420 Configurable<std::string> occupancyEstimation{" occupancyEstimation" , " None" , " Occupancy estimation: None, Tracks, FT0C. Default None" };
409421 Configurable<float > minOccupancy{" minOccupancy" , 0 .0f , " Minimum allowed occupancy. Depends on the occupancy estimation" };
410422 Configurable<float > maxOccupancy{" maxOccupancy" , 1e6f, " Maximum allowed occupancy. Depends on the occupancy estimation" };
411423 } occupancySelection;
412424 } cfgEventSelection;
413- Configurable<std::string> cfgSystem{" cfgSystem" , " PbPb" , " System: pp, PbPb, Pbp, pPb, XeXe, ppRun3, PbPbRun3. Default PbPb" };
425+ Configurable<std::string> cfgSystem{" cfgSystem" , " PbPb" , " System: Auto, pp, PbPb, Pbp, pPb, XeXe, ppRun3, PbPbRun3. Default PbPb" };
414426 Configurable<std::string> cfgDataType{" cfgDataType" , " data" , " Data type: data, datanoevsel, MC, FastMC, OnTheFlyMC. Default data" };
415427 Configurable<std::string> cfgTriggSel{" cfgTriggSel" , " MB" , " Trigger selection: MB,VTXTOFMATCHED,VTXTRDMATCHED,VTXTRDTOFMATCHED,None. Default MB" };
416428 Configurable<std::string> cfgCentSpec{" cfgCentSpec" , " 00-10,10-20,20-30,30-40,40-50,50-60,60-70,70-80" , " Centrality/multiplicity ranges in min-max separated by commas" };
@@ -485,6 +497,7 @@ struct DptDptFilter {
485497
486498 /* if the system type is not known at this time, we have to put the initialization somewhere else */
487499 fSystem = getSystemType (cfgSystem);
500+ fLhcRun = multRunForSystemMap.at (fSystem );
488501 fDataType = getDataType (cfgDataType);
489502
490503 /* create the output list which will own the task histograms */
@@ -509,44 +522,40 @@ struct DptDptFilter {
509522 fhTriggerSelectionCorrelations->GetXaxis ()->SetBinLabel (ixy + 1 , TString::Format (" #color[%d]{%s}" , triggerSelectionFlags.test (ixy) ? 2 : 1 , triggerSelectionExternalNamesMap.at (ixy).c_str ()).Data ());
510523 fhTriggerSelectionCorrelations->GetYaxis ()->SetBinLabel (ixy + 1 , TString::Format (" #color[%d]{%s}" , triggerSelectionFlags.test (ixy) ? 2 : 1 , triggerSelectionExternalNamesMap.at (ixy).c_str ()).Data ());
511524 }
512- /* TODO: proper axes and axes titles according to the system; still incomplete */
513- std::string multestimator = getCentMultEstimatorName (fCentMultEstimator );
514- if (fSystem > kPbp ) {
515- fhCentMultB = new TH1F (" CentralityB" , " Centrality before cut; centrality (%)" , 100 , 0 , 100 );
516- fhCentMultA = new TH1F (" CentralityA" , " Centrality; centrality (%)" , 100 , 0 , 100 );
517- fhMultB = new TH1F (" MultB" , TString::Format (" %s Multiplicity before cut;%s Multiplicity;Collisions" , multestimator.c_str (), multestimator.c_str ()), 4001 , -0.5 , 4000.5 );
518- fhMultA = new TH1F (" MultA" , TString::Format (" %s Multiplicity;%s Multiplicity;Collisions" , multestimator.c_str (), multestimator.c_str ()), 4001 , -0.5 , 4000.5 );
519- } else {
520- /* for pp, pPb and Pbp systems use multiplicity instead */
521- fhCentMultB = new TH1F (" MultiplicityB" , " Multiplicity before cut; multiplicity (%)" , 100 , 0 , 100 );
522- fhCentMultA = new TH1F (" MultiplicityA" , " Multiplicity; multiplicity (%)" , 100 , 0 , 100 );
523- fhMultB = new TH1F (" MultB" , TString::Format (" %s Multiplicity before cut;%s Multiplicity;Collisions" , multestimator.c_str (), multestimator.c_str ()), 601 , -0.5 , 600.5 );
524- fhMultA = new TH1F (" MultA" , TString::Format (" %s Multiplicity;%s Multiplicity;Collisions" , multestimator.c_str (), multestimator.c_str ()), 601 , -0.5 , 600.5 );
525- }
526525
527526 fhVertexZB = new TH1F (" VertexZB" , " Vertex Z; z_{vtx}" , 60 , -15 , 15 );
528527 fhVertexZA = new TH1F (" VertexZA" , " Vertex Z; z_{vtx}" , zvtxbins, zvtxlow, zvtxup);
529528
529+ /* helpers for the multiplicity/centrality axes definition */
530+ #define DPTDPTCENTRALITYAXIS 105 , -0 .5f , 104 .5f
531+ #define DPTDPTMULTIPLICITYAXIS (est ) 1001 , -0 .5f , cfgEventSelection.multiplicityUpperLimit->getData ()[fSystem][est] - 0.5f
532+
533+ std::string multestimator = getCentMultEstimatorName(fCentMultEstimator );
534+ fhCentMultB = new TH1F (" CentralityB" , " Centrality before cut; centrality (%)" , DPTDPTCENTRALITYAXIS);
535+ fhCentMultA = new TH1F (" CentralityA" , " Centrality; centrality (%)" , DPTDPTCENTRALITYAXIS);
536+ fhMultB = new TH1F (" MultB" , TString::Format (" %s Multiplicity before cut;%s Multiplicity;Collisions" , multestimator.c_str (), multestimator.c_str ()), DPTDPTMULTIPLICITYAXIS (estimatorMultiplicitySourceMap.at (fCentMultEstimator )));
537+ fhMultA = new TH1F (" MultA" , TString::Format (" %s Multiplicity;%s Multiplicity;Collisions" , multestimator.c_str (), multestimator.c_str ()), DPTDPTMULTIPLICITYAXIS (estimatorMultiplicitySourceMap.at (fCentMultEstimator )));
538+
530539 if (cfgEventSelection.fillQc ) {
531540 /* the quality control histograms */
532541 for (int i = 0 ; i < BeforeAfterNOOFTIMES; ++i) {
533- fhMultiplicityVsCentrality[i] = new TH2F (TString::Format (" MultiplicityVsCentrality%s" , beforeAfterSufix[i].c_str ()).Data (), TString::Format (" %s;Centrality (%%);Number of tracks" , beforeAfterName[i].c_str ()) .Data (), DPTDPTCENTRALITYAXIS, DPTDPTMULTIPLIICTYAXIS );
534- fhMultiplicityVsT0cMultiplicity[i] = new TH2F (TString::Format (" MultiplicityVsT0cMultiplicity%s" , beforeAfterSufix[i].c_str ()).Data (), TString::Format (" %s;T0C Multiplicity;Number of tracks" , beforeAfterName[i].c_str ()).Data (), DPTDPTFWMULTIPLICITYAXIS, DPTDPTMULTIPLIICTYAXIS );
535- fhMultiplicityVsT0aMultiplicity[i] = new TH2F (TString::Format (" MultiplicityVsT0aMultiplicity%s" , beforeAfterSufix[i].c_str ()).Data (), TString::Format (" %s;T0A Multiplicity;Number of tracks" , beforeAfterName[i].c_str ()).Data (), DPTDPTFWMULTIPLICITYAXIS, DPTDPTMULTIPLIICTYAXIS );
536- fhMultiplicityVsV0aMultiplicity[i] = new TH2F (TString::Format (" MultiplicityVsV0aMultiplicity%s" , beforeAfterSufix[i].c_str ()).Data (), TString::Format (" %s;V0A Multiplicity;Number of tracks" , beforeAfterName[i].c_str ()).Data (), DPTDPTFWMULTIPLICITYAXIS, DPTDPTMULTIPLIICTYAXIS );
537- fhMultiplicityVsPvMultiplicity[i] = new TH2F (TString::Format (" MultiplicityVsPvMultiplicity%s" , beforeAfterSufix[i].c_str ()).Data (), TString::Format (" %s;PV contributors;Number of tracks" , beforeAfterName[i].c_str ()).Data (), DPTDPTMULTIPLIICTYAXIS, DPTDPTMULTIPLIICTYAXIS );
538- fhPvMultiplicityVsCentrality[i] = new TH2F (TString::Format (" PvMultiplicityVsCentrality%s" , beforeAfterSufix[i].c_str ()).Data (), TString::Format (" %s;Centrality (%%);PV contributors" , beforeAfterName[i].c_str ()) .Data (), DPTDPTCENTRALITYAXIS, DPTDPTMULTIPLIICTYAXIS );
539- fhPvMultiplicityVsT0cMultiplicity[i] = new TH2F (TString::Format (" PvMultiplicityVsT0cMultiplicity%s" , beforeAfterSufix[i].c_str ()).Data (), TString::Format (" %s;T0C multiplicity;PV contributors" , beforeAfterName[i].c_str ()).Data (), DPTDPTFWMULTIPLICITYAXIS, DPTDPTMULTIPLIICTYAXIS );
540- fhPvMultiplicityVsT0aMultiplicity[i] = new TH2F (TString::Format (" PvMultiplicityVsT0aMultiplicity%s" , beforeAfterSufix[i].c_str ()).Data (), TString::Format (" %s;T0A multiplicity;PV contributors" , beforeAfterName[i].c_str ()).Data (), DPTDPTFWMULTIPLICITYAXIS, DPTDPTMULTIPLIICTYAXIS );
541- fhPvMultiplicityVsV0aMultiplicity[i] = new TH2F (TString::Format (" PvMultiplicityVsV0aMultiplicity%s" , beforeAfterSufix[i].c_str ()).Data (), TString::Format (" %s;V0A multiplicity;PV contributors" , beforeAfterName[i].c_str ()).Data (), DPTDPTFWMULTIPLICITYAXIS, DPTDPTMULTIPLIICTYAXIS );
542- fhV0aMultiplicityVsCentrality[i] = new TH2F (TString::Format (" V0aMultiplicityVsCentrality%s" , beforeAfterSufix[i].c_str ()).Data (), TString::Format (" %s;Centrality (%%);V0A multiplicity" , beforeAfterName[i].c_str ()) .Data (), DPTDPTCENTRALITYAXIS, DPTDPTFWMULTIPLICITYAXIS );
543- fhV0aMultiplicityVsT0cMultiplicity[i] = new TH2F (TString::Format (" V0aMultiplicityVsT0cMultiplicity%s" , beforeAfterSufix[i].c_str ()).Data (), TString::Format (" %s;T0C multiplicity;V0A multiplicity" , beforeAfterName[i].c_str ()).Data (), DPTDPTFWMULTIPLICITYAXIS, DPTDPTFWMULTIPLICITYAXIS );
544- fhV0aMultiplicityVsT0aMultiplicity[i] = new TH2F (TString::Format (" V0aMultiplicityVsT0aMultiplicity%s" , beforeAfterSufix[i].c_str ()).Data (), TString::Format (" %s;T0A multiplicity;V0A multiplicity" , beforeAfterName[i].c_str ()).Data (), DPTDPTFWMULTIPLICITYAXIS, DPTDPTFWMULTIPLICITYAXIS );
545- fhT0cMultiplicityVsCentrality[i] = new TH2F (TString::Format (" T0cMultiplicityVsCentrality%s" , beforeAfterSufix[i].c_str ()).Data (), TString::Format (" %s;Centrality (%%);T0C multiplicity" , beforeAfterName[i].c_str ()) .Data (), DPTDPTCENTRALITYAXIS, DPTDPTFWMULTIPLICITYAXIS );
546- fhT0cMultiplicityVsT0aMultiplicity[i] = new TH2F (TString::Format (" T0cMultiplicityVsT0aMultiplicity%s" , beforeAfterSufix[i].c_str ()).Data (), TString::Format (" %s;T0A multiplicity;T0C multiplicity" , beforeAfterName[i].c_str ()).Data (), DPTDPTFWMULTIPLICITYAXIS, DPTDPTFWMULTIPLICITYAXIS );
547- fhT0CentralityVsCentrality[i] = new TH2F (TString::Format (" T0CentralityVsCentrality%s" , beforeAfterSufix[i].c_str ()).Data (), TString::Format (" %s;Centrality (%%);T0 centrality(%%)" , beforeAfterName[i].c_str ()).Data (), DPTDPTCENTRALITYAXIS, DPTDPTCENTRALITYAXIS);
548- fhV0aCentralityVsCentrality[i] = new TH2F (TString::Format (" V0aCentralityVsCentrality%s" , beforeAfterSufix[i].c_str ()).Data (), TString::Format (" %s;Centrality (%%);V0A centrality (%%)" , beforeAfterName[i].c_str ()).Data (), DPTDPTCENTRALITYAXIS, DPTDPTCENTRALITYAXIS);
549- fhNtpvCentralityVsCentrality[i] = new TH2F (TString::Format (" NtpvCentralityVsCentrality%s" , beforeAfterSufix[i].c_str ()).Data (), TString::Format (" %s;Centrality (%%);NTPV centrality (%%)" , beforeAfterName[i].c_str ()).Data (), DPTDPTCENTRALITYAXIS, DPTDPTCENTRALITYAXIS);
542+ fhMultiplicityVsCentrality[i] = new TH2F (TString::Format (" MultiplicityVsCentrality%s" , beforeAfterSufix[i].c_str ()).Data (), TString::Format (" %s;%s centrality (%%);Number of tracks" , beforeAfterName[i].c_str (), multestimator. c_str ()) .Data (), DPTDPTCENTRALITYAXIS, DPTDPTMULTIPLICITYAXIS (MultSourceNtracks) );
543+ fhMultiplicityVsT0cMultiplicity[i] = new TH2F (TString::Format (" MultiplicityVsT0cMultiplicity%s" , beforeAfterSufix[i].c_str ()).Data (), TString::Format (" %s;T0C Multiplicity;Number of tracks" , beforeAfterName[i].c_str ()).Data (), DPTDPTMULTIPLICITYAXIS (MultSourceT0C), DPTDPTMULTIPLICITYAXIS (MultSourceNtracks) );
544+ fhMultiplicityVsT0aMultiplicity[i] = new TH2F (TString::Format (" MultiplicityVsT0aMultiplicity%s" , beforeAfterSufix[i].c_str ()).Data (), TString::Format (" %s;T0A Multiplicity;Number of tracks" , beforeAfterName[i].c_str ()).Data (), DPTDPTMULTIPLICITYAXIS (MultSourceT0A), DPTDPTMULTIPLICITYAXIS (MultSourceNtracks) );
545+ fhMultiplicityVsV0aMultiplicity[i] = new TH2F (TString::Format (" MultiplicityVsV0aMultiplicity%s" , beforeAfterSufix[i].c_str ()).Data (), TString::Format (" %s;V0A Multiplicity;Number of tracks" , beforeAfterName[i].c_str ()).Data (), DPTDPTMULTIPLICITYAXIS (MultSourceV0A), DPTDPTMULTIPLICITYAXIS (MultSourceNtracks) );
546+ fhMultiplicityVsPvMultiplicity[i] = new TH2F (TString::Format (" MultiplicityVsPvMultiplicity%s" , beforeAfterSufix[i].c_str ()).Data (), TString::Format (" %s;PV contributors;Number of tracks" , beforeAfterName[i].c_str ()).Data (), DPTDPTMULTIPLICITYAXIS (MultSourcePvContributors), DPTDPTMULTIPLICITYAXIS (MultSourceNtracks) );
547+ fhPvMultiplicityVsCentrality[i] = new TH2F (TString::Format (" PvMultiplicityVsCentrality%s" , beforeAfterSufix[i].c_str ()).Data (), TString::Format (" %s;%s centrality (%%);PV contributors" , beforeAfterName[i].c_str (), multestimator. c_str ()) .Data (), DPTDPTCENTRALITYAXIS, DPTDPTMULTIPLICITYAXIS (MultSourcePvContributors) );
548+ fhPvMultiplicityVsT0cMultiplicity[i] = new TH2F (TString::Format (" PvMultiplicityVsT0cMultiplicity%s" , beforeAfterSufix[i].c_str ()).Data (), TString::Format (" %s;T0C multiplicity;PV contributors" , beforeAfterName[i].c_str ()).Data (), DPTDPTMULTIPLICITYAXIS (MultSourceT0C), DPTDPTMULTIPLICITYAXIS (MultSourcePvContributors) );
549+ fhPvMultiplicityVsT0aMultiplicity[i] = new TH2F (TString::Format (" PvMultiplicityVsT0aMultiplicity%s" , beforeAfterSufix[i].c_str ()).Data (), TString::Format (" %s;T0A multiplicity;PV contributors" , beforeAfterName[i].c_str ()).Data (), DPTDPTMULTIPLICITYAXIS (MultSourceT0A), DPTDPTMULTIPLICITYAXIS (MultSourcePvContributors) );
550+ fhPvMultiplicityVsV0aMultiplicity[i] = new TH2F (TString::Format (" PvMultiplicityVsV0aMultiplicity%s" , beforeAfterSufix[i].c_str ()).Data (), TString::Format (" %s;V0A multiplicity;PV contributors" , beforeAfterName[i].c_str ()).Data (), DPTDPTMULTIPLICITYAXIS (MultSourceV0A), DPTDPTMULTIPLICITYAXIS (MultSourcePvContributors) );
551+ fhV0aMultiplicityVsCentrality[i] = new TH2F (TString::Format (" V0aMultiplicityVsCentrality%s" , beforeAfterSufix[i].c_str ()).Data (), TString::Format (" %s;%s centrality (%%);V0A multiplicity" , beforeAfterName[i].c_str (), multestimator. c_str ()) .Data (), DPTDPTCENTRALITYAXIS, DPTDPTMULTIPLICITYAXIS (MultSourceV0A) );
552+ fhV0aMultiplicityVsT0cMultiplicity[i] = new TH2F (TString::Format (" V0aMultiplicityVsT0cMultiplicity%s" , beforeAfterSufix[i].c_str ()).Data (), TString::Format (" %s;T0C multiplicity;V0A multiplicity" , beforeAfterName[i].c_str ()).Data (), DPTDPTMULTIPLICITYAXIS (MultSourceT0C), DPTDPTMULTIPLICITYAXIS (MultSourceV0A) );
553+ fhV0aMultiplicityVsT0aMultiplicity[i] = new TH2F (TString::Format (" V0aMultiplicityVsT0aMultiplicity%s" , beforeAfterSufix[i].c_str ()).Data (), TString::Format (" %s;T0A multiplicity;V0A multiplicity" , beforeAfterName[i].c_str ()).Data (), DPTDPTMULTIPLICITYAXIS (MultSourceT0A), DPTDPTMULTIPLICITYAXIS (MultSourceV0A) );
554+ fhT0cMultiplicityVsCentrality[i] = new TH2F (TString::Format (" T0cMultiplicityVsCentrality%s" , beforeAfterSufix[i].c_str ()).Data (), TString::Format (" %s;%s centrality (%%);T0C multiplicity" , beforeAfterName[i].c_str (), multestimator. c_str ()) .Data (), DPTDPTCENTRALITYAXIS, DPTDPTMULTIPLICITYAXIS (MultSourceT0C) );
555+ fhT0cMultiplicityVsT0aMultiplicity[i] = new TH2F (TString::Format (" T0cMultiplicityVsT0aMultiplicity%s" , beforeAfterSufix[i].c_str ()).Data (), TString::Format (" %s;T0A multiplicity;T0C multiplicity" , beforeAfterName[i].c_str ()).Data (), DPTDPTMULTIPLICITYAXIS (MultSourceT0A), DPTDPTMULTIPLICITYAXIS (MultSourceT0C) );
556+ fhT0CentralityVsCentrality[i] = new TH2F (TString::Format (" T0CentralityVsCentrality%s" , beforeAfterSufix[i].c_str ()).Data (), TString::Format (" %s;%s centrality (%%);T0 centrality(%%)" , beforeAfterName[i]. c_str (), multestimator .c_str ()).Data (), DPTDPTCENTRALITYAXIS, DPTDPTCENTRALITYAXIS);
557+ fhV0aCentralityVsCentrality[i] = new TH2F (TString::Format (" V0aCentralityVsCentrality%s" , beforeAfterSufix[i].c_str ()).Data (), TString::Format (" %s;%s centrality (%%);V0A centrality (%%)" , beforeAfterName[i]. c_str (), multestimator .c_str ()).Data (), DPTDPTCENTRALITYAXIS, DPTDPTCENTRALITYAXIS);
558+ fhNtpvCentralityVsCentrality[i] = new TH2F (TString::Format (" NtpvCentralityVsCentrality%s" , beforeAfterSufix[i].c_str ()).Data (), TString::Format (" %s;%s centrality (%%);NTPV centrality (%%)" , beforeAfterName[i]. c_str (), multestimator .c_str ()).Data (), DPTDPTCENTRALITYAXIS, DPTDPTCENTRALITYAXIS);
550559 }
551560 }
552561
@@ -586,16 +595,8 @@ struct DptDptFilter {
586595
587596 if ((fDataType != kData ) && (fDataType != kDataNoEvtSel )) {
588597 /* create the true data histograms */
589- /* TODO: proper axes and axes titles according to the system; still incomplete */
590- if (fSystem > kPbp ) {
591- fhTrueCentMultB = new TH1F (" TrueCentralityB" , " Centrality before (truth); centrality (%)" , 100 , 0 , 100 );
592- fhTrueCentMultA = new TH1F (" TrueCentralityA" , " Centrality (truth); centrality (%)" , 100 , 0 , 100 );
593- } else {
594- /* for pp, pPb and Pbp systems use multiplicity instead */
595- fhTrueCentMultB = new TH1F (" TrueMultiplicityB" , " Multiplicity before (truth); multiplicity (%)" , 100 , 0 , 100 );
596- fhTrueCentMultA = new TH1F (" TrueMultiplicityA" , " Multiplicity (truth); multiplicity (%)" , 100 , 0 , 100 );
597- }
598-
598+ fhTrueCentMultB = new TH1F (" TrueCentralityB" , " Centrality before (truth); centrality (%)" , 100 , 0 , 100 );
599+ fhTrueCentMultA = new TH1F (" TrueCentralityA" , " Centrality (truth); centrality (%)" , 100 , 0 , 100 );
599600 fhTrueVertexZB = new TH1F (" TrueVertexZB" , " Vertex Z before (truth); z_{vtx}" , 60 , -15 , 15 );
600601 fhTrueVertexZA = new TH1F (" TrueVertexZA" , " Vertex Z (truth); z_{vtx}" , zvtxbins, zvtxlow, zvtxup);
601602 if (!doprocessOnTheFlyGeneratorLevel) {
0 commit comments