MaCh3 DUNE 1.0.0
Reference Guide
Loading...
Searching...
No Matches
samplePDFDUNEAtm.h
Go to the documentation of this file.
1#ifndef _samplePDFDUNEAtm_h_
2#define _samplePDFDUNEAtm_h_
3
5#include "covariance/covarianceXsec.h"
6#include "covariance/covarianceOsc.h"
7#include "samplePDF/samplePDFFDBase.h"
8
9#include "StructsDUNE.h"
11class samplePDFDUNEAtm : virtual public samplePDFFDBase
12{
13public:
18 samplePDFDUNEAtm(std::string mc_version, covarianceXsec* xsec_cov, covarianceOsc* osc_cov);
21
24
25protected:
27 void Init();
28
32 int setupExperimentMC(int iSample);
33
36 void setupFDMC(int iSample);
37
40
42 void SetupSplines();
43
44 //DB functions which could be initialised to do something which is non-trivial
45
49 double CalcXsecWeightFunc(int iSample, int iEvent) {return 1.;}
50
54 void applyShifts(int iSample, int iEvent) {}
55
61 const double* GetPointerToKinematicParameter(KinematicTypes KinPar, int iSample, int iEvent);
62
68 const double* GetPointerToKinematicParameter(double KinematicVariable, int iSample, int iEvent);
69
75 const double* GetPointerToKinematicParameter(std::string KinematicParameter, int iSample, int iEvent);
76
82 double ReturnKinematicParameter(double KinematicVariable, int iSample, int iEvent);
83
89 double ReturnKinematicParameter(std::string KinematicParameter, int iSample, int iEvent);
90
94 std::vector<double> ReturnKinematicParameterBinning(std::string KinematicParameterStr);
95
99 std::vector<double> ReturnKinematicParameterBinning(KinematicTypes KinPar);
100
104 inline int ReturnKinematicParameterFromString(std::string KinematicStr);
105
109 inline std::string ReturnStringFromKinematicParameter(int KinematicVariable);
110
112 std::vector<struct dunemc_base> dunemcSamples;
113
116};
117
118#endif
Base class for handling atmospheric samples.
void applyShifts(int iSample, int iEvent)
NOT IMPLEMENTED: Apply kinematic shifts.
std::vector< struct dunemc_base > dunemcSamples
Array filled with MC samples for each oscillation channel.
void SetupWeightPointers()
Sets up pointers weights for each event (oscillation/xsec/etc.)
KinematicTypes
Enum to identify kinematics.
double CalcXsecWeightFunc(int iSample, int iEvent)
NOT IMPLEMENTED: Dunder method to calculate xsec weights.
std::string ReturnStringFromKinematicParameter(int KinematicVariable)
Get kinematic parameter name from ID.
~samplePDFDUNEAtm()
destructor
void SetupSplines()
Sets up splines.
int ReturnKinematicParameterFromString(std::string KinematicStr)
Get kinematic parameter ID from string name.
void setupFDMC(int iSample)
Tells FD base which variables to point to/be set to.
const double * GetPointerToKinematicParameter(KinematicTypes KinPar, int iSample, int iEvent)
Returns pointer to kinemtatic parameter for event in Structs DUNE.
double ReturnKinematicParameter(double KinematicVariable, int iSample, int iEvent)
Returns pointer to kinemtatic parameter for event in Structs DUNE.
int setupExperimentMC(int iSample)
Function to setup MC from file.
bool IsELike
Is the sample e-like.
void Init()
Initialises object.
samplePDFDUNEAtm(std::string mc_version, covarianceXsec *xsec_cov, covarianceOsc *osc_cov)
Constructor.
std::vector< double > ReturnKinematicParameterBinning(std::string KinematicParameterStr)
Gets binning for a given parameter.