laura is hosted by Hepforge, IPPP Durham
Laura++  3.6.0
A maximum likelihood fitting package for performing Dalitz-plot analysis.
LauRealImagGammaCPCoeffSet.hh
Go to the documentation of this file.
1 
2 /*
3 Copyright 2014 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 
39 #ifndef LAU_REALIMAGGAMMACP_COEFF_SET
40 #define LAU_REALIMAGGAMMACP_COEFF_SET
41 
42 #include "LauAbsCoeffSet.hh"
43 #include "LauComplex.hh"
44 #include "LauParameter.hh"
45 
46 #include "Rtypes.h"
47 
48 #include <iosfwd>
49 #include <vector>
50 
52 
53  public:
55 
70  LauRealImagGammaCPCoeffSet( const TString& compName,
71  const Double_t x,
72  const Double_t y,
73  const Double_t xCP,
74  const Double_t yCP,
75  const Double_t xbarCP,
76  const Double_t ybarCP,
77  const Bool_t xFixed,
78  const Bool_t yFixed,
79  const Bool_t xCPFixed,
80  const Bool_t yCPFixed,
81  const Bool_t xbarCPFixed,
82  const Bool_t ybarCPFixed );
83 
86 
88 
91  virtual std::vector<LauParameter*> getParameters();
92 
94  virtual void printParValues() const;
95 
97 
100  virtual void printTableHeading( std::ostream& stream ) const;
101 
103 
106  virtual void printTableRow( std::ostream& stream ) const;
107 
109  virtual void randomiseInitValues();
110 
112  virtual void finaliseValues();
113 
115 
118  virtual const LauComplex& particleCoeff();
119 
121 
124  virtual const LauComplex& antiparticleCoeff();
125 
127 
134  virtual void setCoeffValues( const LauComplex& coeff, const LauComplex& coeffBar, Bool_t init );
135 
137 
140  virtual LauParameter acp();
141 
143 
149  virtual LauAbsCoeffSet* createClone( const TString& newName,
150  CloneOption cloneOption = All,
151  Double_t constFactor = 1.0 );
152 
153  private:
155 
163  CloneOption cloneOption = All,
164  Double_t constFactor = 1.0 );
165 
167 
171 
172  // the actual fit parameters
173  // (need to be pointers so they can be cloned)
186 
193 
198 
201 
202  ClassDef( LauRealImagGammaCPCoeffSet, 0 )
203 };
204 
205 #endif
Class for defining a complex coefficient using a Cartesian nonCP part multiplied by a simple Cartesia...
virtual LauAbsCoeffSet * createClone(const TString &newName, CloneOption cloneOption=All, Double_t constFactor=1.0)
Create a clone of the coefficient set.
virtual ~LauRealImagGammaCPCoeffSet()
Destructor.
Class for defining the abstract interface for complex coefficient classes.
Class for defining the fit parameter objects.
Definition: LauParameter.hh:49
virtual LauParameter acp()
Calculate the CP asymmetry.
virtual void printTableRow(std::ostream &stream) const
Print the parameters of the complex coefficient as a row in the results table.
virtual const LauComplex & antiparticleCoeff()
Retrieve the complex coefficient for an antiparticle.
virtual std::vector< LauParameter * > getParameters()
Retrieve the parameters of the coefficient, e.g. so that they can be loaded into a fit.
virtual void printParValues() const
Print the current values of the parameters.
File containing declaration of LauParameter class.
LauParameter * x_
The real nonCP part.
File containing declaration of LauAbsCoeffSet class.
LauComplex cpAntiPart_
The CP part of the complex coefficient for the antiparticle.
LauParameter * y_
The imaginary nonCP part.
LauParameter * xbarCP_
The real CP part for the antiparticle.
Class for defining a complex number.
Definition: LauComplex.hh:61
File containing declaration of LauComplex class.
LauRealImagGammaCPCoeffSet & operator=(const LauRealImagGammaCPCoeffSet &rhs)
Copy assignment operator (not implemented)
virtual void randomiseInitValues()
Randomise the starting values of the parameters for a fit.
LauComplex nonCPPart_
The nonCP part of the complex coefficient.
LauRealImagGammaCPCoeffSet(const TString &compName, const Double_t x, const Double_t y, const Double_t xCP, const Double_t yCP, const Double_t xbarCP, const Double_t ybarCP, const Bool_t xFixed, const Bool_t yFixed, const Bool_t xCPFixed, const Bool_t yCPFixed, const Bool_t xbarCPFixed, const Bool_t ybarCPFixed)
Constructor.
LauParameter * xCP_
The real CP part for the particle.
LauComplex antiparticleCoeff_
The antiparticle complex coefficient.
CloneOption
Options for cloning operation.
virtual void finaliseValues()
Make sure values are in "standard" ranges, e.g. phases should be between -pi and pi.
virtual void printTableHeading(std::ostream &stream) const
Print the column headings for a results table.
LauParameter acp_
The CP asymmetry.
LauComplex cpPart_
The CP part of the complex coefficient for the particle.
LauComplex particleCoeff_
The particle complex coefficient.
LauParameter * yCP_
The imaginary CP part for the particle.
virtual void setCoeffValues(const LauComplex &coeff, const LauComplex &coeffBar, Bool_t init)
Set the parameters based on the complex coefficients for particles and antiparticles.
virtual const LauComplex & particleCoeff()
Retrieve the complex coefficient for a particle.
LauParameter * ybarCP_
The imaginary CP part for the antiparticle.