MINT2
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
DalitzPdfBaseFlexiFastInteg Class Referenceabstract

#include <DalitzPdfBaseFlexiFastInteg.h>

Inheritance diagram for DalitzPdfBaseFlexiFastInteg:
MINT::PdfBase< IDalitzEvent > IDalitzPdf MINT::IPdf< IDalitzEvent > MINT::IReturnRealForEvent< IDalitzEvent > MINT::IReturnRealForEvent< IDalitzEvent > MINT::IPdf< IDalitzEvent > MINT::IReturnRealForEvent< IDalitzEvent > MINT::IReturnRealForEvent< IDalitzEvent > AmpsPdfFlexiFast AmpsPdfFlexiFast

Public Member Functions

 DalitzPdfBaseFlexiFastInteg (const DalitzEventPattern &pat, MINT::IEventGenerator< IDalitzEvent > *generator, IFastAmplitudeIntegrable *amps, double precision=1.e-3, MINT::MinuitParameterSet *mps=0)
 
 DalitzPdfBaseFlexiFastInteg (const DalitzEventPattern &pat, MINT::IEventGenerator< IDalitzEvent > *generator=0, MINT::MinuitParameterSet *mps=0, double precision=1.e-3)
 
 DalitzPdfBaseFlexiFastInteg (const DalitzPdfBaseFlexiFastInteg &other)
 
virtual ~DalitzPdfBaseFlexiFastInteg ()
 
void setIntegrationPrecision (double prec)
 
void setEventGenerator (MINT::IEventGenerator< IDalitzEvent > *g)
 
MINT::IEventGenerator< IDalitzEvent > * getEventGenerator ()
 
const MINT::IEventGenerator< IDalitzEvent > * getEventGenerator () const
 
void parametersChanged ()
 
virtual double getVal (IDalitzEvent &evt)
 
virtual double getVal_withPs (IDalitzEvent &evt)
 
virtual double getVal_noPs (IDalitzEvent &evt)
 
virtual double getNewVal (IDalitzEvent &evt)
 
virtual double getVal (IDalitzEvent *evt)
 
virtual double getVal_withPs (IDalitzEvent *evt)
 
virtual double getVal_noPs (IDalitzEvent *evt)
 
virtual double getNewVal (IDalitzEvent *evt)
 
virtual double RealVal (IDalitzEvent &evt)
 
MINT::MinuitParameterSetgetMPS ()
 
const MINT::MinuitParameterSetgetMPS () const
 
bool saveIntegrator (const std::string &fname) const
 
bool makePlots (const std::string &filename) const
 
virtual DalitzHistoSet histoSet () const
 
virtual DalitzHistoSet histoSet ()
 
void saveEachAmpsHistograms (const std::string &prefix) const
 
std::vector< DalitzHistoSetGetEachAmpsHistograms ()
 
virtual DalitzHistoSet interferenceHistoSet () const
 
virtual DalitzHistoSet interferenceHistoSet ()
 
void saveInterferenceHistograms (const std::string &prefix) const
 
std::vector< DalitzHistoSetGetInterferenceHistograms ()
 
IFastAmplitudeIntegrablegetFitAmpSum ()
 
virtual void beginFit ()
 
virtual void endFit ()
 
double getIntegralValue () const
 
double redoIntegrator ()
 
double integralForMatchingPatterns (bool match, int pattern_sign)
 
std::complex< double > ComplexSumForMatchingPatterns (bool match)
 
std::complex< double > ComplexIntegralForTags (int tag1, int tag2)
 
double sumOfFitFractions ()
 
double absSumOfInterferenceFractions ()
 
double absSumOfSqrtInterferenceFractions ()
 
double sumOfSqrtFitFractions ()
 
int numberOfFitFractionsLargerThanThreshold (double threshold)
 
FitFractionList getFractions () const
 
FitFractionList getInterferenceTerms () const
 
bool doFractions ()
 
void doFinalStats (MINT::Minimiser *mini=0)
 
void doFinalStatsAndSave (MINT::Minimiser *min=0, const std::string &fname="FitAmpResults.txt", const std::string &fnameROOT="fitFractions.root")
 
- Public Member Functions inherited from MINT::PdfBase< IDalitzEvent >
 PdfBase ()
 
 PdfBase (const PdfBase< IDalitzEvent > &)
 
virtual ~PdfBase ()
 
