laura is hosted by Hepforge, IPPP Durham
Laura++  v3r5
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 <iosfwd>
45 #include <vector>
46 
47 #include "Rtypes.h"
48 
49 #include "LauAbsCoeffSet.hh"
50 #include "LauComplex.hh"
51 #include "LauParameter.hh"
52 
53 
55 
56  public:
58  enum DecayType {
67  };
68 
70 
95  LauPolarGammaCPCoeffSet(const TString& compName, const DecayType decayType,
96  const Double_t x, const Double_t y,
97  const Double_t rB, const Double_t deltaB, const Double_t gamma,
98  const Double_t rD, const Double_t deltaD,
99  const Bool_t xFixed, const Bool_t yFixed,
100  const Bool_t rBFixed, const Bool_t deltaBFixed, const Bool_t gammaFixed,
101  const Bool_t rDFixed, const Bool_t deltaDFixed,
102  const Bool_t rBSecondStage = kFALSE, const Bool_t deltaBSecondStage = kFALSE, const Bool_t gammaSecondStage = kFALSE,
103  const Bool_t rDSecondStage = kFALSE, const Bool_t deltaDSecondStage = kFALSE,
104  const Bool_t useGlobalGamma = kFALSE,
105  const Bool_t useGlobalADSPars = kFALSE);
106 
109 
111 
114  virtual std::vector<LauParameter*> getParameters();
115 
117  virtual void printParValues() const;
118 
120 
123  virtual void printTableHeading(std::ostream& stream) const;
124 
126 
129  virtual void printTableRow(std::ostream& stream) const;
130 
132  virtual void randomiseInitValues();
133 
135  virtual void finaliseValues();
136 
138 
141  virtual const LauComplex& particleCoeff();
142 
144 
147  virtual const LauComplex& antiparticleCoeff();
148 
150 
157  virtual void setCoeffValues( const LauComplex& coeff, const LauComplex& coeffBar, Bool_t init );
158 
160 
163  virtual LauParameter acp();
164 
166 
172  virtual LauAbsCoeffSet* createClone(const TString& newName, CloneOption cloneOption = All, Double_t constFactor = 1.0);
173 
174  private:
176 
182  LauPolarGammaCPCoeffSet(const LauPolarGammaCPCoeffSet& rhs, CloneOption cloneOption = All, Double_t constFactor = 1.0);
183 
185 
189 
191 
195  virtual void adjustName(LauParameter* par, const TString& oldBaseName);
196 
198  void updateAmplitudes();
199 
202 
203  // the actual fit parameters
204  // (need to be pointers so they can be cloned)
205 
208 
211 
214 
217 
220 
223 
226 
229 
232 
235 
237  const Bool_t useGlobalGamma_;
238 
240  const Bool_t useGlobalADSPars_;
241 
248 
253 
256 
257  ClassDef(LauPolarGammaCPCoeffSet, 0)
258 };
259 
260 #endif
static LauParameter * rDGlobal_
the magnitude of the ratio of the favoured and suppressed D-decay amplitudes (shared by multiple reso...
LauParameter * rD_
the magnitude of the ratio of the favoured and suppressed D-decay amplitudes
Class for defining a complex coefficient useful for extracting the CKM angle gamma from B -&gt; D h h Da...
LauComplex nonCPPart_
The b -&gt; c part of the complex coefficient.
LauPolarGammaCPCoeffSet & operator=(const LauPolarGammaCPCoeffSet &rhs)
Copy assignment operator (not implemented)
virtual const LauComplex & particleCoeff()
Retrieve the complex coefficient for a particle.
LauComplex antiparticleCoeff_
The antiparticle complex coefficient.
File containing declaration of LauAbsCoeffSet class.
const DecayType decayType_
The type of the D decay.
LauParameter * deltaD_
the relative strong phase of the favoured and suppressed D-decay amplitudes
LauParameter acp_
The CP asymmetry.
const Bool_t useGlobalADSPars_
Whether the global rD and deltaD are used for this resonance.
virtual void adjustName(LauParameter *par, const TString &oldBaseName)
Prepend the base name and index to the name of a parameter.
LauParameter * gamma_
the relative CP-violating (weak) phase of the b -&gt; u and b -&gt; c amplitudes
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.
LauComplex cpAntiPart_
The b -&gt; u part of the complex coefficient for the antiparticle.
const Bool_t useGlobalGamma_
Whether the global gamma is used for this resonance.
virtual void printTableHeading(std::ostream &stream) const
Print the column headings for a results table.
CloneOption
Options for cloning operation.
LauComplex cpPart_
The b -&gt; u part of the complex coefficient for the particle.
virtual const LauComplex & antiparticleCoeff()
Retrieve the complex coefficient for an antiparticle.
LauParameter * x_
The real part of the b -&gt; c amplitude.
virtual void randomiseInitValues()
Randomise the starting values of the parameters for a fit.
virtual ~LauPolarGammaCPCoeffSet()
Destructor.
static LauParameter * deltaDGlobal_
the relative strong phase of the favoured and suppressed D-decay amplitudes (shared by multiple reson...
File containing declaration of LauParameter class.
LauParameter * y_
The imaginary part of the b -&gt; c amplitude.
LauParameter * rB_
the magnitude of the ratio of the b -&gt; u and b -&gt; c amplitudes
File containing declaration of LauComplex 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.
Class for defining the abstract interface for complex coefficient classes.
Class for defining the fit parameter objects.
Definition: LauParameter.hh:49
virtual void printParValues() const
Print the current values of the parameters.
LauParameter * deltaB_
the relative CP-conserving (strong) phase of the b -&gt; u and b -&gt; c amplitudes
virtual void finaliseValues()
Make sure values are in &quot;standard&quot; ranges, e.g. phases should be between -pi and pi.
void updateAmplitudes()
Update the amplitudes based on the new values of the parameters.
virtual void printTableRow(std::ostream &stream) const
Print the parameters of the complex coefficient as a row in the results table.
static LauParameter * gammaGlobal_
The CP-violating phase (shared by multiple resonances)
virtual std::vector< LauParameter * > getParameters()
Retrieve the parameters of the coefficient, e.g. so that they can be loaded into a fit...
virtual LauParameter acp()
Calculate the CP asymmetry.
Class for defining a complex number.
Definition: LauComplex.hh:61
virtual LauAbsCoeffSet * createClone(const TString &newName, CloneOption cloneOption=All, Double_t constFactor=1.0)
Create a clone of the coefficient set.
LauComplex particleCoeff_
The particle complex coefficient.
DecayType
The possible D decay modes.