laura is hosted by Hepforge, IPPP Durham
Laura++  v2r2
A maximum likelihood fitting package for performing Dalitz-plot analysis.

Class for defining a complex coefficient using the Belle CP convention. Holds a set of real values that define the complex coefficient of an amplitude component. More...

#include <LauBelleCPCoeffSet.hh>

Inheritance diagram for LauBelleCPCoeffSet:
LauAbsCoeffSet

Public Member Functions

 LauBelleCPCoeffSet (const TString &compName, Double_t a, Double_t delta, Double_t b, Double_t phi, Bool_t aFixed, Bool_t deltaFixed, Bool_t bFixed, Bool_t phiFixed, Bool_t bSecondStage=kFALSE, Bool_t phiSecondStage=kFALSE)
 Constructor. More...
 
virtual ~LauBelleCPCoeffSet ()
 Destructor. More...
 
virtual std::vector
< LauParameter * > 
getParameters ()
 Retrieve the parameters of the coefficient, e.g. so that they can be loaded into a fit. More...
 
virtual void printParValues () const
 Print the current values of the parameters. More...
 
virtual void printTableHeading (std::ostream &stream) const
 Print the column headings for a results table. More...
 
virtual void printTableRow (std::ostream &stream) const
 Print the parameters of the complex coefficient as a row in the results table. More...
 
virtual void randomiseInitValues ()
 Randomise the starting values of the parameters for a fit. More...
 
virtual void finaliseValues ()
 Make sure values are in "standard" ranges, e.g. phases should be between -pi and pi. More...
 
virtual const LauComplexparticleCoeff ()
 Retrieve the complex coefficient for a particle. More...
 
virtual const LauComplexantiparticleCoeff ()
 Retrieve the complex coefficient for an antiparticle. More...
 
virtual void setCoeffValues (const LauComplex &coeff, const LauComplex &coeffBar, Bool_t init)
 Set the parameters based on the complex coefficients for particles and antiparticles. More...
 
virtual LauParameter acp ()
 Calculate the CP asymmetry. More...
 
virtual LauAbsCoeffSetcreateClone (const TString &newName, CloneOption cloneOption=All, Double_t constFactor=1.0)
 Create a clone of the coefficient set. More...
 
- Public Member Functions inherited from LauAbsCoeffSet
virtual ~LauAbsCoeffSet ()
 Destructor. More...
 
virtual TString name () const
 Retrieve the name of the coefficient set. More...
 
virtual void name (const TString &theName)
 Set the name of the coefficient set. More...
 
virtual const TString & baseName () const
 Retrieve the base name of the coefficient set. More...
 
virtual void baseName (const TString &theBasename)
 Set the base name of the coefficient set. More...
 
virtual UInt_t index () const
 Retrieve the index number of the coefficient set. More...
 
virtual void index (UInt_t newIndex)
 Set the index number of the coefficient set. More...
 
virtual void setParameterValue (const TString &parName, Double_t value, Bool_t init)
 Set the value of the named parameter. More...
 
virtual void fixParameter (const TString &parName)
 Set the named parameter to be fixed in the fit. More...
 
virtual void floatParameter (const TString &parName)
 Set the named parameter to float in the fit. More...
 

Private Member Functions

 LauBelleCPCoeffSet (const LauBelleCPCoeffSet &rhs, CloneOption cloneOption=All, Double_t constFactor=1.0)
 Copy constructor. More...
 
LauBelleCPCoeffSetoperator= (const LauBelleCPCoeffSet &rhs)
 Copy assignment operator (not implemented) More...
 

Private Attributes

LauParametera_
 The magnitude a. More...
 
LauParameterb_
 The magnitude b. More...
 
LauParameterdelta_
 The strong phase. More...
 
LauParameterphi_
 The weak phase. More...
 
LauComplex particleCoeff_
 The particle complex coefficient. More...
 
LauComplex antiparticleCoeff_
 The antiparticle complex coefficient. More...
 
LauParameter acp_
 The CP asymmetry. More...
 

Additional Inherited Members

- Public Types inherited from LauAbsCoeffSet
enum  CloneOption {
  All, TiePhase, TieMagnitude, TieRealPart,
  TieImagPart, TieCPPars
}
 Options for cloning operation. More...
 
- Static Public Member Functions inherited from LauAbsCoeffSet
static void setMagnitudeRange (Double_t minMag, Double_t maxMag)
 Set the allowed range for magnitude parameters. More...
 