- Public Member Functions inherited from MINT::IPdf< IDalitzEvent >
virtual void Gradient (IDalitzEvent &evt, std::vector< double > &grad, MINT::MinuitParameterSet *mps)
 
virtual bool useAnalyticGradient ()
 
- Public Member Functions inherited from MINT::IReturnRealForEvent< IDalitzEvent >
virtual ~IReturnRealForEvent ()
 

Protected Member Functions

void setup ()
 
bool makeAmps ()
 
virtual double un_normalised_noPs (IDalitzEvent &evt)=0
 
virtual double phaseSpace (IDalitzEvent &evt)
 
virtual bool getNorm ()
 
virtual bool integrating ()
 
IFastAmplitudeIntegrablegetAmps ()
 
MINT::IEventGenerator< IDalitzEvent > * makeDefaultGenerator ()
 
- Protected Member Functions inherited from MINT::IReturnRealForEvent< IDalitzEvent >
 IReturnRealForEvent ()
 

Protected Attributes

MINT::MinuitParameterSet_mps
 
DalitzEventPattern _pat
 
double _norm
 
double _precision
 
FlexiFastAmplitudeIntegrator _faint
 
IFastAmplitudeIntegrable_amps
 
MINT::counted_ptr< IFastAmplitudeIntegrable_countedAmps
 
MINT::IEventGenerator< IDalitzEvent > * _generator
 
bool _integrating
 
MINT::counted_ptr< MINT::IEventGenerator< IDalitzEvent > > _defaultGenerator
 
std::string _commaSepList_of_SavedIntegrators
 

Detailed Description

Definition at line 52 of file DalitzPdfBaseFlexiFastInteg.h.

Constructor & Destructor Documentation

◆ DalitzPdfBaseFlexiFastInteg() [1/3]

DalitzPdfBaseFlexiFastInteg::DalitzPdfBaseFlexiFastInteg ( const DalitzEventPattern pat,
MINT::IEventGenerator< IDalitzEvent > *  generator,
IFastAmplitudeIntegrable amps,
double  precision = 1.e-3,
MINT::MinuitParameterSet mps = 0 
)

Definition at line 117 of file DalitzPdfBaseFlexiFastInteg.cpp.

125  , _mps(mps)
126  , _pat(pat)
127  , _norm(-1)
128  , _precision(prec)
129  , _amps(amps)
130  , _countedAmps(0)
131  //, _efficiency(0)
132  , _generator(generator)
133  , _integrating(0)
134  , _defaultGenerator(0)
136 {
137  setup();
138 }
MINT::counted_ptr< IFastAmplitudeIntegrable > _countedAmps
MINT::counted_ptr< MINT::IEventGenerator< IDalitzEvent > > _defaultGenerator
IFastAmplitudeIntegrable * _amps
MINT::IEventGenerator< IDalitzEvent > * _generator

◆ DalitzPdfBaseFlexiFastInteg() [2/3]

DalitzPdfBaseFlexiFastInteg::DalitzPdfBaseFlexiFastInteg ( const DalitzEventPattern pat,
MINT::IEventGenerator< IDalitzEvent > *  generator = 0,
MINT::MinuitParameterSet mps = 0,
double  precision = 1.e-3 
)

Definition at line 140 of file DalitzPdfBaseFlexiFastInteg.cpp.

148  , _mps(mps)
149  , _pat(pat)
150  , _norm(-1)
151  , _precision(prec)
152  , _amps(0)
153  , _countedAmps(0)
154  // , _efficiency(eff)
155  , _generator(generator)
156  , _integrating(0)
157  , _defaultGenerator(0)
159 {
160  setup();
161  //cout << "pset pointer in DalitzPdfBaseFlexiFastInteg " << _mps << " = " << getMPS() << endl;
162 }
MINT::counted_ptr< IFastAmplitudeIntegrable > _countedAmps
MINT::counted_ptr< MINT::IEventGenerator< IDalitzEvent > > _defaultGenerator
IFastAmplitudeIntegrable * _amps
MINT::IEventGenerator< IDalitzEvent > * _generator

◆ DalitzPdfBaseFlexiFastInteg() [3/3]

DalitzPdfBaseFlexiFastInteg::DalitzPdfBaseFlexiFastInteg ( const DalitzPdfBaseFlexiFastInteg other)

Definition at line 164 of file DalitzPdfBaseFlexiFastInteg.cpp.

