BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
EvtDalitzFlatPdf Class Reference

#include <EvtDalitzFlatPdf.hh>

Inheritance diagram for EvtDalitzFlatPdf:

Public Member Functions

 EvtDalitzFlatPdf (const EvtDalitzPlot &dp)
 EvtDalitzFlatPdf (const EvtDalitzFlatPdf &other)
virtual ~EvtDalitzFlatPdf ()
virtual EvtPdf< EvtDalitzPoint > * clone () const
virtual EvtValError compute_integral (int N) const
virtual EvtDalitzPoint randomPoint ()
Public Member Functions inherited from EvtPdf< EvtDalitzPoint >
 EvtPdf ()
virtual ~EvtPdf ()
double evaluate (const EvtDalitzPoint &p) const
EvtPdfMax< EvtDalitzPointfindMax (const EvtPdf< EvtDalitzPoint > &pc, int N)
EvtValError findGenEff (const EvtPdf< EvtDalitzPoint > &pc, int N, int nFindMax)
void setItg (EvtValError itg)
EvtValError getItg () const
virtual EvtValError compute_integral () const
EvtValError compute_mc_integral (const EvtPdf< EvtDalitzPoint > &pc, int N)
EvtPredGen< EvtPdfGen< EvtDalitzPoint >, EvtPdfPred< EvtDalitzPoint > > accRejGen (const EvtPdf< EvtDalitzPoint > &pc, int nMax, double factor=1.)

Protected Member Functions

virtual double pdf (const EvtDalitzPoint &) const

Protected Attributes

EvtDalitzPlot _dp
Protected Attributes inherited from EvtPdf< EvtDalitzPoint >
EvtValError _itg

Detailed Description

Definition at line 22 of file EvtDalitzFlatPdf.hh.

Constructor & Destructor Documentation

◆ EvtDalitzFlatPdf() [1/2]

EvtDalitzFlatPdf::EvtDalitzFlatPdf ( const EvtDalitzPlot & dp)

Definition at line 15 of file EvtDalitzFlatPdf.cc.

Referenced by clone(), and EvtDalitzFlatPdf().

◆ EvtDalitzFlatPdf() [2/2]

EvtDalitzFlatPdf::EvtDalitzFlatPdf ( const EvtDalitzFlatPdf & other)

Definition at line 18 of file EvtDalitzFlatPdf.cc.

19 : EvtPdf<EvtDalitzPoint>( other ), _dp( other._dp ) {}
Index other(Index i, Index j)

◆ ~EvtDalitzFlatPdf()

EvtDalitzFlatPdf::~EvtDalitzFlatPdf ( )
virtual

Definition at line 21 of file EvtDalitzFlatPdf.cc.

21{}

Member Function Documentation

◆ clone()

EvtPdf< EvtDalitzPoint > * EvtDalitzFlatPdf::clone ( ) const
virtual

Implements EvtPdf< EvtDalitzPoint >.

Definition at line 23 of file EvtDalitzFlatPdf.cc.

23 {
24 return new EvtDalitzFlatPdf( *this );
25}
EvtDalitzFlatPdf(const EvtDalitzPlot &dp)

◆ compute_integral()

EvtValError EvtDalitzFlatPdf::compute_integral ( int N) const
virtual

Definition at line 29 of file EvtDalitzFlatPdf.cc.

29 {
30 return EvtValError( _dp.getArea( N ), 0. );
31}

◆ pdf()

double EvtDalitzFlatPdf::pdf ( const EvtDalitzPoint & ) const
protectedvirtual

Implements EvtPdf< EvtDalitzPoint >.

Definition at line 27 of file EvtDalitzFlatPdf.cc.

27{ return 1.; }

◆ randomPoint()

EvtDalitzPoint EvtDalitzFlatPdf::randomPoint ( )
virtual

Reimplemented from EvtPdf< EvtDalitzPoint >.

Definition at line 33 of file EvtDalitzFlatPdf.cc.

33 {
34 // To obtain a uniform distribution generate
35 // in terms of q's. Generate in a box that circumscribes the
36 // Dalitz plot. Accept points inside. If there are two
37 // many unsuccessful attempts it's a hint that the Dalitz plot
38 // area is tiny compared to the box. It's a pathological
39 // case. Abort.
40
43
44 int n = 0;
45 int maxTries = 1000;
46 while ( n++ < maxTries )
47 {
48
49 double q1 = EvtRandom::Flat( _dp.qAbsMin( pair1 ), _dp.qAbsMax( pair2 ) );
50 double q2 = EvtRandom::Flat( _dp.qAbsMin( pair2 ), _dp.qAbsMax( pair2 ) );
51
52 EvtDalitzCoord point( pair1, q1, pair2, q2 );
53 EvtDalitzPoint x( _dp, point );
54
55 if ( x.isValid() ) return x;
56 }
57
58 printf( "No point generated for dalitz plot after %d tries\n", maxTries );
59 abort();
60}
const Int_t n
Double_t x[10]
static double Flat()
Definition EvtRandom.cc:69

Member Data Documentation

◆ _dp

EvtDalitzPlot EvtDalitzFlatPdf::_dp
protected

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