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

Class for defining a complex coefficient useful for extracting the CKM angle gamma from B -> D h h Dalitz plots. More...

#include <LauPolarGammaCPCoeffSet.hh>

Inheritance diagram for LauPolarGammaCPCoeffSet:
LauAbsCoeffSet

Public Types

enum  DecayType {
  GLW_CPOdd, GLW_CPEven, ADS_Favoured, ADS_Suppressed,
  GLW_CPOdd_btouOnly, GLW_CPEven_btouOnly, ADS_Favoured_btouOnly, ADS_Suppressed_btouOnly
}
 The possible D decay modes. More...
 
- Public Types inherited from LauAbsCoeffSet
enum  CloneOption {
  All, TiePhase, TieMagnitude, TieRealPart,
  TieImagPart, TieCPPars
}
 Options for cloning operation. More...
 

Public Member Functions

 LauPolarGammaCPCoeffSet (const TString &compName, const DecayType decayType, const Double_t x, const Double_t y, const Double_t rB, const Double_t deltaB, const Double_t gamma, const Double_t rD, const Double_t deltaD, const Bool_t xFixed, const Bool_t yFixed, const Bool_t rBFixed, const Bool_t deltaBFixed, const Bool_t gammaFixed, const Bool_t rDFixed, const Bool_t deltaDFixed, const Bool_t rBSecondStage=kFALSE, const Bool_t deltaBSecondStage=kFALSE, const Bool_t gammaSecondStage=kFALSE, const Bool_t rDSecondStage=kFALSE, const Bool_t deltaDSecondStage=kFALSE, const Bool_t useGlobalGamma=kFALSE, const Bool_t useGlobalADSPars=kFALSE)
 Constructor. More...
 
virtual ~LauPolarGammaCPCoeffSet ()
 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 setParameterError (const TString &parName, Double_t error)
 Set the error 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...
 
virtual void blindParameter (const TString &parName, const TString &blindingString, const Double_t width)
 Blind the named parameter. More...
 
virtual void addGaussianConstraint (const TString &parName, const Double_t mean, const Double_t width)
 Add Gaussian constraint to the named parameter. More...
 
virtual void addSuffixToParameterName (const TString &parName, const TString &suffix)
 Add suffix to the name of the given parameter. More...
 

Private Member Functions

 LauPolarGammaCPCoeffSet (const LauPolarGammaCPCoeffSet &rhs, CloneOption cloneOption=All, Double_t constFactor=1.0)
 Copy constructor. More...
 
LauPolarGammaCPCoeffSetoperator= (const LauPolarGammaCPCoeffSet &rhs)
 Copy assignment operator (not implemented) More...
 
virtual void adjustName (LauParameter *par, const TString &oldBaseName)
 Prepend the base name and index to the name of a parameter. More...
 
void updateAmplitudes ()
 Update the amplitudes based on the new values of the parameters. More...
 

Private Attributes

const DecayType decayType_
 The type of the D decay. More...
 
LauParameterx_
 The real part of the b -> c amplitude. More...
 
LauParametery_
 The imaginary part of the b -> c amplitude. More...
 
LauParameterrB_
 the magnitude of the ratio of the b -> u and b -> c amplitudes More...
 
LauParameterdeltaB_
 the relative CP-conserving (strong) phase of the b -> u and b -> c amplitudes More...
 
LauParametergamma_
 the relative CP-violating (weak) phase of the b -> u and b -> c amplitudes More...
 
LauParameterrD_
 the magnitude of the ratio of the favoured and suppressed D-decay amplitudes More...
 
LauParameterdeltaD_
 the relative strong phase of the favoured and suppressed D-decay amplitudes More...
 
const Bool_t useGlobalGamma_
 Whether the global gamma is used for this resonance. More...
 
const Bool_t useGlobalADSPars_
 Whether the global rD and deltaD are used for this resonance. More...
 
LauComplex nonCPPart_
 The b -> c part of the complex coefficient. More...
 
LauComplex cpPart_
 The b -> u part of the complex coefficient for the particle. More...
 
LauComplex cpAntiPart_
 The b -> u part of the complex coefficient for the antiparticle. More...
 
LauComplex particleCoeff_
 The particle complex coefficient. More...
 
LauComplex antiparticleCoeff_
 The antiparticle complex coefficient. More...
 