167  , IDalitzPdf()
168  , PdfBase<IDalitzEvent>(other)
169  , _mps(other._mps)
170  , _pat(other._pat)
171  , _norm(other._norm)
172  , _precision(other._precision)
173  , _amps(other._amps)
174  , _countedAmps(other._countedAmps)
175  //, _efficiency(other._efficiency)
176  , _generator(other._generator)
177  , _integrating(other._integrating)
180 {
181  setup();
182 }
MINT::counted_ptr< IFastAmplitudeIntegrable > _countedAmps
MINT::counted_ptr< MINT::IEventGenerator< IDalitzEvent > > _defaultGenerator
IFastAmplitudeIntegrable * _amps
MINT::IEventGenerator< IDalitzEvent > * _generator

◆ ~DalitzPdfBaseFlexiFastInteg()

DalitzPdfBaseFlexiFastInteg::~DalitzPdfBaseFlexiFastInteg ( )
virtual

Definition at line 184 of file DalitzPdfBaseFlexiFastInteg.cpp.

184  {
185 }

Member Function Documentation

◆ absSumOfInterferenceFractions()

double DalitzPdfBaseFlexiFastInteg::absSumOfInterferenceFractions ( )
inline

◆ absSumOfSqrtInterferenceFractions()

double DalitzPdfBaseFlexiFastInteg::absSumOfSqrtInterferenceFractions ( )
inline

◆ beginFit()

void DalitzPdfBaseFlexiFastInteg::beginFit ( )
virtual

Reimplemented from MINT::PdfBase< IDalitzEvent >.

Definition at line 305 of file DalitzPdfBaseFlexiFastInteg.cpp.

305  {
306  //getNorm();
307 }

◆ ComplexIntegralForTags()

std::complex<double> DalitzPdfBaseFlexiFastInteg::ComplexIntegralForTags ( int  tag1,
int  tag2 
)
inline

Definition at line 199 of file DalitzPdfBaseFlexiFastInteg.h.

199  {
200  if(!_faint.initialised())getNorm();
201  return _faint.ComplexIntegralForTags(tag1, tag2);
202  }
std::complex< double > ComplexIntegralForTags(int tag1, int tag2)
FlexiFastAmplitudeIntegrator _faint

◆ ComplexSumForMatchingPatterns()

std::complex<double> DalitzPdfBaseFlexiFastInteg::ComplexSumForMatchingPatterns ( bool  match)
inline

Definition at line 193 of file DalitzPdfBaseFlexiFastInteg.h.

193  {
194  if(!_faint.initialised())getNorm();
196  }
std::complex< double > ComplexSumForMatchingPatterns(bool match)
FlexiFastAmplitudeIntegrator _faint

◆ doFinalStats()

void DalitzPdfBaseFlexiFastInteg::doFinalStats ( MINT::Minimiser mini = 0)

Definition at line 314 of file DalitzPdfBaseFlexiFastInteg.cpp.

314  {
315  _faint.doFinalStats(mini);
316 }
FlexiFastAmplitudeIntegrator _faint
virtual void doFinalStats(MINT::Minimiser *mini=0)

◆ doFinalStatsAndSave()

void DalitzPdfBaseFlexiFastInteg::doFinalStatsAndSave ( MINT::Minimiser min = 0,
const std::string &  fname = "FitAmpResults.txt",
const std::string &  fnameROOT = "fitFractions.root" 
)

Definition at line 318 of file DalitzPdfBaseFlexiFastInteg.cpp.

318  {
319  _faint.doFinalStatsAndSave(mini0,fname,fnameROOT);
320 }
void doFinalStatsAndSave(MINT::Minimiser *min=0, const std::string &fname="FitAmpResults.txt", const std::string &fnameROOT="fitFractions.root")
FlexiFastAmplitudeIntegrator _faint

◆ doFractions()

bool DalitzPdfBaseFlexiFastInteg::doFractions ( )
inline

Definition at line 230 of file DalitzPdfBaseFlexiFastInteg.h.

◆ endFit()

void DalitzPdfBaseFlexiFastInteg::endFit ( )
virtual

Reimplemented from MINT::PdfBase< IDalitzEvent >.

Definition at line 309 of file DalitzPdfBaseFlexiFastInteg.cpp.

309  {
310 
311  //_faint.doFinalStats();
312 }

◆ getAmps()

IFastAmplitudeIntegrable* DalitzPdfBaseFlexiFastInteg::getAmps ( )
inlineprotected

Definition at line 89 of file DalitzPdfBaseFlexiFastInteg.h.

89 { return _amps; }
IFastAmplitudeIntegrable * _amps

