a Code for the Combination of Indirect and Direct Constraints on High Energy Physics Models Logo
HiggsObservable Class Reference

A class for Higgs experimental analyses. More...

#include <HiggsObservable.h>

+ Inheritance diagram for HiggsObservable:

Detailed Description

A class for Higgs experimental analyses.

Author
HEPfit Collaboration

The class for building observables encoding Higgs experimental analyses, storing the parameters read from a file specified in the SomeModel.conf file or by the user. The names (thnames) of the observables have to correspond to the allowed names of observables listed in the ThFactory class.

Definition at line 28 of file HiggsObservable.h.

Public Member Functions

virtual double computeWeight ()
 A method to compute the weight associated with the observable. More...
 
bool getIsCorrelated ()
 
int getNChannels ()
 
int getNTheoryValues ()
 
void getTheoryValues (std::vector< double > &theoryValues_i)
 
 HiggsObservable (const HiggsObservable &orig)
 
 HiggsObservable (const Observable &Obs)
 
bool isNew ()
 A method to get the observable to the new parametric form. More...
 
boost::tokenizer< boost::char_separator< char > >::iterator & ParseHiggsObservable (boost::tokenizer< boost::char_separator< char > >::iterator &beg, ThObsFactory &myObsFactory, StandardModel *myModel, int rank)
 the parser for HiggsObservables More...
 
void setIsCorrelated (bool correlated)
 
void setIsnew (bool isnew)
 A method to set the observable to the new parametric form. More...
 
virtual void setParametricLikelihood (std::string filename, std::vector< ThObservable * > thObsV)
 Set the parametric likelihood describing one Higgs decay channel from a config file. More...
 
- Public Member Functions inherited from Observable
double computeTheoryValue ()
 A method to access the computed theory value of the observable. More...
 
virtual double computeWeight (double th)
 A method to compute the weight associated with the observable. More...
 
virtual double computeWeight (double th, double ave_i, double errg_i, double errf_i)
 A method to compute the weight associated with the observable. More...
 
virtual double computeWeight (double th1, double th2)
 A method to compute the weight associated with the observable. More...
 
double getAve () const
 A get method to access the average value of the observable. More...
 
std::string getDistr () const
 A get method to access the name of the distribution of the observable. More...
 
double getErrf () const
 A get method to access the flat error of the observable. More...
 
double getErrg () const
 A get method to access the Gaussian error of the observble. More...
 
std::string getFilename () const
 A get method to access the filename of the observables experimental likelihood file. More...
 
std::string getHistoname () const
 A get method to access the name for the histogram of the observable. More...
 
std::string getLabel () const
 A get method to access the label for the observable. More...
 
double getMax () const
 A get method to access the maximum value of the observable. More...
 
double getMin () const
 A get method to access the minimum value of the observable. More...
 
std::string getName () const
 A get method to access the name of the observable. More...
 
std::string getObsType () const
 A get method to get the Observable type. More...
 
std::string getThname () const
 A get method to access the thname of the observable as defined in ThFactory class. More...
 
ThObservablegetTho () const
 A get method to access the pointer to the object of the ThObservable class. More...
 
bool isTMCMC () const
 A method to check if the observable is listed for MCMC. More...
 
bool isWriteChain () const
 A method to check if the observable is listed for writing chains. More...
 
double LogGaussian (double x, double ave, double sigma)
 
double LogSplitGaussian (double x, double ave, double errl, double errr)
 
 Observable ()
 The default constructor. More...
 
 Observable (const Observable &orig)
 The copy constructor. More...
 
 Observable (const std::string name_i, const std::string thname_i, const std::string label_i, const bool tMCMC_i, const double min_i, const double max_i, ThObservable *tho_i)
 Constructor. More...
 
boost::tokenizer< boost::char_separator< char > >::iterator & ParseObservable (std::string &type, boost::tokenizer< boost::char_separator< char > > *tok, boost::tokenizer< boost::char_separator< char > >::iterator &beg, std::string &filepath, std::string &infilename, int rank)
 The parser for Observables. More...
 
void setAve (double ave)
 A set method to fix the average value of the observable. More...
 