LauParameter acp_
 The CP asymmetry. More...
 

Static Private Attributes

static LauParametergammaGlobal_ = 0
 The CP-violating phase (shared by multiple resonances) More...
 
static LauParameterrDGlobal_ = 0
 the magnitude of the ratio of the favoured and suppressed D-decay amplitudes (shared by multiple resonances) More...
 
static LauParameterdeltaDGlobal_ = 0
 the relative strong phase of the favoured and suppressed D-decay amplitudes (shared by multiple resonances) More...
 

Additional Inherited Members

- 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...
 
static void setRandomiser (TRandom *randomiser)
 Set the randomiser. More...
 
static TRandom * getRandomiser ()
 Access the randomiser. 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...
 
 LauAbsCoeffSet (const LauAbsCoeffSet &rhs)
 Copy constructor. More...
 
LauAbsCoeffSetoperator= (const LauAbsCoeffSet &rhs)
 Copy assignment operator. 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 useful for extracting the CKM angle gamma from B -> D h h Dalitz plots.

Holds a set of real values that define the complex coefficient of an amplitude component. Depending on the type of the D decay, the amplitude has one of the following forms: CP-odd eigenstate: ( x + i * y ) * ( 1 - rB * exp( i * ( deltaB +/- gamma ) ) ) CP-even eigenstate: ( x + i * y ) * ( 1 + rB * exp( i * ( deltaB +/- gamma ) ) ) ADS favoured state: ( x + i * y ) * ( 1 + rB * rD * exp( i * ( deltaB - deltaD +/- gamma ) ) ) ADS suppressed state: ( x + i * y ) * ( rD * exp( - i * deltaD ) + rB * exp( i * ( deltaB +/- gamma ) ) ) [Phys. Rev. D79, 051301 (2009)]

Definition at line 40 of file LauPolarGammaCPCoeffSet.hh.

Member Enumeration Documentation

The possible D decay modes.

Enumerator
GLW_CPOdd 

GLW CP-odd, e.g. D0 -> K0 pi0

GLW_CPEven 

GLW CP-even, e.g. D0 -> K+ K-

ADS_Favoured 

ADS Favoured, e.g. D0 -> K- pi+

ADS_Suppressed 

ADS Suppressed, e.g. D0 -> K+ pi-

GLW_CPOdd_btouOnly 

GLW CP-odd, e.g. D0 -> K0 pi0, where B decay only proceeds via b -> u transition

GLW_CPEven_btouOnly 

GLW CP-even, e.g. D0 -> K+ K-, where B decay only proceeds via b -> u transition

ADS_Favoured_btouOnly 

ADS Favoured, e.g. D0 -> K- pi+, where B decay only proceeds via b -> u transition

ADS_Suppressed_btouOnly 

ADS Suppressed, e.g. D0 -> K+ pi-, where B decay only proceeds via b -> u transition

Definition at line 44 of file LauPolarGammaCPCoeffSet.hh.

Constructor & Destructor Documentation

LauPolarGammaCPCoeffSet::LauPolarGammaCPCoeffSet ( const TString &  compName,
const DecayType  decayType,
const Double_t  x,
const Double_t  y,
const Double_t  rB,
const Double_t  deltaB,
const Double_t  gamma,
const Double_t  rD,
const Double_t  deltaD,
const Bool_t  xFixed,
const Bool_t  yFixed,
const Bool_t  rBFixed,
const Bool_t  deltaBFixed,
const Bool_t  gammaFixed,
const Bool_t  rDFixed,
const Bool_t  deltaDFixed,
const Bool_t  rBSecondStage = kFALSE,
const Bool_t  deltaBSecondStage = kFALSE,
const Bool_t  gammaSecondStage = kFALSE,
const Bool_t  rDSecondStage = kFALSE,
const Bool_t  deltaDSecondStage = kFALSE,
const Bool_t  useGlobalGamma = kFALSE,
const Bool_t  useGlobalADSPars = kFALSE 
)

Constructor.