◆ GetEachAmpsHistograms()

std::vector< DalitzHistoSet > DalitzPdfBaseFlexiFastInteg::GetEachAmpsHistograms ( )

Definition at line 285 of file DalitzPdfBaseFlexiFastInteg.cpp.

285  {
286  return _faint.GetEachAmpsHistograms();
287 }
FlexiFastAmplitudeIntegrator _faint
std::vector< DalitzHistoSet > GetEachAmpsHistograms()

◆ getEventGenerator() [1/2]

IEventGenerator< IDalitzEvent > * DalitzPdfBaseFlexiFastInteg::getEventGenerator ( )

Definition at line 94 of file DalitzPdfBaseFlexiFastInteg.cpp.

94  {
96  return _generator;
97 }
MINT::IEventGenerator< IDalitzEvent > * _generator
MINT::IEventGenerator< IDalitzEvent > * makeDefaultGenerator()

◆ getEventGenerator() [2/2]

const IEventGenerator< IDalitzEvent > * DalitzPdfBaseFlexiFastInteg::getEventGenerator ( ) const

Definition at line 98 of file DalitzPdfBaseFlexiFastInteg.cpp.

98  {
99  if(0 == _generator){
100  cout << "WARNING in DalitzPdfBaseFlexiFastInteg::getEventGenerator() const"
101  << " returning 0 pointer." << endl;
102  }
103  return _generator;
104 }
MINT::IEventGenerator< IDalitzEvent > * _generator

◆ getFitAmpSum()

IFastAmplitudeIntegrable* DalitzPdfBaseFlexiFastInteg::getFitAmpSum ( )
inline

Definition at line 168 of file DalitzPdfBaseFlexiFastInteg.h.

168 { return _amps;}
IFastAmplitudeIntegrable * _amps

◆ getFractions()

FitFractionList DalitzPdfBaseFlexiFastInteg::getFractions ( ) const
inline

Definition at line 228 of file DalitzPdfBaseFlexiFastInteg.h.

228 {return _faint.getFractions();}
FlexiFastAmplitudeIntegrator _faint

◆ getIntegralValue()

double DalitzPdfBaseFlexiFastInteg::getIntegralValue ( ) const
inline

Definition at line 175 of file DalitzPdfBaseFlexiFastInteg.h.

175  {
176  return _norm;
177  }

◆ GetInterferenceHistograms()

std::vector< DalitzHistoSet > DalitzPdfBaseFlexiFastInteg::GetInterferenceHistograms ( )

Definition at line 300 of file DalitzPdfBaseFlexiFastInteg.cpp.

300  {
302 }
std::vector< DalitzHistoSet > GetInterferenceHistograms()
FlexiFastAmplitudeIntegrator _faint

◆ getInterferenceTerms()

FitFractionList DalitzPdfBaseFlexiFastInteg::getInterferenceTerms ( ) const
inline

Definition at line 229 of file DalitzPdfBaseFlexiFastInteg.h.

229 {return _faint.getInterferenceTerms();}
FlexiFastAmplitudeIntegrator _faint
FitFractionList getInterferenceTerms() const

◆ getMPS() [1/2]

MinuitParameterSet * DalitzPdfBaseFlexiFastInteg::getMPS ( )

Definition at line 13 of file DalitzPdfBaseFlexiFastInteg.cpp.

13  {
14  return (0 == _mps ? MinuitParameterSet::getDefaultSet() : _mps);
15 }

◆ getMPS() [2/2]

const MinuitParameterSet * DalitzPdfBaseFlexiFastInteg::getMPS ( ) const

Definition at line 16 of file DalitzPdfBaseFlexiFastInteg.cpp.

16  {
17  return (0 == _mps ? MinuitParameterSet::getDefaultSet() : _mps);
18 }

◆ getNewVal() [1/2]

virtual double DalitzPdfBaseFlexiFastInteg::getNewVal ( IDalitzEvent evt)
inlinevirtual

Reimplemented from MINT::PdfBase< IDalitzEvent >.

Definition at line 123 of file DalitzPdfBaseFlexiFastInteg.h.

123  {
124  this->parametersChanged();
125  return getVal(evt);
126  };
virtual double getVal(IDalitzEvent &evt)

◆ getNewVal() [2/2]

virtual double DalitzPdfBaseFlexiFastInteg::getNewVal ( IDalitzEvent evt)
inlinevirtual

Definition at line 141 of file DalitzPdfBaseFlexiFastInteg.h.