void setDistr (std::string distr)
 A set method to fix the name of the distribution of the observable. More...
 
void setErrf (double errf)
 A set method to fix the flat error of the observable. More...
 
void setErrg (double errg)
 A set method to fix the gaussian error of the observable. More...
 
void setErrgl (double errgl)
 A set method to fix the left Gaussian error of the observable. More...
 
void setErrgr (double errgr)
 A set method to fix the right Gaussian error of the observable. More...
 
void setFilename (std::string filename_i)
 
void setHasInverseCovariance (bool hasInverseCovariance)
 A set method to state that the Observable is a part of ObservablesWithInverseCovariance. More...
 
void setHistoname (std::string histoname_i)
 A set method to set the name of the histogram containing the likelihood. More...
 
void setLabel (std::string label)
 A set method to fix the label for the observable. More...
 
virtual void setLikelihoodFromHisto (std::string filename, std::string histoname)
 A set method to set the likelihood from which the experimental likelihood of the observable will be read. More...
 
void setMax (double max)
 A set method to fix the maximum value for the observable. More...
 
void setMin (double min)
 A set method to fix the minimum value for the observable. More...
 
void setName (std::string name)
 A set method to fix the name for the observable. More...
 
void setObsType (std::string &obsType_s)
 A set method to set the Observable type. More...
 
virtual void setParametricLikelihood (std::string filename)
 A set method to set a parametric likelihood reading parameters from a file. More...
 
void setThname (std::string thname)
 A set method to fix the name of the observable as listed in ThFactory class. More...
 
void setTho (ThObservable *tho_i)
 A set method to fix the pointer to object of type ThObservable. More...
 
void setTho (ThObservable *tho_i, double bmin, double bmax)
 A set method to fix the pointer to object of type ThObservable. More...
 
void setTMCMC (bool tMCMC)
 A set method to fix the observable's inclusion in the MCMC listing. More...
 
virtual ~Observable ()
 The default destructor. More...
 

Private Attributes

TMatrixD channels
 A matrix holding the information of all the channels. More...
 
double channelsize
 The number of channels in the Higgs Observable. More...
 
bool covarianceFromConfig
 A flag for reading inverse covariance from config file. More...
 
gslpp::matrix< double > * InvCov
 The inverse covariance matrix. More...
 
bool isCorrelated
 A flag for correlated Higgs Observable. More...
 
bool isnew
 A boolean which is true if the parametrization is new. More...
 
int rank
 The rank of the process initializing this observable. More...
 
std::vector< double > theoryValues
 A vector to contain the theoryvalues. More...
 
std::vector< ThObservable * > thObsV
 A vector of ThObservables. More...
 
double thobsvsize
 The size of the theory observables vector. More...
 

Additional Inherited Members

- Protected Attributes inherited from Observable
double ave
 The average value of the observable. More...
 
double bin_max
 The maximum valus of the observable bin. More...
 
double bin_min
 The minimum value of the observable bin. More...
 
std::string distr
 The name of the distribution of the the observable. More...
 
double errf
 The flat error of the observable. More...
 
double errg
 The gaussian error of the observable. More...
 
double errgl
 The lower gaussian error of the observable. More...
 
double errgr
 The upper gaussian error of the observable. More...
 
std::string filename
 The name of the file containing the experimental likelihood for the observable. More...
 
bool hasInverseCovariance
 
std::string histoname
 The name of the histogram for the observable. More...
 
TH1D * inhisto
 1D Histogram containing the experimental likelihood for the observable More...
 
int iterationNo
 A counter for the interation that helps with the observable caching. More...
 
std::string label
 A label for the observable. More...
 
double max
 The maximum valus of the observable. More...
 
double min
 The minimum value of the observable. More...
 
std::string name
 A name for the observable. More...
 
std::string obsType
 Type of the Observable. 0: Observable, 1: HiggsObservable, 2: BinnedObservable, 3: FunctionObservable. More...
 
std::string thname
 The name for the observable as fixed in the ThObservable class. More...
 
ThObservabletho
 A pointer of to the object of the ThObservables class. More...
 
