laura is hosted by Hepforge, IPPP Durham
Laura++  3.6.0
A maximum likelihood fitting package for performing Dalitz-plot analysis.
LauBelleCPCoeffSet.hh
Go to the documentation of this file.
1 
2 /*
3 Copyright 2006 University of Warwick
4 
5 Licensed under the Apache License, Version 2.0 (the "License");
6 you may not use this file except in compliance with the License.
7 You may obtain a copy of the License at
8 
9  http://www.apache.org/licenses/LICENSE-2.0
10 
11 Unless required by applicable law or agreed to in writing, software
12 distributed under the License is distributed on an "AS IS" BASIS,
13 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 See the License for the specific language governing permissions and
15 limitations under the License.
16 */
17 
18 /*
19 Laura++ package authors:
20 John Back
21 Paul Harrison
22 Thomas Latham
23 */
24 
41 #ifndef LAU_BELLECP_COEFF_SET
42 #define LAU_BELLECP_COEFF_SET
43 
44 #include "LauAbsCoeffSet.hh"
45 #include "LauComplex.hh"
46 #include "LauParameter.hh"
47 
48 #include "Rtypes.h"
49 
50 #include <iosfwd>
51 #include <vector>
52 
54 
55  public:
57 
70  LauBelleCPCoeffSet( const TString& compName,
71  Double_t a,
72  Double_t delta,
73  Double_t b,
74  Double_t phi,
75  Bool_t aFixed,
76  Bool_t deltaFixed,
77  Bool_t bFixed,
78  Bool_t phiFixed,
79  Bool_t bSecondStage = kFALSE,
80  Bool_t phiSecondStage = kFALSE );
81 
83  virtual ~LauBelleCPCoeffSet() {}
84 
86 
89  virtual std::vector<LauParameter*> getParameters();
90 
92  virtual void printParValues() const;
93 
95 
98  virtual void printTableHeading( std::ostream& stream ) const;
99 
101 
104  virtual void printTableRow( std::ostream& stream ) const;
105 
107  virtual void randomiseInitValues();
108 
110  virtual void finaliseValues();
111 
113 
116  virtual const LauComplex& particleCoeff();
117 
119 
122  virtual const LauComplex& antiparticleCoeff();
123 
125 
130  virtual void setCoeffValues( const LauComplex& coeff, const LauComplex& coeffBar, Bool_t init );
131 
133 
136  virtual LauParameter acp();
137 
139 
145  virtual LauAbsCoeffSet* createClone( const TString& newName,
146  CloneOption cloneOption = All,
147  Double_t constFactor = 1.0 );
148 
149  private:
151 
159  CloneOption cloneOption = All,
160  Double_t constFactor = 1.0 );
161 
163 
167 
168  // the actual fit parameters
169  // (need to be pointers so they can be cloned)
178 
183 
186 
187  ClassDef( LauBelleCPCoeffSet, 0 )
188 };
189 
190 #endif
LauParameter * a_
The magnitude a.
LauComplex particleCoeff_
The particle complex coefficient.
virtual LauParameter acp()
Calculate the CP asymmetry.
virtual void finaliseValues()
Make sure values are in "standard" ranges, e.g. phases should be between -pi and pi.
LauParameter * b_
The magnitude b.
Class for defining the abstract interface for complex coefficient classes.
Class for defining the fit parameter objects.
Definition: LauParameter.hh:49
virtual LauAbsCoeffSet * createClone(const TString &newName, CloneOption cloneOption=All, Double_t constFactor=1.0)
Create a clone of the coefficient set.
virtual const LauComplex & antiparticleCoeff()
Retrieve the complex coefficient for an antiparticle.
File containing declaration of LauParameter class.
virtual void setCoeffValues(const LauComplex &coeff, const LauComplex &coeffBar, Bool_t init)
Set the parameters based on the complex coefficients for particles and antiparticles.
LauBelleCPCoeffSet & operator=(const LauBelleCPCoeffSet &rhs)
Copy assignment operator (not implemented)
virtual void printTableRow(std::ostream &stream) const
Print the parameters of the complex coefficient as a row in the results table.
Class for defining a complex coefficient using the Belle CP convention. Holds a set of real values th...
File containing declaration of LauAbsCoeffSet class.
LauParameter acp_
The CP asymmetry.
Class for defining a complex number.
Definition: LauComplex.hh:61
virtual void printTableHeading(std::ostream &stream) const
Print the column headings for a results table.
virtual void printParValues() const
Print the current values of the parameters.
File containing declaration of LauComplex class.
virtual void randomiseInitValues()
Randomise the starting values of the parameters for a fit.
virtual const LauComplex & particleCoeff()
Retrieve the complex coefficient for a particle.
LauComplex antiparticleCoeff_
The antiparticle complex coefficient.
virtual std::vector< LauParameter * > getParameters()
Retrieve the parameters of the coefficient, e.g. so that they can be loaded into a fit.
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.
virtual ~LauBelleCPCoeffSet()
Destructor.
CloneOption
Options for cloning operation.
LauParameter * delta_
The strong phase.
LauParameter * phi_
The weak phase.