141  {
142  this->parametersChanged();
143  if(0 == evt) return 0;
144  return getNewVal(*evt);
145  }
virtual double getNewVal(IDalitzEvent &evt)

◆ getNorm()

bool DalitzPdfBaseFlexiFastInteg::getNorm ( )
protectedvirtual

Definition at line 21 of file DalitzPdfBaseFlexiFastInteg.cpp.

21  {
22  _integrating = true;
23  if( ! _faint.initialised()){
24  if(_pat.empty()){
25  cout << "DalitzPdfBaseFlexiFastInteg::getNorm: don't know event pattern!"
26  << endl;
27  _integrating = false;
28  return false;
29  }
30  if(0 == getAmps()){
31  cout << "DalitzPdfBaseFlexiFastInteg::getNorm: don't have amps!"
32  << endl;
33  _integrating = false;
34  return false;
35  }
36 
37  /*
38  if("" != _commaSepList_of_SavedIntegrators){
39  _faint.initialiseFromFile(evtPtr->eventPattern()
40  , _amps
41  , _commaSepList_of_SavedIntegrators);
42  }else{
43  */
45  , getAmps()
46  //, _efficiency
48  , gRandom
49  , _precision
50  );
51  //}
52 
53 #ifdef CHECK_INTEGRATOR
54  cout << "WARNING in DalitzPdfBaseFlexiFastInteg::getNorm!!!"
55  << " using old, inefficient integrator."
56  << " Won't work for efficiencies!!"
57  << endl;
58  _mcint.initialise(evtPtr->eventPattern()
59  , getAmps()//this
61  , gRandom
62  , _precision
63  );
64 #endif
65  }
66 
67  _norm = _faint.getVal();
68 
69 
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
77  << endl;
78  _norm = oldVal;
79 #endif
80 
81 
82  _integrating = false;
83  return _norm > 0;
84 }
IFastAmplitudeIntegrable * getAmps()
bool initialise(const DalitzEventPattern &pattern, IFastAmplitudeIntegrable *amps=0, MINT::IEventGenerator< IDalitzEvent > *eventGenerator=0, TRandom *rnd=0, double precision=1.e-2)
FlexiFastAmplitudeIntegrator _faint
MINT::IEventGenerator< IDalitzEvent > * getEventGenerator()

◆ getVal() [1/2]

double DalitzPdfBaseFlexiFastInteg::getVal ( IDalitzEvent evt)
virtual

Implements IDalitzPdf.

Definition at line 210 of file DalitzPdfBaseFlexiFastInteg.cpp.

210  {
211  //if(_pat.empty()) _pat = evt.eventPattern();
212  if(_integrating) return getVal_withPs(evt);
213  else return getVal_noPs(evt);
214 }
virtual double getVal_noPs(IDalitzEvent &evt)
virtual double getVal_withPs(IDalitzEvent &evt)

◆ getVal() [2/2]

virtual double DalitzPdfBaseFlexiFastInteg::getVal ( IDalitzEvent evt)
inlinevirtual

Implements IDalitzPdf.

Definition at line 129 of file DalitzPdfBaseFlexiFastInteg.h.

129  {
130  if(0 == evt) return 0;
131  return getVal(*evt);
132  }
virtual double getVal(IDalitzEvent &evt)

◆ getVal_noPs() [1/2]

double DalitzPdfBaseFlexiFastInteg::getVal_noPs ( IDalitzEvent evt)
virtual

Implements IDalitzPdf.

Definition at line 215 of file DalitzPdfBaseFlexiFastInteg.cpp.

215  {
216  //bool dbThis = false;
217  //static double maxVal=0;
218  if(_pat.empty()) _pat = evt.eventPattern();
219 
220  if(_integrating){
221  // shouldn't really do that - use getVal or getVal_withPs
222  // when you integrate (automatically done in getVal()):
223  return un_normalised_noPs(evt);
224  }else{
225  if(_norm == -1){
226  cout << "DalitzPdfBaseFlexiFastInteg::getVal_noPs: _norm = "
227  << _norm
228  << " should not have happened." << endl;
229  throw "can't deal with that";
230  }
231 
232  double num = un_normalised_noPs(evt);
233  /*if(dbThis){
234  double val=num/_norm;
235  if(fabs(val) > maxVal){
236  maxVal=fabs(val);
237  if(dbThis){
238  cout << "biggest un_normalised / norm, yet: "
239  << num << " / " <<_norm
240  << " = " << num/_norm
241  << ". ps = " << phaseSpace(evt)
242  << endl;
243  cout << "for event: "; evt.print(); cout << endl;
244  }
245  }
246  }*/
247 
248  /*
249  cout << "\n DalitzPdfBaseFlexiFastInteg::getVal_noPs():"
250  << " for event ptr " << getEvent()
251  << " returning "
252  << num << " / " << _norm << endl;
253  */
254  return num/_norm;
255  }
256 }
virtual double un_normalised_noPs(IDalitzEvent &evt)=0
virtual const DalitzEventPattern & eventPattern() const =0

