13 TH1F *
DoDoppler(Axis_t min_e = 0, Axis_t max_e = 4096)
20 Float_t dtheta = 10.0 * TMath::Pi() / 180;
27 Float_t e1 = 100.0, r1 = 1.0, e2 = 1300.0, r2 = 2.5;
30 TF1 *f_de_int =
new TF1(
"resolution_int",
"pol1",min_e,max_e);
32 f_de_int->SetParameters(r1-e1*(r2-r1)/(e2-e1),(r2-r1)/(e2-e1));
35 Int_t bin = Int_t ( max_e - min_e );
36 TH1F *h =
new TH1F(
"GammaFilter_Doppler",
"Doppler",bin,min_e,max_e);
38 Float_t de_int, de_theta;
39 for (
int i = 0; i < bin; i++ ) {
40 de_int = f_de_int->Eval(min_e+i);
41 de_theta = i * beta * dtheta ;
44 h->SetBinContent(i+1,TMath::Sqrt( de_int*de_int + de_theta*de_theta ) / 2.3548 );
48 h->SetBinContent(0,0); h->SetBinContent(bin+1,0);
94 TH1F *
DoCompton(Float_t pt = 0.5, Axis_t min_e = 0, Axis_t max_e = 4096)
96 Int_t cut1 = 100, cut2 = 300; Float_t a,
b;
98 a = (1.0-pt)/(cut1-cut2); b = 1.0 - cut1 * a;
100 Int_t bin = Int_t ( max_e - min_e );
101 TH1F *h =
new TH1F(
"GammaFilter_Compton",
"Compton",bin,min_e,max_e);
103 for (
int i = 0; i < bin; i++ ) {
105 h->SetBinContent(i+1,1);
107 if ( i >= cut1 && i <= cut2 ) {
108 h->SetBinContent(i+1,a*i+b);
111 h->SetBinContent(i+1,pt);
116 h->SetBinContent(0,0); h->SetBinContent(bin+1,0);
TH1F * DoCompton(Float_t pt=0.5, Axis_t min_e=0, Axis_t max_e=4096)
Function to build an histogram given the Compton probability.
TH1F * DoDoppler(Axis_t min_e=0, Axis_t max_e=4096)
Function to build an histogram given the resolution.