Parameters
[in]compNamethe name of the coefficient set
[in]decayTypethe type of the D decay
[in]xthe real part of the b -> c amplitude
[in]ythe imaginary part of the b -> c amplitude
[in]rBthe magnitude of the ratio of the b -> u and b -> c amplitudes
[in]deltaBthe relative CP-conserving (strong) phase of the b -> u and b -> c amplitudes
[in]gammathe relative CP-violating (weak) phase of the b -> u and b -> c amplitudes
[in]rDthe magnitude of the ratio of the favoured and suppressed D-decay amplitudes
[in]deltaDthe relative strong phase of the favoured and suppressed D-decay amplitudes
[in]xFixedwhether x is fixed
[in]yFixedwhether y is fixed
[in]rBFixedwhether rB is fixed
[in]deltaBFixedwhether deltaB is fixed
[in]gammaFixedwhether gamma is fixed
[in]rDFixedwhether rD is fixed
[in]deltaDFixedwhether deltaD is fixed
[in]rBSecondStagewhether rB should be floated only in the second stage of the fit
[in]deltaBSecondStagewhether deltaB should be floated only in the second stage of the fit
[in]gammaSecondStagewhether gamma should be floated only in the second stage of the fit
[in]rDSecondStagewhether rD should be floated only in the second stage of the fit
[in]deltaDSecondStagewhether deltaD should be floated only in the second stage of the fit
[in]useGlobalGammawhether gamma should be shared with other resonances
[in]useGlobalADSParswhether rD and deltaD should be shared with other resonances

Definition at line 35 of file LauPolarGammaCPCoeffSet.cc.

virtual LauPolarGammaCPCoeffSet::~LauPolarGammaCPCoeffSet ( )
inlinevirtual

Destructor.

Definition at line 94 of file LauPolarGammaCPCoeffSet.hh.

