flavour
Peak Class Reference

A class containing the parameters of a maximum of the likelihood function. More...

#include <MCMC.h>

Collaboration diagram for Peak:

Public Member Functions

 Peak (const Model *m, int maxx=0)
 
void findPeak ()
 
bool adjuststeps ()
 

Public Attributes

const Modelmodel
 
parameters pr
 
double lmax
 
double llmax
 
double area
 
double larea
 
bool max
 

Detailed Description

A class containing the parameters of a maximum of the likelihood function.

Definition at line 11 of file MCMC.h.

Constructor & Destructor Documentation

Peak::Peak ( const Model m,
int  maxx = 0 
)
inline

Definition at line 13 of file MCMC.h.

13  : model(m), pr(m->generateparameters(maxx)), max(maxx){
15  }
const Model * model
Definition: MCMC.h:153
double likelihood(const parameters &p, bool check=1, int max=0) const
calculates the probability of getting all the experimental measures if the model describes the realit...
Definition: model.h:374
virtual parameters generateparameters(int max=0) const =0
bool max
Definition: MCMC.h:158
double lmax
Definition: MCMC.h:155
parameters pr
Definition: MCMC.h:154

Member Function Documentation

bool Peak::adjuststeps ( )
inline

Definition at line 136 of file MCMC.h.

References parameters::area().

136  {
137  parameters p1(pr);
138  for(uint i=0;i<pr.size(); i++){
139  double s=p1[i].step;
140  p1[i].value+=s;
141  double x=(lmax-model->likelihood(p1))*2/lmax/s/s;
142  double x0=std::pow(2/(pr[i].max-pr[i].min),2);
143  if(x<x0) return 0;
144  // cout<<"X "<<x<<endl;
145  pr[i].step=1/sqrt(x);
146  p1[i].value-=s;
147  }
148  area=pr.area();
149  larea=area*lmax;
150  return 1;
151  }
double larea
Definition: MCMC.h:157
double area() const
Definition: model.h:215
unsigned int uint
Definition: script.cpp:4
const Model * model
Definition: MCMC.h:153
vector of parameters
Definition: model.h:177
double likelihood(const parameters &p, bool check=1, int max=0) const
calculates the probability of getting all the experimental measures if the model describes the realit...
Definition: model.h:374
bool max
Definition: MCMC.h:158
double area
Definition: MCMC.h:156
double lmax
Definition: MCMC.h:155
parameters pr
Definition: MCMC.h:154

Here is the call graph for this function:

void Peak::findPeak ( )
inline

Definition at line 17 of file MCMC.h.

References parameters::next().

Referenced by Proposal::findPeaks().

17  {
18  llmax=model->loglike(pr,1,max);
19  area=1;
20  uint fixed=1e2;
21  uint f=fixed;
22  double d=1;
23  //cout<<"f "<<f<<"llmax "<<llmax<<endl;
24  for(uint i=1e5;i;i--){
25  parameters p1(pr);
26  p1.next(model->r,d);
27 
28  double l1=llmax;
29  if(!model->veto(p1,max)){l1=model->loglike(p1,1,max);
30  }
31  if(l1>llmax){pr=p1; llmax=l1; f=fixed;}
32  else {f--; if(!f) {d/=100; f=fixed; if(d<1e-2) break;}}
33  }
34  cout<<"d "<<d<<"llmax "<<llmax<<endl;
35  if(llmax<-1000) lmax=0;
36  else{lmax=exp(llmax);
37  area=pr.area();
38  larea=area*lmax;
39  }
40 
41  }
TRandom3 * r
Definition: model.h:405
double larea
Definition: MCMC.h:157
double area() const
Definition: model.h:215
unsigned int uint
Definition: script.cpp:4
const Model * model
Definition: MCMC.h:153
vector of parameters
Definition: model.h:177
double loglike(const parameters &p, bool check=1, int max=0) const
Definition: model.h:381
bool max
Definition: MCMC.h:158
virtual int veto(const parameters &p, int max=0) const
Definition: model.h:368
double area
Definition: MCMC.h:156
double lmax
Definition: MCMC.h:155
double llmax
Definition: MCMC.h:155
parameters pr
Definition: MCMC.h:154

Here is the call graph for this function:

Here is the caller graph for this function:

Member Data Documentation

double Peak::area

Definition at line 156 of file MCMC.h.

double Peak::larea

Definition at line 157 of file MCMC.h.

double Peak::llmax

Definition at line 155 of file MCMC.h.

Referenced by Proposal::findPeaks().

double Peak::lmax

Definition at line 155 of file MCMC.h.

Referenced by Proposal::findPeaks(), and main().

bool Peak::max

Definition at line 158 of file MCMC.h.

const Model* Peak::model

Definition at line 153 of file MCMC.h.

parameters Peak::pr

Definition at line 154 of file MCMC.h.

Referenced by Proposal::findPeaks(), and main().


The documentation for this class was generated from the following file: