Skip to content

Commit 7d79e88

Browse files
committed
Fix fetching of centrality configuration
1 parent c3a3c8c commit 7d79e88

1 file changed

Lines changed: 46 additions & 39 deletions

File tree

Common/Tasks/centralityStudy.cxx

Lines changed: 46 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)