MINT2
Public Member Functions | Static Protected Attributes | List of all members
PhaseSpaceIntegral3body Class Reference

#include <phaseSpaceIntegrals.h>

Public Member Functions

 PhaseSpaceIntegral3body ()
 
double getVal (const DalitzEventPattern &_pat)
 
double getVal (double mum, double d1, double d2, double d3)
 

Static Protected Attributes

static TF1 * _f = 0
 

Detailed Description

Definition at line 40 of file phaseSpaceIntegrals.h.

Constructor & Destructor Documentation

◆ PhaseSpaceIntegral3body()

PhaseSpaceIntegral3body::PhaseSpaceIntegral3body ( )

Definition at line 187 of file phaseSpaceIntegrals.cpp.

187  {
188  if(0 == _f){
189  _f = new TF1("d3body_by_ds12", d3body_by_ds12
190  , 0, 10*GeV*GeV
191  , 4
192  );
193  }
194  if(0 == _f){
195  cout << "phaseSpaceIntegral3body::phaseSpaceIntegral3body()"
196  << " failed to get TF1!!!" << endl;
197  }
198 }
static const double GeV
double d3body_by_ds12(Double_t *x, Double_t *p)

Member Function Documentation

◆ getVal() [1/2]

double PhaseSpaceIntegral3body::getVal ( const DalitzEventPattern _pat)

Definition at line 201 of file phaseSpaceIntegrals.cpp.

201  {
202  if(_pat.size() != 4){
203  cout << "phaseSpaceIntegral3body: wrong pattern " << _pat << endl;
204  }
205  double mum = _pat[0].mass();
206  double d1 = _pat[1].mass();
207  double d2 = _pat[2].mass();
208  double d3 = _pat[3].mass();
209 
210  return getVal(mum, d1, d2, d3);
211 }
double getVal(const DalitzEventPattern &_pat)
unsigned int size() const

◆ getVal() [2/2]

double PhaseSpaceIntegral3body::getVal ( double  mum,
double  d1,
double  d2,
double  d3 
)

Definition at line 213 of file phaseSpaceIntegrals.cpp.

214  {
215  bool dbThis=false;
216  double min_m12 = (d1 + d2);
217  double max_m12 = (mum - d3);
218  if(dbThis)cout << "PhaseSpaceIntegral3body::getVal : from, to "
219  << min_m12 << ", " << max_m12 << endl;
220  if(min_m12 >= max_m12) return 0;
221 
222  double min_s12 = min_m12*min_m12;
223  double max_s12 = max_m12*max_m12;
224 
225  Double_t para[4]={mum, d1, d2, d3};
226 
227  _f->SetParameters(para);
228 
229 
230  /*
231  Int_t np = 1000;
232  double x[np];
233  double w[np];
234  _f->CalcGaussLegendreSamplingPoints(np,x,w,1e-15);
235  double returnVal = _f->IntegralFast(np,x,w, min_s12, max_s12, para);
236  */
237 
238  double returnVal = _f->Integral(min_s12, max_s12);//, para);
239  if(dbThis) cout << "PhaseSpaceIntegral3body::getVal() returning "
240  << returnVal << endl;
241  return returnVal;
242 }

Member Data Documentation

◆ _f

TF1 * PhaseSpaceIntegral3body::_f = 0
staticprotected

Definition at line 42 of file phaseSpaceIntegrals.h.


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