◆ getVal_noPs() [2/2]

virtual double DalitzPdfBaseFlexiFastInteg::getVal_noPs ( IDalitzEvent evt)
inlinevirtual

Implements IDalitzPdf.

Definition at line 137 of file DalitzPdfBaseFlexiFastInteg.h.

137  {
138  if(0 == evt) return 0;
139  return getVal_noPs(*evt);
140  }
virtual double getVal_noPs(IDalitzEvent &evt)

◆ getVal_withPs() [1/2]

double DalitzPdfBaseFlexiFastInteg::getVal_withPs ( IDalitzEvent evt)
virtual

Implements IDalitzPdf.

Definition at line 257 of file DalitzPdfBaseFlexiFastInteg.cpp.

257  {
258  if(_pat.empty()) _pat = evt.eventPattern();
259 
260  if(_integrating){
261  return un_normalised_noPs(evt)*phaseSpace(evt);
262  }else{
263  if(_norm == -1) getNorm();
264  double num = un_normalised_noPs(evt)*phaseSpace(evt);
265  return num/_norm;
266  }
267 }
virtual double phaseSpace(IDalitzEvent &evt)
virtual double un_normalised_noPs(IDalitzEvent &evt)=0
virtual const DalitzEventPattern & eventPattern() const =0

◆ getVal_withPs() [2/2]

virtual double DalitzPdfBaseFlexiFastInteg::getVal_withPs ( IDalitzEvent evt)
inlinevirtual

Implements IDalitzPdf.

Definition at line 133 of file DalitzPdfBaseFlexiFastInteg.h.

133  {
134  if(0 == evt) return 0;
135  return getVal_withPs(*evt);
136  }
virtual double getVal_withPs(IDalitzEvent &evt)

◆ histoSet() [1/2]

DalitzHistoSet DalitzPdfBaseFlexiFastInteg::histoSet ( ) const
virtual

Definition at line 272 of file DalitzPdfBaseFlexiFastInteg.cpp.

272  {
273  return (_faint.histoSet());
274 }
FlexiFastAmplitudeIntegrator _faint

◆ histoSet() [2/2]

DalitzHistoSet DalitzPdfBaseFlexiFastInteg::histoSet ( )
virtual

Implements IDalitzPdf.

Definition at line 275 of file DalitzPdfBaseFlexiFastInteg.cpp.

275  {
276  // non-const version to satisfy IDalitzPdf
277  return (_faint.histoSet());
278 }
FlexiFastAmplitudeIntegrator _faint

◆ integralForMatchingPatterns()

double DalitzPdfBaseFlexiFastInteg::integralForMatchingPatterns ( bool  match,
int  pattern_sign 
)
inline

Definition at line 188 of file DalitzPdfBaseFlexiFastInteg.h.

188  {
189  if(!_faint.initialised())getNorm();
190  return _faint.integralForMatchingPatterns(match, pattern_sign);
191  }
FlexiFastAmplitudeIntegrator _faint
double integralForMatchingPatterns(bool match, int pattern_sign)

◆ integrating()

bool DalitzPdfBaseFlexiFastInteg::integrating ( )
protectedvirtual

Definition at line 203 of file DalitzPdfBaseFlexiFastInteg.cpp.

203  {
204  return _integrating;
205 }

◆ interferenceHistoSet() [1/2]

DalitzHistoSet DalitzPdfBaseFlexiFastInteg::interferenceHistoSet ( ) const
virtual

Definition at line 289 of file DalitzPdfBaseFlexiFastInteg.cpp.

289  {
290  return (_faint.interferenceHistoSet());
291 }
FlexiFastAmplitudeIntegrator _faint

◆ interferenceHistoSet() [2/2]

DalitzHistoSet DalitzPdfBaseFlexiFastInteg::interferenceHistoSet ( )
virtual

