GamR  0.0.0
GammaROOT
Loading...
Searching...
No Matches
BackSub.hh
Go to the documentation of this file.
1#ifndef GAMR_SPECT_BACKSUB_HH
2#define GAMR_SPECT_BACKSUB_HH
3
4#include <vector>
5
6#include <TCanvas.h>
7#include <TH2.h>
8
9#include <toolkit/Gate.hh>
10
11namespace GamR {
12 namespace Spect {
13 class BackSub2D {
14 public:
17
18 std::vector<GamR::TK::Gate > fBackY; //rectangle using fPeakX
19 std::vector<GamR::TK::Gate > fBackX; //rectangle using fPeakY
20
21 //diagonal backgrounds for compton subtraction
22 std::vector<GamR::TK::Gate > fBackDiagX;
23 std::vector<GamR::TK::Gate > fBackDiagY;
24
25 //for background-background addition
26 std::vector<GamR::TK::Gate > fBackBackX;
27 std::vector<GamR::TK::Gate > fBackBackY;
28
29 TH1D *y_sub;
30 TH1D *x_sub;
31
34
36 fPeakX = x;
37 fPeakY = y;
38 return 0;
39 }
40
41 int SetPeak(double x1, double y1, double x2, double y2) {
42 GamR::TK::Gate x(x1, x2);
43 GamR::TK::Gate y(y1, y2);
44 return SetPeak(x, y);
45 }
46
48 fBackX.push_back(x);
49 return 0;
50 }
51
53 fBackY.push_back(y);
54 return 0;
55 }
56
57 int AddBackX(double x1, double x2) {
58 GamR::TK::Gate x(x1, x2);
59 return AddBackX(x);
60 }
61
62 int AddBackY(double y1, double y2) {
63 GamR::TK::Gate y(y1, y2);
64 return AddBackY(y);
65 }
66
68 fBackDiagX.push_back(x);
69 fBackDiagY.push_back(y);
70 return 0;
71 }
72
73 int AddBackDiag(double x1, double y1, double x2, double y2) {
74 GamR::TK::Gate x(x1, x2);
75 GamR::TK::Gate y(y1, y2);
76 return AddBackDiag(x, y);
77 }
78
80 fBackBackX.push_back(x);
81 fBackBackY.push_back(y);
82 return 0;
83 }
84
85 int AddBackBack(double x1, double y1, double x2, double y2) {
86 GamR::TK::Gate x(x1, x2);
87 GamR::TK::Gate y(y1, y2);
88 return AddBackBack(x, y);
89 }
90
91 BackSub2D(TH2D *hist);
92
93 int SetPeak(TCanvas *canvas);
94 int AddBackX(TCanvas *canvas);
95 int AddBackY(TCanvas *canvas);
96 int AddBackBack(TCanvas *canvas);
97 int AddBackDiag(TCanvas *canvas);
98
99 TH2D *Subtract(TH2D *hist);
100
101 double GetPeakArea();
103 double GetPeakCounts();
104 double GetPeakCountsError();
105
106
107 };
108 }
109}
110
111#endif
int SetPeak(GamR::TK::Gate x, GamR::TK::Gate y)
Definition BackSub.hh:35
int AddBackDiag(double x1, double y1, double x2, double y2)
Definition BackSub.hh:73
int AddBackX(double x1, double x2)
Definition BackSub.hh:57
int AddBackBack(GamR::TK::Gate x, GamR::TK::Gate y)
Definition BackSub.hh:79
std::vector< GamR::TK::Gate > fBackDiagY
Definition BackSub.hh:23
int AddBackX(GamR::TK::Gate x)
Definition BackSub.hh:47
GamR::TK::Gate fPeakX
Definition BackSub.hh:15
int AddBackY(double y1, double y2)
Definition BackSub.hh:62
BackSub2D(TH2D *hist)
Definition BackSub.cc:463
std::vector< GamR::TK::Gate > fBackY
Definition BackSub.hh:18
int AddBackY(GamR::TK::Gate y)
Definition BackSub.hh:52
std::vector< GamR::TK::Gate > fBackBackY
Definition BackSub.hh:27
std::vector< GamR::TK::Gate > fBackBackX
Definition BackSub.hh:26
double GetPeakCountsError()
Definition BackSub.cc:453
TH2D * Subtract(TH2D *hist)
Definition BackSub.cc:263
int SetPeak(double x1, double y1, double x2, double y2)
Definition BackSub.hh:41
std::vector< GamR::TK::Gate > fBackDiagX
Definition BackSub.hh:22
GamR::TK::Gate fPeakY
Definition BackSub.hh:16
std::vector< GamR::TK::Gate > fBackX
Definition BackSub.hh:19
int AddBackDiag(GamR::TK::Gate x, GamR::TK::Gate y)
Definition BackSub.hh:67
int AddBackBack(double x1, double y1, double x2, double y2)
Definition BackSub.hh:85
Definition Gain.cc:19