MaCh3  2.5.0
Reference Guide
Public Member Functions | List of all members
PySampleHandlerBase Class Reference

As SampleHandlerBase is an abstract base class we have to do some gymnastics to get it to get it into python. More...

#include <python/samples.h>

Inheritance diagram for PySampleHandlerBase:
[legend]
Collaboration diagram for PySampleHandlerBase:
[legend]

Public Member Functions

void AddAdditionalWeightPointers () override
 DB Function to determine which weights apply to which types of samples. More...
 
void CleanMemoryBeforeFit () override
 Allow to clean not used memory before fit starts. More...
 
void SetupSplines () override
 initialise your splineXX object and then use InitialiseSplineObject to conviently setup everything up More...
 
void Init () override
 Initialise any variables that your experiment specific SampleHandler needs. More...
 
int SetupExperimentMC () override
 Experiment specific setup, returns the number of events which were loaded. More...
 
void InititialiseData () override
 Function responsible for loading data from file or loading from file. More...
 
void SetupMC () override
 Function which translates experiment struct into core struct. More...
 
double ReturnKinematicParameter (int, int) const override
 
const double * GetPointerToKinematicParameter (int, int) const override
 
void RegisterFunctionalParameters () override
 HH - a experiment-specific function where the maps to actual functions are set up. More...
 
 SampleHandlerBase (std::string ConfigFileName, ParameterHandlerGeneric *xsec_cov, const std::shared_ptr< OscillationHandler > &OscillatorObj_=nullptr)
 Constructor. More...
 
- Public Member Functions inherited from SampleHandlerBase
 SampleHandlerBase (std::string ConfigFileName, ParameterHandlerGeneric *xsec_cov, const std::shared_ptr< OscillationHandler > &OscillatorObj_=nullptr)
 Constructor. More...
 
virtual ~SampleHandlerBase ()
 destructor More...
 
int GetNDim (const int Sample) const final
 DB Get what dimensionality binning for given sample has. More...
 
std::string GetName () const final
 Get name for Sample Handler. More...
 
std::string GetSampleTitle (const int Sample) const final
 Get fancy title for specified samples. More...
 
std::string GetKinVarName (const int iSample, const int Dimension) const final
 Return Kinematic Variable name for specified sample and dimension for example "Reconstructed_Neutrino_Energy". More...
 
void PrintIntegral (const int iSample, const TString &OutputName="/dev/null", const int WeightStyle=0, const TString &OutputCSVName="/dev/null")
 Computes and prints the integral breakdown of all modes and oscillation channels for a given sample. More...
 
void AddData (const int Sample, TH1 *Data)
 
void AddData (const int Sample, const std::vector< double > &Data_Array)
 
void PrintRates (const bool DataOnly=false) final
 Helper function to print rates for the samples with LLH. More...
 
double GetLikelihood () const override
 DB Multi-threaded GetLikelihood. More...
 
double GetSampleLikelihood (const int isample) const override
 Get likelihood for single sample. More...
 
int GetSampleIndex (const std::string &SampleTitle) const
 Get index of sample based on name. More...
 
const TH1 * GetDataHist (const int Sample) final
 Get Data histogram. More...
 
const TH1 * GetDataHist (const std::string &Sample)
 
const TH1 * GetMCHist (const int Sample) final
 Get MC histogram. More...
 
const TH1 * GetMCHist (const std::string &Sample)
 
const TH1 * GetW2Hist (const int Sample) final
 Get W2 histogram. More...
 
const TH1 * GetW2Hist (const std::string &Sample)
 
void Reweight () override
 main routine modifying MC prediction based on proposed parameter values More...
 
M3::float_t GetEventWeight (const int iEntry)
 Computes the total event weight for a given entry. More...
 
const M3::float_tGetNuOscillatorPointers (const int iEvent) const
 
int GetNOscChannels (const int iSample) const final
 Get number of oscillation channels for a single sample. More...
 
std::string GetFlavourName (const int iSample, const int iChannel) const final
 