Definition at line 292 of file DalitzPdfBaseFlexiFastInteg.cpp.

292  {
293  // non-const version to satisfy IDalitzPdf
294  return (_faint.interferenceHistoSet());
295 }
FlexiFastAmplitudeIntegrator _faint

◆ makeAmps()

bool DalitzPdfBaseFlexiFastInteg::makeAmps ( )
protected

Definition at line 190 of file DalitzPdfBaseFlexiFastInteg.cpp.

190  {
191  cout << "DalitzPdfBaseFlexiFastInteg::makeAmps() with MPS pointer " << getMPS()
192  << " and _amps pointer " << _amps << endl;
193  if(0 == _amps && (! _pat.empty())){
194  cout << "DalitzPdfBaseFlexiFastInteg::getAmps() making _amps with pointer " << getMPS()
195  << endl;
196  _amps = new FitAmpSum(_pat, getMPS());
198  _countedAmps = cp;
199  }
200  return (bool) _amps;
201 }
MINT::counted_ptr< IFastAmplitudeIntegrable > _countedAmps
MINT::MinuitParameterSet * getMPS()
IFastAmplitudeIntegrable * _amps

◆ makeDefaultGenerator()

IEventGenerator< IDalitzEvent > * DalitzPdfBaseFlexiFastInteg::makeDefaultGenerator ( )
protected

Definition at line 85 of file DalitzPdfBaseFlexiFastInteg.cpp.

85  {
86  if(_pat.empty()) return 0;
87  if(0 == getAmps()) return 0;
89  ptr(getAmps()->makeEventGenerator(_pat));
90  _defaultGenerator = ptr;
91  return _defaultGenerator.get();
92 }
IFastAmplitudeIntegrable * getAmps()
MINT::counted_ptr< MINT::IEventGenerator< IDalitzEvent > > _defaultGenerator
X * get() const
Definition: counted_ptr.h:123

◆ makePlots()

bool DalitzPdfBaseFlexiFastInteg::makePlots ( const std::string &  filename) const

Definition at line 269 of file DalitzPdfBaseFlexiFastInteg.cpp.

269  {
270  return histoSet().save(filename);
271 }
virtual DalitzHistoSet histoSet() const
bool save(const std::string &filename="DalitzHistos.root") const

◆ numberOfFitFractionsLargerThanThreshold()

int DalitzPdfBaseFlexiFastInteg::numberOfFitFractionsLargerThanThreshold ( double  threshold)
inline

Definition at line 224 of file DalitzPdfBaseFlexiFastInteg.h.

224  {
226  }
int numberOfFitFractionsLargerThanThreshold(double threshold)
FlexiFastAmplitudeIntegrator _faint

◆ parametersChanged()

void DalitzPdfBaseFlexiFastInteg::parametersChanged ( )
virtual

Reimplemented from MINT::PdfBase< IDalitzEvent >.

Definition at line 114 of file DalitzPdfBaseFlexiFastInteg.cpp.

114  {
115  getNorm();
116 }

◆ phaseSpace()

double DalitzPdfBaseFlexiFastInteg::phaseSpace ( IDalitzEvent evt)
protectedvirtual

Definition at line 207 of file DalitzPdfBaseFlexiFastInteg.cpp.

207  {
208  return evt.phaseSpace();
209 }
virtual double phaseSpace() const =0

◆ RealVal()

virtual double DalitzPdfBaseFlexiFastInteg::RealVal ( IDalitzEvent evt)
inlinevirtual

Reimplemented from MINT::PdfBase< IDalitzEvent >.

Definition at line 147 of file DalitzPdfBaseFlexiFastInteg.h.

147 {return getVal(evt);}
virtual double getVal(IDalitzEvent &evt)

◆ redoIntegrator()

double DalitzPdfBaseFlexiFastInteg::redoIntegrator ( )
inline

Definition at line 182 of file DalitzPdfBaseFlexiFastInteg.h.

182  {
183  _norm = -1;
184  getNorm();
185  return _norm;
186  }

◆ saveEachAmpsHistograms()

void DalitzPdfBaseFlexiFastInteg::saveEachAmpsHistograms ( const std::string &  prefix) const

Definition at line 280 of file DalitzPdfBaseFlexiFastInteg.cpp.

280  {
282  return;
283 }
FlexiFastAmplitudeIntegrator _faint
void saveEachAmpsHistograms(const std::string &prefix) const

◆ saveIntegrator()