double thValue
 The theory value of the first observable. More...
 
bool tMCMC
 The flag to include or exclude the observable from the MCMC run. More...
 
bool writeChain
 The flag to write the chain for the observable from the MCMC run. More...
 

Constructor & Destructor Documentation

◆ HiggsObservable() [1/2]

HiggsObservable::HiggsObservable ( const Observable Obs)

Definition at line 20 of file HiggsObservable.cpp.

20  :
21 Observable(Obs)
22 {
23  isnew = true;
24  isCorrelated = false;
25  covarianceFromConfig = false;
26 };

◆ HiggsObservable() [2/2]

HiggsObservable::HiggsObservable ( const HiggsObservable orig)

Definition at line 28 of file HiggsObservable.cpp.

29 {
30  channels = orig.channels;
31  thObsV = orig.thObsV;
32  thobsvsize = orig.thobsvsize;
33  channelsize = orig.channelsize;
34  isnew = orig.isnew;
37  InvCov = orig.InvCov;
38  rank = orig.rank;
39 }

Member Function Documentation

◆ computeWeight()

double HiggsObservable::computeWeight ( )
virtual

A method to compute the weight associated with the observable.

Reimplemented from Observable.

Definition at line 154 of file HiggsObservable.cpp.

155 {
156  double logprob = 0;
157 
158  if (isnew) {
159  for (int i = 0; i < channels.GetNrows(); i++) {
160  double mu = 0;
161  for (unsigned int j = 0; j < thobsvsize; j++) {
162  theoryValues.at(j) = thObsV.at(j)->computeThValue();
163  mu += channels(i, j) * theoryValues.at(j);
164  }
166  if (thObsV.at(0)->getModel().isModelLinearized())
167  theoryValues.at(thobsvsize + i + 1) = -1. + mu + theoryValues.at(thobsvsize);
168  else
169  theoryValues.at(thobsvsize + i + 1) = mu * theoryValues.at(thobsvsize);
170  if (!isCorrelated) logprob += LogSplitGaussian(theoryValues.at(thobsvsize + i + 1), channels(i, thobsvsize), channels(i, thobsvsize + 1), channels(i, thobsvsize + 2));
171  }
172  if (isCorrelated) {
173  gslpp::vector<double> theObsVal(channels.GetNrows(), 0.);
174  for (int i = 0; i < channels.GetNrows(); i++) {
175  theObsVal(i) = theoryValues.at(thobsvsize + i + 1);
176  }
177  logprob = (-0.5 * theObsVal * ((*InvCov) * theObsVal));
178  }
179  } else {
180  for (int i = 0; i < channels.GetNrows(); i++) {
181  double mu = 0, sum = 0.;
182  for (unsigned int j = 0; j < thobsvsize - 1; j++) {
183  theoryValues.at(j) = thObsV.at(j)->computeThValue();
184  mu += channels(i, j) * theoryValues.at(j);
185  sum += channels(i, j);
186  }
187  mu += (1. - sum) * thObsV.at(thobsvsize - 1)->computeThValue();
189  theoryValues.at(thobsvsize + i + 1) = mu * theoryValues.at(thobsvsize);
190  logprob += LogSplitGaussian(theoryValues.at(thobsvsize + i + 1), channels(i, 3), channels(i, 4), channels(i, 5));
191  }
192  }
193 
194  return (logprob);
195 }

◆ getIsCorrelated()

bool HiggsObservable::getIsCorrelated ( )
inline

Definition at line 84 of file HiggsObservable.h.

85  {
86  return isCorrelated;
87  }

◆ getNChannels()

int HiggsObservable::getNChannels ( )
inlinevirtual

Reimplemented from Observable.

Definition at line 79 of file HiggsObservable.h.

80  {
81  return channelsize;
82  }

◆ getNTheoryValues()

int HiggsObservable::getNTheoryValues ( )
inlinevirtual

Reimplemented from Observable.

Definition at line 74 of file HiggsObservable.h.

75  {
76  return thobsvsize;
77  }

◆ getTheoryValues()

void HiggsObservable::getTheoryValues ( std::vector< double > &  theoryValues_i)
inlinevirtual

