laura is hosted by Hepforge, IPPP Durham
Laura++  v3r2
A maximum likelihood fitting package for performing Dalitz-plot analysis.
LauDPPartialIntegralInfo.hh
Go to the documentation of this file.
1 
2 // Copyright University of Warwick 2014.
3 // Distributed under the Boost Software License, Version 1.0.
4 // (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
5 
6 // Authors:
7 // Thomas Latham
8 // John Back
9 // Paul Harrison
10 
23 #ifndef LAU_DPPARTIALINTEGRAL_INFO
24 #define LAU_DPPARTIALINTEGRAL_INFO
25 
26 #include <iosfwd>
27 
28 #include "TString.h"
29 
30 #include "LauComplex.hh"
31 
32 class LauKinematics;
33 
34 
36 
37  public:
39 
52  LauDPPartialIntegralInfo(const Double_t minm13, const Double_t maxm13,
53  const Double_t minm23, const Double_t maxm23,
54  const Double_t m13BinWidth, const Double_t m23BinWidth,
55  const Double_t precision,
56  const UInt_t nAmp,
57  const UInt_t nIncohAmp,
58  const Bool_t squareDP = kFALSE,
59  const LauKinematics* kinematics = 0);
60 
62  virtual ~LauDPPartialIntegralInfo();
63 
65 
68  inline Double_t getMinm13() const {return minm13_;}
69 
71 
74  inline Double_t getMaxm13() const {return maxm13_;}
75 
77 
80  inline Double_t getMinm23() const {return minm23_;}
81 
83 
86  inline Double_t getMaxm23() const {return maxm23_;}
87 
89 
92  inline Double_t getM13BinWidth() const {return m13BinWidth_;}
93 
95 
98  inline Double_t getM23BinWidth() const {return m23BinWidth_;}
99 
101 
104  inline UInt_t getnm13Points() const {return nm13Points_;}
105 
107 
110  inline UInt_t getnm23Points() const {return nm23Points_;}
111 
113 
116  inline Bool_t getSquareDP() const {return squareDP_;}
117 
119 
124  inline Double_t getWeight(const UInt_t m13Point, const UInt_t m23Point) const {return weights_[m13Point][m23Point];}
125 
127 
131  inline Double_t getM13Value(const UInt_t m13Point) const {return m13Points_[m13Point];}
132 
134 
138  inline Double_t getM23Value(const UInt_t m23Point) const {return m23Points_[m23Point];}
139 
141 
146  inline Double_t getEfficiency(const UInt_t m13Point, const UInt_t m23Point) const { return efficiencies_[m13Point][m23Point]; }
147 
149 
154  inline void storeEfficiency(const UInt_t m13Point, const UInt_t m23Point, const Double_t efficiency) { efficiencies_[m13Point][m23Point] = efficiency; }
155 
157 
163  inline const LauComplex& getAmplitude(const UInt_t m13Point, const UInt_t m23Point, const UInt_t iAmp) const { return amplitudes_[m13Point][m23Point][iAmp]; }
164 
166 
172  inline void storeAmplitude(const UInt_t m13Point, const UInt_t m23Point, const UInt_t iAmp, const LauComplex& amplitude) { amplitudes_[m13Point][m23Point][iAmp] = amplitude; }
173 
175 
181  inline Double_t getIntensity(const UInt_t m13Point, const UInt_t m23Point, const UInt_t iAmp) const { return incohIntensities_[m13Point][m23Point][iAmp]; }
182 
184 
190  inline void storeIntensity(const UInt_t m13Point, const UInt_t m23Point, const UInt_t iAmp, const Double_t intensity) { incohIntensities_[m13Point][m23Point][iAmp] = intensity; }
191 
192  private:
195 
198 
200  const Double_t minm13_;
201 
203  const Double_t maxm13_;
204 
206  const Double_t minm23_;
207 
209  const Double_t maxm23_;
210 
212  const Double_t m13BinWidth_;
213 
215  const Double_t m23BinWidth_;
216 
218  const UInt_t nm13Points_;
219 
221  const UInt_t nm23Points_;
222 
224  const UInt_t nAmp_;
225 
227  const UInt_t nIncohAmp_;
228 
230  const Bool_t squareDP_;
231 
233  std::vector<Double_t> m13Points_;
234 
236  std::vector<Double_t> m23Points_;
237 
239  std::vector<Double_t> m13Weights_;
240 
242  std::vector<Double_t> m23Weights_;
243 
245  std::vector< std::vector<Double_t> > weights_;
246 
248  std::vector< std::vector<Double_t> > efficiencies_;
249 
251  std::vector< std::vector< std::vector<LauComplex> > > amplitudes_;
252 
254  std::vector< std::vector< std::vector<Double_t> > > incohIntensities_;
255 
256  ClassDef(LauDPPartialIntegralInfo, 0)
257 };
258 
259 std::ostream& operator<<( std::ostream& stream, const LauDPPartialIntegralInfo& infoRecord );
260 
261 #endif
Double_t getMinm13() const
Retrieve the minm13 of DP.
std::vector< Double_t > m23Points_
The m23 positions of the grid points.
void storeIntensity(const UInt_t m13Point, const UInt_t m23Point, const UInt_t iAmp, const Double_t intensity)
Store the intensity for the given grid point and intensity index.
const Bool_t squareDP_
Flag whether or not we&#39;re using the square DP for the integration.
virtual ~LauDPPartialIntegralInfo()
Destructor.
const UInt_t nm23Points_
The number of bins in m23.
const Double_t maxm13_
The maximum of the m13 range.
Double_t getM23BinWidth() const
Retrieve the m23BinWidth of DP.
Class for defining (a section of) the Dalitz plot integration binning scheme.
const Double_t m23BinWidth_
The bin width for m23.
LauDPPartialIntegralInfo(const Double_t minm13, const Double_t maxm13, const Double_t minm23, const Double_t maxm23, const Double_t m13BinWidth, const Double_t m23BinWidth, const Double_t precision, const UInt_t nAmp, const UInt_t nIncohAmp, const Bool_t squareDP=kFALSE, const LauKinematics *kinematics=0)
Constructor.
Double_t getM23Value(const UInt_t m23Point) const
Retrieve the m23 value at the given grid point.
UInt_t getnm23Points() const
Retrieve the number of bins in m23.
UInt_t getnm13Points() const
Retrieve the number of bins in m13.
const Double_t m13BinWidth_
The bin width for m13.
std::vector< Double_t > m23Weights_
The Gauss-Legendre weights of the m23 grid points.
std::ostream & operator<<(std::ostream &os, const LauComplex &z)
Definition: LauComplex.cc:43
Bool_t getSquareDP() const
Retrieve the square DP flag.
const Double_t minm13_
The minimum of the m13 range.
const Double_t minm23_
The minimum of the m23 range.
File containing declaration of LauComplex class.
Double_t getM13Value(const UInt_t m13Point) const
Retrieve the m13 value at the given grid point.
Double_t getMaxm13() const
Retrieve the maxm13 of DP.
LauDPPartialIntegralInfo & operator=(const LauDPPartialIntegralInfo &other)
Copy assignment operator (not implemented)
std::vector< std::vector< Double_t > > efficiencies_
The efficiency at each 2D grid point.
const UInt_t nIncohAmp_
The number of amplitude components.
std::vector< std::vector< Double_t > > weights_
The combined weights at each 2D grid point.
Double_t getWeight(const UInt_t m13Point, const UInt_t m23Point) const
Retrieve the weight for the given grid point.
Double_t getEfficiency(const UInt_t m13Point, const UInt_t m23Point) const
Retrieve the efficiency for the given grid point.
Double_t getMinm23() const
Retrieve the minm23 of DP.
Double_t getM13BinWidth() const
Retrieve the m13BinWidth of DP.
const UInt_t nm13Points_
The number of bins in m13.
Double_t getMaxm23() const
Retrieve the maxm23 of DP.
Class for defining a complex number.
Definition: LauComplex.hh:47
Double_t getIntensity(const UInt_t m13Point, const UInt_t m23Point, const UInt_t iAmp) const
Retrieve the intensity for the given grid point and intensity index.
std::vector< std::vector< std::vector< Double_t > > > incohIntensities_
The incoherent intensity values at each 2D grid point.
std::vector< Double_t > m13Points_
The m13 positions of the grid points.
Class for calculating 3-body kinematic quantities.
std::vector< Double_t > m13Weights_
The Gauss-Legendre weights of the m13 grid points.
void storeEfficiency(const UInt_t m13Point, const UInt_t m23Point, const Double_t efficiency)
Store the efficiency for the given grid point.
const LauComplex & getAmplitude(const UInt_t m13Point, const UInt_t m23Point, const UInt_t iAmp) const
Retrieve the amplitude for the given grid point and amplitude index.
void storeAmplitude(const UInt_t m13Point, const UInt_t m23Point, const UInt_t iAmp, const LauComplex &amplitude)
Store the amplitude for the given grid point and amplitude index.
std::vector< std::vector< std::vector< LauComplex > > > amplitudes_
The amplitude values at each 2D grid point.
const Double_t maxm23_
The maximum of the m23 range.
const UInt_t nAmp_
The number of amplitude components.