std::unique_ptr< TH1 > Get1DVarHist (const int iSample, const std::string &ProjectionVar, const std::vector< KinematicCut > &EventSelectionVec={}, int WeightStyle=0, const std::vector< KinematicCut > &SubEventSelectionVec={}) final
 
std::unique_ptr< TH2 > Get2DVarHist (const int iSample, const std::string &ProjectionVarX, const std::string &ProjectionVarY, const std::vector< KinematicCut > &EventSelectionVec={}, int WeightStyle=0, const std::vector< KinematicCut > &SubEventSelectionVec={}) final
 
std::vector< KinematicCutBuildModeChannelSelection (const int iSample, const int kModeToFill, const int kChannelToFill) const
 
void Fill1DSubEventHist (const int iSample, TH1D *_h1DVar, const std::string &ProjectionVar, const std::vector< KinematicCut > &SubEventSelectionVec={}, int WeightStyle=0)
 
void Fill2DSubEventHist (const int iSample, TH2 *_h2DVar, const std::string &ProjectionVarX, const std::string &ProjectionVarY, const std::vector< KinematicCut > &SubEventSelectionVec={}, int WeightStyle=0)
 
std::unique_ptr< TH1 > Get1DVarHistByModeAndChannel (const int iSample, const std::string &ProjectionVar_Str, const int kModeToFill=-1, const int kChannelToFill=-1, const int WeightStyle=0) final
 
std::unique_ptr< TH2 > Get2DVarHistByModeAndChannel (const int iSample, const std::string &ProjectionVar_StrX, const std::string &ProjectionVar_StrY, const int kModeToFill=-1, const int kChannelToFill=-1, const int WeightStyle=0) final
 
std::unique_ptr< TH1 > GetModeHist1D (const int iSample, int s, int m, int style=0)
 
std::unique_ptr< TH2 > GetModeHist2D (const int iSample, int s, int m, int style=0)
 
std::vector< std::unique_ptr< TH1 > > ReturnHistsBySelection1D (const int iSample, const std::string &KinematicProjection, const int Selection1, const int Selection2=-1, const int WeightStyle=0)
 
std::vector< std::unique_ptr< TH2 > > ReturnHistsBySelection2D (const int iSample, const std::string &KinematicProjectionX, const std::string &KinematicProjectionY, const int Selection1, const int Selection2=-1, const int WeightStyle=0)
 
std::unique_ptr< THStack > ReturnStackedHistBySelection1D (const int iSample, const std::string &KinematicProjection, const int Selection1, const int Selection2=-1, const int WeightStyle=0)
 
const TLegend * ReturnStackHistLegend () const
 Return the legend used for stacked histograms with sample info. More...
 
int ReturnKinematicParameterFromString (const std::string &KinematicStr) const
 ETA function to generically convert a string from xsec cov to a kinematic type. More...
 
std::string ReturnStringFromKinematicParameter (const int KinematicVariable) const
 ETA function to generically convert a kinematic type from xsec cov to a string. More...
 
void SaveAdditionalInfo (TDirectory *Dir) final
 Store additional info in a chan. More...
 
int ReturnKinematicVectorFromString (const std::string &KinematicStr) const
 JM: Convert a kinematic vector name to its corresponding integer ID. More...
 
std::string ReturnStringFromKinematicVector (const int KinematicVariable) const
 JM: Convert a kinematic vector integer ID to its corresponding name as a string. More...
 
bool IsSubEventVarString (const std::string &VarStr) const
 JM: Check if a kinematic parameter string corresponds to a subevent-level variable. More...
 
auto GetDataArray () const
 Return array storing data entries for every bin. More...
 
auto GetMCArray () const
 Return array storing MC entries for every bin. More...
 
auto GetW2Array () const
 Return array storing W2 entries for every bin. More...
 
std::vector< double > GetArrayForSample (const int Sample, std::vector< double > const &array) const
 Return a sub-array for a given sample. More...
 
std::vector< double > GetDataArray (const int Sample) const
 Return array storing data entries for every bin. More...
 
std::vector< double > GetMCArray (const int Sample) const
 Return array storing MC entries for every bin. More...
 
