laura is hosted by Hepforge, IPPP Durham
Laura++  3.6.0
A maximum likelihood fitting package for performing Dalitz-plot analysis.
LauCartesianGammaCPCoeffSet.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 
37 #ifndef LAU_CARTESIANGAMMACP_COEFF_SET
38 #define LAU_CARTESIANGAMMACP_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 
70  LauCartesianGammaCPCoeffSet( 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 deltaXCP,
76  const Double_t deltaYCP,
77  const Bool_t xFixed,
78  const Bool_t yFixed,
79  const Bool_t xCPFixed,
80  const Bool_t yCPFixed,
81  const Bool_t deltaXCPFixed,
82  const Bool_t deltaYCPFixed,
83  const Bool_t deltaXCPSecondStage = kFALSE,
84  const Bool_t deltaYCPSecondStage = kFALSE );
85 
88 
90 
93  virtual std::vector<LauParameter*> getParameters();
94 
96  virtual void printParValues() const;
97 
99 
102  virtual void printTableHeading( std::ostream& stream ) const;
103 
105 
108  virtual void printTableRow( std::ostream& stream ) const;
109 
111  virtual void randomiseInitValues();
112 
114  virtual void finaliseValues();
115 
117 
120  virtual const LauComplex& particleCoeff();
121 
123 
126  virtual const LauComplex& antiparticleCoeff();
127 
129 
136  virtual void setCoeffValues( const LauComplex& coeff, const LauComplex& coeffBar, Bool_t init );
137 
139 
142  virtual LauParameter acp();
143 
145 
151  virtual LauAbsCoeffSet* createClone( const TString& newName,
152  CloneOption cloneOption = All,
153  Double_t constFactor = 1.0 );
154 
155  private:
157 
165  CloneOption cloneOption = All,
166  Double_t constFactor = 1.0 );
167 
169 
173 
174  // the actual fit parameters
175  // (need to be pointers so they can be cloned)
188 
195 
200 
203 
204  ClassDef( LauCartesianGammaCPCoeffSet, 0 )
205 };
206 
207 #endif
virtual ~LauCartesianGammaCPCoeffSet()
Destructor.
Class for defining the abstract interface for complex coefficient classes.
Class for defining the fit parameter objects.
Definition: LauParameter.hh:49
virtual void printTableRow(std::ostream &stream) const
Print the parameters of the complex coefficient as a row in the results table.
virtual void printTableHeading(std::ostream &stream) const
Print the column headings for a results table.
LauComplex nonCPPart_
The nonCP part of the complex coefficient.
LauComplex cpAntiPart_
The CP part of the complex coefficient for the antiparticle.
LauParameter * yCP_
The average CP imaginary part.
LauParameter * deltaXCP_
The asymmetric CP real part.
File containing declaration of LauParameter class.
LauParameter * x_
The nonCP real part.
virtual void finaliseValues()
Make sure values are in "standard" ranges, e.g. phases should be between -pi and pi.
virtual const LauComplex & particleCoeff()
Retrieve the complex coefficient for a particle.
File containing declaration of LauAbsCoeffSet class.
LauComplex cpPart_
The CP part of the complex coefficient for the particle.
Class for defining a complex number.
Definition: LauComplex.hh:61
LauComplex particleCoeff_
The particle complex coefficient.
virtual void randomiseInitValues()
Randomise the starting values of the parameters for a fit.
File containing declaration of LauComplex class.
LauParameter acp_
The CP asymmetry.
virtual LauAbsCoeffSet * createClone(const TString &newName, CloneOption cloneOption=All, Double_t constFactor=1.0)
Create a clone of the coefficient set.
virtual std::vector< LauParameter * > getParameters()
Retrieve the parameters of the coefficient, e.g. so that they can be loaded into a fit.
virtual void setCoeffValues(const LauComplex &coeff, const LauComplex &coeffBar, Bool_t init)
Set the parameters based on the complex coefficients for particles and antiparticles.
LauCartesianGammaCPCoeffSet & operator=(const LauCartesianGammaCPCoeffSet &rhs)
Copy assignment operator (not implemented)
LauParameter * xCP_
The average CP real part.
virtual void printParValues() const
Print the current values of the parameters.
LauParameter * y_
The nonCP imaginary part.
LauParameter * deltaYCP_
The asymmetric CP imaginary part.
CloneOption
Options for cloning operation.
virtual const LauComplex & antiparticleCoeff()
Retrieve the complex coefficient for an antiparticle.
LauCartesianGammaCPCoeffSet(const TString &compName, const Double_t x, const Double_t y, const Double_t xCP, const Double_t yCP, const Double_t deltaXCP, const Double_t deltaYCP, const Bool_t xFixed, const Bool_t yFixed, const Bool_t xCPFixed, const Bool_t yCPFixed, const Bool_t deltaXCPFixed, const Bool_t deltaYCPFixed, const Bool_t deltaXCPSecondStage=kFALSE, const Bool_t deltaYCPSecondStage=kFALSE)
Constructor.
LauComplex antiparticleCoeff_
The antiparticle complex coefficient.
Class for defining a complex coefficient using the Cartesian gamma CP convention.
virtual LauParameter acp()
Calculate the CP asymmetry.