laura is hosted by Hepforge, IPPP Durham
Laura++  v1r0
A maximum likelihood fitting package for performing Dalitz-plot analysis.
LauCleoCPCoeffSet.hh
Go to the documentation of this file.
1 
2 // Copyright University of Warwick 2006 - 2013.
3 // Distributed under the Boost Software License, Version 1.0.
4 // (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
5 
6 // Authors:
7 // Thomas Latham
8 // John Back
9 // Paul Harrison
10 
27 #ifndef LAU_CLEOCP_COEFF_SET
28 #define LAU_CLEOCP_COEFF_SET
29 
30 #include <iosfwd>
31 #include <vector>
32 
33 #include "Rtypes.h"
34 
35 #include "LauAbsCoeffSet.hh"
36 #include "LauParameter.hh"
37 
38 class LauComplex;
39 
40 
42 
43  public:
45 
56  LauCleoCPCoeffSet(const TString& compName, Double_t a, Double_t delta, Double_t b, Double_t phi,
57  Bool_t aFixed, Bool_t deltaFixed, Bool_t bFixed, Bool_t phiFixed);
58 
60  virtual ~LauCleoCPCoeffSet(){}
61 
63 
66  virtual std::vector<LauParameter*> getParameters();
67 
69 
72  virtual void printTableHeading(std::ostream& stream);
73 
75 
78  virtual void printTableRow(std::ostream& stream);
79 
81  virtual void randomiseInitValues();
82 
84  virtual void finaliseValues();
85 
87 
90  virtual LauComplex particleCoeff();
91 
93 
96  virtual LauComplex antiparticleCoeff();
97 
99 
103  virtual void setCoeffValues( const LauComplex& coeff, const LauComplex& coeffBar );
104 
106 
109  virtual LauParameter acp();
110 
112 
117  virtual LauAbsCoeffSet* createClone(const TString& newName, Double_t constFactor = 1.0);
118 
119  protected:
121 
126  LauCleoCPCoeffSet(const LauCleoCPCoeffSet& rhs, Double_t constFactor = 1.0);
127 
129 
134 
135 
136  private:
138  Double_t minMag_;
140  Double_t maxMag_;
142  Double_t minPhase_;
144  Double_t maxPhase_;
145 
146  // the actual fit parameters
147  // (need to be pointers so they can be cloned)
156 
159 
160  ClassDef(LauCleoCPCoeffSet, 0)
161 };
162 
163 #endif
LauParameter acp_
The CP asymmetry.
virtual void printTableHeading(std::ostream &stream)
Print the column headings for a results table.
virtual void printTableRow(std::ostream &stream)
Print the parameters of the complex coefficient as a row in the results table.
LauCleoCPCoeffSet & operator=(const LauCleoCPCoeffSet &rhs)
Copy assignment operator.
Double_t minPhase_
The minimum allowed value for phases.
virtual ~LauCleoCPCoeffSet()
Destructor.
File containing declaration of LauAbsCoeffSet class.
Double_t minMag_
The minimum allowed value for magnitudes.
LauParameter * delta_
The strong phase.
virtual LauComplex antiparticleCoeff()
Retrieve the complex coefficient for an antiparticle.
LauCleoCPCoeffSet(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)
Constructor.
Double_t maxMag_
The maximum allowed value for magnitudes.
virtual void setCoeffValues(const LauComplex &coeff, const LauComplex &coeffBar)
Set the parameters based on the complex coefficients for particles and antiparticles.
Class for defining a complex coefficient using the Cleo CP convention.
LauParameter * phi_
The weak phase.
virtual LauParameter acp()
Calculate the CP asymmetry.
virtual LauComplex particleCoeff()
Retrieve the complex coefficient for a particle.
Double_t maxPhase_
The maximum allowed value for phases.
File containing declaration of LauParameter class.
Class for defining the abstract interface for complex coefficient classes.
Class for defining the fit parameter objects.
Definition: LauParameter.hh:31
LauParameter * b_
The magnitude b.
virtual LauAbsCoeffSet * createClone(const TString &newName, Double_t constFactor=1.0)
Create a clone of the coefficient set.
virtual void randomiseInitValues()
Randomise the starting values of the parameters for a fit.
Class for defining a complex number.
Definition: LauComplex.hh:47
virtual void finaliseValues()
Make sure values are in &quot;standard&quot; ranges, e.g. phases should be between -pi and pi.
virtual std::vector< LauParameter * > getParameters()
Retrieve the parameters of the coefficient, e.g. so that they can be loaded into a fit...
LauParameter * a_
The magnitude a.