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 mCustomdEdxFileName = o2::gpu::GPUConfigurableParamGPUSettingsO2::Instance().dEdxCorrFile;
74 mDisableTimeGain = o2::gpu::GPUConfigurableParamGPUSettingsO2::Instance().dEdxDisableResidualGain;
76 if (mDisableTimeGain) {
77 LOGP(info,
"TimeGain correction was disabled via GPU_global.dEdxDisableResidualGain=1");
80 if (!mDisableTimeGain && !mCustomdEdxFileName.empty()) {
81 std::unique_ptr<TFile> fdEdxCustom(TFile::Open(mCustomdEdxFileName.data()));
82 if (!fdEdxCustom || !fdEdxCustom->IsOpen() || fdEdxCustom->IsZombie()) {
83 LOGP(error,
"Could not open custom TimeGain file {}", mCustomdEdxFileName);
87 LOGP(error,
"Could not load 'CalibdEdxCorrection' from file {}", mCustomdEdxFileName);
90 LOGP(info,
"Loaded custom TimeGain from file {} with {} dimensions and mean qTot Params {}", mCustomdEdxFileName, timeGain->getDims(),
utils::elementsToString(meanParamTot));
91 mCalib->setCalibrationInput(*timeGain);
150 LOGP(info,
"Sending object {} / {} of size {} bytes, valid for {} : {} ", info.getPath(), info.getFileName(),
image->size(), info.getStartValidityTimestamp(), info.getEndValidityTimestamp());