laura is hosted by Hepforge, IPPP Durham
Laura++  3.6.0
A maximum likelihood fitting package for performing Dalitz-plot analysis.
LauCartesianCPCoeffSet.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 
37 #ifndef LAU_CARTESIANCP_COEFF_SET
38 #define LAU_CARTESIANCP_COEFF_SET
39 
40 #include "LauAbsCoeffSet.hh"
41 #include "LauComplex.hh"
42 #include "LauParameter.hh"
43 
44 #include "Rtypes.h"
45 
46 #include <iosfwd>
47 #include <vector>
48 
50 
51  public:
53 
66  LauCartesianCPCoeffSet( const TString& compName,
67  Double_t x,
68  Double_t y,
69  Double_t deltaX,
70  Double_t deltaY,
71  Bool_t xFixed,
72  Bool_t yFixed,
73  Bool_t deltaXFixed,
74  Bool_t deltaYFixed,
75  Bool_t deltaXSecondStage = kFALSE,
76  Bool_t deltaYSecondStage = kFALSE );
77 
80 
82 
85  virtual std::vector<LauParameter*> getParameters();
86 
88  virtual void printParValues() const;
89 
91 
94  virtual void printTableHeading( std::ostream& stream ) const;
95 
97 
100  virtual void printTableRow( std::ostream& stream ) const;
101 
103  virtual void randomiseInitValues();
104 
106  virtual void finaliseValues();
107 
109 
112  virtual const LauComplex& particleCoeff();
113 
115 
118  virtual const LauComplex& antiparticleCoeff();
119 
121 
126  virtual void setCoeffValues( const LauComplex& coeff, const LauComplex& coeffBar, Bool_t init );
127 
129 
132  virtual LauParameter acp();
133 
135 
141  virtual LauAbsCoeffSet* createClone( const TString& newName,
142  CloneOption cloneOption = All,
143  Double_t constFactor = 1.0 );
144 
145  private:
147 
155  CloneOption cloneOption = All,
156  Double_t constFactor = 1.0 );
157 
159 
163 
164  // the actual fit parameters
165  // (need to be pointers so they can be cloned)
174 
179 
182 
183  ClassDef( LauCartesianCPCoeffSet, 0 )
184 };
185 
186 #endif
virtual void setCoeffValues(const LauComplex &coeff, const LauComplex &coeffBar, Bool_t init)
Set the parameters based on the complex coefficients for particles and antiparticles.
Class for defining a complex coefficient using the Cartesian CP convention.
virtual void printTableRow(std::ostream &stream) const
Print the parameters of the complex coefficient as a row in the results table.
Class for defining the abstract interface for complex coefficient classes.
Class for defining the fit parameter objects.
Definition: LauParameter.hh:49
LauParameter * x_
The average real part.
virtual ~LauCartesianCPCoeffSet()
Destructor.
virtual LauParameter acp()
Calculate the CP asymmetry.
File containing declaration of LauParameter class.
virtual std::vector< LauParameter * > getParameters()
Retrieve the parameters of the coefficient, e.g. so that they can be loaded into a fit.
virtual const LauComplex & particleCoeff()
Retrieve the complex coefficient for a particle.
LauCartesianCPCoeffSet & operator=(const LauCartesianCPCoeffSet &rhs)
Copy assignment operator (not implemented)
LauComplex particleCoeff_
The particle complex coefficient.
File containing declaration of LauAbsCoeffSet class.
virtual void printTableHeading(std::ostream &stream) const
Print the column headings for a results table.
LauCartesianCPCoeffSet(const TString &compName, Double_t x, Double_t y, Double_t deltaX, Double_t deltaY, Bool_t xFixed, Bool_t yFixed, Bool_t deltaXFixed, Bool_t deltaYFixed, Bool_t deltaXSecondStage=kFALSE, Bool_t deltaYSecondStage=kFALSE)
Constructor.
virtual void printParValues() const
Print the current values of the parameters.
virtual const LauComplex & antiparticleCoeff()
Retrieve the complex coefficient for an antiparticle.
Class for defining a complex number.
Definition: LauComplex.hh:61
File containing declaration of LauComplex class.
virtual LauAbsCoeffSet * createClone(const TString &newName, CloneOption cloneOption=All, Double_t constFactor=1.0)
Create a clone of the coefficient set.
LauParameter * deltaY_
The asymmetric imaginary part.
virtual void randomiseInitValues()
Randomise the starting values of the parameters for a fit.
LauParameter * y_
The average imaginary part.
CloneOption
Options for cloning operation.
LauParameter * deltaX_
The asymmetric real part.
LauParameter acp_
The CP asymmetry.
virtual void finaliseValues()
Make sure values are in "standard" ranges, e.g. phases should be between -pi and pi.
LauComplex antiparticleCoeff_
The antiparticle complex coefficient.