diff --git a/samplePDF/samplePDFFDBase.cpp b/samplePDF/samplePDFFDBase.cpp index f50c92567..92c6fb877 100644 --- a/samplePDF/samplePDFFDBase.cpp +++ b/samplePDF/samplePDFFDBase.cpp @@ -748,7 +748,6 @@ void samplePDFFDBase::SetupNormParameters() { //A way to check whether a normalisation parameter applies to an event or not void samplePDFFDBase::CalcXsecNormsBins(int iSample){ - FarDetectorCoreInfo *fdobj = &MCSamples[iSample]; #ifdef DEBUG std::vector VerboseCounter(xsec_norms.size(), 0); @@ -883,13 +882,10 @@ void samplePDFFDBase::CalcXsecNormsBins(int iSample){ } MACH3LOG_DEBUG("└──────────────────────────────────────────────────────────┘"); #endif - - return; } //ETA - this is all a bit (less) stupid void samplePDFFDBase::set1DBinning(std::vector &XVec){ - _hPDF1D->Reset(); _hPDF1D->SetBins(int(XVec.size()-1), XVec.data()); dathist->SetBins(int(XVec.size()-1), XVec.data()); @@ -1146,8 +1142,9 @@ void samplePDFFDBase::set2DBinning(int nbins1, double low1, double high1, int nb FindNominalBinAndEdges2D(); } +// ************************************************ void samplePDFFDBase::FindNominalBinAndEdges2D() { - +// ************************************************ //Set rw_pdf_bin and rw_upper_xbinedge and rw_lower_xbinedge for each skmc_base for(int mc_i = 0 ; mc_i < int(MCSamples.size()) ; mc_i++){ for(int event_i = 0 ; event_i < MCSamples[mc_i].nEvents ; event_i++){ @@ -1297,14 +1294,22 @@ void samplePDFFDBase::addData(TH2D* Data) { } } +// ************************************************ void samplePDFFDBase::SetupNuOscillator() { +// ************************************************ OscillatorFactory* OscillFactory = new OscillatorFactory(); NuOscProbCalcers = std::vector(int(MCSamples.size())); for (size_t iSample=0;iSampleCreateOscillator(NuOscillatorConfigFile); + + LoggerPrint("NuOscillator", + [](const std::string& message) { MACH3LOG_INFO("{}", message); }, + [this, iSample, &OscillFactory]() { + this->NuOscProbCalcers[iSample] = OscillFactory->CreateOscillator(this->NuOscillatorConfigFile); + }); + //NuOscProbCalcers[iSample] = OscillFactory->CreateOscillator(NuOscillatorConfigFile); if (!NuOscProbCalcers[iSample]->EvalPointsSetInConstructor()) { std::vector EnergyArray; @@ -1384,7 +1389,6 @@ void samplePDFFDBase::SetupNuOscillator() { } // end if NC } // end loop over events }// end loop over channels - delete OscillFactory; } @@ -1436,7 +1440,10 @@ void samplePDFFDBase::fillSplineBins() { } } +// ************************************************ double samplePDFFDBase::GetLikelihood() { +// ************************************************ + if (samplePDFFD_data == nullptr) { MACH3LOG_ERROR("Data sample is empty! Can't calculate a likelihood!"); throw MaCh3Exception(__FILE__, __LINE__);