17 #include "TObjString.h" 19 #include <Eigen/Dense> 25 typedef std::tuple<Flavors::Flavors_t, Current::Current_t, Sign::Sign_t>
Component;
38 std::vector<std::pair<Binning, unsigned int>>
bins);
44 Eigen::MatrixXd
Predict(std::vector<Sample> samples,
48 Eigen::MatrixXd
Predict(std::vector<double> vBetaMu);
58 std::vector<covmx::Sample> samples);
74 std::vector<unsigned int>
GetNBins();
91 static std::unique_ptr<CovarianceMatrix>
LoadFrom(TDirectory* dir,
const std::string& name);
98 std::vector<std::vector<double>> edges, std::vector<unsigned int>
comps);
101 std::vector<const ISyst*> systs);
106 std::vector<std::pair<Binning, unsigned int>>
fBins;
TH2D * GetCovMxRelativeTH2(std::vector< Sample > &samples, osc::IOscCalcAdjustable *calc)
Represent the binning of a Spectrum's x-axis.
Cuts and Vars for the 2020 FD DiF Study.
vector< Component > GetComponents(Sample sample)
Eigen::MatrixXd GetFullCovMx()
Simple record of shifts applied to systematic parameters.
Eigen::MatrixXd fCovMxAbsolute
Oscillated absolute covariance matrix.
Adapt the PMNS_Sterile calculator to standard interface.
Eigen::MatrixXd GetCovMxAbsolute()
void AddMatrix(CovarianceMatrix *gen)
std::string fName
String name identifier.
static SystShifts Nominal()
std::tuple< Flavors::Flavors_t, Current::Current_t, Sign::Sign_t > Component
TH2D * GetCovMxAbsoluteTH2()
Eigen::MatrixXd fFullCovMx
Full covariance matrix.
std::vector< Binning > GetBinnings()
TH2D * GetFullCorrMxTH2()
Eigen::MatrixXd GetCovMxRelative(std::vector< Sample > &samples, osc::IOscCalcAdjustable *calc)
static Eigen::MatrixXd ForcePosDef(Eigen::MatrixXd mx, double epsilon=0.1)
void SetNUniverses(unsigned int i)
std::vector< std::string > comps
std::vector< unsigned int > GetNComponents()
std::vector< covmx::Sample > GetSamples()
std::vector< std::pair< Binning, unsigned int > > fBins
void SetName(std::string name)
static TMatrixD ForcePosDefROOT(Eigen::MatrixXd mx, double epsilon=0.1)
std::vector< unsigned int > GetNBins()
void SetBinning(std::vector< Sample > samples)
Eigen::MatrixXd GetFullCorrMx()
static std::unique_ptr< CovarianceMatrix > LoadFrom(TDirectory *dir, const std::string &name)
virtual ~CovarianceMatrix()
virtual void SaveTo(TDirectory *dir, const std::string &name) const
void BuildFullCovMx(std::vector< Sample > samples, std::vector< const ISyst * > systs)
Eigen::MatrixXd Predict(std::vector< Sample > samples, osc::IOscCalcAdjustable *calc, const SystShifts &systs=SystShifts::Nominal())
unsigned int fNUniverses
Number of universes to simulate.
CovarianceMatrix()=delete
std::vector< Spectrum > GetUniverse(osc::OscCalcSterile *calc, std::vector< covmx::Sample > samples)
A class for generating a covariance matrices as a function of oscillation parameters and systematics ...