laura is hosted by Hepforge, IPPP Durham
Laura++  3.6.0
A maximum likelihood fitting package for performing Dalitz-plot analysis.
LauPolarGammaCPCoeffSet.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 
41 #ifndef LAU_POLARGAMMACP_COEFF_SET
42 #define LAU_POLARGAMMACP_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  enum DecayType {
66  };
67 
69 
94  LauPolarGammaCPCoeffSet( const TString& compName,
95  const DecayType decayType,
96  const Double_t x,
97  const Double_t y,
98  const Double_t rB,
99  const Double_t deltaB,
100  const Double_t gamma,
101  const Double_t rD,
102  const Double_t deltaD,
103  const Bool_t xFixed,
104  const Bool_t yFixed,
105  const Bool_t rBFixed,
106  const Bool_t deltaBFixed,
107  const Bool_t gammaFixed,
108  const Bool_t rDFixed,
109  const Bool_t deltaDFixed,
110  const Bool_t rBSecondStage = kFALSE,
111  const Bool_t deltaBSecondStage = kFALSE,
112  const Bool_t gammaSecondStage = kFALSE,
113  const Bool_t rDSecondStage = kFALSE,
114  const Bool_t deltaDSecondStage = kFALSE,
115  const Bool_t useGlobalGamma = kFALSE,
116  const Bool_t useGlobalADSPars = kFALSE );
117 
120 
122 
125  virtual std::vector<LauParameter*> getParameters();
126 
128  virtual void printParValues() const;
129 
131 
134  virtual void printTableHeading( std::ostream& stream ) const;
135 
137 
140  virtual void printTableRow( std::ostream& stream ) const;
141 
143  virtual void randomiseInitValues();
144 
146  virtual void finaliseValues();
147 
149 
152  virtual const LauComplex& particleCoeff();
153 
155 
158  virtual const LauComplex& antiparticleCoeff();
159 
161 
168  virtual void setCoeffValues( const LauComplex& coeff, const LauComplex& coeffBar, Bool_t init );
169 
171 
174  virtual LauParameter acp();
175 
177 
183  virtual LauAbsCoeffSet* createClone( const TString& newName,
184  CloneOption cloneOption = All,
185  Double_t constFactor = 1.0 );
186 
187  private:
189 
197  CloneOption cloneOption = All,
198  Double_t constFactor = 1.0 );
199 
201 
205 
207 
211  virtual void adjustName( LauParameter* par, const TString& oldBaseName );
212 
214  void updateAmplitudes();
215 
218 
219  // the actual fit parameters
220  // (need to be pointers so they can be cloned)
221 
224 
227 
230 
233 
236 
239 
242 
245 
248 
251 
253  const Bool_t useGlobalGamma_;
254 
256  const Bool_t useGlobalADSPars_;
257 
264 
269 
272 
273  ClassDef( LauPolarGammaCPCoeffSet, 0 )
274 };
275 
276 #endif
static LauParameter * gammaGlobal_
The CP-violating phase (shared by multiple resonances)
LauComplex particleCoeff_
The particle complex coefficient.
LauComplex cpAntiPart_
The b -> u part of the complex coefficient for the antiparticle.
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.
LauParameter acp_
The CP asymmetry.
virtual void adjustName(LauParameter *par, const TString &oldBaseName)
Prepend the base name and index to the name of a parameter.
virtual LauAbsCoeffSet * createClone(const TString &newName, CloneOption cloneOption=All, Double_t constFactor=1.0)
Create a clone of the coefficient set.
DecayType
The possible D decay modes.
static LauParameter * rDGlobal_
the magnitude of the ratio of the favoured and suppressed D-decay amplitudes (shared by multiple reso...
const Bool_t useGlobalGamma_
Whether the global gamma is used for this resonance.
LauComplex cpPart_
The b -> u part of the complex coefficient for the particle.
LauPolarGammaCPCoeffSet & operator=(const LauPolarGammaCPCoeffSet &rhs)
Copy assignment operator (not implemented)
File containing declaration of LauParameter class.
virtual void randomiseInitValues()
Randomise the starting values of the parameters for a fit.
static LauParameter * deltaDGlobal_
the relative strong phase of the favoured and suppressed D-decay amplitudes (shared by multiple reson...
LauParameter * y_
The imaginary part of the b -> c amplitude.
File containing declaration of LauAbsCoeffSet class.
virtual void printParValues() const
Print the current values of the parameters.
virtual const LauComplex & antiparticleCoeff()
Retrieve the complex coefficient for an antiparticle.
virtual ~LauPolarGammaCPCoeffSet()
Destructor.
const Bool_t useGlobalADSPars_
Whether the global rD and deltaD are used for this resonance.
Class for defining a complex number.
Definition: LauComplex.hh:61
virtual void setCoeffValues(const LauComplex &coeff, const LauComplex &coeffBar, Bool_t init)
Set the parameters based on the complex coefficients for particles and antiparticles.
const DecayType decayType_
The type of the D decay.
LauPolarGammaCPCoeffSet(const TString &compName, const DecayType decayType, const Double_t x, const Double_t y, const Double_t rB, const Double_t deltaB, const Double_t gamma, const Double_t rD, const Double_t deltaD, const Bool_t xFixed, const Bool_t yFixed, const Bool_t rBFixed, const Bool_t deltaBFixed, const Bool_t gammaFixed, const Bool_t rDFixed, const Bool_t deltaDFixed, const Bool_t rBSecondStage=kFALSE, const Bool_t deltaBSecondStage=kFALSE, const Bool_t gammaSecondStage=kFALSE, const Bool_t rDSecondStage=kFALSE, const Bool_t deltaDSecondStage=kFALSE, const Bool_t useGlobalGamma=kFALSE, const Bool_t useGlobalADSPars=kFALSE)
Constructor.
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.
LauParameter * deltaD_
the relative strong phase of the favoured and suppressed D-decay amplitudes
File containing declaration of LauComplex class.
LauParameter * gamma_
the relative CP-violating (weak) phase of the b -> u and b -> c amplitudes
LauParameter * deltaB_
the relative CP-conserving (strong) phase of the b -> u and b -> c amplitudes
LauParameter * x_
The real part of the b -> c amplitude.
Class for defining a complex coefficient useful for extracting the CKM angle gamma from B -> D h h Da...
CloneOption
Options for cloning operation.
LauParameter * rB_
the magnitude of the ratio of the b -> u and b -> c amplitudes
virtual void finaliseValues()
Make sure values are in "standard" ranges, e.g. phases should be between -pi and pi.
LauParameter * rD_
the magnitude of the ratio of the favoured and suppressed D-decay amplitudes
void updateAmplitudes()
Update the amplitudes based on the new values of the parameters.
LauComplex nonCPPart_
The b -> c part of the complex coefficient.
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.