MINT2
TimePdfIntegrator.h
Go to the documentation of this file.
1 #ifndef TIMEPDFINTEGRATOR_HH
2 #define TIMEPDFINTEGRATOR_HH
3 // author: Philippe d'Argent
4 
5 #include <complex>
6 #include <vector>
7 #include <iostream>
8 
11 #include "Mint/DalitzEvent.h"
12 
13 #include "Mint/FitParRef.h"
14 #include "Mint/FitParDependent.h"
15 #include "Mint/IFitParRegister.h"
16 #include "Mint/CachedByEvent.h"
17 
19 
20 
22 //: virtual public MINT::IReturnRealForEvent<IDalitzEvent>
23 : virtual public MINT::IReturnComplexForEvent<IDalitzEvent>
24 , public CachedByEvent<std::complex<double> >
25 , public MINT::FitParDependent
26 {
27  protected:
31 
36 
47 
48  public:
50  ,RooGaussEfficiencyModel* efficiency
51  ,const MINT::FitParameter& Gamma, const MINT::FitParameter& dGamma, const MINT::FitParameter& dm
52  ,const MINT::FitParameter& offset_sigma_dt, const MINT::FitParameter& scale_mean_dt
53  ,const MINT::FitParameter& scale_sigma_dt,const MINT::FitParameter& scale_sigma_2_dt
54  ,const MINT::FitParameter& c0, const MINT::FitParameter& c1, const MINT::FitParameter& c2
55  ,const MINT::FitParameter& c3, const MINT::FitParameter& c4, const MINT::FitParameter& c5
56  ,const MINT::FitParameter& c6, const MINT::FitParameter& c7, const MINT::FitParameter& c8
57  ,const MINT::FitParameter& c9, IFitParRegister* daddy=0):
58 
59  FitParDependent(daddy)
61  ,_efficiency(efficiency)
62  ,_Gamma(Gamma,this),_dGamma(dGamma,this),_dm(dm,this)
63  ,_offset_sigma_dt(offset_sigma_dt,this),_scale_mean_dt(scale_mean_dt,this)
64  ,_scale_sigma_dt(scale_sigma_dt,this),_scale_sigma_2_dt(scale_sigma_2_dt,this)
65  ,_c0(c0,this),_c1(c1,this),_c2(c2,this)
66  ,_c3(c3,this),_c4(c4,this),_c5(c5,this)
67  ,_c6(c6,this),_c7(c7,this),_c8(c8,this)
68  ,_c9(c9,this)
69  {
70  }
71 
72  virtual std::complex<double> getVal(IDalitzEvent& evt){
73  //return getNewVal(evt);// (for debugging)
74  return getValWithCaching(evt);
75  }
76 
77  virtual std::complex<double> getNewVal(IDalitzEvent& evt){
78  //return std::complex<double>(_tau,_dGamma);
80  }
81 
82  virtual std::complex<double> ComplexVal(IDalitzEvent& evt){
83  return getVal(evt);
84  }
85 
86 
87  virtual ~TimePdfIntegrator(){};
88 
89 };
90 
91 #endif
92 //
virtual Double_t evaluate(Int_t basisCodeInt, Double_t tau, Double_t omega, Double_t dGamma) const
RooGaussEfficiencyModel * _efficiency
MINT::FitParRef _c5
FitParDependent(IFitParRegister *daddy=0)
virtual std::complex< double > getVal(IDalitzEvent &evt)
std::complex< double > getValWithCaching(IDalitzEvent &evt)
Definition: CachedByEvent.h:66
MINT::FitParRef _Gamma
MINT::FitParRef _dGamma
MINT::FitParRef _scale_sigma_dt
MINT::FitParRef _c8
virtual ~TimePdfIntegrator()
MINT::FitParRef _dm
MINT::FitParRef _scale_sigma_2_dt
MINT::FitParRef _c0
virtual std::complex< double > ComplexVal(IDalitzEvent &evt)
basisType
Definition: TimePdfMaster.h:43
MINT::FitParRef _c9
MINT::FitParRef _offset_sigma_dt
virtual Double_t analyticalIntegral(Int_t code, const char *rangeName) const
MINT::FitParRef _c3
MINT::FitParRef _scale_mean_dt
MINT::FitParRef _c1
MINT::FitParRef _c4
MINT::FitParRef _c6
virtual std::complex< double > getNewVal(IDalitzEvent &evt)
MINT::FitParRef _c7
MINT::FitParRef _c2
TimePdfIntegrator(int basisType, RooGaussEfficiencyModel *efficiency, const MINT::FitParameter &Gamma, const MINT::FitParameter &dGamma, const MINT::FitParameter &dm, const MINT::FitParameter &offset_sigma_dt, const MINT::FitParameter &scale_mean_dt, const MINT::FitParameter &scale_sigma_dt, const MINT::FitParameter &scale_sigma_2_dt, const MINT::FitParameter &c0, const MINT::FitParameter &c1, const MINT::FitParameter &c2, const MINT::FitParameter &c3, const MINT::FitParameter &c4, const MINT::FitParameter &c5, const MINT::FitParameter &c6, const MINT::FitParameter &c7, const MINT::FitParameter &c8, const MINT::FitParameter &c9, IFitParRegister *daddy=0)