KaliVeda
Toolkit for HIC analysis
KVAlphaCalibration.h
1 /*
2  $Id: KVAlphaCalibration.h, v 1.0 2019/05/14 17:00:00 lemarie Exp $
3  $Revision: 1.0 $
4  $Date: 2019/05/14 17:00:00 $
5  $Author: lemarie $
6 */
7 
8 #ifndef _KVCALIBRATION_H_
9 #define _KVCALIBRATION_H_
10 
11 #include "TH1.h"
12 #include "TF1.h"
13 #include "TSpectrum.h"
14 #include "TGraph.h"
15 #include <string>
16 #include <TMath.h>
17 #include "TCanvas.h"
18 #include "TSystem.h"
19 #include "TFile.h"
20 #include "TStyle.h"
21 #include "TROOT.h"
22 #include <vector>
23 #include <cstdlib>
24 #include <iostream>
25 #include <limits>
26 
72 
73 protected :
74  double SigmaOfTSpectrum;
75  double SigmaOfGaussian;
76  double ThresholdOfTSpectrum;
77  bool IsOriginAtZero;
78  int NumberOfPeak;
79  TSpectrum* spec;
80  double InitializationFitResults[2];
81  std::vector<double> GaussianFitResults;
82  std::vector<double> GaussianFitResultsError;
83  double FunctionToFit(double* x, double* par); //the model we use to fit the peak
84  std::vector<double> InitializationPeak;
85 
86 
87 private :
88  TH1* Histo;
89  TF1* InitializationFit;
90  TF1* GaussianFit;
91  TGraph* factorGraph;
92  std::vector<double> MeanOfPeak;
93  std::vector<double> IntensityOfPeak;
94  void HistoInit(TH1* h); //-
95  TF1 GetFunction(void);
96  void SetFunction(std::string FunctionName = "x*[0]");
97 
98 public :
99 
100  KVAlphaCalibration(int NumberOfPeak_); //-
101  KVAlphaCalibration(int NumberOfPeak_, TH1* h); //-
103 
104  void Init(int);
105  void SetHisto(TH1* h);
106  void SetParameters(double SigmaOfTSpectrum_ = 1., double SigmaOfGaussian_ = 1., double ThresholdOfTSpectrum_ = 0.5, double IsOriginAtZero_ = false);
107  void AddPeak(double Energy_, double Intensity_); //-
108  void SetHistRange(double xmin, double xmax);
109  double GetGaussianFitParameter(int); //-
110  double GetGaussianFitParError(int);
111  double GetInitializationFitParameter(int);
112 
113 
114 
115  TGraph* FitInit(bool debug_ = false);
116  void FitSpectrum(bool debug_ = false);
117  void FitAll(bool debug_ = false);
118 
119  void DrawResult(bool WhatToDraw = true);
120  void PrintResult(void);
121 
122 };
123 
124 #endif
float xmin
float xmax
Set up and run the calibration of siliciums.
void AddPeak(double Energy_, double Intensity_)
void SetHistRange(double xmin, double xmax)
double GetGaussianFitParError(int)
void FitSpectrum(bool debug_=false)
~KVAlphaCalibration()
Default destructor.
double GetGaussianFitParameter(int)
void DrawResult(bool WhatToDraw=true)
double GetInitializationFitParameter(int)
void FitAll(bool debug_=false)
This function calls the FitInit and FitSpectrum function.
void SetParameters(double SigmaOfTSpectrum_=1., double SigmaOfGaussian_=1., double ThresholdOfTSpectrum_=0.5, double IsOriginAtZero_=false)
KVAlphaCalibration(int NumberOfPeak_)
void SetHisto(TH1 *h)
Set the histogram that contains the data.
TGraph * FitInit(bool debug_=false)
Double_t x[n]
TH1 * h