@@ -450,45 +450,6 @@ struct centralityStudy {
450450 reportSuccess (hCentralityNTPV, " NTPV" );
451451 reportSuccess (hCentralityNGlo, " NGlobals" );
452452 reportSuccess (hCentralityMFT, " MFT" );
453-
454- LOGF (info, " Centrality calibration loading done." );
455- auto getCent = [](TH1 * hist, float mult) -> float {
456- return hist ? hist->GetBinContent (mult) : 0.0 ;
457- };
458-
459- centFV0A = getCent (hCentralityFV0A, collision.multFV0A ());
460- centFT0A = getCent (hCentralityFT0A, collision.multFT0A ());
461- centFT0C = getCent (hCentralityFT0C, collision.multFT0C ());
462- centFT0M = getCent (hCentralityFT0M, collision.multFT0A () + collision.multFT0C ());
463- centFDDM = getCent (hCentralityFDDM, collision.multFDDA () + collision.multFDDC ());
464- centNTPV = getCent (hCentralityNTPV, collision.multNTracksPV ());
465- centNGlo = getCent (hCentralityNGlo, collision.multNTracksGlobal ());
466- centMFT = getCent (hCentralityMFT, collision.mftNtracks ());
467- } else if (doprocessCollisionsWithCentrality) {
468- if constexpr (requires { collision.centFV0A (); }) {
469- centFV0A = collision.centFV0A ();
470- }
471- if constexpr (requires { collision.centFT0A (); }) {
472- centFT0A = collision.centFT0A ();
473- }
474- if constexpr (requires { collision.centFT0C (); }) {
475- centFT0C = collision.centFT0C ();
476- }
477- if constexpr (requires { collision.centFT0M (); }) {
478- centFT0M = collision.centFT0M ();
479- }
480- if constexpr (requires { collision.centFDDM (); }) {
481- centFDDM = collision.centFDDM ();
482- }
483- if constexpr (requires { collision.centNTPV (); }) {
484- centNTPV = collision.centNTPV ();
485- }
486- if constexpr (requires { collision.centNGlobal (); }) {
487- centNGlo = collision.centNGlobal ();
488- }
489- if constexpr (requires { collision.centMFT (); }) {
490- centMFT = collision.centMFT ();
491- }
492453 }
493454
494455 if (!studies.doRunByRunHistograms ) {
@@ -594,6 +555,52 @@ struct centralityStudy {
594555 }
595556 }
596557
558+ template <typename TCollision>
559+ void configureCentrality (const TCollision& collision)
560+ {
561+ if (ccdbSettings.fetchCentralityCalibration ) {
562+ LOGF (info, " Centrality calibration loading done." );
563+ auto getCent = [](TH1 * hist, float mult) -> float {
564+ return hist ? hist->GetBinContent (mult) : 0.0 ;
565+ };
566+
567+ centFV0A = getCent (hCentralityFV0A, collision.multFV0A ());
568+ centFT0A = getCent (hCentralityFT0A, collision.multFT0A ());
569+ centFT0C = getCent (hCentralityFT0C, collision.multFT0C ());
570+ centFT0M = getCent (hCentralityFT0M, collision.multFT0A () + collision.multFT0C ());
571+ centFDDM = getCent (hCentralityFDDM, collision.multFDDA () + collision.multFDDC ());
572+ centNTPV = getCent (hCentralityNTPV, collision.multNTracksPV ());
573+ centNGlo = getCent (hCentralityNGlo, collision.multNTracksGlobal ());
574+ centMFT = getCent (hCentralityMFT, collision.mftNtracks ());
575+ } else if (doprocessCollisionsWithCentrality) {
576+ if constexpr (requires { collision.centFV0A (); }) {
577+ centFV0A = collision.centFV0A ();
578+ }
579+ if constexpr (requires { collision.centFT0A (); }) {
580+ centFT0A = collision.centFT0A ();
581+ }
582+ if constexpr (requires { collision.centFT0C (); }) {
583+ centFT0C = collision.centFT0C ();
584+ }
585+ if constexpr (requires { collision.centFT0M (); }) {
586+ centFT0M = collision.centFT0M ();
587+ }
588+ if constexpr (requires { collision.centFDDM (); }) {
589+ centFDDM = collision.centFDDM ();
590+ }
591+ if constexpr (requires { collision.centNTPV (); }) {
592+ centNTPV = collision.centNTPV ();
593+ }
594+ if constexpr (requires { collision.centNGlobal (); }) {
595+ centNGlo = collision.centNGlobal ();
596+ }
597+ if constexpr (requires { collision.centMFT (); }) {
598+ centMFT = collision.centMFT ();
599+ }
600+ }
601+ }
602+ }
603+
597604 template <typename TCollision>
598605 void genericProcessCollision (const TCollision& collision)
599606 // process this collisions
0 commit comments