Reimplemented from Observable.

Definition at line 69 of file HiggsObservable.h.

70  {
71  theoryValues_i = theoryValues;
72  }

◆ isNew()

bool HiggsObservable::isNew ( )
inlinevirtual

A method to get the observable to the new parametric form.

Returns
a boolean which is true if the observable is in the new parametric form

Reimplemented from Observable.

Definition at line 64 of file HiggsObservable.h.

65  {
66  return isnew;
67  }

◆ ParseHiggsObservable()

boost::tokenizer< boost::char_separator< char > >::iterator & HiggsObservable::ParseHiggsObservable ( boost::tokenizer< boost::char_separator< char > >::iterator &  beg,
ThObsFactory myObsFactory,
StandardModel myModel,
int  rank 
)

the parser for HiggsObservables

Parameters
[in]begthe iterator that parses a line in the config file
[in]myObsFactorya reference to the Observables Factory
[in]myModela pointer to the model
[in]rankthe rank of the process that is using the parser
Returns
the iterator for the line being parsed

Definition at line 197 of file HiggsObservable.cpp.

202 {
203  this->rank = rank;
204  std::string type = "HiggsObservable";
205  setObsType(type);
206  std::vector<ThObservable*> hthobs;
207  ++beg;
208  distr = *beg;
209  if (distr.compare("parametric") == 0) {
210  setIsnew(false);
211  ++beg;
212  distr = *beg;
213  if (distr.compare("LHC7") == 0) {
214  hthobs.push_back(myObsFactory.CreateThMethod("ggH7", *myModel));
215  hthobs.push_back(myObsFactory.CreateThMethod("VBF7", *myModel));
216  hthobs.push_back(myObsFactory.CreateThMethod("VH7", *myModel));
217  hthobs.push_back(myObsFactory.CreateThMethod("ttH7", *myModel));
218  } else if (distr.compare("LHC8") == 0) {
219  hthobs.push_back(myObsFactory.CreateThMethod("ggH8", *myModel));
220  hthobs.push_back(myObsFactory.CreateThMethod("VBF8", *myModel));
221  hthobs.push_back(myObsFactory.CreateThMethod("VH8", *myModel));
222  hthobs.push_back(myObsFactory.CreateThMethod("ttH8", *myModel));
223  } else if (distr.compare("TeV196") == 0) {
224  hthobs.push_back(myObsFactory.CreateThMethod("ggH196", *myModel));
225  hthobs.push_back(myObsFactory.CreateThMethod("VBF196", *myModel));
226  hthobs.push_back(myObsFactory.CreateThMethod("VH196", *myModel));
227  hthobs.push_back(myObsFactory.CreateThMethod("ttH196", *myModel));
228  } else if (rank == 0)
229  throw std::runtime_error("ERROR: wrong keyword " + distr + " in " + getName());
230  setParametricLikelihood(*(++beg), hthobs);
231  } else if (distr.compare("new_parametric") == 0) {
232  std::string filename_h = *(++beg);
233  std::ifstream ifile(filename_h.c_str());
234  if (!ifile.is_open()) {
235  if (rank == 0) throw std::runtime_error("\nERROR: " + filename_h + " does not exist. Make sure to specify a valid Higgs parameters configuration file.\n");
236  else sleep(2);
237  }
238  std::string line_h;
239  bool IsEOF_h;
240  do {
241  IsEOF_h = getline(ifile, line_h).eof();
242  if (line_h.compare(0, 10, "CATEGORIES") == 0) {
243  boost::char_separator<char> sep(" \t");
244  boost::tokenizer<boost::char_separator<char> > mytok(line_h, sep);
245  boost::tokenizer<boost::char_separator<char> >::iterator beg2 = mytok.begin();
246  beg2++;
247  while (beg2 != mytok.end()) {
248  std::string cat = *beg2;
249  hthobs.push_back(myObsFactory.CreateThMethod(cat, *myModel));
250  beg2++;
251  }
252  }
253  } while (!IsEOF_h);
254  if (hthobs.size() > 0)
255  setParametricLikelihood(filename_h, hthobs);
256  else {
257  if (rank == 0) throw std::runtime_error("\nERROR: " + getName() + " does not provide at least one category\n");
258  else sleep(2);
259  }
260  } else {
261  if (rank == 0) throw std::runtime_error("ERROR: wrong distribution flag " + distr + " in " + getName());
262  else sleep(2);
263  }
264 
265  return beg;
266 }

