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 
27 struct matrice {
28  int nb_lignes;
30  double **coeff;
31 };
32 typedef struct matrice matrice;
33 matrice cree_mat(int, int);
35 void fill_mat(matrice, matrice);
37 
38 class TFParams : public TObject {
39 public:
40  static constexpr unsigned int dimmat = 30;
41  static constexpr unsigned int dimout = 10;
42  static constexpr unsigned int nbmax_cell = 1000;
43  static constexpr int SDIM2 = 10;
44  static constexpr int PLSHDIM = 650;
45 
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  /* number of samples for cristal */
61  /* size of the pulse shape array */
62  TFParams(int size = SDIM2, int size_sh = PLSHDIM);
63  ~TFParams() override{};
64  double fitpj(double **, double *, double **, double noise_val, int debug);
65  void set_const(int, int, int, double, double, int);
70  void somme_mat_int_scale(matrice, matrice, double);
71  void print_mat_nk(matrice, int);
72  void print_mat(matrice);
75  void copie_colonne_mat(matrice, matrice, int);
76  char name_mat[10];
77  void zero_mat(matrice);
78  void zero_mat_nk(matrice, int);
79  double f3deg(int, double parom[dimout], double mask[dimmat], double adcpj[dimmat], double errpj[dimmat][dimmat]);
80  double parab(double *, Int_t, Int_t, double *);
81  Double_t polfit(Int_t ns, Int_t imax, Double_t par3d[dimout], Double_t errpj[dimmat][dimmat], double *);
82  double inverpj(int, double g[dimmat][dimmat], double ginv[dimmat][dimmat]);
83  double inv3x3(double a[3][3], double b[3][3]);
84  double pulseShapepj(Double_t *, Double_t *);
85  double pulseShapepj2(Double_t *, Double_t *);
86  double lastShape(Double_t *, Double_t *);
87  double lastShape2(Double_t *, Double_t *);
88  double mixShape(Double_t *, Double_t *);
89  double computePulseWidth(int, double, double);
90 
91  ClassDefOverride(TFParams, 0)
92 };
93 #endif
TFParams::mixShape
double mixShape(Double_t *, Double_t *)
Definition: TFParams.cc:1128
matrice::nb_lignes
int nb_lignes
Definition: TFParams.h:28
TFParams::~TFParams
~TFParams() override
Definition: TFParams.h:63
TFParams::name_mat
char name_mat[10]
Definition: TFParams.h:76
TFParams::PLSHDIM
static constexpr int PLSHDIM
Definition: TFParams.h:44
TFParams::a3ini
double a3ini
Definition: TFParams.h:53
TFParams::a1ini
double a1ini
Definition: TFParams.h:51
TFParams::dimout
static constexpr unsigned int dimout
Definition: TFParams.h:41
TFParams::a2ini
double a2ini
Definition: TFParams.h:52
TFParams::nevtmax
int nevtmax
Definition: TFParams.h:50
TFParams::nsmax
int nsmax
Definition: TFParams.h:49
TFParams::lastShape
double lastShape(Double_t *, Double_t *)
Definition: TFParams.cc:1026
TFParams::inverpj
double inverpj(int, double g[dimmat][dimmat], double ginv[dimmat][dimmat])
Definition: TFParams.cc:894
TFParams::zero_mat_nk
void zero_mat_nk(matrice, int)
Definition: TFParams.cc:703
TFParams::copie_colonne_mat
void copie_colonne_mat(matrice, matrice, int)
Definition: TFParams.cc:579
TFParams::print_mat
void print_mat(matrice)
Definition: TFParams.cc:681
TFParams::lastShape2
double lastShape2(Double_t *, Double_t *)
Definition: TFParams.cc:1041
TFParams::nbmax_cell
static constexpr unsigned int nbmax_cell
Definition: TFParams.h:42
TFParams::somme_mat_int_scale
void somme_mat_int_scale(matrice, matrice, double)
Definition: TFParams.cc:610
debug
#define debug
Definition: HDRShower.cc:19
cree_mat_prod
matrice cree_mat_prod(matrice, matrice)
Definition: TFParams.cc:630
TFParams::somme_mat_int
void somme_mat_int(matrice, matrice)
Definition: TFParams.cc:594
TFParams::zero_mat
void zero_mat(matrice)
Definition: TFParams.cc:695
TFParams::adclu
double adclu[26]
Definition: TFParams.h:55
TFParams::SDIM2
static constexpr int SDIM2
Definition: TFParams.h:43
matrice::nb_colonnes
int nb_colonnes
Definition: TFParams.h:29
b
double b
Definition: hdecay.h:118
fill_mat
void fill_mat(matrice, matrice)
Definition: TFParams.cc:667
matrice
Definition: TFParams.h:27
TFParams::step_shape
double step_shape
Definition: TFParams.h:54
TFParams::print_mat_nk
void print_mat_nk(matrice, int)
Definition: TFParams.cc:709
TFParams::weight_matrix
double weight_matrix[10][10]
Definition: TFParams.h:56
a
double a
Definition: hdecay.h:119
TFParams::produit_mat_int
void produit_mat_int(matrice, matrice, matrice)
Definition: TFParams.cc:544
TFParams::inv3x3
double inv3x3(double a[3][3], double b[3][3])
Definition: TFParams.cc:957
fill_mat_int
matrice fill_mat_int(matrice, matrice, matrice)
TFParams::ns
int ns
Definition: TFParams.h:47
TFParams::TFParams
TFParams(int size=SDIM2, int size_sh=PLSHDIM)
Definition: TFParams.cc:23
TFParams::produit_mat
void produit_mat(matrice, matrice, matrice)
Definition: TFParams.cc:523
TFParams::dimmat
static constexpr unsigned int dimmat
Definition: TFParams.h:40
TFParams::parab
double parab(double *, Int_t, Int_t, double *)
Definition: TFParams.cc:1091
TFParams::nsmin
int nsmin
Definition: TFParams.h:48
TFParams::polfit
Double_t polfit(Int_t ns, Int_t imax, Double_t par3d[dimout], Double_t errpj[dimmat][dimmat], double *)
Definition: TFParams.cc:759
TFParams::computePulseWidth
double computePulseWidth(int, double, double)
Definition: TFParams.cc:1158
TFParams::pulseShapepj
double pulseShapepj(Double_t *, Double_t *)
Definition: TFParams.cc:991
TFParams::set_const
void set_const(int, int, int, double, double, int)
Definition: TFParams.cc:509
TFParams::transpose_mat
void transpose_mat(matrice, matrice)
Definition: TFParams.cc:620
TFParams
Definition: TFParams.h:38
matrice::coeff
double ** coeff
Definition: TFParams.h:30
cree_mat
matrice cree_mat(int, int)
Definition: TFParams.cc:648
TFParams::f3deg
double f3deg(int, double parom[dimout], double mask[dimmat], double adcpj[dimmat], double errpj[dimmat][dimmat])
Definition: TFParams.cc:805
TFParams::METHODE
int METHODE
Definition: TFParams.h:57
TFParams::pulseShapepj2
double pulseShapepj2(Double_t *, Double_t *)
Definition: TFParams.cc:1058
TFParams::inverse_mat
void inverse_mat(matrice, matrice)
Definition: TFParams.cc:719
TFParams::fitpj
double fitpj(double **, double *, double **, double noise_val, int debug)
Definition: TFParams.cc:34
TFParams::diff_mat
void diff_mat(matrice, matrice, matrice)
Definition: TFParams.cc:562
g
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
findQualityFiles.size
size
Write out results.
Definition: findQualityFiles.py:443