Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 21 additions & 7 deletions CIValidations/BinningValidations.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,23 +6,37 @@ void BinningHandlerValidations(std::ostream& outFile) {
auto Binning = std::make_unique<BinningHandler>();

std::string yamlBinning1 = R"(
XVarStr : "RecoNeutrinoEnergy"
XVarBins: [0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1]
YVarStr : "TrueQ2"
YVarBins: [0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1]
VarStr : ["RecoNeutrinoEnergy", "TrueQ2"]
VarBins: [ [0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1],
[0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1] ]
Uniform: true
)";

YAML::Node Binning1 = STRINGtoYAML(yamlBinning1);
SampleInfo SingleSample;
Binning->SetupSampleBinning(Binning1, SingleSample);

///////
MACH3LOG_INFO("");
std::string yamlContent = R"(
XVarStr : "RecoNeutrinoEnergy"
XVarBins: [0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1]
VarStr : ["RecoNeutrinoEnergy"]
VarBins: [[0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1]]
Uniform: true
)";

YAML::Node Binning2 = STRINGtoYAML(yamlContent);
Binning->SetupSampleBinning(Binning2, SingleSample);
///////
MACH3LOG_INFO("");
std::string yamlContent3 = R"(
VarStr : ["RecoNeutrinoEnergy", "TrueQ2", "Wacky"]
VarBins: [ [0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1],
[0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1],
[-1., 0, 1.] ]
Uniform: true
)";

YAML::Node Binning3 = STRINGtoYAML(yamlContent3);
Binning->SetupSampleBinning(Binning3, SingleSample);

