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

Class for defining the abstract interface for complex coefficient classes. More...

#include <LauAbsCoeffSet.hh>

Inheritance diagram for LauAbsCoeffSet:
LauBelleCPCoeffSet LauCartesianCPCoeffSet LauCleoCPCoeffSet LauMagPhaseCoeffSet LauMagPhaseCPCoeffSet LauRealImagCoeffSet LauRealImagCPCoeffSet

Public Types

enum  CloneOption {
  All, TiePhase, TieMagnitude, TieRealPart,
  TieImagPart, TieCPPars
}
 Options for cloning operation. More...
 

Public Member Functions

virtual ~LauAbsCoeffSet ()
 Destructor. More...
 
virtual std::vector
< LauParameter * > 
getParameters ()=0
 Retrieve the parameters of the coefficient so that they can be loaded into a fit. More...
 
virtual void printParValues () const =0
 Print the current values of the parameters. More...
 
virtual void printTableHeading (std::ostream &stream) const =0
 Print the column headings for a results table. More...
 
virtual void printTableRow (std::ostream &stream) const =0
 Print the parameters of the complex coefficient as a row in the results table. More...
 
virtual void randomiseInitValues ()=0
 Randomise the starting values of the parameters for a fit. More...
 
virtual void finaliseValues ()=0
 Make sure values are in "standard" ranges, e.g. phases should be between -pi and pi. More...
 
virtual const LauComplexparticleCoeff ()=0
 Retrieve the complex coefficient for a particle. More...
 
virtual const LauComplexantiparticleCoeff ()=0
 Retrieve the complex coefficient for an antiparticle. More...
 
virtual void setCoeffValues (const LauComplex &coeff, const LauComplex &coeffBar, Bool_t init)=0
 Set the parameters based on the complex coefficients for particles and antiparticles. More...
 
virtual LauParameter acp ()=0
 Calculate the CP asymmetry. More...
 
virtual LauAbsCoeffSetcreateClone (const TString &newName, CloneOption cloneOption=All, Double_t constFactor=1.0)=0
 Create a clone of the coefficient set. 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...
 

Static Public Member Functions

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

 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...
 
 LauAbsCoeffSet (const LauAbsCoeffSet &rhs)
 Copy constructor. More...
 
LauAbsCoeffSetoperator= (const LauAbsCoeffSet &rhs)
 Copy assignment operator. More...
 

Static Protected Attributes

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...
 

Private Attributes

TString name_
 The name of the coefficient set. More...
 
TString basename_
 The base name of the coefficient set. More...
 
UInt_t index_
 The index number of the coefficient set. More...
 

Detailed Description

Class for defining the abstract interface for complex coefficient classes.

Class for defining the abstract interface for complex coefficient classes. Some common code is implemented but most methods are not.

Definition at line 34 of file LauAbsCoeffSet.hh.

Member Enumeration Documentation

Options for cloning operation.

Enumerator
All 

no special operation, all parameters cloned

TiePhase 

phase cloned, magnitude free to vary

TieMagnitude 

magnitude cloned, phase free to vary

TieRealPart 

real part cloned, imaginary part free to vary

TieImagPart 

imaginary part cloned, real part free to vary

TieCPPars 

CP-violating parameters cloned, CP-conserving ones free to vary

Definition at line 38 of file LauAbsCoeffSet.hh.

Constructor & Destructor Documentation

virtual LauAbsCoeffSet::~LauAbsCoeffSet ( )
inlinevirtual

Destructor.

Definition at line 48 of file LauAbsCoeffSet.hh.

LauAbsCoeffSet::LauAbsCoeffSet ( const TString &  theName,
const TString &  theBaseName = "A" 
)
protected

Constructor.

Parameters
[in]theNamethe name of the coefficient set
[in]theBaseNamethe single character base for the parameter names

Definition at line 34 of file LauAbsCoeffSet.cc.

LauAbsCoeffSet::LauAbsCoeffSet ( const LauAbsCoeffSet rhs)
protected

Copy constructor.

Parameters
[in]rhsthe coefficient to clone

Definition at line 41 of file LauAbsCoeffSet.cc.

Member Function Documentation

virtual LauParameter LauAbsCoeffSet::acp ( )
pure virtual
void LauAbsCoeffSet::adjustName ( LauParameter par)
protected

Prepend the base name and index to the name of a parameter.

Parameters
[out]parpointer to the parameter

Definition at line 76 of file LauAbsCoeffSet.cc.

virtual const LauComplex& LauAbsCoeffSet::antiparticleCoeff ( )
pure virtual

Retrieve the complex coefficient for an antiparticle.

Returns
the complex coefficient for an antiparticle

Implemented in LauBelleCPCoeffSet, LauCleoCPCoeffSet, LauMagPhaseCPCoeffSet, LauCartesianCPCoeffSet, LauRealImagCPCoeffSet, LauMagPhaseCoeffSet, and LauRealImagCoeffSet.

virtual const TString& LauAbsCoeffSet::baseName ( ) const
inlinevirtual

Retrieve the base name of the coefficient set.

