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
16class ThObsFactory;
29public:
30 HiggsObservable(const Observable& Obs);
31
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
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,
105 StandardModel * myModel,
106 int rank);
107
108 private:
109 TMatrixD channels;
110 bool isnew;
111 std::vector<ThObservable*> thObsV;
112 std::vector<double> theoryValues;
117 gslpp::matrix<double>* InvCov;
118 int rank;
119};
120
121#endif /* HIGGSOBSERVABLE_H */
122
A class for Higgs experimental analyses.
virtual void setParametricLikelihood(std::string filename, std::vector< ThObservable * > thObsV)
Set the parametric likelihood describing one Higgs decay channel from a config file.
TMatrixD channels
A matrix holding the information of all the channels.
gslpp::matrix< double > * InvCov
The inverse covariance matrix.
double channelsize
The number of channels in the Higgs Observable.
int rank
The rank of the process initializing this observable.
bool isnew
A boolean which is true if the parametrization is new.
bool isCorrelated
A flag for correlated Higgs Observable.
HiggsObservable(const Observable &Obs)
std::vector< double > theoryValues
A vector to contain the theoryvalues.
bool isNew()
A method to get the observable to the new parametric form.
void setIsCorrelated(bool correlated)
void setIsnew(bool isnew)
A method to set the observable to the new parametric form.
void getTheoryValues(std::vector< double > &theoryValues_i)
std::vector< ThObservable * > thObsV
A vector of ThObservables.
virtual double computeWeight()
A method to compute the weight associated with the observable.
double thobsvsize
The size of the theory observables vector.
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
bool covarianceFromConfig
A flag for reading inverse covariance from config file.
A class for observables.
Definition: Observable.h:28
std::string filename
The name of the file containing the experimental likelihood for the observable.
Definition: Observable.h:483
A model class for the Standard Model.
A class for.
Definition: ThObsFactory.h:26