std::vector<int> Samples = {0, 1};
std::vector<double> XVars = {-1, 0, 0.5, 0.7, 1, 10};
Expand Down
2 changes: 1 addition & 1 deletion CIValidations/FitterValidations.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ void FitVal(const std::string& Algo, bool MoreTests)
for(int iSample = 0; iSample < Sample->GetNsamples(); iSample++){
std::string name = Sample->GetSampleTitle(iSample);
TString NameTString = TString(name.c_str());
TH1D *SampleHistogramPrior = (TH1D*)Sample->GetMCHist(iSample, 1)->Clone(NameTString+"_Prior");
TH1 *SampleHistogramPrior = static_cast<TH1*>(Sample->GetMCHist(iSample)->Clone(NameTString+"_Prior"));
Sample->AddData(iSample, SampleHistogramPrior);
}
MaCh3Fitter->AddSystObj(xsec.get());
Expand Down
45 changes: 13 additions & 32 deletions CIValidations/SamplePDFValidations.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -55,14 +55,10 @@ void SampleLLHValidation(std::ostream& outFile, const std::string& OriginalSampl
auto Sample = std::make_unique<SampleHandlerTutorial>(tempConfigPath, xsec);
Sample->Reweight();

for(int iSample = 0; iSample < Sample->GetNsamples(); iSample++){
if (Sample->GetNDim(iSample) == 1) {
TH1D* SampleHistogramPrior = static_cast<TH1D*>(Sample->GetMCHist(iSample, 1)->Clone((NameTString + "_Prior").c_str()));
Sample->AddData(iSample, SampleHistogramPrior);
} else {
TH2D* SampleHistogramPrior = static_cast<TH2D*>(Sample->GetMCHist(iSample, 2)->Clone((NameTString + "_Prior").c_str()));
Sample->AddData(iSample, SampleHistogramPrior);
}
for(int iSample = 0; iSample < Sample->GetNsamples(); iSample++) {
TH1* SampleHistogramPrior = static_cast<TH1*>(Sample->GetMCHist(iSample)->Clone((NameTString + "_Prior").c_str()));
Sample->AddData(iSample, SampleHistogramPrior);

// Set oscillation parameters and reweight for posterior
std::vector<double> OscParProp = {0.3, 0.5, 0.020, 7.53e-5, 2.494e-3, 0.0, 295, 2.6, 0.5, 15};
xsec->SetGroupOnlyParameters("Osc", OscParProp);
Expand Down Expand Up @@ -96,13 +92,7 @@ void ValidateTestStatistic(std::ostream& outFile, const std::string& OriginalSam
auto Sample = std::make_unique<SampleHandlerTutorial>(OriginalSample, xsec);
Sample->Reweight();
for(int iSample = 0; iSample < Sample->GetNsamples(); iSample++){
if (Sample->GetNDim(iSample) == 1) {
TH1D* SampleHistogramPrior = static_cast<TH1D*>(Sample->GetMCHist(iSample, 1)->Clone("Blarb_Prior"));
Sample->AddData(iSample, SampleHistogramPrior);
} else {
TH2D* SampleHistogramPrior = static_cast<TH2D*>(Sample->GetMCHist(iSample, 2)->Clone("Blarb_Prior"));
Sample->AddData(iSample, SampleHistogramPrior);
}
Sample->AddData(iSample, Sample->GetMCArray(iSample));
}

// Define test vectors, feel free to expand it
Expand Down Expand Up @@ -164,14 +154,9 @@ void LoadSplineValidation(std::ostream& outFile, const std::string& OriginalSamp
Sample->Reweight();

for(int iSample = 0; iSample < Sample->GetNsamples(); iSample++){
TH1* SampleHistogramPrior = nullptr;
if (Sample->GetNDim(iSample) == 1) {
SampleHistogramPrior = static_cast<TH1D*>(Sample->GetMCHist(iSample, 1)->Clone((NameTString + "_Prior").c_str()));
Sample->AddData(iSample, static_cast<TH1D*>(SampleHistogramPrior));
} else {
SampleHistogramPrior = static_cast<TH2D*>(Sample->GetMCHist(iSample, 2)->Clone((NameTString + "_Prior").c_str()));
Sample->AddData(iSample, static_cast<TH2D*>(SampleHistogramPrior));
}
TH1* SampleHistogramPrior = static_cast<TH1*>(Sample->GetMCHist(iSample)->Clone((NameTString + "_Prior").c_str()));
Sample->AddData(iSample, SampleHistogramPrior);

// Set oscillation parameters and reweight for posterior
std::vector<double> OscParProp = {0.3, 0.5, 0.020, 7.53e-5, 2.494e-3, 0.0, 295, 2.6, 0.5, 15};
xsec->SetGroupOnlyParameters("Osc", OscParProp);
Expand Down Expand Up @@ -212,14 +197,9 @@ int main(int argc, char *argv[])

// Reweight and process prior histogram
Sample->Reweight();
TH1* SampleHistogramPrior = nullptr;
if (Sample->GetNDim(iSample) == 1) {
SampleHistogramPrior = static_cast<TH1D*>(Sample->GetMCHist(iSample, 1)->Clone((NameTString + "_Prior").Data()));
Sample->AddData(iSample, static_cast<TH1D*>(SampleHistogramPrior));
} else {
SampleHistogramPrior = static_cast<TH2D*>(Sample->GetMCHist(iSample, 2)->Clone((NameTString + "_Prior").Data()));
Sample->AddData(iSample, static_cast<TH2D*>(SampleHistogramPrior));
}
TH1* SampleHistogramPrior = static_cast<TH1*>(Sample->GetMCHist(iSample)->Clone((NameTString + "_Prior").Data()));
Sample->AddData(iSample, SampleHistogramPrior);

// Write initial info to file
outFile << "Info for sample: " << NameTString << std::endl;
outFile << "Rates Prior: " << SampleHistogramPrior->Integral() << std::endl;
Expand All @@ -231,9 +211,10 @@ int main(int argc, char *argv[])
Sample->Reweight();

// Process posterior histogram
TH1D *SampleHistogramPost = (TH1D*)Sample->GetMCHist(iSample, 1)->Clone(NameTString + "_Post");
TH1 *SampleHistogramPost = static_cast<TH1*>(Sample->GetMCHist(iSample)->Clone(NameTString + "_Post"));
outFile << "Rates Post:" << SampleHistogramPrior->Integral() << std::endl;
outFile << "Likelihood:" << std::fabs(Sample->GetLikelihood()) << std::endl;

delete SampleHistogramPost;
}
MACH3LOG_INFO("Now trying to compare each weight individually");
Expand Down
6 changes: 3 additions & 3 deletions CIValidations/SigmaVarValidations.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -96,9 +96,9 @@ class samplePDFSigmaVar : public SampleHandlerBase

void PrintRates(const bool DataOnly = false) override {return;};

TH1* GetData(const int Selection) override {return PolyHist[Selection];}
TH1* GetPDF(const int Selection) override {return PolyHist[Selection];}
TH2Poly* GetW2(const int Selection) override {return PolyHist[Selection];}
TH1* GetDataHist(const int Selection) override {return PolyHist[Selection];}
TH1* GetMCHist(const int Selection) override {return PolyHist[Selection];}
TH1* GetW2Hist(const int Selection) override {return PolyHist[Selection];}
TH1* GetPDFMode(const int Selection, const int Mode) override {return PolyHist[Selection];}

std::vector<std::string> SampleBlarbTitle;
Expand Down
6 changes: 3 additions & 3 deletions CIValidations/pValueValidations.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -56,9 +56,9 @@ class samplePDFpValue : public SampleHandlerBase

void PrintRates(const bool DataOnly = false) override {return;};

TH1* GetData(const int Selection) override {return PolyHist[Selection];}
TH1* GetPDF(const int Selection) override {return PolyHist[Selection];}
TH2Poly* GetW2(const int Selection) override {return PolyHist[Selection];}
TH1* GetDataHist(const int Selection) override {return PolyHist[Selection];}
TH1* GetMCHist(const int Selection) override {return PolyHist[Selection];}
TH1* GetW2Hist(const int Selection) override {return PolyHist[Selection];}
TH1* GetPDFMode(const int Selection, const int Mode) override {return PolyHist[Selection];}

std::vector<std::string> SampleBlarbTitle;
Expand Down
5 changes: 3 additions & 2 deletions TutorialConfigs/Samples/SampleHandler_Tutorial.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,9 @@ Tutorial:
SampleTitle: "Tutorial"

Binning:
XVarStr : "RecoNeutrinoEnergy"
XVarBins: [0., 0.5, 1., 1.25, 1.5, 1.75, 2., 2.25, 2.5, 2.75, 3., 3.25, 3.5, 3.75, 4., 5., 6., 10.]
VarStr : [ "RecoNeutrinoEnergy" ]
VarBins: [[0., 0.5, 1., 1.25, 1.5, 1.75, 2., 2.25, 2.5, 2.75, 3., 3.25, 3.5, 3.75, 4., 5., 6., 10.]]
Uniform: true

InputFiles:
mtupleprefix: "TutorialConfigs/MC/NuWro_"
Expand Down
5 changes: 3 additions & 2 deletions TutorialConfigs/Samples/SampleHandler_Tutorial_ATM.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,9 @@ Tutorial_ATM:
Bounds: [ 0., 4 ]

Binning:
XVarStr : "RecoNeutrinoEnergy"
XVarBins: [0., 0.5, 1., 1.25, 1.5, 1.75, 2., 2.25, 2.5, 2.75, 3., 3.25, 3.5, 3.75, 4., 5., 6., 10.]
VarStr : [ "RecoNeutrinoEnergy" ]
VarBins: [[0., 0.5, 1., 1.25, 1.5, 1.75, 2., 2.25, 2.5, 2.75, 3., 3.25, 3.5, 3.75, 4., 5., 6., 10.]]
Uniform: true

InputFiles:
mtupleprefix: "TutorialConfigs/MC/NuWro_"
Expand Down
37 changes: 19 additions & 18 deletions TutorialConfigs/Samples/SampleHandler_Tutorial_ND.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,10 @@ ND_CC0pi:
SampleTitle: "ND_CC0pi"

Binning:
XVarStr : "RecoNeutrinoEnergy"
XVarBins: [0., 0.5, 1., 1.25, 1.5, 1.75, 2., 2.25, 2.5, 2.75, 3., 3.25, 3.5, 3.75, 4., 5., 6., 10.]
YVarStr : "TrueQ2"
YVarBins: [0., 0.5, 1., 1.25, 1.5, 1.75, 2., 5]
VarStr : ["RecoNeutrinoEnergy", "TrueQ2"]
VarBins: [ [0., 0.5, 1., 1.25, 1.5, 1.75, 2., 2.25, 2.5, 2.75, 3., 3.25, 3.5, 3.75, 4., 5., 6., 10.],
[0., 0.5, 1., 1.25, 1.5, 1.75, 2., 5] ]
Uniform: true

InputFiles:
mtupleprefix: "TutorialConfigs/MC/NuWro"
Expand All @@ -44,10 +44,10 @@ ND_CC1pip:
SampleTitle: "ND_CC1pip"

Binning:
XVarStr : "RecoNeutrinoEnergy"
XVarBins: [0., 0.5, 1., 1.25, 1.5, 1.75, 2., 2.25, 2.5, 2.75, 3., 3.25, 3.5, 3.75, 4., 5., 6., 10.]
YVarStr : "TrueQ2"
YVarBins: [0., 0.5, 1., 1.25, 1.5, 1.75, 2., 5]
VarStr : [ "RecoNeutrinoEnergy", "TrueQ2" ]
VarBins: [ [0., 0.5, 1., 1.25, 1.5, 1.75, 2., 2.25, 2.5, 2.75, 3., 3.25, 3.5, 3.75, 4., 5., 6., 10.],
[0., 0.5, 1., 1.25, 1.5, 1.75, 2., 5] ]
Uniform: true

InputFiles:
mtupleprefix: "TutorialConfigs/MC/NuWro"
Expand All @@ -68,10 +68,10 @@ ND_CCPi0:
SampleTitle: "ND_CCPi0"

Binning:
XVarStr : "RecoNeutrinoEnergy"
XVarBins: [0., 0.5, 1., 1.25, 1.5, 1.75, 2., 2.25, 2.5, 2.75, 3., 3.25, 3.5, 3.75, 4., 5., 6., 10.]
YVarStr : "TrueQ2"
YVarBins: [0., 0.5, 1., 1.25, 1.5, 1.75, 2., 5]
VarStr : [ "RecoNeutrinoEnergy", "TrueQ2" ]
VarBins: [ [0., 0.5, 1., 1.25, 1.5, 1.75, 2., 2.25, 2.5, 2.75, 3., 3.25, 3.5, 3.75, 4., 5., 6., 10.],
[0., 0.5, 1., 1.25, 1.5, 1.75, 2., 5] ]
Uniform: true

InputFiles:
mtupleprefix: "TutorialConfigs/MC/NuWro"
Expand All @@ -92,10 +92,10 @@ ND_NC0pi:
SampleTitle: "ND_NC0pi"

Binning:
XVarStr : "RecoNeutrinoEnergy"
XVarBins: [0., 0.5, 1., 1.25, 1.5, 1.75, 2., 2.25, 2.5, 2.75, 3., 3.25, 3.5, 3.75, 4.]
YVarStr : "TrueQ2"
YVarBins: [0., 0.5, 1., 1.25, 1.5, 1.75, 2.]
VarStr : [ "RecoNeutrinoEnergy", "TrueQ2" ]
VarBins: [ [0., 0.5, 1., 1.25, 1.5, 1.75, 2., 2.25, 2.5, 2.75, 3., 3.25, 3.5, 3.75, 4.],
[0., 0.5, 1., 1.25, 1.5, 1.75, 2.] ]
Uniform: true

InputFiles:
mtupleprefix: "TutorialConfigs/MC/NuWro"
Expand All @@ -116,8 +116,9 @@ ND_NC1pi0:
SampleTitle: "ND_NC1pi0"

Binning:
XVarStr : "RecoNeutrinoEnergy"
XVarBins: [0., 0.5, 1., 1.25, 1.5, 1.75, 2., 2.25, 2.5, 2.75, 3., 3.25, 3.5, 3.75, 4., 5., 6., 10.]
VarStr : [ "RecoNeutrinoEnergy" ]
VarBins: [ [0., 0.5, 1., 1.25, 1.5, 1.75, 2., 2.25, 2.5, 2.75, 3., 3.25, 3.5, 3.75, 4., 5., 6., 10.] ]
Uniform: true

InputFiles:
mtupleprefix: "TutorialConfigs/MC/NuWro"
Expand Down
Loading