MINT2
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
CrystalBarrelFOCUS Class Reference

#include <CrystalBarrelFOCUS.h>

Inheritance diagram for CrystalBarrelFOCUS:
BW_BW ILineshape ILineshape MINT::FitParDependent MINT::IFitParDependent MINT::IFitParDependent MINT::IFitParRegister MINT::PolymorphVector< FitParRef > MINT::IFitParDependent

Public Member Functions

 CrystalBarrelFOCUS (const AssociatedDecayTree &decay)
 
 CrystalBarrelFOCUS (const CrystalBarrelFOCUS &other)
 
virtual ~CrystalBarrelFOCUS ()
 
virtual std::complex< double > getVal (IDalitzEvent &evt)
 
virtual void print (std::ostream &out=std::cout) const
 
virtual void print (IDalitzEvent &evt, std::ostream &out=std::cout)
 
virtual std::string name () const
 
- Public Member Functions inherited from BW_BW
virtual double prSq () const
 
virtual double prSqForGofM () const
 
virtual double pABSq ()
 
virtual double prSqMax () const
 
 BW_BW (const AssociatedDecayTree &decay, const std::string &lineshapePrefix="", MINT::MinuitParameterSet *mps=0)
 
 BW_BW (const BW_BW &other)
 
virtual ~BW_BW ()
 
virtual DalitzCoordinate getDalitzCoordinate (double nSigma=3) const
 
virtual MINT::counted_ptr< IGenFctgeneratingFunction () const
 
virtual void setGenerationLimits (double mi, double ma)
 
virtual int twoLPlusOne () const
 
virtual std::complex< double > EvtGenValue (IDalitzEvent &evt)
 
- Public Member Functions inherited from ILineshape
virtual ~ILineshape ()
 
- Public Member Functions inherited from MINT::FitParDependent
virtual unsigned int size () const
 
virtual const FitParRefoperator[] (unsigned int i) const
 
virtual FitParRefoperator[] (unsigned int i)
 
virtual bool changedSinceLastCall () const
 
virtual void rememberFitParValues ()
 
virtual bool registerFitParDependence (const IFitParDependent &fpd)
 
bool registerFitParDependence (const FitParRef &fpr)
 
void removeAllFitParDependencies ()
 
 FitParDependent (IFitParRegister *daddy=0)
 
 FitParDependent (const FitParDependent &other, IFitParRegister *newDaddy=0)
 
void listFitParDependencies (std::ostream &os=std::cout) const
 
- Public Member Functions inherited from MINT::PolymorphVector< FitParRef >
 PolymorphVector ()
 
 PolymorphVector (unsigned int N)
 
 PolymorphVector (unsigned int N, const FitParRef &c)
 
 PolymorphVector (const PolymorphVector &other)
 
 PolymorphVector (const typename std::vector< FitParRef > &other)
 
virtual ~PolymorphVector ()
 
std::vector< FitParRef > & theVector ()
 
const std::vector< FitParRef > & theVector () const
 
FitParRefoperator[] (unsigned int i)
 
const FitParRefoperator[] (unsigned int i) const
 
FitParRefat (unsigned int i)
 
const FitParRefat (unsigned int i) const
 
std::vector< FitParRef >::iterator begin ()
 
std::vector< FitParRef >::const_iterator begin () const
 
std::vector< FitParRef >::iterator end ()
 
std::vector< FitParRef >::const_iterator end () const
 
std::vector< FitParRef >::iterator find (const FitParRef &c)
 
std::vector< FitParRef >::const_iterator find (const FitParRef &c) const
 
FitParReffront ()
 
const FitParReffront () const
 
FitParRefback ()
 
const FitParRefback () const
 
unsigned int size () const
 
bool empty () const
 
void push_back (const FitParRef &c)
 
void pop_back ()
 
void erase (typename std::vector< FitParRef >::iterator pos)
 
void erase (typename std::vector< FitParRef >::iterator first, typename std::vector< FitParRef >::iterator last)
 
PolymorphVector< FitParRef > & operator= (const PolymorphVector< FitParRef > &other)
 
void clear ()
 
void resize (unsigned int N)
 
void resize (unsigned int N, const FitParRef &c)
 
 operator const typename std::vector< FitParRef > & () const
 
 operator typename std::vector< FitParRef > & ()
 
bool operator== (const MINT::PolymorphVector< FitParRef > &v2) const
 
bool operator!= (const MINT::PolymorphVector< FitParRef > &v2) const
 
bool operator< (const MINT::PolymorphVector< FitParRef > &v2) const
 
bool operator> (const MINT::PolymorphVector< FitParRef > &v2) const
 