std::vector< double > GetW2Array (const int Sample) const
 Return array storing W2 entries for single sample. More...
 
- Public Member Functions inherited from SampleHandlerInterface
 SampleHandlerInterface ()
 The main constructor. More...
 
virtual ~SampleHandlerInterface ()
 destructor More...
 
virtual M3::int_t GetNSamples ()
 
MaCh3ModesGetMaCh3Modes () const
 Return pointer to MaCh3 modes. More...
 
unsigned int GetNEvents () const
 
double GetPoissonLLH (const double data, const double mc) const
 Calculate test statistic for a single bin using Poisson. More...
 
double GetTestStatLLH (const double data, const double mc, const double w2) const
 Calculate test statistic for a single bin. Calculation depends on setting of fTestStatistic. Data and mc -> 0 cut-offs are defined in M3::LOW_MC_BOUND. More...
 
void SetTestStatistic (TestStatistic testStat)
 Set the test statistic to be used when calculating the binned likelihoods. More...
 
TestStatistic GetTestStatistic () const
 Get the test statistic used when calculating the binned likelihoods. More...
 

Additional Inherited Members

- Protected Member Functions inherited from SampleHandlerBase
void InitialiseNuOscillatorObjects ()
 including Dan's magic NuOscillator More...
 
void SetupNuOscillatorPointers ()
 Initialise pointer to oscillation weight to NuOscillator object. More...
 
void ReadConfig ()
 Load information about sample handler and corresponding samples from config file. More...
 
void LoadSingleSample (const int iSample, const YAML::Node &Settings)
 Initialise single sample from config file. More...
 
void SetupKinematicMap ()
 Ensure Kinematic Map is setup and make sure it is initialised correctly. More...
 
void Initialise ()
 Function which does a lot of the lifting regarding the workflow in creating different MC objects. More...
 
void SetSplinePointers ()
 Set pointers for each event to appropriate weights, for unbinned based on event number while for binned based on other kinematical properties. More...
 
std::vector< std::vector< int > > GetSplineBins (int Event, BinnedSplineHandler *BinnedSpline, bool &ThrowCrititcal) const
 Retrieve the spline bin indices associated with a given event. More...
 
void FindNominalBinAndEdges ()
 
void SetBinning ()
 set the binning for 2D sample used for the likelihood calculation More...
 
void SetupReweightArrays ()
 Initialise data, MC and W2 histograms. More...
 
virtual void SetupFunctionalParameters ()
 ETA - a function to setup and pass values to functional parameters where you need to pass a value to some custom reweight calc or engine. More...
 
void RegisterIndividualFunctionalParameter (const std::string &fpName, int fpEnum, FuncParFuncType fpFunc)
 HH - a helper function for RegisterFunctionalParameter. More...
 
virtual void PrepFunctionalParameters ()
 Update the functional parameter values to the latest proposed values. Needs to be called before every new reweight so is called in fillArray. More...
 
virtual void ApplyShifts (const int iEvent)
 ETA - generic function applying shifts. More...
 
bool IsEventSelected (const int iSample, const int iEvent) _noexcept_
 DB Function which determines if an event is selected based on KinematicCut. More...
 
bool IsSubEventSelected (const std::vector< KinematicCut > &SubEventCuts, const int iEvent, unsigned const int iSubEvent, size_t nsubevents)
 JM Function which determines if a subevent is selected. More...
 
virtual void ResetShifts (const int iEvent)
 HH - reset the shifted values to the original values. More...
 
virtual void FinaliseShifts (const int iEvent)
 LP - Optionally calculate derived observables after all shifts have been applied. More...
 
void CalcNormsBins (std::vector< NormParameter > &norm_parameters, std::vector< std::vector< int > > &norms_bins)
 Check whether a normalisation systematic affects an event or not. More...
 
template<typename ParT >
bool PassesSelection (const ParT &Par, std::size_t iEvent)
 
M3::float_t CalcWeightTotal (const EventInfo *_restrict_ MCEvent) const _noexcept_
 Calculate the total weight weight for a given event. More...
 
