JG ROOT Tools libraries  version 5.0 - august 2014
RFitGaus2D.hh
Go to the documentation of this file.
1 //======================================================================
2 /*! \file RFitGaus2D.hh
3  *
4  * Include file for class RFitGaus2D
5  */
6 //======================================================================
7 
8 #ifndef R_FIT_GAUS_2D_HH
9 #define R_FIT_GAUS_2D_HH
10 
11 #include "RFitBase2D.hh"
12 #include "RFitDataGaus2D.hh"
13 
14 #include "RGauss2DFunctions.hh"
15 
16 #include "TEllipse.h"
17 
18 // Fit function.
19 extern Double_t RFitGaus2DFunction ( Double_t *x, Double_t *p );
20 
21 extern const char *rGaus2DBgName[];
22 
23 // pour les options de fit communnes au gaussiennes 2D et pics 1D
24 #include "RFitPeak.hh"
25 
26 // 2D Gauss fit options added to RFitOptions namespace
27 namespace RFitOptions
28 {
29  /*! Les paramètres sont SigA, SigB (largeur selon les axes principaux)
30  * et l'angle de rotation, au lieu des largeurs selon les axes X et Y
31  * et le coefficient de corrélation.
32  */
33  static const u_int modeTheta = 0x00000020;
34 
35  /*! Les coefficients de corrélation ou angles de rotation sont communs
36  * à tous les pics.
37  */
38  static const u_int commonCorrel = 0x00000200;
39 }
40 
41 
42 //======================================================================
43 /*! \class RFitGaus2D
44  *
45  * Voir les remarques générales de la classe de base RFitBase2D.
46  *
47  * Cette classe permet de fitter des gaussiennes 2D dans un histogramme 2D.
48  * Pour chaque gaussienne, on définit 6 paramètres:
49  * - le facteur d'échelle, qui est soit l'amplitude, soit le nombre de coups
50  * dans la gaussienne
51  * - les valeurs en X et Y du centre
52  * - les paramètres de largeur et corrélation: soit les largeurs en X et Y et
53  * le coefficient de corrélation (SigX, SigY, r), soit les largeurs selon
54  * les axes principaux A et B et l'angle de rotation (SigA, SigB, Theta).
55  *
56  * Fonction de fit avec les paramètres d'une ellipse droite avec angle de
57  * rotation:
58  *
59  * \image html equations_1.gif
60  *
61  * \image html equations_2.gif
62  *
63  * Fonction de fit avec les paramètres de largeur X et Y et le coefficeint
64  * de corrélation:
65  *
66  * \image html equations_3.gif
67  *
68  *
69  * Paramètres relatifs:
70  *
71  * Les paramètres des composantes gaussiennes peuvent être définis
72  * relativement aux valeurs d'une autre composante (de référence).
73  * Le numéro de la composante de référence doit être inférieur à celui
74  * de la composante considérée.
75  *
76  *
77  *
78  * Les options de fit sont définies dans l'espace de nom RFitOptions, et les
79  * modes de fit (minimisation de chi2, maximum de vraisemblance) sont
80  * définis dans l'espace de nom RFitModes.
81  *
82  *
83  * Modes de fit:
84  * - fitChi2 : minimisation de chi2
85  * - fitLikelyhood : maximum de vraisemblance
86  *
87  * Options pour le fit (options générales):
88  * - modeErrNorm : les erreurs obtenues sur les paramètres sont
89  * renormalisées pour obtenir un Chi2 de 1.
90  *
91  * Options pour le fit (options spécifiques):
92  * - modeCounts : le paramètre utilisé pour la constante de normalisation
93  * du pic est le nombre de coups dans le pics, au lieu de l'amplitude.
94  * - modeTheta :
95  * - commonSigma : les paramètres sigma sont communs à tous les pics
96  * - commonCorrel : le paramètre de correlation est commun à tous les pics
97  *
98  * Types de fond:
99  * - bgNone: pas de fond
100  * - bgConst: fond constant
101  * - bgLinX: fond linéaire en X de la forme P0 + P1*x
102  * - bgLinY: fond linéaire en Y de la forme P0 + P1*y
103  * - bgLinXY: fond linéaire en X et Y de la forme P0 + P1*x + P2*y
104  * - bgExpX: fond exponentiel en X de la forme exp(P0 + P1*x)
105  * - bgExpY: fond exponentiel en Y de la forme exp(P0 + P1*y)
106  * - bgExpXY: fond exponentiel en X et Y de la forme exp(P0 + P1*x + P2*y)
107  *
108  */
109 class RFitGaus2D : virtual public RFitDataGaus2D, virtual public RFitBase2D
110 {
111  //------------------------------------------------------------
112  /*! \object_doc{RFitGaus2D} */
114  //------------------------------------------------------------
115 
116  friend Double_t RFitGaus2DFunction (Double_t *, Double_t *);
117 
118  ///! Background types identifiers
119  enum BgType
120  {
121  bgNone = 0,
122  bgConst = 1,
123  bgLinX = 2,
124  bgLinY = 3,
125  bgLinXY = 4,
126  bgExpX = 5,
127  bgExpY = 6,
128  bgExpXY = 7
129  };
130 
131  protected:
132 
133  // données statiques
134 #ifndef __MAKECINT__
135 
136  static UInt_t bg_type; ///< Type de fond (statique pour être vue dans la fonction de fit)
137  static UInt_t bg_par_number[RGAUS2D_BG_MAX]; ///< Table du nombre de paramètres selon le type de fond
138 
139  static Int_t comp_number; ///< Nombre de gaussiennes à fitter
140 
141  static Int_t index_bg[RGAUS2D_MAX_BG_PAR]; ///< Index des paramètres de fond dans la table des paramètres
142  static Int_t index_fact [RGAUS2D_MAX]; ///< Index des facteurs de normalisation (amplitude ou surface) dans la table des paramètres
143  static Int_t index_ctrx [RGAUS2D_MAX]; ///< Index des centres en X dans la table des paramètres
144  static Int_t index_ctry [RGAUS2D_MAX]; ///< Index des centres en Y dans la table des paramètres
145  static Int_t index_sig1 [RGAUS2D_MAX]; ///< Index des sigma (X ou A) dans la table des paramètres
146  static Int_t index_sig2 [RGAUS2D_MAX]; ///< Index des sigma (Y ou B) dans la table des paramètres
147  static Int_t index_corr [RGAUS2D_MAX]; ///< Index du paramètre de corrélation (ou angle de rotation)
148 
149  static Int_t rel_ctr [RGAUS2D_MAX]; ///< Tableau des positions relatives des centres
150  static Int_t rel_fact [RGAUS2D_MAX]; ///< Tableau des valeurs relatives des constantes (amplitude/surface)
151  static Int_t rel_sig [RGAUS2D_MAX]; ///< Tableau des valeurs relatives des sigma
152 
153  static bool calc_comp [RGAUS2D_MAX]; ///< Indique les composantes gaussiennes à calculer
154  static bool calc_bg; ///< Indique s'il faut calculer le fond
155 #endif
156 
157 
158  Double_t xbg1; ///< Point pour pré-calcul du fond
159  Double_t ybg1; ///< Point pour pré-calcul du fond
160  Double_t xbg2; ///< Point pour pré-calcul du fond
161  Double_t ybg2; ///< Point pour pré-calcul du fond
162  Double_t xbg3; ///< Point pour pré-calcul du fond
163  Double_t ybg3; ///< Point pour pré-calcul du fond
164 
165  // attributs de lignes
166  static TAttLine latt_1sig; ///< Attributs de lignes pour tracé des ellipses à 1 sigma
167  static TAttLine latt_2sig; ///< Attributs de lignes pour tracé des ellipses à 2 sigma
168 
169  static Double_t pad_theta; ///< Angle de vue pour les tracés 3D
170  static Double_t pad_phi; ///< Angle de vue pour les tracés 3D
171 
172  //------------------------------------------------------------
173  // Constructors / affectation / destructor
174  public:
175  RFitGaus2D ( TH2 * hptr, TH2 * herr = NULL );
176  RFitGaus2D ( TH2 * hptr, const RFitDataGaus2D & fit_data );
177  RFitGaus2D ( TH2 * hptr, TH2 * herr, const RFitDataGaus2D & fit_data );
178  RFitGaus2D ( const RFitGaus2D & original );
179 
180  virtual ~RFitGaus2D ( );
181 
182  //------------------------------------------------------------
183  // surcharge des fonctions de la classe de base
184  virtual void InitMode ( );
185 
186  virtual void SetFitLimits ( const Double_t x1, const Double_t x2,
187  const Double_t y1, const Double_t y2 );
188 
189  //------------------------------------------------------------
190  virtual void SetComponentNumber ( const Int_t num );
191  static Int_t GetStaticComponentNumber ( );
192 
193  // type de fond (statiques pour pouvoir être vues dans la fonction de fit)
194  virtual void SetBgType ( const Int_t bg );
195  static Int_t GetStaticBgType ( );
196  static Int_t GetStaticBgParNumber ( );
197  static Int_t GetBgParNumber ( const Int_t bg );
198 
199  /*! Redefinition of RFitDataDecay function, to avoid compilation
200  * warning due to -Woverloaded-virtual option.*/
201  virtual Int_t GetBgParNumber ( ) const
202  { return (GetStaticBgParNumber()); }
203 
204  // index des paramètres selon leur type
205  virtual Int_t GetBgParIndex ( const Int_t p );
206  virtual Int_t GetFactorParIndex ( const Int_t pk );
207  virtual Int_t GetCenterXParIndex ( const Int_t pk );
208  virtual Int_t GetCenterYParIndex ( const Int_t pk );
209  virtual Int_t GetSigma1ParIndex ( const Int_t pk );
210  virtual Int_t GetSigma2ParIndex ( const Int_t pk );
211  virtual Int_t GetCorrelParIndex ( const Int_t pk );
212 
213  // prédéfinition du fond et des pics
214  virtual bool SetRelativeCenter ( const Int_t pk, const Int_t pkref = -1 );
215  virtual bool SetRelativeFactor ( const Int_t pk, const Int_t pkref = -1 );
216  virtual bool SetRelativeSigma ( const Int_t pk, const Int_t pkref = -1 );
217 
218  virtual void SetBgPar ( const Int_t p, const Double_t val );
219 
220  virtual void SetFactor ( const Int_t pk, const Double_t val );
221  virtual void SetAbsFactor ( const Int_t pk, const Double_t val );
222  virtual void SetAmplitude ( const Int_t pk, const Double_t val );
223  virtual void SetAbsAmplitude ( const Int_t pk, const Double_t val );
224 
225  virtual void SetCenterX ( const Int_t pk, const Double_t val );
226  virtual void SetAbsCenterX ( const Int_t pk, const Double_t val );
227  virtual void SetCenterY ( const Int_t pk, const Double_t val );
228  virtual void SetAbsCenterY ( const Int_t pk, const Double_t val );
229 
230  virtual void SetSigma1 ( const Int_t pk, const Double_t val );
231  virtual void SetAbsSigma1 ( const Int_t pk, const Double_t val );
232  virtual void SetSigma2 ( const Int_t pk, const Double_t val );
233  virtual void SetAbsSigma2 ( const Int_t pk, const Double_t val );
234 
235  virtual void SetCorrelPar ( const Int_t pk, const Double_t val );
236 
237 
238  virtual Double_t GetBgPar ( const Int_t p ) const;
239  virtual Double_t GetFactor ( const Int_t pk = 0 ) const;
240  virtual Double_t GetAbsFactor ( const Int_t pk = 0 ) const;
241  virtual Double_t GetAmplitude ( const Int_t pk = 0 ) const;
242  virtual Double_t GetCounts ( const Int_t pk = 0 ) const;
243 
244  virtual Double_t GetCenterX ( const Int_t pk = 0 ) const;
245  virtual Double_t GetAbsCenterX ( const Int_t pk = 0 ) const;
246  virtual Double_t GetCenterY ( const Int_t pk = 0 ) const;
247  virtual Double_t GetAbsCenterY ( const Int_t pk = 0 ) const;
248 
249  virtual Double_t GetSigma1 ( const Int_t pk = 0 ) const;
250  virtual Double_t GetAbsSigma1 ( const Int_t pk = 0 ) const;
251  virtual Double_t GetSigma2 ( const Int_t pk = 0 ) const;
252  virtual Double_t GetAbsSigma2 ( const Int_t pk = 0 ) const;
253 
254  virtual Double_t GetCorrelPar ( const Int_t pk = 0 ) const;
255  virtual Double_t GetTheta ( const Int_t pk = 0 ) const;
256 
257  virtual Double_t GetBgParError ( const Int_t p ) const;
258  virtual Double_t GetFactorError ( const Int_t pk = 0 ) const;
259  virtual Double_t GetAbsFactorError ( const Int_t pk = 0 ) const;
260  virtual Double_t GetAmplitudeError ( const Int_t pk = 0 ) const;
261  virtual Double_t GetCountsError ( const Int_t pk = 0 ) const;
262 
263  virtual Double_t GetCenterXError ( const Int_t pk = 0 ) const;
264  virtual Double_t GetAbsCenterXError ( const Int_t pk = 0 ) const;
265  virtual Double_t GetCenterYError ( const Int_t pk = 0 ) const;
266  virtual Double_t GetAbsCenterYError ( const Int_t pk = 0 ) const;
267 
268  virtual Double_t GetSigma1Error ( const Int_t pk = 0 ) const;
269  virtual Double_t GetAbsSigma1Error ( const Int_t pk = 0 ) const;
270  virtual Double_t GetSigma2Error ( const Int_t pk = 0 ) const;
271  virtual Double_t GetAbsSigma2Error ( const Int_t pk = 0 ) const;
272 
273  virtual Double_t GetCorrelParError ( const Int_t pk = 0 ) const;
274  //virtual Double_t GetThetaError ( const Int_t pk = 0 ) const;
275 
276  // paramètres fixes
277  virtual void FixBgParameter ( const Int_t p, const bool b = true );
278  virtual void FixFactorParameter ( const Int_t pk, const bool b = true );
279  virtual void FixCenterXParameter ( const Int_t pk, const bool b = true );
280  virtual void FixCenterYParameter ( const Int_t pk, const bool b = true );
281  virtual void FixSigma1Parameter ( const Int_t pk, const bool b = true );
282  virtual void FixSigma2Parameter ( const Int_t pk, const bool b = true );
283  virtual void FixCorrelParameter ( const Int_t pk, const bool b = true );
284 
285  virtual bool IsFixBgParameter ( const Int_t p ) const;
286  virtual bool IsFixFactorParameter ( const Int_t pk ) const;
287  virtual bool IsFixCenterXParameter ( const Int_t pk ) const;
288  virtual bool IsFixCenterYParameter ( const Int_t pk ) const;
289  virtual bool IsFixSigma1Parameter ( const Int_t pk ) const;
290  virtual bool IsFixSigma2Parameter ( const Int_t pk ) const;
291  virtual bool IsFixCorrelParameter ( const Int_t pk ) const;
292 
293  // préinitialisation
294  virtual void PresetBg ( const Double_t x1, const Double_t y1 );
295  virtual void PresetBg ( const Double_t x1, const Double_t y1, const Double_t delta );
296  virtual void PresetBg ( const Double_t x1, const Double_t y1, const Double_t dx, const Double_t dy );
297  virtual void PresetComponent ( const Int_t pk,
298  const Double_t cx, const Double_t cy,
299  const Double_t s1 = -1., const Double_t s2 = -1. );
300 
301  //------------------------------------------------------------
302  // styles de tracé //------------------------------------------------------------ // tracés de la fonction virtual void SetCalcAll ( ); virtual void SetCalcNone ( ); virtual void SetFunction ( ); virtual void ScaleFunction ( const Double_t s ); virtual void DrawComponent ( const Int_t pk, const bool bg = true, const char *opts = "COL" ); virtual void DrawEllipse ( const Int_t pk ); virtual void DrawBg ( const char *opts = "COL" ); virtual void DrawFctResult ( TVirtualPad * pad, const ROptionString &opts = "" ); virtual TEllipse * GetEllipse ( const Int_t pk, const Double_t rsig = 1. ); // création d'histogrammes à partir de la fonction virtual TH2 * GetComponentHisto ( const char *name, const Int_t pk, const bool bg = false ); virtual TH2 * GetBgHisto ( const char *name ); // résultat (texte) virtual string GetFitText ( ) const; virtual RFitData2D * CreateFitData ( ); virtual RFitData2D * GetFitData ( ); virtual void SetFitData ( const RFitData2D * fit_data ); virtual Int_t LoadFitData ( const string &fname ); //------------------------------------------------------------ /*! For ROOT dictionary.*/ public: ClassDef(RFitGaus2D,0); }; //---------------------------------------------------------------------- // Inline functions #include "icc/RFitGaus2D.icc" //====================================================================== #endif
303 
304  //------------------------------------------------------------
305  // tracés de la fonction
306  virtual void SetCalcAll ( );
307  virtual void SetCalcNone ( );
308  virtual void SetFunction ( );
309  virtual void ScaleFunction ( const Double_t s );
310 
311  virtual void DrawComponent ( const Int_t pk, const bool bg = true, const char *opts = "COL" );
312  virtual void DrawEllipse ( const Int_t pk );
313  virtual void DrawBg ( const char *opts = "COL" );
314 
315  virtual void DrawFctResult ( TVirtualPad * pad, const ROptionString &opts = "" );
316 
317  virtual TEllipse * GetEllipse ( const Int_t pk, const Double_t rsig = 1. );
318 
319  // création d'histogrammes à partir de la fonction
320  virtual TH2 * GetComponentHisto ( const char *name, const Int_t pk, const bool bg = false );
321  virtual TH2 * GetBgHisto ( const char *name );
322 
323  // résultat (texte)
324  virtual string GetFitText ( ) const;
325 
326  virtual RFitData2D * CreateFitData ( );
327  virtual RFitData2D * GetFitData ( );
328  virtual void SetFitData ( const RFitData2D * fit_data );
329  virtual Int_t LoadFitData ( const string &fname );
330 
331 
332  //------------------------------------------------------------
333  /*! For ROOT dictionary.*/
334  public:
335  ClassDef(RFitGaus2D,0);
336 };
337 
338 //----------------------------------------------------------------------
339 // Inline functions
340 #include "icc/RFitGaus2D.icc"
341 
342 //======================================================================
343 #endif
virtual Double_t GetFactorError(const Int_t pk=0) const
Definition: RFitGaus2D.cpp:1014
virtual TH2 * GetComponentHisto(const char *name, const Int_t pk, const bool bg=false)
Definition: RFitGaus2D.cpp:2462
virtual bool SetRelativeFactor(const Int_t pk, const Int_t pkref=-1)
Definition: RFitGaus2D.cpp:453
static Int_t rel_sig[5]
Tableau des valeurs relatives des sigma.
Definition: RFitGaus2D.hh:151
virtual bool SetRelativeSigma(const Int_t pk, const Int_t pkref=-1)
Definition: RFitGaus2D.cpp:501
virtual void SetCorrelPar(const Int_t pk, const Double_t val)
Definition: RFitGaus2D.cpp:919
virtual bool IsFixSigma1Parameter(const Int_t pk) const
Definition: RFitGaus2D.cpp:1922
virtual Double_t GetCenterX(const Int_t pk=0) const
Definition: RFitGaus2D.cpp:1338
virtual bool IsFixCenterXParameter(const Int_t pk) const
Definition: RFitGaus2D.cpp:1892
virtual Double_t GetSigma2Error(const Int_t pk=0) const
Definition: RFitGaus2D.cpp:1621
virtual Double_t GetCenterXError(const Int_t pk=0) const
Definition: RFitGaus2D.cpp:1355
virtual Double_t GetAbsFactor(const Int_t pk=0) const
Definition: RFitGaus2D.cpp:989
virtual void FixSigma2Parameter(const Int_t pk, const bool b=true)
Definition: RFitGaus2D.cpp:1833
virtual Int_t GetFactorParIndex(const Int_t pk)
Definition: RFitGaus2D.icc:66
virtual Double_t GetSigma1(const Int_t pk=0) const
Definition: RFitGaus2D.cpp:1511
#define RGAUS2D_BG_MAX
Valeur maxi du type de fond.
Definition: RFitDataGaus2D.hh:23
Double_t xbg1
Point pour pré-calcul du fond.
Definition: RFitGaus2D.hh:158
virtual Int_t GetSigma2ParIndex(const Int_t pk)
Definition: RFitGaus2D.icc:94
virtual void SetFunction()
Definition: RFitGaus2D.cpp:2243
RFitGaus2D(TH2 *hptr, TH2 *herr=NULL)
Definition: RFitGaus2D.cpp:51
virtual void SetBgType(const Int_t bg)
Definition: RFitGaus2D.icc:34
virtual void SetAbsSigma1(const Int_t pk, const Double_t val)
Definition: RFitGaus2D.cpp:837
BgType
! Background types identifiers
Definition: RFitGaus2D.hh:119
virtual void DrawFctResult(TVirtualPad *pad, const ROptionString &opts="")
Definition: RFitGaus2D.cpp:2399
virtual Double_t GetAbsSigma1(const Int_t pk=0) const
Definition: RFitGaus2D.cpp:1548
virtual Double_t GetBgParError(const Int_t p) const
Definition: RFitGaus2D.cpp:953
Definition: RFitBase2D.hh:38
virtual void PresetComponent(const Int_t pk, const Double_t cx, const Double_t cy, const Double_t s1=-1., const Double_t s2=-1.)
Definition: RFitGaus2D.cpp:2190
virtual Double_t GetCenterY(const Int_t pk=0) const
Definition: RFitGaus2D.cpp:1422
GObject(RFitGaus2D)
virtual void SetCalcNone()
Definition: RFitGaus2D.cpp:2234
virtual void FixFactorParameter(const Int_t pk, const bool b=true)
Definition: RFitGaus2D.cpp:1781
virtual Int_t GetCenterXParIndex(const Int_t pk)
Definition: RFitGaus2D.icc:73
virtual RFitData2D * CreateFitData()
Definition: RFitGaus2D.cpp:2769
static const u_int commonCorrel
Definition: RFitGaus2D.hh:38
virtual void DrawBg(const char *opts="COL")
Definition: RFitGaus2D.cpp:2349
virtual Int_t GetCenterYParIndex(const Int_t pk)
Definition: RFitGaus2D.icc:80
#define RGAUS2D_MAX
Nombre maxi de pics.
Definition: RFitDataGaus2D.hh:17
static Int_t GetStaticBgParNumber()
Definition: RFitGaus2D.icc:44
virtual Double_t GetCorrelPar(const Int_t pk=0) const
Definition: RFitGaus2D.cpp:1693
virtual void SetComponentNumber(const Int_t num)
Definition: RFitGaus2D.icc:22
virtual void SetFactor(const Int_t pk, const Double_t val)
Definition: RFitGaus2D.cpp:578
virtual void SetCalcAll()
Definition: RFitGaus2D.cpp:2223
static Int_t index_fact[5]
Index des facteurs de normalisation (amplitude ou surface) dans la table des paramètres.
Definition: RFitGaus2D.hh:142
virtual Double_t GetAbsSigma1Error(const Int_t pk=0) const
Definition: RFitGaus2D.cpp:1572
virtual bool IsFixSigma2Parameter(const Int_t pk) const
Definition: RFitGaus2D.cpp:1937
Double_t ybg1
Point pour pré-calcul du fond.
Definition: RFitGaus2D.hh:159
GOptionString ROptionString
! Defined for compatibility
Definition: ROptionString.hh:17
virtual Double_t GetSigma2(const Int_t pk=0) const
Definition: RFitGaus2D.cpp:1602
static Double_t pad_theta
Angle de vue pour les tracés 3D.
Definition: RFitGaus2D.hh:169
virtual void SetAbsCenterX(const Int_t pk, const Double_t val)
Definition: RFitGaus2D.cpp:748
static Int_t rel_fact[5]
Tableau des valeurs relatives des constantes (amplitude/surface)
Definition: RFitGaus2D.hh:150
static Double_t pad_phi
Angle de vue pour les tracés 3D.
Definition: RFitGaus2D.hh:170
#define RGAUS2D_MAX_BG_PAR
Nombre maxi de paramètres du fond.
Definition: RFitDataGaus2D.hh:20
virtual Int_t GetBgParIndex(const Int_t p)
Definition: RFitGaus2D.icc:59
virtual Double_t GetSigma1Error(const Int_t pk=0) const
Definition: RFitGaus2D.cpp:1530
virtual void SetCenterX(const Int_t pk, const Double_t val)
Definition: RFitGaus2D.cpp:729
virtual ~RFitGaus2D()
Definition: RFitGaus2D.cpp:136
virtual void DrawComponent(const Int_t pk, const bool bg=true, const char *opts="COL")
Definition: RFitGaus2D.cpp:2298
virtual Double_t GetCorrelParError(const Int_t pk=0) const
Definition: RFitGaus2D.cpp:1712
virtual Double_t GetAmplitude(const Int_t pk=0) const
Definition: RFitGaus2D.cpp:1059
virtual Double_t GetFactor(const Int_t pk=0) const
Definition: RFitGaus2D.cpp:973
virtual Double_t GetCenterYError(const Int_t pk=0) const
Definition: RFitGaus2D.cpp:1439
virtual void ScaleFunction(const Double_t s)
Definition: RFitGaus2D.cpp:2264
virtual void SetSigma2(const Int_t pk, const Double_t val)
Definition: RFitGaus2D.cpp:868
Definition: RFitGaus2D.hh:109
virtual Double_t GetAbsSigma2(const Int_t pk=0) const
Definition: RFitGaus2D.cpp:1639
virtual Double_t GetAbsSigma2Error(const Int_t pk=0) const
Definition: RFitGaus2D.cpp:1663
virtual bool IsFixCorrelParameter(const Int_t pk) const
Definition: RFitGaus2D.cpp:1953
virtual Double_t GetTheta(const Int_t pk=0) const
Definition: RFitGaus2D.cpp:1730
virtual void FixCorrelParameter(const Int_t pk, const bool b=true)
Definition: RFitGaus2D.cpp:1847
Double_t xbg3
Point pour pré-calcul du fond.
Definition: RFitGaus2D.hh:162
virtual Int_t LoadFitData(const string &fname)
Definition: RFitGaus2D.cpp:2832
virtual Int_t GetSigma1ParIndex(const Int_t pk)
Definition: RFitGaus2D.icc:87
static UInt_t bg_type
Type de fond (statique pour être vue dans la fonction de fit)
Definition: RFitGaus2D.hh:136
Definition: RFitDataGaus2D.hh:30
virtual void SetAbsFactor(const Int_t pk, const Double_t val)
Definition: RFitGaus2D.cpp:598
virtual Double_t GetBgPar(const Int_t p) const
Definition: RFitGaus2D.cpp:938
static Int_t index_ctry[5]
Index des centres en Y dans la table des paramètres.
Definition: RFitGaus2D.hh:144
static Int_t index_sig1[5]
Index des sigma (X ou A) dans la table des paramètres.
Definition: RFitGaus2D.hh:145
static Int_t index_corr[5]
Index du paramètre de corrélation (ou angle de rotation)
Definition: RFitGaus2D.hh:147
ClassDef(RFitGaus2D, 0)
static Int_t GetStaticComponentNumber()
Definition: RFitGaus2D.icc:26
virtual Double_t GetAbsCenterX(const Int_t pk=0) const
Definition: RFitGaus2D.cpp:1371
static Int_t GetStaticBgType()
Definition: RFitGaus2D.icc:38
const char * rGaus2DBgName[]
Noms des différents types de fond.
Definition: RFitGaus2D.cpp:34
virtual void InitMode()
Definition: RFitGaus2D.cpp:149
virtual void SetAbsSigma2(const Int_t pk, const Double_t val)
Definition: RFitGaus2D.cpp:887
virtual void SetFitLimits(const Double_t x1, const Double_t x2, const Double_t y1, const Double_t y2)
Definition: RFitGaus2D.icc:15
virtual bool SetRelativeCenter(const Int_t pk, const Int_t pkref=-1)
Definition: RFitGaus2D.cpp:405
virtual void SetAmplitude(const Int_t pk, const Double_t val)
Definition: RFitGaus2D.cpp:629
virtual RFitData2D * GetFitData()
Definition: RFitGaus2D.cpp:2781
virtual Double_t GetAmplitudeError(const Int_t pk=0) const
Definition: RFitGaus2D.cpp:1106
static bool calc_bg
Indique s&#39;il faut calculer le fond.
Definition: RFitGaus2D.hh:154
virtual TEllipse * GetEllipse(const Int_t pk, const Double_t rsig=1.)
Definition: RFitGaus2D.cpp:2363
static Int_t rel_ctr[5]
Tableau des positions relatives des centres.
Definition: RFitGaus2D.hh:149
static bool calc_comp[5]
Indique les composantes gaussiennes à calculer.
Definition: RFitGaus2D.hh:153
static Int_t index_sig2[5]
Index des sigma (Y ou B) dans la table des paramètres.
Definition: RFitGaus2D.hh:146
Double_t RFitGaus2DFunction(Double_t *x, Double_t *p)
Definition: RFitGaus2DFunction.cpp:18
virtual Double_t GetAbsFactorError(const Int_t pk=0) const
Definition: RFitGaus2D.cpp:1031
virtual Double_t GetAbsCenterYError(const Int_t pk=0) const
Definition: RFitGaus2D.cpp:1477
virtual Double_t GetCountsError(const Int_t pk=0) const
Definition: RFitGaus2D.cpp:1244
friend Double_t RFitGaus2DFunction(Double_t *, Double_t *)
Definition: RFitGaus2DFunction.cpp:18
virtual void SetBgPar(const Int_t p, const Double_t val)
Definition: RFitGaus2D.cpp:557
virtual Int_t GetCorrelParIndex(const Int_t pk)
Definition: RFitGaus2D.icc:101
virtual Int_t GetBgParNumber() const
Definition: RFitGaus2D.hh:201
virtual TH2 * GetBgHisto(const char *name)
Definition: RFitGaus2D.cpp:2487
Double_t ybg2
Point pour pré-calcul du fond.
Definition: RFitGaus2D.hh:161
Double_t xbg2
Point pour pré-calcul du fond.
Definition: RFitGaus2D.hh:160
static TAttLine latt_2sig
Attributs de lignes pour tracé des ellipses à 2 sigma.
Definition: RFitGaus2D.hh:167
virtual Double_t GetAbsCenterXError(const Int_t pk=0) const
Definition: RFitGaus2D.cpp:1393
virtual string GetFitText() const
Definition: RFitGaus2D.cpp:2510
virtual void PresetBg(const Double_t x1, const Double_t y1)
Definition: RFitGaus2D.cpp:1973
virtual bool IsFixBgParameter(const Int_t p) const
Definition: RFitGaus2D.cpp:1862
static const u_int modeTheta
Definition: RFitGaus2D.hh:33
static Int_t index_ctrx[5]
Index des centres en X dans la table des paramètres.
Definition: RFitGaus2D.hh:143
virtual void SetSigma1(const Int_t pk, const Double_t val)
Definition: RFitGaus2D.cpp:818
virtual bool IsFixCenterYParameter(const Int_t pk) const
Definition: RFitGaus2D.cpp:1907
Double_t ybg3
Point pour pré-calcul du fond.
Definition: RFitGaus2D.hh:163
virtual void FixCenterXParameter(const Int_t pk, const bool b=true)
Definition: RFitGaus2D.cpp:1794
static Int_t index_bg[3]
Index des paramètres de fond dans la table des paramètres.
Definition: RFitGaus2D.hh:141
static Int_t comp_number
Nombre de gaussiennes à fitter.
Definition: RFitGaus2D.hh:139
virtual Double_t GetAbsCenterY(const Int_t pk=0) const
Definition: RFitGaus2D.cpp:1455
virtual void SetAbsAmplitude(const Int_t pk, const Double_t val)
Definition: RFitGaus2D.cpp:673
static UInt_t bg_par_number[8]
Table du nombre de paramètres selon le type de fond.
Definition: RFitGaus2D.hh:137
virtual bool IsFixFactorParameter(const Int_t pk) const
Definition: RFitGaus2D.cpp:1877
virtual void SetAbsCenterY(const Int_t pk, const Double_t val)
Definition: RFitGaus2D.cpp:793
virtual Double_t GetCounts(const Int_t pk=0) const
Definition: RFitGaus2D.cpp:1196
Definition: RFitData2D.hh:22
virtual void SetCenterY(const Int_t pk, const Double_t val)
Definition: RFitGaus2D.cpp:774
virtual void DrawEllipse(const Int_t pk)
Definition: RFitGaus2D.cpp:2311
virtual void FixSigma1Parameter(const Int_t pk, const bool b=true)
Definition: RFitGaus2D.cpp:1820
virtual void FixBgParameter(const Int_t p, const bool b=true)
Definition: RFitGaus2D.cpp:1768
static TAttLine latt_1sig
Attributs de lignes pour tracé des ellipses à 1 sigma.
Definition: RFitGaus2D.hh:166
virtual void SetFitData(const RFitData2D *fit_data)
Definition: RFitGaus2D.cpp:2804
virtual void FixCenterYParameter(const Int_t pk, const bool b=true)
Definition: RFitGaus2D.cpp:1807