Protected Member Functions

std::complex< double > AlbertosFunction (double sij)
 
double mRho () const
 
double GammaRhoFixed () const
 
double mOmega () const
 
double GammaOmegaFixed () const
 
std::complex< double > BW (double s, double m_w, double gamma) const
 
- Protected Member Functions inherited from BW_BW
const MINT::MinuitParameterSetgetMinuitParameterSet () const
 
MINT::MinuitParameterSetgetMinuitParameterSet ()
 
const std::string & prefix () const
 
bool substitutePDGForReco () const
 
virtual double twoBody_dgtPsq_in_MumsFrame (double mumsMass, double mA, double mB) const
 
virtual double twoBody_dgtPsq_in_MumsPDGFrame () const
 
virtual double twoBody_recodgtPsq_in_MumsPDGFrame () const
 
virtual double twoBody_dgtPsq_in_MumsRecoFrame ()
 
bool setEventPtr (IDalitzEvent &evt) const
 
IDalitzEventgetEvent () const
 
bool setAllFitParameters ()
 
ResonancePropertiesListresonancePropertiesList () const
 
const ResonancePropertiesresonanceProperties () const
 
virtual const ParticlePropertiesmumsProperties () const
 
virtual ResonancePropertiesFitRefmumsFittableProperties () const
 
virtual int mumsPID () const
 
virtual double mumsMass () const
 
virtual double mumsWidth () const
 
virtual double mumsRadius () const
 
virtual double globalRadius () const
 
virtual double Radius () const
 
double GetAlpha () const
 
virtual int lowestPossibleTwoLPlusOne () const
 
virtual int maxDaughterSpinSum () const
 
virtual int minDaughterSpinSum () const
 
virtual int minDaughterSpinSum2 () const
 
virtual int minDaughterSpinSum3 () const
 
virtual int minDaughterSpinSum4 () const
 
virtual int maxDaughterPairSpinSum (int i, int j) const
 
virtual int minDaughterPairSpinSum (int i, int j) const
 
virtual std::string mumsSpin () const
 
virtual int mumsSpinValue () const
 
virtual int mumsParity () const
 
virtual bool startOfDecayChain () const
 
virtual bool parityConservingL (int L) const
 
virtual double mumsRecoMass2 () const
 
virtual double mumsRecoMass () const
 
virtual MultiQuarkContent mumsQuarkContent () const
 
bool nonResonant () const
 
virtual int numDaughters () const
 
virtual TLorentzVector daughterP4 (int i) const
 
virtual double daughterPDGMass (const int &i) const
 
virtual double daughterWidth (int i) const
 
virtual double daughterRecoMass2 (int i) const
 
virtual double daughterRecoMass (int i) const
 
virtual std::string daughterSpin (int i) const
 
virtual int daughterSpinValue (int i) const
 
virtual MultiQuarkContent daughterQuarkContent (int i) const
 
virtual int daughterP (int i) const
 
virtual int dgtrsInternalParity () const
 
virtual MultiQuarkContent dgtrsQuarkContent () const
 
virtual bool isWeakDecay () const
 
virtual double Fr_PDG_BL ()
 
virtual double Fr_BELLE (double prSquared)
 
virtual double Fr_BELLE_Max ()
 
virtual double Fr ()
 
virtual double FrForGofM ()
 
virtual double FrMax ()
 
virtual double GofM ()
 
virtual std::complex< double > BreitWigner ()
 
virtual void resetInternals ()
 
virtual void resetPDG ()
 

Protected Attributes

double _mRho
 
double _GRho
 
double _mOmega
 
double _GOmega
 
- Protected Attributes inherited from BW_BW
MINT::MinuitParameterSet_mps
 
std::string _prefix
 
MINT::NamedParameter< int > _normBF
 
bool _useGlobalRadius
 
const AssociatedDecayTree_theDecay
 
double _gen_s_mi
 
double _gen_s_ma
 
ResonancePropertiesList_RPL
 
ResonancePropertiesFitRef_fittableResonancePropertiesPtr
 
MINT::FitParRef_fittableGlobalRadiusPtr
 
- Protected Attributes inherited from MINT::PolymorphVector< FitParRef >
std::vector< FitParRef_vec
 

Detailed Description

Definition at line 19 of file CrystalBarrelFOCUS.h.

Constructor & Destructor Documentation

◆ CrystalBarrelFOCUS() [1/2]

CrystalBarrelFOCUS::CrystalBarrelFOCUS ( const AssociatedDecayTree decay)

Definition at line 11 of file CrystalBarrelFOCUS.cpp.