virtual void CalcWeightFunc (const int iEvent)
 Calculate weights for function parameters. More...
 
double ReturnKinematicParameter (const std::string &KinematicParameter, int iEvent) const
 Return the value of an associated kinematic parameter for an event. More...
 
std::vector< double > ReturnKinematicVector (const std::string &KinematicParameter, const int iEvent) const
 
virtual std::vector< double > ReturnKinematicVector (const int KinematicVariable, const int iEvent) const
 
std::vector< double > ReturnKinematicParameterBinning (const int Sample, const std::string &KinematicParameter) const final
 Return the binning used to draw a kinematic parameter. More...
 
const double * GetPointerToKinematicParameter (const std::string &KinematicParameter, int iEvent) const
 
const double * GetPointerToOscChannel (const int iEvent) const
 Get pointer to oscillation channel associated with given event. Osc channel is const. More...
 
void SetupNormParameters ()
 Setup the norm parameters by assigning each event with bin. More...
 
void SetupOscParameters ()
 Setup the osc parameters. More...
 
void FillHist (const int Sample, TH1 *Hist, std::vector< double > &Array)
 Fill a histogram with the event-level information used in the fit. More...
 
void FillArray_MP ()
 DB Nice new multi-threaded function which calculates the event weights and fills the relevant bins of an array. More...
 
void FillArray ()
 Function which does the core reweighting, fills the SampleHandlerBase::SampleHandler_array vector with the weight calculated from reweighting. More...
 
void ResetHistograms ()
 Helper function to reset histograms. More...
 
void InitialiseSplineObject ()
 
NuPDG GetInitPDGFromFileName (const std::string &FileName) const
 Retrieve the initial neutrino PDG code associated with a given input file name. More...
 
NuPDG GetFinalPDGFromFileName (const std::string &FileName) const
 Retrieve the final neutrino PDG code associated with a given input file name. More...
 
- Protected Member Functions inherited from SampleHandlerInterface
void QuietPlease ()
 CW: Redirect std::cout to silence some experiment specific libraries. More...
 
void NowTalk ()
 CW: Redirect std::cout to silence some experiment specific libraries. More...
 
template<typename T >
bool MatchCondition (const std::vector< T > &allowedValues, const T &value)
 check if event is affected by following conditions, for example pdg, or modes etc More...
 
- Protected Attributes inherited from SampleHandlerBase
std::unique_ptr< SplineBaseSplineHandler
 Contains all your splines (binned or unbinned) and handles the setup and the returning of weights from spline evaluations. More...
 
std::shared_ptr< OscillationHandlerOscillator
 Contains oscillator handling calculating oscillation probabilities. More...
 
std::vector< std::vector< FunctionalShifter * > > funcParsGrid
 HH - a grid of vectors of enums for each sample and event. More...
 
std::vector< FunctionalShifterfuncParsMap
 HH - a map that relates the funcpar enum to pointer of FuncPars struct HH - Changed to a vector of pointers since it's faster than unordered_map and we are using ints as keys. More...
 
std::vector< FunctionalParameterfuncParsVec
 HH - a vector that stores all the FuncPars struct. More...
 
std::unordered_map< std::string, int > funcParsNamesMap
 HH - a map that relates the name of the functional parameter to funcpar enum. More...
 
std::unordered_map< int, FuncParFuncTypefuncParsFuncMap
 HH - a map that relates the funcpar enum to pointer of the actual function. More...
 
std::vector< std::string > funcParsNamesVec = {}
 HH - a vector of string names for each functional parameter. More...
 
std::unique_ptr< BinningHandlerBinning
 KS: This stores binning information, in future could be come vector to store binning for every used sample. More...
 
std::vector< double > SampleHandler_array
 DB Array to be filled after reweighting. More...
 
std::vector< double > SampleHandler_array_w2
 KS Array used for MC stat. More...
 
std::vector< double > SampleHandler_data
 DB Array to be filled in AddData. More...
 
std::vector< EventInfoMCEvents
 Stores information about every MC event. More...
 
