Skip to content
Open
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
338 changes: 168 additions & 170 deletions SamplesTutorial/SampleHandlerTutorial.cpp

Large diffs are not rendered by default.

35 changes: 18 additions & 17 deletions SamplesTutorial/SampleHandlerTutorial.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
#include "Samples/SampleHandlerBase.h"
#include "StructsTutorial.h"
#include "SplinesTutorial/BinnedSplinesTutorial.h"
#include <random>

class SampleHandlerTutorial : public SampleHandlerBase
{
Expand All @@ -11,37 +12,35 @@ class SampleHandlerTutorial : public SampleHandlerBase
const std::shared_ptr<OscillationHandler>& Oscillator_ = nullptr);
virtual ~SampleHandlerTutorial();

enum KinematicTypes {kTrueNeutrinoEnergy, kTrueQ2, kM3Mode, kRecoNeutrinoEnergy, kOscChannel};
enum KinematicTypes {kTrueNeutrinoEnergy, kTrueQ2, kM3Mode, kTarget, kRecoNeutrinoEnergy, kOscChannel};

// === JM enum for particle-level parameters ===
enum KinematicParticleVecs {kParticleEnergy, kParticlePDG, kParticleBeamAngle};
// =============================================

protected:
private:
void Init() override;

///@brief Setup our spline file, this calls InitialseSplineObject() under the hood
void SetupSplines() override final;
void SetupSplines() final;

void AddAdditionalWeightPointers() override final;
void AddAdditionalWeightPointers() final;

int SetupExperimentMC() override final;
int SetupExperimentMC() final;

void CleanMemoryBeforeFit() override final;
void CleanMemoryBeforeFit() final;

double ReturnKinematicParameter(KinematicTypes KinPar, int iEvent);
double ReturnKinematicParameter(int KinematicVariable, int iEvent) override final;
double ReturnKinematicParameter(const int KinematicVariable, const int iEvent) const final;

// === JM ReturnKinematicVector declarations for particle-level parameters ===
std::vector<double> ReturnKinematicVector(KinematicParticleVecs KinVec, int iEvent);
std::vector<double> ReturnKinematicVector(int KinematicVector, int iEvent) override final;
void FillParticles(int eventIndex, int nParticles, int PDGLep, double ELep, std::mt19937& gen);
std::vector<double> ReturnKinematicVector(const int KinematicVector, const int iEvent) const final;
// ===========================================================================

const double* GetPointerToKinematicParameter(KinematicTypes KinPar, int iEvent);
const double* GetPointerToKinematicParameter(double KinematicVariable, int iEvent) override final;
const double* GetPointerToKinematicParameter(const int KinematicVariable, const int iEvent) const final;

void SetupMC() override final;
void CalcWeightFunc(int iEvent) override final {return; (void)iEvent;}
void SetupMC() final;
void CalcWeightFunc(const int iEvent) final {return; (void)iEvent;}

std::vector<TutorialMCInfo> TutorialSamples;
std::vector<TutorialMCPlottingInfo> TutorialPlottingSamples;
Expand All @@ -50,14 +49,16 @@ class SampleHandlerTutorial : public SampleHandlerBase
{"TrueNeutrinoEnergy", kTrueNeutrinoEnergy},
{"TrueQ2", kTrueQ2},
{"Mode", kM3Mode},
{"Target", kTarget},
{"RecoNeutrinoEnergy", kRecoNeutrinoEnergy},
{"OscillationChannel", kOscChannel},
};

const std::unordered_map<int, std::string> ReversedKinematicParametersTutorial = {
{kTrueNeutrinoEnergy, "TrueNeutrinoEnergy"},
{kTrueQ2, "TrueQ2"},
{kM3Mode,"Mode"},
{kM3Mode, "Mode"},
{kTarget, "Target"},
{kRecoNeutrinoEnergy, "RecoNeutrinoEnergy"},
{kOscChannel, "OscillationChannel"},
};
Expand All @@ -81,8 +82,8 @@ class SampleHandlerTutorial : public SampleHandlerBase

// === HH: Functional parameters ===
enum FuncParEnum {kDebugNothing, kDebugShift, kEResLep, kEResTot};
void RegisterFunctionalParameters() override final;
void ResetShifts(const int iEvent) override final;
void RegisterFunctionalParameters() final;
void ResetShifts(const int iEvent) final;