The base name is generally of the form "Ai", where i is an integer. This is used in the fit results ntuple.

Returns
the base name of the coefficient set

Definition at line 132 of file LauAbsCoeffSet.hh.

virtual void LauAbsCoeffSet::baseName ( const TString &  theBasename)
inlinevirtual

Set the base name of the coefficient set.

The base name is generally of the form "Ai", where i is an integer. This is used in the fit results ntuple.

Parameters
[in]theBasenamethe base name to set

Definition at line 140 of file LauAbsCoeffSet.hh.

virtual LauAbsCoeffSet* LauAbsCoeffSet::createClone ( const TString &  newName,
CloneOption  cloneOption = All,
Double_t  constFactor = 1.0 
)
pure 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 by which to multiply the cloned parameters
Returns
a clone of the coefficient set

Implemented in LauBelleCPCoeffSet, LauCleoCPCoeffSet, LauMagPhaseCPCoeffSet, LauCartesianCPCoeffSet, LauRealImagCPCoeffSet, LauMagPhaseCoeffSet, and LauRealImagCoeffSet.

virtual void LauAbsCoeffSet::finaliseValues ( )
pure virtual

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

Implemented in LauBelleCPCoeffSet, LauCleoCPCoeffSet, LauMagPhaseCPCoeffSet, LauCartesianCPCoeffSet, LauRealImagCPCoeffSet, LauMagPhaseCoeffSet, and LauRealImagCoeffSet.

LauParameter * LauAbsCoeffSet::findParameter ( const TString &  parName)
protected

Find the parameter with the given name.

Parameters
[in]parNamethe name of the parameter to be found return the retrieved parameter

Definition at line 121 of file LauAbsCoeffSet.cc.

void LauAbsCoeffSet::fixParameter ( const TString &  parName)
virtual

Set the named parameter to be fixed in the fit.

Parameters
[in]parNamethe name of the parameter to adjust

Definition at line 99 of file LauAbsCoeffSet.cc.

void LauAbsCoeffSet::floatParameter ( const TString &  parName)
virtual

Set the named parameter to float in the fit.

Parameters
[in]parNamethe name of the parameter to adjust

Definition at line 110 of file LauAbsCoeffSet.cc.

virtual std::vector<LauParameter*> LauAbsCoeffSet::getParameters ( )
pure virtual

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

Returns
the parameters of the coefficient

Implemented in LauBelleCPCoeffSet, LauCleoCPCoeffSet, LauMagPhaseCPCoeffSet, LauCartesianCPCoeffSet, LauRealImagCPCoeffSet, LauMagPhaseCoeffSet, and LauRealImagCoeffSet.

virtual UInt_t LauAbsCoeffSet::index ( ) const
inlinevirtual

Retrieve the index number of the coefficient set.

Returns
the index number of the coefficient set

Definition at line 146 of file LauAbsCoeffSet.hh.

void LauAbsCoeffSet::index ( UInt_t  newIndex)
virtual

Set the index number of the coefficient set.

Parameters
[in]newIndexthe new index

Definition at line 58 of file LauAbsCoeffSet.cc.

virtual TString LauAbsCoeffSet::name ( ) const
inlinevirtual

Retrieve the name of the coefficient set.

The name should correspond to the name of the resonance in the model.

Returns
the name of the coefficient set

Definition at line 117 of file LauAbsCoeffSet.hh.

virtual void LauAbsCoeffSet::name ( const TString &  theName)
inlinevirtual

Set the name of the coefficient set.

The name should correspond to the name of the resonance in the model.

Parameters
[in]theNamethe name to set

Definition at line 124 of file LauAbsCoeffSet.hh.

LauAbsCoeffSet & LauAbsCoeffSet::operator= ( const LauAbsCoeffSet rhs)
protected

Copy assignment operator.

Parameters
[in]rhsthe coefficient to clone

Definition at line 48 of file LauAbsCoeffSet.cc.

virtual const LauComplex& LauAbsCoeffSet::particleCoeff ( )
pure virtual

Retrieve the complex coefficient for a particle.

Returns
the complex coefficient for a particle

Implemented in LauBelleCPCoeffSet, LauCleoCPCoeffSet, LauMagPhaseCPCoeffSet, LauCartesianCPCoeffSet, LauRealImagCPCoeffSet, LauMagPhaseCoeffSet, and LauRealImagCoeffSet.

virtual void LauAbsCoeffSet::printParValues ( ) const
pure virtual
virtual void LauAbsCoeffSet::printTableHeading ( std::ostream &  stream) const
pure virtual

Print the column headings for a results table.

Parameters
[out]streamthe stream to print to

Implemented in LauBelleCPCoeffSet, LauCleoCPCoeffSet, LauMagPhaseCPCoeffSet, LauCartesianCPCoeffSet, LauRealImagCPCoeffSet, LauMagPhaseCoeffSet, and LauRealImagCoeffSet.

virtual void LauAbsCoeffSet::printTableRow ( std::ostream &  stream) const
pure virtual

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

