CMS 3D CMS Logo

TFParams.h
Go to the documentation of this file.
1 #ifndef TFParams_h
2 #define TFParams_h
3 #include "TROOT.h"
4 #include "TObject.h"
5 #include "TArrayI.h"
6 #include "TArrayD.h"
7 #include "TArrayC.h"
8 #include "TCanvas.h"
9 #include "TDirectory.h"
10 #include "TPaveLabel.h"
11 #include "TF1.h"
12 #include <ctime>
13 #include "TGraph.h"
14 #include <cstdio>
15 #include <cmath>
16 #include "TH2.h"
17 #include "TH1.h"
18 #include "TStyle.h"
19 #include "TCanvas.h"
20 #include "TPaveText.h"
21 #include "TPaveLabel.h"
22 #include "TProfile.h"
23 #include "TVirtualX.h"
24 #include "TObject.h"
25 //#include "TMatrixD.h"
26 #define SDIM2 10 /* number of samples for cristal */
27 #define PLSHDIM 650 /* size of the pulse shape array */
28  //double pulseShape( Double_t x[1], Double_t par[4] ) ;
29  //
30 struct matrice {
31  int nb_lignes;
33  double **coeff;
34 };
35 typedef struct matrice matrice;
36 matrice cree_mat(int, int);
38 void fill_mat(matrice, matrice);
40 
41 #define dimmat 30
42 #define dimout 10
43 #define nbmax_cell 1000
44 
45 class TFParams : public TObject {
46 private:
47  int ns; // number of samples
48  int nsmin; // beginning of fit
49  int nsmax; // end of fit
50  int nevtmax; // number of events to fit
51  double a1ini; // value of alpha at starting point
52  double a2ini; // value of alpha_prim/beta at starting point
53  double a3ini; // value of beta/alpha_prim at starting point
54  double step_shape;
55  double adclu[26];
56  double weight_matrix[10][10];
57  int METHODE;
58 
59 public:
60  TFParams(int size = SDIM2, int size_sh = PLSHDIM);
61  ~TFParams() override{};
62  double fitpj(double **, double *, double **, double noise_val, int debug);
63  void set_const(int, int, int, double, double, int);
64  void produit_mat(matrice, matrice, matrice);
65  void produit_mat_int(matrice, matrice, matrice);
66  void diff_mat(matrice, matrice, matrice);
67  void somme_mat_int(matrice, matrice);
68  void somme_mat_int_scale(matrice, matrice, double);
69  void print_mat_nk(matrice, int);
70  void print_mat(matrice);
71  void transpose_mat(matrice, matrice);
72  void inverse_mat(matrice, matrice);
73  void copie_colonne_mat(matrice, matrice, int);
74  char name_mat[10];
75  void zero_mat(matrice);
76  void zero_mat_nk(matrice, int);
77  double f3deg(int, double parom[dimout], double mask[dimmat], double adcpj[dimmat], double errpj[dimmat][dimmat]);
78  double parab(double *, Int_t, Int_t, double *);
79  Double_t polfit(Int_t ns, Int_t imax, Double_t par3d[dimout], Double_t errpj[dimmat][dimmat], double *);
80  double inverpj(int, double g[dimmat][dimmat], double ginv[dimmat][dimmat]);
81  double inv3x3(double a[3][3], double b[3][3]);
82  double pulseShapepj(Double_t *, Double_t *);
83  double pulseShapepj2(Double_t *, Double_t *);
84  double lastShape(Double_t *, Double_t *);
85  double lastShape2(Double_t *, Double_t *);
86  double mixShape(Double_t *, Double_t *);
87  double computePulseWidth(int, double, double);
88 
89  ClassDefOverride(TFParams, 0)
90 };
91 #endif
int nsmax
Definition: TFParams.h:49
size
Write out results.
double a1ini
Definition: TFParams.h:51
#define PLSHDIM
Definition: TFParams.h:27
int nsmin
Definition: TFParams.h:48
#define dimmat
Definition: TFParams.h:41
double a2ini
Definition: TFParams.h:52
double ** coeff
Definition: TFParams.h:33
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e g
Definition: Activities.doc:4
int nevtmax
Definition: TFParams.h:50
#define SDIM2
Definition: TFParams.h:26
matrice fill_mat_int(matrice, matrice, matrice)
matrice cree_mat_prod(matrice, matrice)
Definition: TFParams.cc:630
int METHODE
Definition: TFParams.h:57
int nb_lignes
Definition: TFParams.h:31
matrice cree_mat(int, int)
Definition: TFParams.cc:648
double a3ini
Definition: TFParams.h:53
int ns
Definition: TFParams.h:47
#define debug
Definition: HDRShower.cc:19
void fill_mat(matrice, matrice)
Definition: TFParams.cc:667
double b
Definition: hdecay.h:118
int nb_colonnes
Definition: TFParams.h:32
double step_shape
Definition: TFParams.h:54
~TFParams() override
Definition: TFParams.h:61
double a
Definition: hdecay.h:119
#define dimout
Definition: TFParams.h:42