![]() |
MaCh3
2.5.0
Reference Guide
|
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>
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_t * | GetNuOscillatorPointers (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< KinematicCut > | BuildModeChannelSelection (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 () |
| MaCh3Modes * | GetMaCh3Modes () 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< SplineBase > | SplineHandler |
| Contains all your splines (binned or unbinned) and handles the setup and the returning of weights from spline evaluations. More... | |
| std::shared_ptr< OscillationHandler > | Oscillator |
| 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< FunctionalShifter > | funcParsMap |
| 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< FunctionalParameter > | funcParsVec |
| 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, FuncParFuncType > | funcParsFuncMap |
| 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< BinningHandler > | Binning |
| 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< EventInfo > | MCEvents |
| Stores information about every MC event. More... | |
| std::vector< SampleInfo > | SampleDetails |
| Stores info about currently initialised sample. More... | |
| ParameterHandlerGeneric * | ParHandler = 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< Manager > | SampleManager |
| 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< MaCh3Modes > | Modes |
| Holds information about used Generator and MaCh3 modes. More... | |
As SampleHandlerBase is an abstract base class we have to do some gymnastics to get it to get it into python.
|
inlineoverridevirtual |
DB Function to determine which weights apply to which types of samples.
Implements SampleHandlerBase.
Definition at line 320 of file samples.h.
|
inlineoverridevirtual |
Allow to clean not used memory before fit starts.
Implements SampleHandlerInterface.
Definition at line 331 of file samples.h.
|
inlineoverridevirtual |
Implements SampleHandlerBase.
Definition at line 402 of file samples.h.
|
inlineoverridevirtual |
Initialise any variables that your experiment specific SampleHandler needs.
Implements SampleHandlerBase.
Definition at line 351 of file samples.h.
|
inlineoverridevirtual |
Function responsible for loading data from file or loading from file.
Implements SampleHandlerBase.
Definition at line 372 of file samples.h.
|
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.
|
inlineoverridevirtual |
Implements SampleHandlerBase.
Definition at line 391 of file samples.h.
| SampleHandlerBase::SampleHandlerBase |
Constructor.
| ConfigFileName | Name of config to initialise the sample object |
Definition at line 27 of file SampleHandlerBase.cpp.
|
inlineoverridevirtual |
Experiment specific setup, returns the number of events which were loaded.
Implements SampleHandlerBase.
Definition at line 362 of file samples.h.
|
inlineoverridevirtual |
Function which translates experiment struct into core struct.
Implements SampleHandlerBase.
Definition at line 382 of file samples.h.
|
inlineoverridevirtual |
initialise your splineXX object and then use InitialiseSplineObject to conviently setup everything up
Implements SampleHandlerBase.
Definition at line 340 of file samples.h.