LauPolarGammaCPCoeffSet::LauPolarGammaCPCoeffSet ( const LauPolarGammaCPCoeffSet 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 125 of file LauPolarGammaCPCoeffSet.cc.

Member Function Documentation

LauParameter LauPolarGammaCPCoeffSet::acp ( )
virtual

Calculate the CP asymmetry.

Returns
the CP asymmetry

Implements LauAbsCoeffSet.

Definition at line 640 of file LauPolarGammaCPCoeffSet.cc.

void LauPolarGammaCPCoeffSet::adjustName ( LauParameter par,
const TString &  oldBaseName 
)
privatevirtual

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

Parameters
[in,out]parpointer to the parameter
[in]oldBaseNamethe old base name, which might need to be removed before adding the new one

Reimplemented from LauAbsCoeffSet.

Definition at line 235 of file LauPolarGammaCPCoeffSet.cc.

const LauComplex & LauPolarGammaCPCoeffSet::antiparticleCoeff ( )
virtual

Retrieve the complex coefficient for an antiparticle.

Returns
the complex coefficient for an antiparticle

Implements LauAbsCoeffSet.

Definition at line 550 of file LauPolarGammaCPCoeffSet.cc.

LauAbsCoeffSet * LauPolarGammaCPCoeffSet::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 743 of file LauPolarGammaCPCoeffSet.cc.

void LauPolarGammaCPCoeffSet::finaliseValues ( )
virtual

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

Implements LauAbsCoeffSet.

Definition at line 420 of file LauPolarGammaCPCoeffSet.cc.

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

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

Copy assignment operator (not implemented)

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

Retrieve the complex coefficient for a particle.

Returns
the complex coefficient for a particle

Implements LauAbsCoeffSet.

Definition at line 544 of file LauPolarGammaCPCoeffSet.cc.

void LauPolarGammaCPCoeffSet::printParValues ( ) const
virtual

Print the current values of the parameters.

Implements LauAbsCoeffSet.

Definition at line 274 of file LauPolarGammaCPCoeffSet.cc.

void LauPolarGammaCPCoeffSet::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 290 of file LauPolarGammaCPCoeffSet.cc.

void LauPolarGammaCPCoeffSet::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 337 of file LauPolarGammaCPCoeffSet.cc.

void LauPolarGammaCPCoeffSet::randomiseInitValues ( )
virtual

Randomise the starting values of the parameters for a fit.

Implements LauAbsCoeffSet.

Definition at line 377 of file LauPolarGammaCPCoeffSet.cc.

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

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

This method is not supported by this class because there are more than four parameters, hence there is not a unique solution.

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 635 of file LauPolarGammaCPCoeffSet.cc.

void LauPolarGammaCPCoeffSet::updateAmplitudes ( )
private

Update the amplitudes based on the new values of the parameters.

Definition at line 556 of file LauPolarGammaCPCoeffSet.cc.

Member Data Documentation

LauParameter LauPolarGammaCPCoeffSet::acp_
private

The CP asymmetry.

Definition at line 241 of file LauPolarGammaCPCoeffSet.hh.

LauComplex LauPolarGammaCPCoeffSet::antiparticleCoeff_
private

The antiparticle complex coefficient.

Definition at line 238 of file LauPolarGammaCPCoeffSet.hh.

LauComplex LauPolarGammaCPCoeffSet::cpAntiPart_
private

The b -> u part of the complex coefficient for the antiparticle.

Definition at line 233 of file LauPolarGammaCPCoeffSet.hh.

LauComplex LauPolarGammaCPCoeffSet::cpPart_
private

The b -> u part of the complex coefficient for the particle.

Definition at line 231 of file LauPolarGammaCPCoeffSet.hh.

const DecayType LauPolarGammaCPCoeffSet::decayType_
private

The type of the D decay.

Definition at line 187 of file LauPolarGammaCPCoeffSet.hh.

LauParameter* LauPolarGammaCPCoeffSet::deltaB_
private

the relative CP-conserving (strong) phase of the b -> u and b -> c amplitudes

Definition at line 202 of file LauPolarGammaCPCoeffSet.hh.

LauParameter* LauPolarGammaCPCoeffSet::deltaD_
private

the relative strong phase of the favoured and suppressed D-decay amplitudes

Definition at line 211 of file LauPolarGammaCPCoeffSet.hh.

LauParameter * LauPolarGammaCPCoeffSet::deltaDGlobal_ = 0
staticprivate

the relative strong phase of the favoured and suppressed D-decay amplitudes (shared by multiple resonances)

Definition at line 220 of file LauPolarGammaCPCoeffSet.hh.

LauParameter* LauPolarGammaCPCoeffSet::gamma_
private

the relative CP-violating (weak) phase of the b -> u and b -> c amplitudes

Definition at line 205 of file LauPolarGammaCPCoeffSet.hh.

LauParameter * LauPolarGammaCPCoeffSet::gammaGlobal_ = 0
staticprivate

The CP-violating phase (shared by multiple resonances)

Definition at line 214 of file LauPolarGammaCPCoeffSet.hh.

LauComplex LauPolarGammaCPCoeffSet::nonCPPart_
private

The b -> c part of the complex coefficient.

Definition at line 229 of file LauPolarGammaCPCoeffSet.hh.

LauComplex LauPolarGammaCPCoeffSet::particleCoeff_
private

The particle complex coefficient.

Definition at line 236 of file LauPolarGammaCPCoeffSet.hh.

LauParameter* LauPolarGammaCPCoeffSet::rB_
private

the magnitude of the ratio of the b -> u and b -> c amplitudes

Definition at line 199 of file LauPolarGammaCPCoeffSet.hh.

LauParameter* LauPolarGammaCPCoeffSet::rD_
private

the magnitude of the ratio of the favoured and suppressed D-decay amplitudes

Definition at line 208 of file LauPolarGammaCPCoeffSet.hh.

LauParameter * LauPolarGammaCPCoeffSet::rDGlobal_ = 0
staticprivate

the magnitude of the ratio of the favoured and suppressed D-decay amplitudes (shared by multiple resonances)

Definition at line 217 of file LauPolarGammaCPCoeffSet.hh.

const Bool_t LauPolarGammaCPCoeffSet::useGlobalADSPars_
private

Whether the global rD and deltaD are used for this resonance.

Definition at line 226 of file LauPolarGammaCPCoeffSet.hh.

const Bool_t LauPolarGammaCPCoeffSet::useGlobalGamma_
private

Whether the global gamma is used for this resonance.

Definition at line 223 of file LauPolarGammaCPCoeffSet.hh.

LauParameter* LauPolarGammaCPCoeffSet::x_
private

The real part of the b -> c amplitude.

Definition at line 193 of file LauPolarGammaCPCoeffSet.hh.

LauParameter* LauPolarGammaCPCoeffSet::y_
private

The imaginary part of the b -> c amplitude.

Definition at line 196 of file LauPolarGammaCPCoeffSet.hh.


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