static void setPhaseRange (Double_t minPhase, Double_t maxPhase)
 Set the allowed range for phase parameters. More...
 
static void setRealImagRange (Double_t minPar, Double_t maxPar)
 Set the allowed range for real/imaginary part parameters. More...
 
static void setCPParRange (Double_t minPar, Double_t maxPar)
 Set the allowed range for CP-violating parameters. More...
 
- Protected Member Functions inherited from LauAbsCoeffSet
 LauAbsCoeffSet (const TString &theName, const TString &theBaseName="A")
 Constructor. More...
 
LauParameterfindParameter (const TString &parName)
 Find the parameter with the given name. More...
 
void adjustName (LauParameter *par)
 Prepend the base name and index to the name of a parameter. More...
 
- Static Protected Attributes inherited from LauAbsCoeffSet
static Double_t minMagnitude_ = -10.0
 Minimum allowed value of magnitude parameters. More...
 
static Double_t maxMagnitude_ = 10.0
 Maximum allowed value of magnitude parameters. More...
 
static Double_t minPhase_ = -LauConstants::threePi
 Minimum allowed value of phase parameters. More...
 
static Double_t maxPhase_ = LauConstants::threePi
 Maximum allowed value of phase parameters. More...
 
static Double_t minRealImagPart_ = -10.0
 Minimum allowed value of real/imaginary part parameters. More...
 
static Double_t maxRealImagPart_ = 10.0
 Maximum allowed value of real/imaginary part parameters. More...
 
static Double_t minDelta_ = -2.0
 Minimum allowed value of CP-violating real/imaginary part parameters. More...
 
static Double_t maxDelta_ = 2.0
 Maximum allowed value of CP-violating real/imaginary part parameters. More...
 

Detailed Description

Class for defining a complex coefficient using the Belle CP convention. Holds a set of real values that define the complex coefficient of an amplitude component.

The amplitude has the form a * exp(i*delta) * ( 1 +/- b * exp(i*phi) ) where a is a CP conserving magnitude, b is a CP violating magnitude, delta is the strong phase and phi is the weak phase. [Phys.Rev.Lett. 96 (2006) 251803]

Definition at line 40 of file LauBelleCPCoeffSet.hh.

Constructor & Destructor Documentation

LauBelleCPCoeffSet::LauBelleCPCoeffSet ( const TString &  compName,
Double_t  a,
Double_t  delta,
Double_t  b,
Double_t  phi,
Bool_t  aFixed,
Bool_t  deltaFixed,
Bool_t  bFixed,
Bool_t  phiFixed,
Bool_t  bSecondStage = kFALSE,
Bool_t  phiSecondStage = kFALSE 
)

Constructor.

Parameters
[in]compNamethe name of the coefficient set
[in]athe magnitude a
[in]deltathe strong phase
[in]bthe magnitude b
[in]phithe weak phase
[in]aFixedwhether a is fixed
[in]deltaFixedwhether delta is fixed
[in]bFixedwhether b is fixed
[in]phiFixedwhether phi is fixed
[in]bSecondStagewhether b should be floated only in the second stage of the fit
[in]phiSecondStagewhether phi should be floated only in the second stage of the fit

Definition at line 32 of file LauBelleCPCoeffSet.cc.

virtual LauBelleCPCoeffSet::~LauBelleCPCoeffSet ( )
inlinevirtual

Destructor.

Definition at line 61 of file LauBelleCPCoeffSet.hh.

LauBelleCPCoeffSet::LauBelleCPCoeffSet ( const LauBelleCPCoeffSet rhs,
CloneOption  cloneOption = All,
Double_t  constFactor = 1.0 
)
private

Copy constructor.

This creates cloned parameters, not copies.

Parameters
[in]rhsthe coefficient to clone
[in]cloneOptionspecial option for the cloning operation
[in]constFactora constant factor to multiply the clone's parameters by

Definition at line 53 of file LauBelleCPCoeffSet.cc.

Member Function Documentation

LauParameter LauBelleCPCoeffSet::acp ( )
virtual

Calculate the CP asymmetry.

Returns
the CP asymmetry

Implements LauAbsCoeffSet.

Definition at line 287 of file LauBelleCPCoeffSet.cc.

const LauComplex & LauBelleCPCoeffSet::antiparticleCoeff ( )
virtual

Retrieve the complex coefficient for an antiparticle.

Returns
the complex coefficient for an antiparticle

Implements LauAbsCoeffSet.