bool DalitzPdfBaseFlexiFastInteg::saveIntegrator ( const std::string &  fname) const

◆ saveInterferenceHistograms()

void DalitzPdfBaseFlexiFastInteg::saveInterferenceHistograms ( const std::string &  prefix) const

Definition at line 296 of file DalitzPdfBaseFlexiFastInteg.cpp.

296  {
298  return;
299 }
FlexiFastAmplitudeIntegrator _faint
void saveInterferenceHistograms(const std::string &prefix) const

◆ setEventGenerator()

void DalitzPdfBaseFlexiFastInteg::setEventGenerator ( MINT::IEventGenerator< IDalitzEvent > *  g)
inline

Definition at line 114 of file DalitzPdfBaseFlexiFastInteg.h.

114 {_generator=g;}
static const double g
MINT::IEventGenerator< IDalitzEvent > * _generator

◆ setIntegrationPrecision()

void DalitzPdfBaseFlexiFastInteg::setIntegrationPrecision ( double  prec)

Definition at line 106 of file DalitzPdfBaseFlexiFastInteg.cpp.

106  {
107  _precision = prec;
108 #ifdef CHECK_INTEGRATOR
109  _mcint.setPrecision(_precision);
110 #endif
112 }
FlexiFastAmplitudeIntegrator _faint

◆ setup()

void DalitzPdfBaseFlexiFastInteg::setup ( )
protected

Definition at line 187 of file DalitzPdfBaseFlexiFastInteg.cpp.

187  {
188  makeAmps(); // it's important to do this at construction time, otherwise the MinuitParameterSet will be empty.
189 }

◆ sumOfFitFractions()

double DalitzPdfBaseFlexiFastInteg::sumOfFitFractions ( )
inline

◆ sumOfSqrtFitFractions()

double DalitzPdfBaseFlexiFastInteg::sumOfSqrtFitFractions ( )
inline

◆ un_normalised_noPs()

virtual double DalitzPdfBaseFlexiFastInteg::un_normalised_noPs ( IDalitzEvent evt)
protectedpure virtual

Implemented in AmpsPdfFlexiFast, and AmpsPdfFlexiFast.

Member Data Documentation

◆ _amps

IFastAmplitudeIntegrable* DalitzPdfBaseFlexiFastInteg::_amps
protected

Definition at line 65 of file DalitzPdfBaseFlexiFastInteg.h.

◆ _commaSepList_of_SavedIntegrators

std::string DalitzPdfBaseFlexiFastInteg::_commaSepList_of_SavedIntegrators
protected

Definition at line 74 of file DalitzPdfBaseFlexiFastInteg.h.

◆ _countedAmps

MINT::counted_ptr<IFastAmplitudeIntegrable> DalitzPdfBaseFlexiFastInteg::_countedAmps
protected

Definition at line 66 of file DalitzPdfBaseFlexiFastInteg.h.

◆ _defaultGenerator

MINT::counted_ptr<MINT::IEventGenerator<IDalitzEvent> > DalitzPdfBaseFlexiFastInteg::_defaultGenerator
protected

Definition at line 72 of file DalitzPdfBaseFlexiFastInteg.h.

◆ _faint

FlexiFastAmplitudeIntegrator DalitzPdfBaseFlexiFastInteg::_faint
protected

Definition at line 64 of file DalitzPdfBaseFlexiFastInteg.h.

◆ _generator

MINT::IEventGenerator<IDalitzEvent>* DalitzPdfBaseFlexiFastInteg::_generator
protected

Definition at line 70 of file DalitzPdfBaseFlexiFastInteg.h.

◆ _integrating

bool DalitzPdfBaseFlexiFastInteg::_integrating
protected

Definition at line 71 of file DalitzPdfBaseFlexiFastInteg.h.

◆ _mps

MINT::MinuitParameterSet* DalitzPdfBaseFlexiFastInteg::_mps
protected

Definition at line 57 of file DalitzPdfBaseFlexiFastInteg.h.

◆ _norm

double DalitzPdfBaseFlexiFastInteg::_norm
protected

Definition at line 59 of file DalitzPdfBaseFlexiFastInteg.h.

◆ _pat

DalitzEventPattern DalitzPdfBaseFlexiFastInteg::_pat
protected

Definition at line 58 of file DalitzPdfBaseFlexiFastInteg.h.

◆ _precision

double DalitzPdfBaseFlexiFastInteg::_precision
protected

Definition at line 60 of file DalitzPdfBaseFlexiFastInteg.h.


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