Parameters
[out]streamthe stream to print to

Implemented in LauBelleCPCoeffSet, LauCleoCPCoeffSet, LauMagPhaseCPCoeffSet, LauCartesianCPCoeffSet, LauRealImagCPCoeffSet, LauMagPhaseCoeffSet, and LauRealImagCoeffSet.

virtual void LauAbsCoeffSet::randomiseInitValues ( )
pure virtual

Randomise the starting values of the parameters for a fit.

Implemented in LauBelleCPCoeffSet, LauCleoCPCoeffSet, LauMagPhaseCPCoeffSet, LauCartesianCPCoeffSet, LauRealImagCPCoeffSet, LauMagPhaseCoeffSet, and LauRealImagCoeffSet.

virtual void LauAbsCoeffSet::setCoeffValues ( const LauComplex coeff,
const LauComplex coeffBar,
Bool_t  init 
)
pure 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

Implemented in LauBelleCPCoeffSet, LauCleoCPCoeffSet, LauMagPhaseCPCoeffSet, LauCartesianCPCoeffSet, LauRealImagCPCoeffSet, LauMagPhaseCoeffSet, and LauRealImagCoeffSet.

static void LauAbsCoeffSet::setCPParRange ( Double_t  minPar,
Double_t  maxPar 
)
inlinestatic

Set the allowed range for CP-violating parameters.

Parameters
[in]minParthe lower edge of the range
[in]maxParthe upper edge of the range

Definition at line 200 of file LauAbsCoeffSet.hh.

static void LauAbsCoeffSet::setMagnitudeRange ( Double_t  minMag,
Double_t  maxMag 
)
inlinestatic

Set the allowed range for magnitude parameters.

Parameters
[in]minMagthe lower edge of the range
[in]maxMagthe upper edge of the range

Definition at line 179 of file LauAbsCoeffSet.hh.

void LauAbsCoeffSet::setParameterValue ( const TString &  parName,
Double_t  value,
Bool_t  init 
)
virtual

Set the value of the named parameter.

Parameters
[in]parNamethe name of the parameter to adjust
[in]valuethe new value for the parameter to take
[in]initwhether or not the initial and generated values should also be adjusted

Definition at line 84 of file LauAbsCoeffSet.cc.

static void LauAbsCoeffSet::setPhaseRange ( Double_t  minPhase,
Double_t  maxPhase 
)
inlinestatic

Set the allowed range for phase parameters.

Parameters
[in]minPhasethe lower edge of the range
[in]maxPhasethe upper edge of the range

Definition at line 186 of file LauAbsCoeffSet.hh.

static void LauAbsCoeffSet::setRealImagRange ( Double_t  minPar,
Double_t  maxPar 
)
inlinestatic

Set the allowed range for real/imaginary part parameters.

Parameters
[in]minParthe lower edge of the range
[in]maxParthe upper edge of the range

Definition at line 193 of file LauAbsCoeffSet.hh.

Member Data Documentation

TString LauAbsCoeffSet::basename_
private

The base name of the coefficient set.

Definition at line 258 of file LauAbsCoeffSet.hh.

UInt_t LauAbsCoeffSet::index_
private

The index number of the coefficient set.

Definition at line 261 of file LauAbsCoeffSet.hh.

Double_t LauAbsCoeffSet::maxDelta_ = 2.0
staticprotected

Maximum allowed value of CP-violating real/imaginary part parameters.

Definition at line 238 of file LauAbsCoeffSet.hh.

Double_t LauAbsCoeffSet::maxMagnitude_ = 10.0
staticprotected

Maximum allowed value of magnitude parameters.

Definition at line 226 of file LauAbsCoeffSet.hh.

Double_t LauAbsCoeffSet::maxPhase_ = LauConstants::threePi
staticprotected

Maximum allowed value of phase parameters.

Definition at line 230 of file LauAbsCoeffSet.hh.

Double_t LauAbsCoeffSet::maxRealImagPart_ = 10.0
staticprotected

Maximum allowed value of real/imaginary part parameters.

Definition at line 234 of file LauAbsCoeffSet.hh.

Double_t LauAbsCoeffSet::minDelta_ = -2.0
staticprotected

Minimum allowed value of CP-violating real/imaginary part parameters.

Definition at line 236 of file LauAbsCoeffSet.hh.

Double_t LauAbsCoeffSet::minMagnitude_ = -10.0
staticprotected

Minimum allowed value of magnitude parameters.

Definition at line 224 of file LauAbsCoeffSet.hh.

Double_t LauAbsCoeffSet::minPhase_ = -LauConstants::threePi
staticprotected

Minimum allowed value of phase parameters.

Definition at line 228 of file LauAbsCoeffSet.hh.

Double_t LauAbsCoeffSet::minRealImagPart_ = -10.0
staticprotected

Minimum allowed value of real/imaginary part parameters.

Definition at line 232 of file LauAbsCoeffSet.hh.

TString LauAbsCoeffSet::name_
private

The name of the coefficient set.

Definition at line 255 of file LauAbsCoeffSet.hh.


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