12  : BW_BW(decay)
13  , _mRho(-9999.0)
14  , _GRho(-9999.0)
15  , _mOmega(-9999.0)
16  , _GOmega(-9999.0)
17 {
18 }
BW_BW(const AssociatedDecayTree &decay, const std::string &lineshapePrefix="", MINT::MinuitParameterSet *mps=0)
Definition: BW_BW.cpp:26

◆ CrystalBarrelFOCUS() [2/2]

CrystalBarrelFOCUS::CrystalBarrelFOCUS ( const CrystalBarrelFOCUS other)

Definition at line 19 of file CrystalBarrelFOCUS.cpp.

20  : ILineshape()
21  , BW_BW(other)
22  , _mRho(other._mRho)
23  , _GRho(other._GRho)
24  , _mOmega(other._mOmega)
25  , _GOmega(other._GOmega)
26 {}
BW_BW(const AssociatedDecayTree &decay, const std::string &lineshapePrefix="", MINT::MinuitParameterSet *mps=0)
Definition: BW_BW.cpp:26

◆ ~CrystalBarrelFOCUS()

CrystalBarrelFOCUS::~CrystalBarrelFOCUS ( )
virtual

Definition at line 148 of file CrystalBarrelFOCUS.cpp.

148  {
149 
150 }

Member Function Documentation

◆ AlbertosFunction()

std::complex< double > CrystalBarrelFOCUS::AlbertosFunction ( double  sij)
protected

Definition at line 53 of file CrystalBarrelFOCUS.cpp.

53  {
54  bool dbThis=false;
55 
56  double gamma, gamma_r, gamma_w, rho, rho0, pstr, pstr0, pstrD;
57  double fr, fr0, fD, mD /*, s*/, m, spipi, mKK, m_r, m_w, mpi;
58  double alpha, beta, epsilon, delta /*, D1*/;
59  complex<double> bwr, bww;
60 
61  spipi = spipi_in/(GeV*GeV);// I use MeV, Alberto GeV
62 
63  m_w = 0.782;
64  gamma_w = 0.00840;
65  mpi = 0.139569950;
66  alpha = 1.750;
67  beta = 0.090;
68  delta = 0.00250;
69  epsilon = 1.140;
70  //epsilon = -10;
71 
72  m = sqrt(spipi);
73  mKK = 0.987340;
74  mD = 1.90;
75  m_r = mRho()/GeV;//m_rho;
76  gamma_r = GammaRhoFixed()/GeV;//w_rho;
77 
78  double arg = m*m - 4.0*mpi*mpi;
79  if(arg < 0) return 0;
80  pstr = sqrt (arg) / 2.0;
81  pstr0 = sqrt (m_r*m_r - 4.0 * mpi*mpi) / 2.0;
82  double arg2 = (mD*mD - (m + mKK)*(m + mKK)) *
83  (mD*mD - (m - mKK)*(m - mKK) );
84  if(arg2 < 0) return 0;
85 
86  pstrD = 1.0 / (2.0 * mD) * sqrt(arg2);
87 
88  double arg3 = 1.0 - 4.* mpi*mpi / m*m;
89  if(arg3 < 0) return 0;
90  rho = sqrt (arg3);
91  rho0 = sqrt (1.0 - 4.* mpi*mpi / m_r*m_r);
92 
93  fD = sqrt (pstrD/0.20) * sqrt (2.0/( pow(pstrD/0.20,2)+1.0));
94  fr = sqrt (pstr/0.20) * sqrt (2.0/( pow(pstr/0.20,2) +1.0));
95  fr0 = sqrt (pstr0/0.20) * sqrt (2.0/( pow(pstr0/0.20,2)+1.0));
96 
97  gamma = gamma_r * (rho/rho0) * (fr/fr0)*(fr/fr0);
98  bwr = fD * m_r * (gamma_r / rho0) * BW (m*m, m_r, gamma);
99  bwr = bwr * (fr/fr0);
100 
101  rho0 = sqrt (1.0 - 4.* mpi*mpi / m_w*m_w);
102  pstr0 = sqrt (m_w*m_w - 4.0 * mpi*mpi) / 2.0;
103 
104  fr0 = sqrt (pstr0/0.20) * sqrt (2.0/( pow(pstr0/0.20, 2)+1.0));
105 
106  gamma = gamma_w * (rho/rho0) * (fr/fr0)*(fr/fr0);
107  bww = fD * m_w * (gamma_w / rho0) * BW (m*m,m_w,gamma);
108  bww = bww * (fr/fr0);
109 
110  complex<double> cmplx_i(0,1);
111  complex<double> expIPhase(cos(beta + alpha), sin(beta + alpha));
112  complex<double> BWrho = sqrt (pstrD * pstr) *
113  (bwr + bww * epsilon * expIPhase *
114  delta * (m_r + m_w) / (m_w*m_w - m_r*m_r - cmplx_i *
115  (m_w * gamma_w - m_r * gamma_r)));
116 
117 
118  if(dbThis){
119  cout << "returning BWrho = " << BWrho
120  << " for spipi = " << spipi << endl;
121  }
122  return BWrho;
123 
124 }
std::complex< double > BW(double s, double m_w, double gamma) const
double GammaRhoFixed() const
static const double m
static const double GeV

