14 return (0 == _mps ? MinuitParameterSet::getDefaultSet() : _mps);
17 return (0 == _mps ? MinuitParameterSet::getDefaultSet() : _mps);
23 if( ! _faint.initialised()){
25 cout <<
"DalitzPdfBaseFlexiFastInteg::getNorm: don't know event pattern!" 31 cout <<
"DalitzPdfBaseFlexiFastInteg::getNorm: don't have amps!" 44 _faint.initialise( _pat
53 #ifdef CHECK_INTEGRATOR 54 cout <<
"WARNING in DalitzPdfBaseFlexiFastInteg::getNorm!!!" 55 <<
" using old, inefficient integrator." 56 <<
" Won't work for efficiencies!!" 58 _mcint.initialise(evtPtr->eventPattern()
67 _norm = _faint.getVal();
70 #ifdef CHECK_INTEGRATOR 71 double fastVal = _norm;
72 double oldVal = _mcint.getVal();
73 cout <<
"DalitzPdfBaseFlexiFastInteg::getNorm:" 74 <<
" compare mcint integral with fast: " 75 <<
"\n\t old: " << oldVal <<
" , fast: " << fastVal
76 <<
", ratio " << oldVal/fastVal
86 if(_pat.empty())
return 0;
87 if(0 == getAmps())
return 0;
89 ptr(getAmps()->makeEventGenerator(_pat));
90 _defaultGenerator = ptr;
91 return _defaultGenerator.
get();
95 if(0 == _generator) makeDefaultGenerator();
100 cout <<
"WARNING in DalitzPdfBaseFlexiFastInteg::getEventGenerator() const" 101 <<
" returning 0 pointer." << endl;
108 #ifdef CHECK_INTEGRATOR 109 _mcint.setPrecision(_precision);
111 _faint.setPrecision(_precision);
132 , _generator(generator)
134 , _defaultGenerator(0)
135 , _commaSepList_of_SavedIntegrators(
"")
155 , _generator(generator)
157 , _defaultGenerator(0)
158 , _commaSepList_of_SavedIntegrators(
"")
172 , _precision(other._precision)
174 , _countedAmps(other._countedAmps)
176 , _generator(other._generator)
177 , _integrating(other._integrating)
178 , _defaultGenerator(other._defaultGenerator)
179 , _commaSepList_of_SavedIntegrators(other._commaSepList_of_SavedIntegrators)
191 cout <<
"DalitzPdfBaseFlexiFastInteg::makeAmps() with MPS pointer " <<
getMPS()
192 <<
" and _amps pointer " <<
_amps << endl;
194 cout <<
"DalitzPdfBaseFlexiFastInteg::getAmps() making _amps with pointer " <<
getMPS()
226 cout <<
"DalitzPdfBaseFlexiFastInteg::getVal_noPs: _norm = " 228 <<
" should not have happened." << endl;
229 throw "can't deal with that";
virtual bool integrating()
DalitzHistoSet interferenceHistoSet() const
virtual double phaseSpace(IDalitzEvent &evt)
void setIntegrationPrecision(double prec)
virtual double phaseSpace() const =0
std::vector< DalitzHistoSet > GetEachAmpsHistograms()
std::vector< DalitzHistoSet > GetInterferenceHistograms()
MINT::counted_ptr< IFastAmplitudeIntegrable > _countedAmps
void doFinalStats(MINT::Minimiser *mini=0)
virtual ~DalitzPdfBaseFlexiFastInteg()
std::vector< DalitzHistoSet > GetInterferenceHistograms()
virtual double getVal_noPs(IDalitzEvent &evt)
virtual double un_normalised_noPs(IDalitzEvent &evt)=0
void saveEachAmpsHistograms(const std::string &prefix) const
MINT::MinuitParameterSet * getMPS()
virtual double getVal(IDalitzEvent &evt)
void doFinalStatsAndSave(MINT::Minimiser *min=0, const std::string &fname="FitAmpResults.txt", const std::string &fnameROOT="fitFractions.root")
DalitzPdfBaseFlexiFastInteg(const DalitzEventPattern &pat, MINT::IEventGenerator< IDalitzEvent > *generator, IFastAmplitudeIntegrable *amps, double precision=1.e-3, MINT::MinuitParameterSet *mps=0)
FlexiFastAmplitudeIntegrator _faint
void saveInterferenceHistograms(const std::string &prefix) const
virtual const DalitzEventPattern & eventPattern() const =0
DalitzHistoSet histoSet() const
virtual DalitzHistoSet interferenceHistoSet() const
void saveEachAmpsHistograms(const std::string &prefix) const
virtual DalitzHistoSet histoSet() const
bool makePlots(const std::string &filename) const
virtual void doFinalStats(MINT::Minimiser *mini=0)
void saveInterferenceHistograms(const std::string &prefix) const
void doFinalStatsAndSave(MINT::Minimiser *min=0, const std::string &fname="FitAmpResults.txt", const std::string &fnameROOT="fitFractions.root")
MINT::IEventGenerator< IDalitzEvent > * getEventGenerator()
IFastAmplitudeIntegrable * _amps
bool save(const std::string &filename="DalitzHistos.root") const
virtual double getVal_withPs(IDalitzEvent &evt)
MINT::IEventGenerator< IDalitzEvent > * makeDefaultGenerator()
std::vector< DalitzHistoSet > GetEachAmpsHistograms()