void DebugShift(const M3::float_t* par, std::size_t iEvent);
void EResLep(const M3::float_t* par, std::size_t iEvent);
Expand Down
4 changes: 2 additions & 2 deletions SamplesTutorial/StructsTutorial.h
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@ struct TutorialMCInfo {
/// type of neutrino
int oscnutype = M3::_BAD_INT_;
/// target material
int Target = M3::_BAD_INT_;
/// target material
int Sample = M3::_BAD_INT_;
/// target material
double Target = M3::_BAD_INT_;
/// interaction mode
double Mode = M3::_BAD_DOUBLE_;
/// is Neutral Current or not
Expand Down
3 changes: 1 addition & 2 deletions Tutorial/KinemDistributionTutorial.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -77,8 +77,7 @@ int main(int argc, char **argv) {
MACH3LOG_INFO("Number of samples: {}", mySamples[iPDF]->GetNSamples());
for(int iSample = 0; iSample < mySamples[iPDF]->GetNSamples(); iSample++){
auto Stack = mySamples[iPDF]->ReturnStackedHistBySelection1D(iSample, vecParams[iParam], Selection);
TLegend* Legend = mySamples[iPDF]->ReturnStackHistLegend();

std::unique_ptr<TLegend> Legend(new TLegend(*mySamples[iPDF]->ReturnStackHistLegend()));
Canv->cd(1);
Stack->Draw("HIST");
//Due to crappy TStack design, you need to draw THStack first then assign axis titles
Expand Down
14 changes: 7 additions & 7 deletions TutorialConfigs/Samples/SampleHandler_Tutorial.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -36,40 +36,40 @@ Tutorial_Beam:
splineprefix: "TutorialConfigs/MC/BinnedSplinesTutorialInputs"
splinesuffix: "2D.root"

SubSamples:
OscChannels:
- Name: "numu-x-numu"
LatexName: "#nu_{#mu} #rightarrow #nu_{#mu}"
mtuplefile: "numu_x_numu"
mtuplefile: ["numu_x_numu"]
splinefile: ""
nutype: 14
oscnutype: 14
- Name: "nue-x-nue"
LatexName: "#nu_{e} #rightarrow #nu_{e}"
mtuplefile: "nue_x_nue"
mtuplefile: ["nue_x_nue"]
splinefile: ""
nutype: 12
oscnutype: 12
- Name: "numubar-x-numubar"
LatexName: "#bar{#nu}_{#mu} #rightarrow #bar{#nu}_{#mu}"
mtuplefile: "numubar_x_numubar"
mtuplefile: ["numubar_x_numubar"]
splinefile: ""
nutype: -14
oscnutype: -14
- Name: "nuebar-x-nuebar"
LatexName: "#bar{#nu}_{e} #rightarrow #bar{#nu}_{e}"
mtuplefile: "nuebar_x_nuebar"
mtuplefile: ["nuebar_x_nuebar"]
splinefile: ""
nutype: -12
oscnutype: -12
- Name: "numu-x-nue"
LatexName: "#nu_{#mu} #rightarrow #nu_{e}"
mtuplefile: "numu_x_nue"
mtuplefile: ["numu_x_nue"]
splinefile: ""
nutype: 14
oscnutype: 12
- Name: "numubar-x-nuebar"
LatexName: "#bar{#nu}_{#mu} #rightarrow #bar{#nu}_{e}"
mtuplefile: "numubar_x_nuebar"
mtuplefile: ["numubar_x_nuebar"]
splinefile: ""
nutype: -14
oscnutype: -12
18 changes: 9 additions & 9 deletions TutorialConfigs/Samples/SampleHandler_Tutorial_ATM.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -38,52 +38,52 @@ Tutorial_ATM:
splineprefix: "TutorialConfigs/MC/BinnedSplinesTutorialInputs"
splinesuffix: "2D.root"

SubSamples:
OscChannels:
- Name: "numu-x-numu"
LatexName: "#nu_{#mu} #rightarrow #nu_{#mu}"
mtuplefile: "numu_x_numu"
mtuplefile: ["numu_x_numu"]
splinefile: ""
nutype: 14
oscnutype: 14
- Name: "nue-x-nue"
LatexName: "#nu_{e} #rightarrow #nu_{e}"
mtuplefile: "nue_x_nue"
mtuplefile: ["nue_x_nue"]
splinefile: ""
nutype: 12
oscnutype: 12
- Name: "numub-x-numub"
LatexName: "#bar{#nu}_{#mu} #rightarrow #bar{#nu}_{#mu}"
mtuplefile: "numubar_x_numubar"
mtuplefile: ["numubar_x_numubar"]
splinefile: ""
nutype: -14
oscnutype: -14
- Name: "nueb-x-nueb"
LatexName: "#bar{#nu}_{e} #rightarrow #bar{#nu}_{e}"
mtuplefile: "nuebar_x_nuebar"
mtuplefile: ["nuebar_x_nuebar"]
splinefile: ""
nutype: -12
oscnutype: -12
- Name: "numu-x-nue"
LatexName: "#nu_{#mu} #rightarrow #nu_{e}"
mtuplefile: "numu_x_nue"
mtuplefile: ["numu_x_nue"]
splinefile: ""
nutype: 14
oscnutype: 12
- Name: "numub-x-nueb"
LatexName: "#bar{#nu}_{#mu} #rightarrow #bar{#nu}_{e}"
mtuplefile: "numubar_x_nuebar"
mtuplefile: ["numubar_x_nuebar"]
splinefile: ""
nutype: -14
oscnutype: -12
- Name: "nue-x-numu"
LatexName: "#nu_{e} #rightarrow #nu_{#mu}"
mtuplefile: "nue_x_numu"
mtuplefile: ["nue_x_numu"]
splinefile: ""
nutype: 12
oscnutype: 14
- Name: "nueb-x-numub"
LatexName: "#bar{#nu}_{e} #rightarrow #bar{#nu}_{#mu}"
mtuplefile: "nuebar_x_numubar"
mtuplefile: ["nuebar_x_numubar"]
splinefile: ""
nutype: -12
oscnutype: -14
30 changes: 10 additions & 20 deletions TutorialConfigs/Samples/SampleHandler_Tutorial_ND.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -32,13 +32,11 @@ ND_CC0pi:
splineprefix: "TutorialConfigs/MC/BinnedSplinesTutorialInputs"
splinesuffix: "2D.root"

SubSamples:
OscChannels:
- Name: "FHC_numu_x_numu"
LatexName: "#nu_{#mu} #rightarrow #nu_{#mu}"
mtuplefile: ""
mtuplefile: [""]
splinefile: ""
nutype: 14
oscnutype: 14

ND_CC1pip:
SampleTitle: "ND_CC1pip"
Expand All @@ -56,13 +54,11 @@ ND_CC1pip:
splineprefix: "TutorialConfigs/MC/BinnedSplinesTutorialInputs"
splinesuffix: "2D.root"

SubSamples:
OscChannels:
- Name: "FHC_numu_x_numu"
LatexName: "#nu_{#mu} #rightarrow #nu_{#mu}"
mtuplefile: ""
mtuplefile: [""]
splinefile: ""
nutype: 14
oscnutype: 14

ND_CCPi0:
SampleTitle: "ND_CCPi0"
Expand All @@ -80,13 +76,11 @@ ND_CCPi0:
splineprefix: "TutorialConfigs/MC/BinnedSplinesTutorialInputs"
splinesuffix: "2D.root"

SubSamples:
OscChannels:
- Name: "FHC_numu_x_numu"
LatexName: "#nu_{#mu} #rightarrow #nu_{#mu}"
mtuplefile: ""
mtuplefile: [""]
splinefile: ""
nutype: 14
oscnutype: 14

ND_NC0pi:
SampleTitle: "ND_NC0pi"
Expand All @@ -104,13 +98,11 @@ ND_NC0pi:
splineprefix: "TutorialConfigs/MC/BinnedSplinesTutorialInputs"
splinesuffix: "2D.root"

SubSamples:
OscChannels:
- Name: "FHC_numu_x_numu"
LatexName: "#nu_{#mu} #rightarrow #nu_{#mu}"
mtuplefile: ""
mtuplefile: [""]
splinefile: ""
nutype: 14
oscnutype: 14

ND_NC1pi0:
SampleTitle: "ND_NC1pi0"
Expand All @@ -127,10 +119,8 @@ ND_NC1pi0:
splineprefix: "TutorialConfigs/MC/BinnedSplinesTutorialInputs"
splinesuffix: "2D.root"

SubSamples:
OscChannels:
- Name: "numu_x_numu"
LatexName: "#nu_{#mu} #rightarrow #nu_{#mu}"
mtuplefile: ""
mtuplefile: [""]
splinefile: ""
nutype: 14
oscnutype: 14
Loading