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

#include <EvtTwoBodyVertex.hh>

Public Member Functions

 EvtTwoBodyVertex ()
 EvtTwoBodyVertex (double mA, double mB, double mAB, int L)
 EvtTwoBodyVertex (const EvtTwoBodyVertex &other)
 ~EvtTwoBodyVertex ()
double widthFactor (EvtTwoBodyKine x) const
double formFactor (EvtTwoBodyKine x) const
double phaseSpaceFactor (EvtTwoBodyKine x, EvtTwoBodyKine::Index) const
int L () const
double mA () const
double mB () const
double mAB () const
double pD () const
void print (std::ostream &os) const
void set_f (double R)

Detailed Description

Definition at line 21 of file EvtTwoBodyVertex.hh.

Constructor & Destructor Documentation

◆ EvtTwoBodyVertex() [1/3]

EvtTwoBodyVertex::EvtTwoBodyVertex ( )

Definition at line 21 of file EvtTwoBodyVertex.cc.

21: _LL( 0 ), _p0( 0 ), _f( 0 ) {}

Referenced by EvtTwoBodyVertex().

◆ EvtTwoBodyVertex() [2/3]

EvtTwoBodyVertex::EvtTwoBodyVertex ( double mA,
double mB,
double mAB,
int L )

Definition at line 23 of file EvtTwoBodyVertex.cc.

24 : _kine(), _LL( L ), _p0( 0 ), _f( 0 ) {
25 // Kinematics is initialized only if the decay is above threshold
26
27 if ( mAB > mA + mB )
28 {
29
30 _kine = EvtTwoBodyKine( mA, mB, mAB );
31 _p0 = _kine.p();
32 }
33}
double mAB() const
double mA() const
double mB() const

◆ EvtTwoBodyVertex() [3/3]

EvtTwoBodyVertex::EvtTwoBodyVertex ( const EvtTwoBodyVertex & other)

Definition at line 35 of file EvtTwoBodyVertex.cc.

36 : _kine( other._kine )
37 , _LL( other._LL )
38 , _p0( other._p0 )
39 , _f( ( other._f ) ? new EvtBlattWeisskopf( *other._f ) : 0 ) {}
Index other(Index i, Index j)

◆ ~EvtTwoBodyVertex()

EvtTwoBodyVertex::~EvtTwoBodyVertex ( )

Definition at line 41 of file EvtTwoBodyVertex.cc.

41 {
42 if ( _f ) delete _f;
43}

Member Function Documentation

◆ formFactor()

double EvtTwoBodyVertex::formFactor ( EvtTwoBodyKine x) const

Definition at line 67 of file EvtTwoBodyVertex.cc.

67 {
68 double ff = 1.;
69
70 if ( _f )
71 {
72
73 double p1 = x.p();
74 ff = ( *_f )( p1 );
75 }
76
77 return ff;
78}
double p1[4]
Double_t x[10]

Referenced by widthFactor().

◆ L()

int EvtTwoBodyVertex::L ( ) const
inline

Definition at line 33 of file EvtTwoBodyVertex.hh.

33{ return _LL; }

Referenced by EvtTwoBodyVertex().

◆ mA()

double EvtTwoBodyVertex::mA ( ) const
inline

Definition at line 34 of file EvtTwoBodyVertex.hh.

34{ return _kine.mA(); }

Referenced by EvtTwoBodyVertex(), and print().

◆ mAB()

double EvtTwoBodyVertex::mAB ( ) const
inline

Definition at line 36 of file EvtTwoBodyVertex.hh.

36{ return _kine.mAB(); }

Referenced by EvtTwoBodyVertex(), print(), and widthFactor().

◆ mB()

double EvtTwoBodyVertex::mB ( ) const
inline

Definition at line 35 of file EvtTwoBodyVertex.hh.

35{ return _kine.mB(); }

Referenced by EvtTwoBodyVertex(), and print().

◆ pD()

double EvtTwoBodyVertex::pD ( ) const
inline

Definition at line 37 of file EvtTwoBodyVertex.hh.

37{ return _p0; }

Referenced by EvtAbsLineShape::getRandMass().

◆ phaseSpaceFactor()

double EvtTwoBodyVertex::phaseSpaceFactor ( EvtTwoBodyKine x,
EvtTwoBodyKine::Index i ) const

Definition at line 61 of file EvtTwoBodyVertex.cc.

61 {
62 double p1 = x.p( i );
63 double factor = pow( p1, _LL );
64 return factor;
65}

◆ print()

void EvtTwoBodyVertex::print ( std::ostream & os) const

Definition at line 80 of file EvtTwoBodyVertex.cc.

80 {
81 os << " mA = " << mA() << endl;
82 os << " mB = " << mB() << endl;
83 os << "mAB = " << mAB() << endl;
84 os << " L = " << _LL << endl;
85 os << " p0 = " << _p0 << endl;
86}

◆ set_f()

void EvtTwoBodyVertex::set_f ( double R)

Definition at line 45 of file EvtTwoBodyVertex.cc.

45 {
46 if ( _f ) delete _f;
47 _f = new EvtBlattWeisskopf( _LL, R, _p0 );
48}

Referenced by EvtRelBreitWignerBarrierFact::getRandMass().

◆ widthFactor()

double EvtTwoBodyVertex::widthFactor ( EvtTwoBodyKine x) const

Definition at line 50 of file EvtTwoBodyVertex.cc.

50 {
51 assert( _p0 > 0. );
52
53 double p1 = x.p();
54 double ff = formFactor( x );
55 double factor = pow( p1 / _p0, 2 * _LL + 1 ) * pow( mAB() / x.mAB(), 2 ) * ff *
56 ff; // pingrg,2008-11-24, in EvtGen Manual Eq 66, (m0/m) should be squared
57 // see PLB537,201; PLB561, 55; ZPC48, 445, and PRD65, 032002, PRD68, 052006
58 return factor;
59}
double formFactor(EvtTwoBodyKine x) const

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