◆ setIsCorrelated()

void HiggsObservable::setIsCorrelated ( bool  correlated)
inline

Definition at line 89 of file HiggsObservable.h.

90  {
91  isCorrelated = correlated;
92  }

◆ setIsnew()

void HiggsObservable::setIsnew ( bool  isnew)
inline

A method to set the observable to the new parametric form.

Definition at line 55 of file HiggsObservable.h.

56  {
57  this->isnew = isnew;
58  }

◆ setParametricLikelihood()

void HiggsObservable::setParametricLikelihood ( std::string  filename,
std::vector< ThObservable * >  thObsV 
)
virtual

Set the parametric likelihood describing one Higgs decay channel from a config file.

Parameters
filenamethe name of the config file
thObsVa vector of ThObservables containing the ratio of the production cross section for the specified categories in the model analyzed over the SM prediction

Reimplemented from Observable.

Definition at line 43 of file HiggsObservable.cpp.

44 {
45  this->filename = filename;
46  this->thObsV = thObsV;
47  std::ifstream ifile(filename.c_str());
48  if (!ifile.is_open())
49  throw std::runtime_error("\nERROR: " + filename + " does not exist. Make sure to specify a valid Higgs parameters configuration file.\n");
50  std::string line;
51  bool IsEOF;
52  bool readCorrelations = false;
53  unsigned int i = 0;
54  unsigned int nrows = 0;
55  do {
56  IsEOF = getline(ifile, line).eof();
57  if (line.compare(0, 11, "MEASUREMENT") == 0) nrows++;
58  } while (!IsEOF);
59  if (nrows == 0) {
60  std::stringstream ss;
61  ss << "\nERROR: " << filename << " should contain at least 1 measurement.\n";
62  throw std::runtime_error(ss.str());
63  }
64  int implicit_tth = (isnew ? 0 : -1);
65  channels.ResizeTo(nrows, thObsV.size() + 3 + implicit_tth);
66  ifile.clear();
67  ifile.seekg(0, ifile.beg);
68  int lineNo = 0;
69  do {
70  IsEOF = getline(ifile, line).eof();
71  lineNo++;
72  if (*line.rbegin() == '\r') line.erase(line.length() - 1); // for CR+LF
73  if (line.compare(0, 11, "MEASUREMENT") != 0 && !readCorrelations) {
74  continue;
75  } else {
76  boost::char_separator<char> sep(" |\t");
77  boost::tokenizer<boost::char_separator<char> > tok(line, sep);
78  boost::tokenizer<boost::char_separator<char> >::iterator beg = tok.begin();
79  if (isCorrelated) readCorrelations = true;
80  // Read the necessary information from the config file. Each row contains:
81  // ggH fraction
82  // VBF fraction
83  // VH fraction (ttH is computed as 1-ggH-VBF-VH)
84  // average value of mu
85  // left-side error
86  // right-side error
87  beg++; // skip label
88  for (int j = 0; j < channels.GetNcols(); j++)
89  channels(i, j) = atof((*(++beg)).c_str());
90  if (isCorrelated && (std::fabs(channels(i, thObsV.size() + 1)) != std::fabs(channels(i, thObsV.size() + 2)))) {
91  if (rank == 0) throw std::runtime_error("ERROR: Gaussian errors must be symmetric for CorrelatedHiggsObservables in " + filename + " at line number:" + boost::lexical_cast<std::string>(lineNo) + ".\n");
92  else sleep(2);
93  }
94  i++;
95  if (readCorrelations && (i == nrows)) {
97  int ni = 0;
98  for (unsigned int irow = 0; irow < nrows; irow++) {
99  IsEOF = getline(ifile, line).eof();
100  if (line.empty() || line.at(0) == '#') {
101  if (rank == 0) throw std::runtime_error("ERROR: no comments or empty lines in CorrelatedHiggsObservables please! In file " + filename + " at line number:" + boost::lexical_cast<std::string>(lineNo) + ".\n");
102  else sleep(2);
103  }
104  lineNo++;
105  boost::tokenizer<boost::char_separator<char> > mytok(line, sep);
106  beg = mytok.begin();
107  int nj = 0;
108  for (unsigned int jcol = 0; jcol < nrows; jcol++) {
109  if ((*beg).compare(0, 1, "0") == 0
110  || (*beg).compare(0, 1, "1") == 0
111  || (*beg).compare(0, 1, "-") == 0 || (covarianceFromConfig == true)) {
112  if (std::distance(mytok.begin(), mytok.end()) < nrows) {
113  if (rank == 0) throw std::runtime_error(("ERROR: Correlation matrix is of wrong size in CorrelatedHiggsObservables: " + name + +" at line number:" + boost::lexical_cast<std::string>(lineNo) + ".\n").c_str());
114  else sleep(2);
115  }
116  myCorr(ni, nj) = atof((*beg).c_str());
117  nj++;
118  beg++;
119  } else {
120  if (rank == 0) throw std::runtime_error("ERROR: invalid correlation matrix for " + name + ". Check element (" + boost::lexical_cast<std::string>(ni + 1) + "," + boost::lexical_cast<std::string>(nj + 1) + ") in line number " + boost::lexical_cast<std::string>(lineNo) + " in file " + filename + ".\n");
121  else sleep(2);
122  }
123  }
124  ni++;
125  }
126  if (myCorr.size_i() != nrows || myCorr.size_j() != nrows)
127  throw std::runtime_error("The size of the correlated observables in " + name + " does not match the size of the correlation matrix!");
128  InvCov = new gslpp::matrix<double>(nrows, nrows, 0.);
129  if (covarianceFromConfig) {
130  for (unsigned int i = 0; i < nrows; i++)
131  for (unsigned int j = 0; j < nrows; j++)
132  (*InvCov)(i, j) = myCorr(i, j);
133  } else {
134  for (unsigned int i = 0; i < nrows; i++)
135  for (unsigned int j = 0; j < nrows; j++)
136  (*InvCov)(i, j) = channels(i, thObsV.size() + 2) * myCorr(i, j) * channels(i, thObsV.size() + 2); // left = right imposed above
137  *InvCov = InvCov->inverse();
138  }
139  readCorrelations = false;
140  }
141  }
142  } while (!IsEOF);
143  if (i != nrows) {
144  std::stringstream ss;
145  ss << "\nERROR: " << filename << " should contain " << nrows << " measurements, but I have read " << i << " ones instead.\n";
146  throw std::runtime_error(ss.str());
147  }
148 
149  thobsvsize = thObsV.size();
150  channelsize = channels.GetNrows();
151  theoryValues.resize(thobsvsize + 1 + channelsize);
152 }

