a Code for the Combination of Indirect and Direct Constraints on High Energy Physics Models Logo
CorrelatedGaussianObservables.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2013 HEPfit Collaboration
3 *
4 *
5 * For the licensing terms see doc/COPYING.
6 */
7
8#ifndef CORRELATEDGAUSSIANOBSERVABLES_H
9#define CORRELATEDGAUSSIANOBSERVABLES_H
10
11#include "Observable.h"
12#include "gslpp.h"
13#include <boost/ptr_container/ptr_vector.hpp>
14#include <TMatrixDSym.h>
15#include <TMatrixDSymEigen.h>
16
17class ThObsFactory;
18
35public:
36
41 CorrelatedGaussianObservables(std::string name_i);
42
47
52
57
62 void ComputeCov(const TMatrixDSym& Corr);
63
67 virtual double computeWeight();
68
73 void AddObs(Observable& Obs_i);
74
80 std::vector<Observable> getObs() const
81 {
82 return Obs;
83 }
84
90 Observable getObs(int i) const
91 {
92 return (Obs.at(i));
93 }
94
99 std::string getName() const
100 {
101 return name;
102 }
103
107 const TMatrixDSym& getCov() const
108 {
109 return InvCov;
110 }
111
123 int ParseCGO(boost::ptr_vector<Observable>& Observables,
124 std::ifstream& ifile,
125 boost::tokenizer<boost::char_separator<char> >::iterator& beg,
126 std::string& infilename,
127 ThObsFactory& myObsFactory,
128 StandardModel * myModel,
129 int lineNo,
130 int rank);
135 bool isEOF()
136 {
137 return IsEOF;
138 }
139
144 void setIsPrediction(bool IsPrediction_i)
145 {
146 IsPrediction = IsPrediction_i;
147 }
148
154 {
155 return IsPrediction;
156 }
157
162 void setName(std::string name_i)
163 {
164 name = name_i;
165 }
166
171 void setCovarianceFromConfig (bool setInvCov)
172 {
173 covarianceFromConfig = setInvCov;
174 }
175
176private:
177 std::vector<Observable> Obs;
178 TMatrixDSym InvCov;
179 std::string name;
180 std::string filepath;
181 bool IsEOF;
184};
185
190#endif /* CORRELATEDGAUSSIANOBSERVABLES_H */
191
A class for correlated Gaussian observables.
std::vector< Observable > Obs
A vector of observables whose correlation will be calculated.
bool IsPrediction
Flag to define a set of Correlated Observables to be predicted.
bool isEOF()
A method to check if the end of file has been reached.
void setIsPrediction(bool IsPrediction_i)
A method to set a set of CGO to be predicted.
Observable getObs(int i) const
A get method to access an element of the vector of observables that are defined in one correlated Gau...
std::string filepath
The path to the config file being parsed.
virtual double computeWeight()
A method to compute the weight associated with the observable.
CorrelatedGaussianObservables()
The default Constructor.
int ParseCGO(boost::ptr_vector< Observable > &Observables, std::ifstream &ifile, boost::tokenizer< boost::char_separator< char > >::iterator &beg, std::string &infilename, ThObsFactory &myObsFactory, StandardModel *myModel, int lineNo, int rank)
The parser for CorrelatedGaussianObservables.
std::string getName() const
A get method to access the name of the correlated Gaussian observables set.
virtual ~CorrelatedGaussianObservables()
The default destructor.
bool IsEOF
A boolean which is true if the end of file is reached.
bool isPrediction()
A method to check if the Correlated Observables are set for prediction.
const TMatrixDSym & getCov() const
A get method to access the covariance matrix of the correlated Gaussian observables.
std::vector< Observable > getObs() const
A get method to access the vector of observables that are defined in one correlated Gaussian observab...
void ComputeCov(const TMatrixDSym &Corr)
Computes the covariance matrix for the correlated Gaussian observables set.
std::string name
The name of the correlated Gaussian Observables set.
void AddObs(Observable &Obs_i)
A method to add observables to the list of correlated Gaussian observables.
void setName(std::string name_i)
A method to set a set of CGO to be predicted.
TMatrixDSym InvCov
The inverse covariance matrix.
void setCovarianceFromConfig(bool setInvCov)
A method to specify whether the inverse covariance is being set from the config file.
A class for observables.
Definition: Observable.h:28
A model class for the Standard Model.
A class for.
Definition: ThObsFactory.h:26