Definition at line 248 of file LauBelleCPCoeffSet.cc.

LauAbsCoeffSet * LauBelleCPCoeffSet::createClone ( const TString &  newName,
CloneOption  cloneOption = All,
Double_t  constFactor = 1.0 
)
virtual

Create a clone of the coefficient set.

Parameters
[in]newNamethe clone's name
[in]cloneOptionspecial option for the cloning operation
[in]constFactora constant factor to multiply the clone's parameters by
Returns
a clone of the coefficient set

Implements LauAbsCoeffSet.

Definition at line 309 of file LauBelleCPCoeffSet.cc.

void LauBelleCPCoeffSet::finaliseValues ( )
virtual

Make sure values are in "standard" ranges, e.g. phases should be between -pi and pi.

Implements LauAbsCoeffSet.

Definition at line 162 of file LauBelleCPCoeffSet.cc.

std::vector< LauParameter * > LauBelleCPCoeffSet::getParameters ( )
virtual

Retrieve the parameters of the coefficient, e.g. so that they can be loaded into a fit.

Returns
the parameters of the coefficient

Implements LauAbsCoeffSet.

Definition at line 87 of file LauBelleCPCoeffSet.cc.

LauBelleCPCoeffSet& LauBelleCPCoeffSet::operator= ( const LauBelleCPCoeffSet rhs)
private

Copy assignment operator (not implemented)

Parameters
[in]rhsthe coefficient to clone
const LauComplex & LauBelleCPCoeffSet::particleCoeff ( )
virtual

Retrieve the complex coefficient for a particle.

Returns
the complex coefficient for a particle

Implements LauAbsCoeffSet.

Definition at line 238 of file LauBelleCPCoeffSet.cc.

void LauBelleCPCoeffSet::printParValues ( ) const
virtual

Print the current values of the parameters.

Implements LauAbsCoeffSet.

Definition at line 97 of file LauBelleCPCoeffSet.cc.

void LauBelleCPCoeffSet::printTableHeading ( std::ostream &  stream) const
virtual

Print the column headings for a results table.

Parameters
[out]streamthe stream to print to

Implements LauAbsCoeffSet.

Definition at line 106 of file LauBelleCPCoeffSet.cc.

void LauBelleCPCoeffSet::printTableRow ( std::ostream &  stream) const
virtual

Print the parameters of the complex coefficient as a row in the results table.

Parameters
[out]streamthe stream to print to

Implements LauAbsCoeffSet.

Definition at line 114 of file LauBelleCPCoeffSet.cc.

void LauBelleCPCoeffSet::randomiseInitValues ( )
virtual

Randomise the starting values of the parameters for a fit.

Implements LauAbsCoeffSet.

Definition at line 138 of file LauBelleCPCoeffSet.cc.

void LauBelleCPCoeffSet::setCoeffValues ( const LauComplex coeff,
const LauComplex coeffBar,
Bool_t  init 
)
virtual

Set the parameters based on the complex coefficients for particles and antiparticles.

Parameters
[in]coeffthe complex coefficient for a particle
[in]coeffBarthe complex coefficient for an antiparticle
[in]initwhether or not the initial and generated values should also be adjusted

Implements LauAbsCoeffSet.

Definition at line 258 of file LauBelleCPCoeffSet.cc.

Member Data Documentation

LauParameter* LauBelleCPCoeffSet::a_
private

The magnitude a.

Definition at line 144 of file LauBelleCPCoeffSet.hh.

LauParameter LauBelleCPCoeffSet::acp_
private

The CP asymmetry.

Definition at line 158 of file LauBelleCPCoeffSet.hh.

LauComplex LauBelleCPCoeffSet::antiparticleCoeff_
private

The antiparticle complex coefficient.

Definition at line 155 of file LauBelleCPCoeffSet.hh.

LauParameter* LauBelleCPCoeffSet::b_
private

The magnitude b.

Definition at line 146 of file LauBelleCPCoeffSet.hh.

LauParameter* LauBelleCPCoeffSet::delta_
private

The strong phase.

Definition at line 148 of file LauBelleCPCoeffSet.hh.

LauComplex LauBelleCPCoeffSet::particleCoeff_
private

The particle complex coefficient.

Definition at line 153 of file LauBelleCPCoeffSet.hh.

LauParameter* LauBelleCPCoeffSet::phi_
private

The weak phase.

Definition at line 150 of file LauBelleCPCoeffSet.hh.


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