std::vector< SampleInfoSampleDetails
 Stores info about currently initialised sample. More...
 
ParameterHandlerGenericParHandler = nullptr
 ETA - All experiments will need an xsec, det and osc cov. More...
 
std::string SampleHandlerName
 A unique ID for each sample based on which we can define what systematic should be applied. More...
 
std::vector< std::vector< KinematicCut > > StoredSelection
 What gets pulled from config options, these are constant after loading in this is of length 3: 0th index is the value, 1st is lower bound, 2nd is upper bound. More...
 
std::vector< std::vector< KinematicCut > > Selection
 a way to store selection cuts which you may push back in the get1DVar functions most of the time this is just the same as StoredSelection More...
 
const std::unordered_map< std::string, int > * KinematicParameters
 Mapping between string and kinematic enum. More...
 
const std::unordered_map< int, std::string > * ReversedKinematicParameters
 Mapping between kinematic enum and string. More...
 
const std::unordered_map< std::string, int > * KinematicVectors
 
const std::unordered_map< int, std::string > * ReversedKinematicVectors
 
std::unique_ptr< ManagerSampleManager
 The manager object used to read the sample yaml file. More...
 
std::unordered_map< std::string, double > _modeNomWeightMap
 
TLegend * THStackLeg = nullptr
 DB Miscellaneous Variables. More...
 
bool FirstTimeW2
 KS:Super hacky to update W2 or not. More...
 
bool UpdateW2
 KS:Super hacky to update W2 or not. More...
 
- Protected Attributes inherited from SampleHandlerInterface
TestStatistic fTestStatistic
 Test statistic tells what kind of likelihood sample is using. More...
 
std::streambuf * buf
 Keep the cout buffer. More...
 
std::streambuf * errbuf
 Keep the cerr buffer. More...
 
M3::int_t nSamples
 Contains how many samples we've got. More...
 
unsigned int nEvents
 Number of MC events are there. More...
 
std::unique_ptr< MaCh3ModesModes
 Holds information about used Generator and MaCh3 modes. More...
 

Detailed Description

As SampleHandlerBase is an abstract base class we have to do some gymnastics to get it to get it into python.

Definition at line 314 of file samples.h.

Member Function Documentation

◆ AddAdditionalWeightPointers()

void PySampleHandlerBase::AddAdditionalWeightPointers ( )
inlineoverridevirtual

DB Function to determine which weights apply to which types of samples.

Implements SampleHandlerBase.

Definition at line 320 of file samples.h.

320  {
321  PYBIND11_OVERRIDE_PURE_NAME(
322  void, /* Return type */
323  SampleHandlerBase, /* Parent class */
324  "add_additional_weight_pointers", /*python name*/
325  AddAdditionalWeightPointers, /* Name of function in C++ */
326  /* Argument(s) */
327  );
328  }
void AddAdditionalWeightPointers() override
DB Function to determine which weights apply to which types of samples.
Definition: samples.h:320
Class responsible for handling implementation of samples used in analysis, reweighting and returning ...

◆ CleanMemoryBeforeFit()

void PySampleHandlerBase::CleanMemoryBeforeFit ( )
inlineoverridevirtual

Allow to clean not used memory before fit starts.

Implements SampleHandlerInterface.

Definition at line 331 of file samples.h.

331  {
332  PYBIND11_OVERRIDE_PURE(
333  void, /* Return type */
334  SampleHandlerBase, /* Parent class */
335  CleanMemoryBeforeFit /* Name of function in C++ (must match Python name) */
336  );
337  }
void CleanMemoryBeforeFit() override
Allow to clean not used memory before fit starts.
Definition: samples.h:331

◆ GetPointerToKinematicParameter()

const double* PySampleHandlerBase::GetPointerToKinematicParameter ( int  ,
int   
) const
inlineoverridevirtual

Implements SampleHandlerBase.

Definition at line 402 of file samples.h.

