a Code for the Combination of Indirect and Direct Constraints on High Energy Physics Models Logo
HiggsObservable.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2014 HEPfit Collaboration
3  *
4  *
5  * For the licensing terms see doc/COPYING.
6  */
7 
8 #ifndef HIGGSOBSERVABLE_H
9 #define HIGGSOBSERVABLE_H
10 
11 #include "Observable.h"
12 #include <TMatrixD.h>
13 #include "gslpp.h"
14 #include <boost/tokenizer.hpp>
15 
16 class ThObsFactory;
28 class HiggsObservable : public Observable {
29 public:
30  HiggsObservable(const Observable& Obs);
31 
32  HiggsObservable(const HiggsObservable& orig);
33 
34 // virtual ~HiggsObservable();
35 
36  // Read the necessary information from the config file. First row should
37  // contain the list of categories used in the analysis
38 
45  virtual void setParametricLikelihood(std::string filename, std::vector<ThObservable*> thObsV);
46 
50  virtual double computeWeight();
51 
55  void setIsnew(bool isnew)
56  {
57  this->isnew = isnew;
58  }
59 
64  bool isNew()
65  {
66  return isnew;
67  }
68 
69  void getTheoryValues(std::vector<double>& theoryValues_i)
70  {
71  theoryValues_i = theoryValues;
72  }
73 
75  {
76  return thobsvsize;
77  }
78 
79  int getNChannels()
80  {
81  return channelsize;
82  }
83 
85  {
86  return isCorrelated;
87  }
88 
89  void setIsCorrelated(bool correlated)
90  {
91  isCorrelated = correlated;
92  }
93 
94 
103  boost::tokenizer<boost::char_separator<char> >::iterator & ParseHiggsObservable(boost::tokenizer<boost::char_separator<char> >::iterator & beg,
104  ThObsFactory& myObsFactory,
106  int rank);
107 
108  private:
109  TMatrixD channels;
110  bool isnew;
111  std::vector<ThObservable*> thObsV;
112  std::vector<double> theoryValues;
113  double thobsvsize;
114  double channelsize;
118  int rank;
119 };
120 
121 #endif /* HIGGSOBSERVABLE_H */
122 
HiggsObservable::channels
TMatrixD channels
A matrix holding the information of all the channels.
Definition: HiggsObservable.h:109
HiggsObservable
A class for Higgs experimental analyses.
Definition: HiggsObservable.h:28
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::setIsCorrelated
void setIsCorrelated(bool correlated)
Definition: HiggsObservable.h:89
gslpp.h
HiggsObservable::channelsize
double channelsize
The number of channels in the Higgs Observable.
Definition: HiggsObservable.h:114
HiggsObservable::isNew
bool isNew()
A method to get the observable to the new parametric form.
Definition: HiggsObservable.h:64
StandardModel
A model class for the Standard Model.
Definition: StandardModel.h:477
HiggsObservable::getIsCorrelated
bool getIsCorrelated()
Definition: HiggsObservable.h:84
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
ThObsFactory
A class for.
Definition: ThObsFactory.h:26
HiggsObservable::getNTheoryValues
int getNTheoryValues()
Definition: HiggsObservable.h:74
HiggsObservable::setIsnew
void setIsnew(bool isnew)
A method to set the observable to the new parametric form.
Definition: HiggsObservable.h:55
Observable.h
HiggsObservable::InvCov
gslpp::matrix< double > * InvCov
The inverse covariance matrix.
Definition: HiggsObservable.h:117
Observable
A class for observables.
Definition: Observable.h:28
HiggsObservable::getTheoryValues
void getTheoryValues(std::vector< double > &theoryValues_i)
Definition: HiggsObservable.h:69
HiggsObservable::computeWeight
virtual double computeWeight()
A method to compute the weight associated with the observable.
Definition: HiggsObservable.cpp:154
HiggsObservable::isnew
bool isnew
A boolean which is true if the parametrization is new.
Definition: HiggsObservable.h:110
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
HiggsObservable::ParseHiggsObservable
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
Definition: HiggsObservable.cpp:197
HiggsObservable::getNChannels
int getNChannels()
Definition: HiggsObservable.h:79
HiggsObservable::covarianceFromConfig
bool covarianceFromConfig
A flag for reading inverse covariance from config file.
Definition: HiggsObservable.h:116
HiggsObservable::HiggsObservable
HiggsObservable(const Observable &Obs)
Definition: HiggsObservable.cpp:20