Member Data Documentation

◆ channels

TMatrixD HiggsObservable::channels
private

A matrix holding the information of all the channels.

Definition at line 109 of file HiggsObservable.h.

◆ channelsize

double HiggsObservable::channelsize
private

The number of channels in the Higgs Observable.

Definition at line 114 of file HiggsObservable.h.

◆ covarianceFromConfig

bool HiggsObservable::covarianceFromConfig
private

A flag for reading inverse covariance from config file.

Definition at line 116 of file HiggsObservable.h.

◆ InvCov

gslpp::matrix<double>* HiggsObservable::InvCov
private

The inverse covariance matrix.

Definition at line 117 of file HiggsObservable.h.

◆ isCorrelated

bool HiggsObservable::isCorrelated
private

A flag for correlated Higgs Observable.

Definition at line 115 of file HiggsObservable.h.

◆ isnew

bool HiggsObservable::isnew
private

A boolean which is true if the parametrization is new.

Definition at line 110 of file HiggsObservable.h.

◆ rank

int HiggsObservable::rank
private

The rank of the process initializing this observable.

Definition at line 118 of file HiggsObservable.h.

◆ theoryValues

std::vector<double> HiggsObservable::theoryValues
private

A vector to contain the theoryvalues.

Definition at line 112 of file HiggsObservable.h.