402  {
403  PYBIND11_OVERRIDE_PURE_NAME(
404  const double *, /* Return type */
405  SampleHandlerBase, /* Parent class */
406  "get_event_kinematic_value_reference", /* python name*/
407  GetPointerToKinematicParameter, /* Name of function in C++ (must match Python name) */
408  py::arg("variable"), /* Argument(s) */
409  py::arg("event") /* Argument(s) */
410  );
411  }
const double * GetPointerToKinematicParameter(int, int) const override
Definition: samples.h:402

◆ Init()

void PySampleHandlerBase::Init ( )
inlineoverridevirtual

Initialise any variables that your experiment specific SampleHandler needs.

Implements SampleHandlerBase.

Definition at line 351 of file samples.h.

351  {
352  PYBIND11_OVERRIDE_PURE_NAME(
353  void, /* Return type */
354  SampleHandlerBase, /* Parent class */
355  "init", /*python name*/
356  Init, /* Name of function in C++ */
357  /* Argument(s) */
358  );
359  }
void Init() override
Initialise any variables that your experiment specific SampleHandler needs.
Definition: samples.h:351

◆ InititialiseData()

void PySampleHandlerBase::InititialiseData ( )
inlineoverridevirtual

Function responsible for loading data from file or loading from file.

Implements SampleHandlerBase.

Definition at line 372 of file samples.h.

372  {
373  PYBIND11_OVERRIDE_PURE_NAME(
374  void, /* Return type */
375  SampleHandlerBase, /* Parent class */
376  "inititialis_data", /*python name*/
377  InititialiseData, /* Name of function in C++ */
378  );
379  }
void InititialiseData() override
Function responsible for loading data from file or loading from file.
Definition: samples.h:372

◆ RegisterFunctionalParameters()

void PySampleHandlerBase::RegisterFunctionalParameters ( )
inlineoverridevirtual

HH - a experiment-specific function where the maps to actual functions are set up.

Implements SampleHandlerBase.

Definition at line 413 of file samples.h.

413  {
414  PYBIND11_OVERRIDE_PURE_NAME(
415  void, /* Return type */
416  SampleHandlerBase, /* Parent class */
417  "register_functional_parameters",
418  RegisterFunctionalParameters /* Name of function in C++ (must match Python name) */
419  );
420  }
void RegisterFunctionalParameters() override
HH - a experiment-specific function where the maps to actual functions are set up.
Definition: samples.h:413

◆ ReturnKinematicParameter()

double PySampleHandlerBase::ReturnKinematicParameter ( int  ,
int   
) const
inlineoverridevirtual

Implements SampleHandlerBase.

Definition at line 391 of file samples.h.

391  {
392  PYBIND11_OVERRIDE_PURE_NAME(
393  double, /* Return type */
394  SampleHandlerBase, /* Parent class */
395  "get_event_kinematic_value", /* python name*/
396  ReturnKinematicParameter, /* Name of function in C++ (must match Python name) */
397  py::arg("variable"),
398  py::arg("event") /* Argument(s) */
399  );
400  }
double ReturnKinematicParameter(int, int) const override
Definition: samples.h:391

◆ SampleHandlerBase()

SampleHandlerBase::SampleHandlerBase

Constructor.

Parameters
ConfigFileNameName of config to initialise the sample object

Definition at line 27 of file SampleHandlerBase.cpp.

