Skip to content

Commit 51cd78c

Browse files
Merge pull request #117 from mach3-software/feature/SharedNuOsc
feat: Shared NuOsc CI
2 parents ab2dc45 + e9fc64d commit 51cd78c

File tree

3 files changed

+29
-2
lines changed

3 files changed

+29
-2
lines changed

CIValidations/SamplePDFValidations.cpp

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,29 @@
22
#include "Utils/Comparison.h"
33
#include "samplePDF/samplePDFTutorial.h"
44

5+
_MaCh3_Safe_Include_Start_ //{
6+
#include "Oscillator/OscillatorFactory.h"
7+
_MaCh3_Safe_Include_End_ //}
8+
9+
void SharedNuOscTest(const std::string& config, covarianceXsec* xsec, covarianceOsc* osc){
10+
OscillatorBase* OscillatorObj = nullptr;
11+
MACH3LOG_INFO("Utilising a shared NuOscillator object between all atmospheric samples");
12+
13+
OscillatorFactory* OscillFactory = new OscillatorFactory();
14+
15+
std::string OscillatorConfig = std::string(std::getenv("MaCh3Tutorial_ROOT")) + "/TutorialConfigs/NuOscillator/CUDAProb3.yaml";
16+
OscillatorObj = OscillFactory->CreateOscillator(OscillatorConfig);
17+
OscillatorObj->Setup();
18+
delete OscillFactory;
19+
20+
samplePDFTutorial *Sample1 = new samplePDFTutorial(config, xsec, osc, OscillatorObj);
21+
samplePDFTutorial *Sample2 = new samplePDFTutorial(config, xsec, osc, OscillatorObj);
22+
23+
delete Sample1;
24+
delete Sample2;
25+
delete OscillatorObj;
26+
}
27+
528
int main(int argc, char *argv[])
629
{
730
SetMaCh3LoggerFormat();
@@ -73,6 +96,8 @@ int main(int argc, char *argv[])
7396
MACH3LOG_INFO("Everything is correct");
7497
}
7598

99+
SharedNuOscTest(SampleConfig.back(), xsec, osc);
100+
76101
delete xsec;
77102
delete osc;
78103

samplePDF/samplePDFTutorial.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@
55
#include "splines/splineFDBase.h"
66

77
// ************************************************
8-
samplePDFTutorial::samplePDFTutorial(std::string mc_version_, covarianceXsec* xsec_cov_, covarianceOsc* osc_cov_) : samplePDFFDBase(mc_version_, xsec_cov_, osc_cov_) {
8+
samplePDFTutorial::samplePDFTutorial(std::string mc_version_, covarianceXsec* xsec_cov_, covarianceOsc* osc_cov_, OscillatorBase* Oscillator_)
9+
: samplePDFFDBase(mc_version_, xsec_cov_, osc_cov_, Oscillator_) {
910
// ************************************************
1011
KinematicParameters = &KinematicParametersTutorial;
1112
ReversedKinematicParameters = &ReversedKinematicParametersTutorial;

samplePDF/samplePDFTutorial.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,11 @@
44
#include "samplePDF/samplePDFFDBase.h"
55
#include "samplePDF/StructsTutorial.h"
66

7+
/// @brief Class responsible for handling implementation of samples used in analysis, reweighting and returning LLH
78
class samplePDFTutorial : public samplePDFFDBase
89
{
910
public:
10-
samplePDFTutorial(std::string mc_version, covarianceXsec* xsec_cov, covarianceOsc* osc_cov = nullptr);
11+
samplePDFTutorial(std::string mc_version, covarianceXsec* xsec_cov, covarianceOsc* osc_cov = nullptr, OscillatorBase* Oscillator_ = nullptr);
1112
virtual ~samplePDFTutorial();
1213
enum KinematicTypes {kTrueNeutrinoEnergy, kTrueQ2, kM3Mode, kRecoNeutrinoEnergy};
1314

0 commit comments

Comments
 (0)