14 return (0 == _mps ? MinuitParameterSet::getDefaultSet() : _mps);
17 return (0 == _mps ? MinuitParameterSet::getDefaultSet() : _mps);
24 if(!_mcint.initialised())_mcint.initialise(_pat, getAmps(), getEventGenerator(), gRandom, _precision);
25 else _mcint.resetIntegrand(getAmps());
26 _norm = _mcint.getVal();
33 if(_pat.empty())
return 0;
34 if(0 == getAmps())
return 0;
36 ptr(getAmps()->makeEventGenerator(_pat));
37 _defaultGenerator = ptr;
38 return _defaultGenerator.
get();
42 if(0 == _generator) makeDefaultGenerator();
47 cout <<
"WARNING in DalitzPdfBaseMCInteg::getEventGenerator() const" 48 <<
" returning 0 pointer." << endl;
55 _mcint.setPrecision(_precision);
70 , _generator(generator)
72 , _defaultGenerator(0)
86 , _precision(other._precision)
88 , _generator(other._generator)
89 , _integrating(other._integrating)
90 , _defaultGenerator(other._defaultGenerator)
DalitzMCIntegrator _mcint
virtual double phaseSpace() const =0
virtual double getVal_withPs(IDalitzEvent &evt)
IFastAmplitudeIntegrable * getAmps()
virtual double getVal_noPs(IDalitzEvent &evt)
DalitzHistoSet histoSet()
DalitzPdfBaseMCInteg(const DalitzEventPattern &pat, IFastAmplitudeIntegrable *amps, double precision=1.e-3, MINT::IEventGenerator< IDalitzEvent > *generator=0, MINT::MinuitParameterSet *mps=0)
MINT::IEventGenerator< IDalitzEvent > * getEventGenerator()
void setIntegrationPrecision(double prec)
virtual DalitzHistoSet histoSet()
virtual double getVal(IDalitzEvent &evt)
void doFinalStats(MINT::Minimiser *mini=0)
MINT::MinuitParameterSet * getMPS()
MINT::IEventGenerator< IDalitzEvent > * makeDefaultGenerator()
virtual double un_normalised_noPs(IDalitzEvent &evt)=0
virtual ~DalitzPdfBaseMCInteg()
IFastAmplitudeIntegrable * _amps
virtual double phaseSpace(IDalitzEvent &evt)
virtual bool integrating()