DAS  3.0
Das Analysis System
Step.h File Reference
#include <cassert>
#include <cmath>
#include <array>
#include <deque>
#include <iostream>
#include <limits>
#include <numeric>
#include <vector>
#include <TF1.h>
#include <TH1.h>
#include <TH2.h>
#include <TVectorD.h>
#include <TMatrixD.h>
#include <TDecompSVD.h>
#include <TMath.h>
#include <TRandom3.h>
#include <TString.h>
#include "Math/VectorUtil.h"
#include "Math/Minimizer.h"
#include "Math/Factory.h"
#include "Math/Functor.h"
+ Include dependency graph for Step.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Result
 
struct  FunctionalForm
 
struct  Polynomial< T, Log, Exp >
 
struct  Correlator< FunctionalForm >
 

Namespaces

 Step
 
 Step::Basis
 

Enumerations

enum  EarlyStopping { None, Chi2ndf, fTest, xVal }
 

Functions

std::ostream & operator<< (std::ostream &stream, const Result &result)
 
double Ftest (const Result &former, const Result &current)
 
double Xval (const Result &current, const Result &former)
 
void PrintAllTests (std::function< double(const Result &, const Result &)> test, std::ostream &stream=std::cout, size_t best=0)
 
double identity (double x)
 
double Chebyshev (double x, int i)
 
double Legendre (double x, int i)
 
template<double(*)(double, int) T = Basis::Chebyshev, double(*)(double) Log = identity, double(*)(double) Exp = identity>
TF1 * GetSmoothFit (TH1 *h, TH2 *cov, int im, int iM, unsigned int maxdegree, EarlyStopping criterion=None, double stopParam=1, UInt_t nrep=0, std::ostream &stream=std::cout)
 
template<double(*)(double, int) T = Basis::Chebyshev, double(*)(double) Log = identity, double(*)(double) Exp = identity>
TF1 * GetSmoothFit (TH1 *h, TH2 *cov, unsigned int maxdegree, EarlyStopping criterion=EarlyStopping::None, double stopParam=1, UInt_t nrep=0, std::ostream &stream=std::cout)
 
template<double(*)(double, int) T = Basis::Chebyshev, double(*)(double) Log = identity, double(*)(double) Exp = identity>
TF1 * GetSmoothFit (TH1 *h, int im, int iM, unsigned int maxdegree, EarlyStopping criterion=EarlyStopping::None, double stopParam=1, UInt_t nrep=0, std::ostream &stream=std::cout)
 
template<double(*)(double, int) T = Basis::Chebyshev, double(*)(double) Log = identity, double(*)(double) Exp = identity>
TF1 * GetSmoothFit (TH1 *h, unsigned int maxdegree, EarlyStopping criterion=EarlyStopping::None, double stopParam=1, UInt_t nrep=0, std::ostream &stream=std::cout)
 

Variables

static const char * green = "\x1B[32m"
 
static const char * red = "\x1B[31m"
 
static const char * bold = "\e[1m"
 
static const char * def = "\e[0m"
 
static const auto eps = std::numeric_limits<double>::epsilon()
 
static const auto inf = std::numeric_limits<double>::infinity()
 
static bool verbose = false
 
static std::deque< Result > chi2s
 
static auto bestResult = chi2s.begin()