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

Class for defining a complex coefficient using a magnitude and a phase. More...

#include <LauMagPhaseCoeffSet.hh>

Inheritance diagram for LauMagPhaseCoeffSet:
LauAbsCoeffSet

Public Member Functions

 LauMagPhaseCoeffSet (const TString &compName, Double_t magnitude, Double_t phase, Bool_t magFixed, Bool_t phaseFixed)
 Constructor. More...
 
virtual ~LauMagPhaseCoeffSet ()
 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

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

Private Attributes

LauParametermagnitude_
 The magnitude. More...
 
LauParameterphase_
 The phase. More...
 
LauComplex coeff_
 The complex coefficient. 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 a magnitude and a phase.

Holds a set of real values that define the complex coefficient of an amplitude component. The amplitude has the form mag*exp(i*phase).

Definition at line 35 of file LauMagPhaseCoeffSet.hh.

Constructor & Destructor Documentation

LauMagPhaseCoeffSet::LauMagPhaseCoeffSet ( const TString &  compName,
Double_t  magnitude,
Double_t  phase,
Bool_t  magFixed,
Bool_t  phaseFixed 
)

Constructor.

Parameters
[in]compNamethe name of the coefficient set
[in]magnitudethe magnitude
[in]phasethe phase
[in]magFixedwhether mag is fixed
[in]phaseFixedwhether phase is fixed

Definition at line 32 of file LauMagPhaseCoeffSet.cc.

virtual LauMagPhaseCoeffSet::~LauMagPhaseCoeffSet ( )
inlinevirtual

Destructor.

Definition at line 49 of file LauMagPhaseCoeffSet.hh.

LauMagPhaseCoeffSet::LauMagPhaseCoeffSet ( const LauMagPhaseCoeffSet 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 40 of file LauMagPhaseCoeffSet.cc.

Member Function Documentation

LauParameter LauMagPhaseCoeffSet::acp ( )
virtual

Calculate the CP asymmetry.

Returns
the CP asymmetry (zero by design)

Implements LauAbsCoeffSet.

Definition at line 186 of file LauMagPhaseCoeffSet.cc.

const LauComplex & LauMagPhaseCoeffSet::antiparticleCoeff ( )
virtual

Retrieve the complex coefficient for an antiparticle.

Returns
the complex coefficient for an antiparticle

Implements LauAbsCoeffSet.

Definition at line 160 of file LauMagPhaseCoeffSet.cc.

LauAbsCoeffSet * LauMagPhaseCoeffSet::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 192 of file LauMagPhaseCoeffSet.cc.

void LauMagPhaseCoeffSet::finaliseValues ( )
virtual

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

Implements LauAbsCoeffSet.

Definition at line 109 of file LauMagPhaseCoeffSet.cc.

std::vector< LauParameter * > LauMagPhaseCoeffSet::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 58 of file LauMagPhaseCoeffSet.cc.

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

Copy assignment operator (not implemented)

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

Retrieve the complex coefficient for a particle.

Returns
the complex coefficient for a particle

Implements LauAbsCoeffSet.

Definition at line 154 of file LauMagPhaseCoeffSet.cc.

void LauMagPhaseCoeffSet::printParValues ( ) const
virtual

Print the current values of the parameters.

Implements LauAbsCoeffSet.

Definition at line 66 of file LauMagPhaseCoeffSet.cc.

void LauMagPhaseCoeffSet::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 71 of file LauMagPhaseCoeffSet.cc.

void LauMagPhaseCoeffSet::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 79 of file LauMagPhaseCoeffSet.cc.

void LauMagPhaseCoeffSet::randomiseInitValues ( )
virtual

Randomise the starting values of the parameters for a fit.

Implements LauAbsCoeffSet.

Definition at line 95 of file LauMagPhaseCoeffSet.cc.

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

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

This class does not support CP violation so this method takes the average of the two inputs.

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 165 of file LauMagPhaseCoeffSet.cc.

Member Data Documentation

LauComplex LauMagPhaseCoeffSet::coeff_
private

The complex coefficient.

Definition at line 138 of file LauMagPhaseCoeffSet.hh.

LauParameter* LauMagPhaseCoeffSet::magnitude_
private

The magnitude.

Definition at line 133 of file LauMagPhaseCoeffSet.hh.

LauParameter* LauMagPhaseCoeffSet::phase_
private

The phase.

Definition at line 135 of file LauMagPhaseCoeffSet.hh.


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