49 const auto minEntriesSector = ic.options().get<
int>(
"min-entries-sector");
50 const auto minEntries1D = ic.options().get<
int>(
"min-entries-1d");
51 const auto minEntries2D = ic.options().get<
int>(
"min-entries-2d");
52 const auto fitPasses = ic.options().get<
int>(
"fit-passes");
53 const auto fitThreshold = ic.options().get<
float>(
"fit-threshold");
54 const auto fitThresholdLowFactor = ic.options().get<
float>(
"fit-threshold-low-factor");
56 const auto dEdxBins = ic.options().get<
int>(
"dedxbins");
57 const auto mindEdx = ic.options().get<
float>(
"min-dedx");
58 const auto maxdEdx = ic.options().get<
float>(
"max-dedx");
59 const auto angularBins = ic.options().get<
int>(
"angularbins");
60 const auto fitSnp = ic.options().get<
bool>(
"fit-snp");
61 mMakeGaussianFits = !ic.options().get<
bool>(
"disable-gaussian-fits");
63 mDumpToFile = ic.options().get<
int>(
"file-dump");
65 mCalib = std::make_unique<CalibdEdx>(dEdxBins, mindEdx, maxdEdx, angularBins, fitSnp);
66 mCalib->setApplyCuts(
false);
67 mCalib->setSectorFitThreshold(minEntriesSector);
68 mCalib->set1DFitThreshold(minEntries1D);
69 mCalib->set2DFitThreshold(minEntries2D);
70 mCalib->setElectronCut(fitThreshold, fitPasses, fitThresholdLowFactor);
71 mCalib->setMaterialType(mMatType);
73 const auto& gpuConfig = GPU_GET_CONFIG(GPUSettingsO2);
74 mCustomdEdxFileName = gpuConfig.dEdxCorrFile;
75 mDisableTimeGain = gpuConfig.dEdxDisableResidualGain;
77 if (mDisableTimeGain) {
78 LOGP(info,
"TimeGain correction was disabled via GPU_global.dEdxDisableResidualGain=1");
81 if (!mDisableTimeGain && !mCustomdEdxFileName.empty()) {
82 std::unique_ptr<TFile> fdEdxCustom(TFile::Open(mCustomdEdxFileName.data()));
83 if (!fdEdxCustom || !fdEdxCustom->IsOpen() || fdEdxCustom->IsZombie()) {
84 LOGP(error,
"Could not open custom TimeGain file {}", mCustomdEdxFileName);
93 LOGP(error,
"Could not load 'CalibdEdxCorrection' from file {}", mCustomdEdxFileName);
96 LOGP(info,
"Loaded custom TimeGain from file {} with {} dimensions and mean qTot Params {}", mCustomdEdxFileName, timeGain->getDims(),
utils::elementsToString(meanParamTot));
97 mCalib->setCalibrationInput(*timeGain);
156 LOGP(info,
"Sending object {} / {} of size {} bytes, valid for {} : {} ", info.getPath(), info.getFileName(),
image->size(), info.getStartValidityTimestamp(), info.getEndValidityTimestamp());