◆ BW()

std::complex< double > CrystalBarrelFOCUS::BW ( double  s,
double  m_w,
double  gamma 
) const
protected

Definition at line 48 of file CrystalBarrelFOCUS.cpp.

48  {
49  std::complex<double> invBW(m_w*m_w - s, -m_w * gamma);
50  return -1.0/invBW;
51  //return m_w * gamma / invBW;
52 }
static const double s

◆ GammaOmegaFixed()

double CrystalBarrelFOCUS::GammaOmegaFixed ( ) const
protected

Definition at line 43 of file CrystalBarrelFOCUS.cpp.

43  {
45  return _GOmega;
46 }
static double width(const std::string &name)

◆ GammaRhoFixed()

double CrystalBarrelFOCUS::GammaRhoFixed ( ) const
protected

Definition at line 33 of file CrystalBarrelFOCUS.cpp.

33  {
35  return _GRho;
36 }
static double width(const std::string &name)

◆ getVal()

std::complex< double > CrystalBarrelFOCUS::getVal ( IDalitzEvent evt)
virtual

Reimplemented from BW_BW.

Definition at line 126 of file CrystalBarrelFOCUS.cpp.

126  {
127  resetInternals();
128  setEventPtr(evt);
129  std::complex<double> returnVal = AlbertosFunction(mumsRecoMass2());
130  return returnVal;
131 }
virtual void resetInternals()
Definition: BW_BW.cpp:1114
std::complex< double > AlbertosFunction(double sij)
bool setEventPtr(IDalitzEvent &evt) const
Definition: BW_BW.cpp:141
virtual double mumsRecoMass2() const
Definition: BW_BW.cpp:548

◆ mOmega()

double CrystalBarrelFOCUS::mOmega ( ) const
protected

Definition at line 38 of file CrystalBarrelFOCUS.cpp.

38  {
40  return _mOmega;
41 }
static double mass(const std::string &name)

◆ mRho()

double CrystalBarrelFOCUS::mRho ( ) const
protected

Definition at line 28 of file CrystalBarrelFOCUS.cpp.

28  {
30  return _mRho;
31 }
static double mass(const std::string &name)

◆ name()

virtual std::string CrystalBarrelFOCUS::name ( ) const
inlinevirtual

Reimplemented from BW_BW.

Definition at line 41 of file CrystalBarrelFOCUS.h.

41  {
42  return "CrystalBarrel_ala_FOCUS("+_theDecay.oneLiner() +")";
43  }
const AssociatedDecayTree & _theDecay
Definition: BW_BW.h:69
void oneLiner(std::stringstream &seam, int generation=0) const
Definition: DDTree.h:375

◆ print() [1/2]

void CrystalBarrelFOCUS::print ( std::ostream &  out = std::cout) const
virtual

Reimplemented from BW_BW.

Definition at line 133 of file CrystalBarrelFOCUS.cpp.

133  {
134  out << name();
135 }
virtual std::string name() const

◆ print() [2/2]

void CrystalBarrelFOCUS::print ( IDalitzEvent evt,
std::ostream &  out = std::cout 
)
virtual

Reimplemented from BW_BW.

Definition at line 137 of file CrystalBarrelFOCUS.cpp.

137  {
138  out << name();
139  BW_BW::print(evt, out);
140 }
virtual void print(IDalitzEvent &evt, std::ostream &out=std::cout)
Definition: BW_BW.cpp:1287
virtual std::string name() const

Member Data Documentation

◆ _GOmega

double CrystalBarrelFOCUS::_GOmega
mutableprotected

Definition at line 21 of file CrystalBarrelFOCUS.h.

◆ _GRho

double CrystalBarrelFOCUS::_GRho
mutableprotected

Definition at line 21 of file CrystalBarrelFOCUS.h.

◆ _mOmega

double CrystalBarrelFOCUS::_mOmega
mutableprotected

Definition at line 21 of file CrystalBarrelFOCUS.h.

◆ _mRho

double CrystalBarrelFOCUS::_mRho
mutableprotected

Definition at line 21 of file CrystalBarrelFOCUS.h.


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