![]() |
MaCh3 2.2.1
Reference Guide
|
Interface between NuOscillator and MaCh3, meant to compute oscillation weights for events/bin. More...
#include <Samples/OscillationHandler.h>
Public Member Functions | |
OscillationHandler (const std::string &ConfigFile, bool EqualBinningPerChannel, std::vector< const double * > OscParams_, const int SubChannels) | |
Constructor. | |
virtual | ~OscillationHandler () |
Destructor. | |
bool | isEqualBinningPerOscChannel () |
check if same binning is used for multiple oscillation channels | |
void | Evaluate () |
DB Evaluate oscillation weights for each defined event/bin. | |
const M3::float_t * | GetNuOscillatorPointers (int Channel, int InitFlav, int FinalFlav, FLOAT_T TrueEnu, FLOAT_T TrueCosZenith=-999) |
Get pointer to oscillation weight. | |
void | SetOscillatorBinning (const int Channel, const std::vector< M3::float_t > &EnergyArray, const std::vector< M3::float_t > &CosineZArray) |
Setup binning, arrays correspond to events and their energy bins. | |
unsigned int | GetOscParamsSize () const |
return size of oscillation parameter pointer vector | |
Private Attributes | |
bool | EqualBinningPerOscChannel |
flag used to define whether all oscillation channels have a probability calculated using the same binning | |
std::vector< std::unique_ptr< OscillatorBase > > | NuOscProbCalcers |
DB Variables required for oscillation. | |
std::vector< const double * > | OscParams |
pointer to osc params, since not all params affect every sample, we perform some operations before hand for speed | |
Interface between NuOscillator and MaCh3, meant to compute oscillation weights for events/bin.
Definition at line 11 of file OscillationHandler.h.
_MaCh3_Safe_Include_Start_ _MaCh3_Safe_Include_End_ OscillationHandler::OscillationHandler | ( | const std::string & | ConfigFile, |
bool | EqualBinningPerChannel, | ||
std::vector< const double * > | OscParams_, | ||
const int | SubChannels | ||
) |
Constructor.
ConfigFile | name/path to NuOscillator Config |
EqualBinningPerChannel | whether to use same binning per each oscillation channel |
OscParams_ | Pointers to values of oscillation parameters |
SubChannels | Number of oscillation channels |
Definition at line 9 of file OscillationHandler.cpp.
|
virtual |
Destructor.
Definition at line 50 of file OscillationHandler.cpp.
void OscillationHandler::Evaluate | ( | ) |
DB Evaluate oscillation weights for each defined event/bin.
Definition at line 56 of file OscillationHandler.cpp.
const M3::float_t * OscillationHandler::GetNuOscillatorPointers | ( | int | Channel, |
int | InitFlav, | ||
int | FinalFlav, | ||
FLOAT_T | TrueEnu, | ||
FLOAT_T | TrueCosZenith = -999 |
||
) |
Get pointer to oscillation weight.
Definition at line 77 of file OscillationHandler.cpp.
|
inline |
return size of oscillation parameter pointer vector
Definition at line 35 of file OscillationHandler.h.
|
inline |
check if same binning is used for multiple oscillation channels
Definition at line 25 of file OscillationHandler.h.
void OscillationHandler::SetOscillatorBinning | ( | const int | Channel, |
const std::vector< M3::float_t > & | EnergyArray, | ||
const std::vector< M3::float_t > & | CosineZArray | ||
) |
Setup binning, arrays correspond to events and their energy bins.
Definition at line 93 of file OscillationHandler.cpp.
|
private |
flag used to define whether all oscillation channels have a probability calculated using the same binning
Definition at line 38 of file OscillationHandler.h.
|
private |
DB Variables required for oscillation.
Definition at line 41 of file OscillationHandler.h.
|
private |
pointer to osc params, since not all params affect every sample, we perform some operations before hand for speed
Definition at line 44 of file OscillationHandler.h.