◆ thObsV

std::vector<ThObservable*> HiggsObservable::thObsV
private

A vector of ThObservables.

Definition at line 111 of file HiggsObservable.h.

◆ thobsvsize

double HiggsObservable::thobsvsize
private

The size of the theory observables vector.

Definition at line 113 of file HiggsObservable.h.


The documentation for this class was generated from the following files:
Observable::tho
ThObservable * tho
A pointer of to the object of the ThObservables class.
Definition: Observable.h:478
ThObservable::computeThValue
virtual double computeThValue()=0
A member to be overloaded by the respective theory observable. class that calculates the value of the...
HiggsObservable::channels
TMatrixD channels
A matrix holding the information of all the channels.
Definition: HiggsObservable.h:109
gslpp::matrix< double >
A class for constructing and defining operations on real matrices.
Definition: gslpp_matrix_double.h:48
HiggsObservable::setParametricLikelihood
virtual void setParametricLikelihood(std::string filename, std::vector< ThObservable * > thObsV)
Set the parametric likelihood describing one Higgs decay channel from a config file.
Definition: HiggsObservable.cpp:43
HiggsObservable::theoryValues
std::vector< double > theoryValues
A vector to contain the theoryvalues.
Definition: HiggsObservable.h:112
HiggsObservable::channelsize
double channelsize
The number of channels in the Higgs Observable.
Definition: HiggsObservable.h:114
gslpp::matrix
A base class for defining operations on matrices, both real and complex.
Definition: gslpp_matrix_base.h:21
HiggsObservable::isCorrelated
bool isCorrelated
A flag for correlated Higgs Observable.
Definition: HiggsObservable.h:115
HiggsObservable::thobsvsize
double thobsvsize
The size of the theory observables vector.
Definition: HiggsObservable.h:113
myModel
My own Model.
Definition: myModel.h:17
HiggsObservable::rank
int rank
The rank of the process initializing this observable.
Definition: HiggsObservable.h:118
gslpp::matrix< double >::inverse
matrix< double > inverse()
Definition: gslpp_matrix_double.cpp:178
HiggsObservable::setIsnew
void setIsnew(bool isnew)
A method to set the observable to the new parametric form.
Definition: HiggsObservable.h:55
Observable::LogSplitGaussian
double LogSplitGaussian(double x, double ave, double errl, double errr)
Definition: Observable.cpp:141
HiggsObservable::InvCov
gslpp::matrix< double > * InvCov
The inverse covariance matrix.
Definition: HiggsObservable.h:117
gslpp::vector< double >
A class for constructing and defining operations on real vectors.
Definition: gslpp_vector_double.h:33
Observable::name
std::string name
A name for the observable.
Definition: Observable.h:479
HiggsObservable::isnew
bool isnew
A boolean which is true if the parametrization is new.
Definition: HiggsObservable.h:110
Observable::Observable
Observable()
The default constructor.
Definition: Observable.cpp:75
HiggsObservable::thObsV
std::vector< ThObservable * > thObsV
A vector of ThObservables.
Definition: HiggsObservable.h:111
Observable::filename
std::string filename
The name of the file containing the experimental likelihood for the observable.
Definition: Observable.h:483
Observable::setObsType
void setObsType(std::string &obsType_s)
A set method to set the Observable type.
Definition: Observable.h:395
Observable::distr
std::string distr
The name of the distribution of the the observable.
Definition: Observable.h:482
Observable::getName
std::string getName() const
A get method to access the name of the observable.
Definition: Observable.h:323
HiggsObservable::covarianceFromConfig
bool covarianceFromConfig
A flag for reading inverse covariance from config file.
Definition: HiggsObservable.h:116
ThObsFactory::CreateThMethod
ThObservable * CreateThMethod(const std::string &name, StandardModel &model) const
This method checks for the existence of an observable of a specific name in the map thobs and returns...
Definition: ThObsFactory.cpp:4623