14 // ************************************************
15  MACH3LOG_INFO("-------------------------------------------------------------------");
16  MACH3LOG_INFO("Creating SampleHandlerBase object");
17 
18  //ETA - safety feature so you can't pass a NULL xsec_cov
19  if(!xsec_cov) {
20  MACH3LOG_WARN("You've passed me a nullptr ParameterHandler so I will not use any xsec parameters");
21  }
22  ParHandler = xsec_cov;
23 
24  nSamples = 1;
25 
26  if (OscillatorObj_ != nullptr) {
27  MACH3LOG_WARN("You have passed an Oscillator object through the constructor of a SampleHandlerBase object - this will be used for all oscillation channels");
28  Oscillator = OscillatorObj_;
29  if(!ParHandler) {
30  MACH3LOG_CRITICAL("You've passed me a nullptr to ParamHandler while non null to Oscillator");
31  MACH3LOG_CRITICAL("Make up you mind");
32  throw MaCh3Exception(__FILE__, __LINE__);
33  }
34  }
35 
36  KinematicParameters = nullptr;
38  KinematicVectors = nullptr;
39  ReversedKinematicVectors = nullptr;
40 
41  SampleHandlerName = "";
42  SampleManager = std::make_unique<Manager>(ConfigFileName.c_str());
43  Binning = std::make_unique<BinningHandler>();
44  // Variables related to MC stat
45  FirstTimeW2 = true;
46  UpdateW2 = false;
47 }
#define MACH3LOG_CRITICAL
Definition: MaCh3Logger.h:38
#define MACH3LOG_INFO
Definition: MaCh3Logger.h:35
#define MACH3LOG_WARN
Definition: MaCh3Logger.h:36
Custom exception class used throughout MaCh3.
std::string SampleHandlerName
A unique ID for each sample based on which we can define what systematic should be applied.
const std::unordered_map< int, std::string > * ReversedKinematicParameters
Mapping between kinematic enum and string.
std::shared_ptr< OscillationHandler > Oscillator
Contains oscillator handling calculating oscillation probabilities.
std::unique_ptr< Manager > SampleManager
The manager object used to read the sample yaml file.
const std::unordered_map< std::string, int > * KinematicParameters
Mapping between string and kinematic enum.
std::unique_ptr< BinningHandler > Binning
KS: This stores binning information, in future could be come vector to store binning for every used s...
ParameterHandlerGeneric * ParHandler
ETA - All experiments will need an xsec, det and osc cov.
bool UpdateW2
KS:Super hacky to update W2 or not.
const std::unordered_map< int, std::string > * ReversedKinematicVectors
const std::unordered_map< std::string, int > * KinematicVectors
bool FirstTimeW2
KS:Super hacky to update W2 or not.
M3::int_t nSamples
Contains how many samples we've got.
SampleHandlerInterface()
The main constructor.

◆ SetupExperimentMC()

int PySampleHandlerBase::SetupExperimentMC ( )
inlineoverridevirtual

Experiment specific setup, returns the number of events which were loaded.

Implements SampleHandlerBase.

Definition at line 362 of file samples.h.

362  {
363  PYBIND11_OVERRIDE_PURE_NAME(
364  int, /* Return type */
365  SampleHandlerBase, /* Parent class */
366  "setup_experiment_MC", /*python name*/
367  SetupExperimentMC, /* Name of function in C++ */
368  );
369  }
int SetupExperimentMC() override
Experiment specific setup, returns the number of events which were loaded.
Definition: samples.h:362

◆ SetupMC()

void PySampleHandlerBase::SetupMC ( )
inlineoverridevirtual

Function which translates experiment struct into core struct.

Implements SampleHandlerBase.

Definition at line 382 of file samples.h.

382  {
383  PYBIND11_OVERRIDE_PURE_NAME(
384  void, /* Return type */
385  SampleHandlerBase, /* Parent class */
386  "setup_MC", /*python name*/
387  SetupMC, /* Name of function in C++ */
388  );
389  }
void SetupMC() override
Function which translates experiment struct into core struct.
Definition: samples.h:382

◆ SetupSplines()

void PySampleHandlerBase::SetupSplines ( )
inlineoverridevirtual

initialise your splineXX object and then use InitialiseSplineObject to conviently setup everything up

Todo:
abstract the spline initialisation completely to core

Implements SampleHandlerBase.

Definition at line 340 of file samples.h.

340  {
341  PYBIND11_OVERRIDE_PURE_NAME(
342  void, /* Return type */
343  SampleHandlerBase, /* Parent class */
344  "setup_splines", /*python name*/
345  SetupSplines, /* Name of function in C++ */
346  /* Argument(s) */
347  );
348  }
void SetupSplines() override
initialise your splineXX object and then use InitialiseSplineObject to conviently setup everything up
Definition: samples.h:340

The documentation for this class was generated from the following file: