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

#include <GammaShape.h>

Public Member Functions

 GammaShape ()
 ~GammaShape ()
 GammaShape (const GammaShape &)
 GammaShape (const double eorigin, const double epeak)
 GammaShape (const HepLorentzVector p4, const double dphi, const double dthe, const double de)
GammaShapeoperator= (const GammaShape &)
double peak (const double fitvalue)
double mean (const double epeak)
double tail (const double epeak)
double width (const double epeak)
double de (const double eorigin, const double peak)
double fitm (double x, double pk, double width, double tail, double mean)
void settail (const double tail)
void setwidth (const double width)
void setpeak (const double peak)
void sete (const double e)
void setde (const double de)
void setdphi (const double dphi)
void setdtheta (const double dtheta)
double gettail () const
double getwidth () const
double getpeak () const
double gete () const
double getde () const
double getdphi () const
double getdthe () const
 GammaShape ()
 ~GammaShape ()
 GammaShape (const GammaShape &)
 GammaShape (const double eorigin, const double epeak)
 GammaShape (const HepLorentzVector p4, const double dphi, const double dthe, const double de)
GammaShapeoperator= (const GammaShape &)
double peak (const double fitvalue)
double mean (const double epeak)
double tail (const double epeak)
double width (const double epeak)
double de (const double eorigin, const double peak)
double fitm (double x, double pk, double width, double tail, double mean)
void settail (const double tail)
void setwidth (const double width)
void setpeak (const double peak)
void sete (const double e)
void setde (const double de)
void setdphi (const double dphi)
void setdtheta (const double dtheta)
double gettail () const
double getwidth () const
double getpeak () const
double gete () const
double getde () const
double getdphi () const
double getdthe () const
 GammaShape ()
 ~GammaShape ()
 GammaShape (const GammaShape &)
 GammaShape (const double eorigin, const double epeak)
 GammaShape (const HepLorentzVector p4, const double dphi, const double dthe, const double de)
GammaShapeoperator= (const GammaShape &)
double peak (const double fitvalue)
double mean (const double epeak)
double tail (const double epeak)
double width (const double epeak)
double de (const double eorigin, const double peak)
double fitm (double x, double pk, double width, double tail, double mean)
void settail (const double tail)
void setwidth (const double width)
void setpeak (const double peak)
void sete (const double e)
void setde (const double de)
void setdphi (const double dphi)
void setdtheta (const double dtheta)
double gettail () const
double getwidth () const
double getpeak () const
double gete () const
double getde () const
double getdphi () const
double getdthe () const

Detailed Description

Constructor & Destructor Documentation

◆ GammaShape() [1/12]

GammaShape::GammaShape ( )

Definition at line 5 of file GammaShape.cxx.

5 {
6 m_tail = 0;
7 m_width = 0;
8 m_peak = 0;
9 m_e = 0;
10 m_de = 0;
11 m_dphi = 0;
12 m_dtheta = 0;
13}

Referenced by GammaShape(), and operator=().

◆ ~GammaShape() [1/3]

GammaShape::~GammaShape ( )
inline

Definition at line 29 of file Analysis/VertexFit/include/VertexFit/GammaShape.h.

29{ ; }

◆ GammaShape() [2/12]

GammaShape::GammaShape ( const GammaShape & gammashape)

Definition at line 15 of file GammaShape.cxx.

15 {
16 m_tail = gammashape.m_tail;
17 m_width = gammashape.m_width;
18 m_peak = gammashape.m_peak;
19 m_e = gammashape.m_e;
20 m_de = gammashape.m_de;
21 m_dphi = gammashape.m_dphi;
22 m_dtheta = gammashape.m_dtheta;
23}

◆ GammaShape() [3/12]

GammaShape::GammaShape ( const double eorigin,
const double epeak )

Definition at line 36 of file GammaShape.cxx.

36 {
37 m_tail = tail( peak );
38 m_width = width( peak );
39 m_peak = peak;
40 m_e = eorigin;
41 m_de = de( eorigin, peak );
42 m_dphi = 0;
43 m_dtheta = 0;
44}
double tail(const double epeak)
double width(const double epeak)
double peak(const double fitvalue)
double de(const double eorigin, const double peak)

◆ GammaShape() [4/12]

GammaShape::GammaShape ( const HepLorentzVector p4,
const double dphi,
const double dthe,
const double de )

Definition at line 46 of file GammaShape.cxx.

47 {
48 m_tail = 0;
49 m_width = 0;
50 m_peak = 0;
51 m_e = 0;
52 m_de = 0;
53 m_dphi = dphi;
54 m_dtheta = dthe;
55}

◆ GammaShape() [5/12]

GammaShape::GammaShape ( )

◆ ~GammaShape() [2/3]

GammaShape::~GammaShape ( )
inline

◆ GammaShape() [6/12]

GammaShape::GammaShape ( const GammaShape & )

◆ GammaShape() [7/12]

GammaShape::GammaShape ( const double eorigin,
const double epeak )

◆ GammaShape() [8/12]

GammaShape::GammaShape ( const HepLorentzVector p4,
const double dphi,
const double dthe,
const double de )

◆ GammaShape() [9/12]

GammaShape::GammaShape ( )

◆ ~GammaShape() [3/3]

GammaShape::~GammaShape ( )
inline

◆ GammaShape() [10/12]

GammaShape::GammaShape ( const GammaShape & )

◆ GammaShape() [11/12]

GammaShape::GammaShape ( const double eorigin,
const double epeak )

◆ GammaShape() [12/12]

GammaShape::GammaShape ( const HepLorentzVector p4,
const double dphi,
const double dthe,
const double de )

Member Function Documentation

◆ de() [1/3]

double GammaShape::de ( const double eorigin,
const double peak )

Definition at line 90 of file GammaShape.cxx.

90 {
91 double f1;
92 double tail1 = tail( peak );
93 double width1 = width( peak );
94 double mean1 = mean( peak );
95 double qa = tail1 * sqrt( log( 4. ) );
96 double qb = sinh( qa ) / qa;
97 double qx = ( eorigin - peak ) / width1 * qb * tail1;
98 // cout<<"qx ="<<qx<<endl;
99 // f1 = (eorigin-peak)/fitm(eorigin,peak, width1, tail1);
100
101 if ( fabs( qx ) > 0.001 )
102 {
103 f1 = ( eorigin - peak ) / fitm( eorigin, peak, width1, tail1, mean1 );
104 // cout<<"dynamic"<<endl;
105 }
106 else
107 {
108 // f1=width1/qb;
109 f1 = width1 / ( qb * tail1 );
110 // cout<<"gaus"<<endl;
111 }
112
113 // else f1 = 0;
114 // return f1*eorigin;
115 return f1;
116}
TFile * f1
double fitm(double x, double pk, double width, double tail, double mean)
double mean(const double epeak)

Referenced by GammaShape(), GammaShape(), and setde().

◆ de() [2/3]

double GammaShape::de ( const double eorigin,
const double peak )

◆ de() [3/3]

double GammaShape::de ( const double eorigin,
const double peak )

◆ fitm() [1/3]

double GammaShape::fitm ( double x,
double pk,
double width,
double tail,
double mean )

Definition at line 120 of file GammaShape.cxx.

120 {
121
122 double qa = tail * sqrt( log( 4. ) );
123 double qb = sinh( qa ) / qa;
124 double qx = ( ( x - pk ) / pk ) / width * qb;
125 double qy = 1 + tail * qx;
126 double qc;
127 if ( qy < 1.e-7 ) qc = 15;
128 else qc = log( qy ) / tail;
129 double val = qc;
130 return val - mean;
131}
Double_t x[10]

Referenced by de().

◆ fitm() [2/3]

double GammaShape::fitm ( double x,
double pk,
double width,
double tail,
double mean )

◆ fitm() [3/3]

double GammaShape::fitm ( double x,
double pk,
double width,
double tail,
double mean )

◆ getde() [1/3]

double GammaShape::getde ( ) const
inline

Definition at line 58 of file Analysis/VertexFit/include/VertexFit/GammaShape.h.

58{ return m_de; }

◆ getde() [2/3]

double GammaShape::getde ( ) const
inline

Definition at line 58 of file InstallArea/x86_64-el9-gcc13-dbg/include/VertexFit/GammaShape.h.

58{ return m_de; }

◆ getde() [3/3]

double GammaShape::getde ( ) const
inline

Definition at line 58 of file InstallArea/x86_64-el9-gcc13-opt/include/VertexFit/GammaShape.h.

58{ return m_de; }

◆ getdphi() [1/3]

double GammaShape::getdphi ( ) const
inline

Definition at line 59 of file Analysis/VertexFit/include/VertexFit/GammaShape.h.

59{ return m_dphi; }

◆ getdphi() [2/3]

double GammaShape::getdphi ( ) const
inline

Definition at line 59 of file InstallArea/x86_64-el9-gcc13-dbg/include/VertexFit/GammaShape.h.

59{ return m_dphi; }

◆ getdphi() [3/3]

double GammaShape::getdphi ( ) const
inline

Definition at line 59 of file InstallArea/x86_64-el9-gcc13-opt/include/VertexFit/GammaShape.h.

59{ return m_dphi; }

◆ getdthe() [1/3]

double GammaShape::getdthe ( ) const
inline

Definition at line 60 of file Analysis/VertexFit/include/VertexFit/GammaShape.h.

60{ return m_dtheta; }

◆ getdthe() [2/3]

double GammaShape::getdthe ( ) const
inline

Definition at line 60 of file InstallArea/x86_64-el9-gcc13-dbg/include/VertexFit/GammaShape.h.

60{ return m_dtheta; }

◆ getdthe() [3/3]

double GammaShape::getdthe ( ) const
inline

Definition at line 60 of file InstallArea/x86_64-el9-gcc13-opt/include/VertexFit/GammaShape.h.

60{ return m_dtheta; }

◆ gete() [1/3]

double GammaShape::gete ( ) const
inline

Definition at line 57 of file Analysis/VertexFit/include/VertexFit/GammaShape.h.

57{ return m_e; }

◆ gete() [2/3]

double GammaShape::gete ( ) const
inline

Definition at line 57 of file InstallArea/x86_64-el9-gcc13-dbg/include/VertexFit/GammaShape.h.

57{ return m_e; }

◆ gete() [3/3]

double GammaShape::gete ( ) const
inline

Definition at line 57 of file InstallArea/x86_64-el9-gcc13-opt/include/VertexFit/GammaShape.h.

57{ return m_e; }

◆ getpeak() [1/3]

double GammaShape::getpeak ( ) const
inline

Definition at line 56 of file Analysis/VertexFit/include/VertexFit/GammaShape.h.

56{ return m_peak; }

◆ getpeak() [2/3]

double GammaShape::getpeak ( ) const
inline

Definition at line 56 of file InstallArea/x86_64-el9-gcc13-dbg/include/VertexFit/GammaShape.h.

56{ return m_peak; }

◆ getpeak() [3/3]

double GammaShape::getpeak ( ) const
inline

Definition at line 56 of file InstallArea/x86_64-el9-gcc13-opt/include/VertexFit/GammaShape.h.

56{ return m_peak; }

◆ gettail() [1/3]

double GammaShape::gettail ( ) const
inline

Definition at line 54 of file Analysis/VertexFit/include/VertexFit/GammaShape.h.

54{ return m_tail; }

◆ gettail() [2/3]

double GammaShape::gettail ( ) const
inline

Definition at line 54 of file InstallArea/x86_64-el9-gcc13-dbg/include/VertexFit/GammaShape.h.

54{ return m_tail; }

◆ gettail() [3/3]

double GammaShape::gettail ( ) const
inline

Definition at line 54 of file InstallArea/x86_64-el9-gcc13-opt/include/VertexFit/GammaShape.h.

54{ return m_tail; }

◆ getwidth() [1/3]

double GammaShape::getwidth ( ) const
inline

Definition at line 55 of file Analysis/VertexFit/include/VertexFit/GammaShape.h.

55{ return m_width; }

◆ getwidth() [2/3]

double GammaShape::getwidth ( ) const
inline

Definition at line 55 of file InstallArea/x86_64-el9-gcc13-dbg/include/VertexFit/GammaShape.h.

55{ return m_width; }

◆ getwidth() [3/3]

double GammaShape::getwidth ( ) const
inline

Definition at line 55 of file InstallArea/x86_64-el9-gcc13-opt/include/VertexFit/GammaShape.h.

55{ return m_width; }

◆ mean() [1/3]

double GammaShape::mean ( const double epeak)

Definition at line 86 of file GammaShape.cxx.

86 {
87 return -0.7984 + 0.7759 * peak - 0.6356 * peak * peak + 0.1476 * peak * peak * peak;
88}

Referenced by de(), fitm(), and peak().

◆ mean() [2/3]

double GammaShape::mean ( const double epeak)

◆ mean() [3/3]

double GammaShape::mean ( const double epeak)

◆ operator=() [1/3]

GammaShape & GammaShape::operator= ( const GammaShape & gammashape)

Definition at line 25 of file GammaShape.cxx.

25 {
26 m_tail = gammashape.m_tail;
27 m_width = gammashape.m_width;
28 m_peak = gammashape.m_peak;
29 m_e = gammashape.m_e;
30 m_de = gammashape.m_de;
31 m_dphi = gammashape.m_dphi;
32 m_dtheta = gammashape.m_dtheta;
33 return ( *this );
34}

◆ operator=() [2/3]

GammaShape & GammaShape::operator= ( const GammaShape & )

◆ operator=() [3/3]

GammaShape & GammaShape::operator= ( const GammaShape & )

◆ peak() [1/3]

double GammaShape::peak ( const double fitvalue)

◆ peak() [2/3]

double GammaShape::peak ( const double fitvalue)

◆ peak() [3/3]

double GammaShape::peak ( const double fitvalue)

◆ setde() [1/3]

void GammaShape::setde ( const double de)
inline

Definition at line 49 of file Analysis/VertexFit/include/VertexFit/GammaShape.h.

49{ m_de = de; }

◆ setde() [2/3]

void GammaShape::setde ( const double de)
inline

Definition at line 49 of file InstallArea/x86_64-el9-gcc13-dbg/include/VertexFit/GammaShape.h.

49{ m_de = de; }

◆ setde() [3/3]

void GammaShape::setde ( const double de)
inline

Definition at line 49 of file InstallArea/x86_64-el9-gcc13-opt/include/VertexFit/GammaShape.h.

49{ m_de = de; }

◆ setdphi() [1/3]

void GammaShape::setdphi ( const double dphi)
inline

Definition at line 50 of file Analysis/VertexFit/include/VertexFit/GammaShape.h.

50{ m_dphi = dphi; }

◆ setdphi() [2/3]

void GammaShape::setdphi ( const double dphi)
inline

Definition at line 50 of file InstallArea/x86_64-el9-gcc13-dbg/include/VertexFit/GammaShape.h.

50{ m_dphi = dphi; }

◆ setdphi() [3/3]

void GammaShape::setdphi ( const double dphi)
inline

Definition at line 50 of file InstallArea/x86_64-el9-gcc13-opt/include/VertexFit/GammaShape.h.

50{ m_dphi = dphi; }

◆ setdtheta() [1/3]

void GammaShape::setdtheta ( const double dtheta)
inline

Definition at line 51 of file Analysis/VertexFit/include/VertexFit/GammaShape.h.

51{ m_dtheta = dtheta; }

◆ setdtheta() [2/3]

void GammaShape::setdtheta ( const double dtheta)
inline

Definition at line 51 of file InstallArea/x86_64-el9-gcc13-dbg/include/VertexFit/GammaShape.h.

51{ m_dtheta = dtheta; }

◆ setdtheta() [3/3]

void GammaShape::setdtheta ( const double dtheta)
inline

Definition at line 51 of file InstallArea/x86_64-el9-gcc13-opt/include/VertexFit/GammaShape.h.

51{ m_dtheta = dtheta; }

◆ sete() [1/3]

void GammaShape::sete ( const double e)
inline

Definition at line 48 of file Analysis/VertexFit/include/VertexFit/GammaShape.h.

48{ m_e = e; }

◆ sete() [2/3]

void GammaShape::sete ( const double e)
inline

Definition at line 48 of file InstallArea/x86_64-el9-gcc13-dbg/include/VertexFit/GammaShape.h.

48{ m_e = e; }

◆ sete() [3/3]

void GammaShape::sete ( const double e)
inline

Definition at line 48 of file InstallArea/x86_64-el9-gcc13-opt/include/VertexFit/GammaShape.h.

48{ m_e = e; }

◆ setpeak() [1/3]

void GammaShape::setpeak ( const double peak)
inline

Definition at line 47 of file Analysis/VertexFit/include/VertexFit/GammaShape.h.

47{ m_peak = peak; }

◆ setpeak() [2/3]

void GammaShape::setpeak ( const double peak)
inline

Definition at line 47 of file InstallArea/x86_64-el9-gcc13-dbg/include/VertexFit/GammaShape.h.

47{ m_peak = peak; }

◆ setpeak() [3/3]

void GammaShape::setpeak ( const double peak)
inline

Definition at line 47 of file InstallArea/x86_64-el9-gcc13-opt/include/VertexFit/GammaShape.h.

47{ m_peak = peak; }

◆ settail() [1/3]

void GammaShape::settail ( const double tail)
inline

Definition at line 45 of file Analysis/VertexFit/include/VertexFit/GammaShape.h.

45{ m_tail = tail; }

◆ settail() [2/3]

void GammaShape::settail ( const double tail)
inline

Definition at line 45 of file InstallArea/x86_64-el9-gcc13-dbg/include/VertexFit/GammaShape.h.

45{ m_tail = tail; }

◆ settail() [3/3]

void GammaShape::settail ( const double tail)
inline

Definition at line 45 of file InstallArea/x86_64-el9-gcc13-opt/include/VertexFit/GammaShape.h.

45{ m_tail = tail; }

◆ setwidth() [1/3]

void GammaShape::setwidth ( const double width)
inline

Definition at line 46 of file Analysis/VertexFit/include/VertexFit/GammaShape.h.

46{ m_width = width; }

◆ setwidth() [2/3]

void GammaShape::setwidth ( const double width)
inline

Definition at line 46 of file InstallArea/x86_64-el9-gcc13-dbg/include/VertexFit/GammaShape.h.

46{ m_width = width; }

◆ setwidth() [3/3]

void GammaShape::setwidth ( const double width)
inline

Definition at line 46 of file InstallArea/x86_64-el9-gcc13-opt/include/VertexFit/GammaShape.h.

46{ m_width = width; }

◆ tail() [1/3]

double GammaShape::tail ( const double epeak)

Definition at line 78 of file GammaShape.cxx.

78 {
79 return -0.7931 + 0.8026 * peak - 0.6694 * peak * peak + 0.1476 * peak * peak * peak;
80}

Referenced by de(), fitm(), GammaShape(), peak(), and settail().

◆ tail() [2/3]

double GammaShape::tail ( const double epeak)

◆ tail() [3/3]

double GammaShape::tail ( const double epeak)

◆ width() [1/3]

double GammaShape::width ( const double epeak)

Definition at line 82 of file GammaShape.cxx.

82 {
83 return 0.002496 / sqrt( peak ) + 0.01861 + 0.0001788 * peak;
84}

Referenced by de(), fitm(), GammaShape(), peak(), and setwidth().

◆ width() [2/3]

double GammaShape::width ( const double epeak)

◆ width() [3/3]

double GammaShape::width ( const double epeak)

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