1 |
mayorov |
1.1 |
{ |
2 |
|
|
|
3 |
|
|
TString name1 = "../GoodParam/BetheBloch.txt"; |
4 |
|
|
ifstream fin1(name1); |
5 |
|
|
|
6 |
|
|
TString name2 = "../GoodParam/BetheBloch_betagt1.txt"; |
7 |
|
|
ifstream fin2(name2); |
8 |
|
|
|
9 |
|
|
|
10 |
|
|
gROOT->SetStyle("Plain"); |
11 |
|
|
gStyle->SetOptStat(0); |
12 |
|
|
gStyle->SetOptFit(0); |
13 |
|
|
gStyle->SetFuncColor( kRed ); |
14 |
|
|
|
15 |
|
|
Float_t tp[48][3]; |
16 |
|
|
Float_t tpbg1[48]; |
17 |
|
|
Float_t X[48]; |
18 |
|
|
|
19 |
|
|
char *s = new char[1]; |
20 |
|
|
|
21 |
|
|
Int_t idummy; |
22 |
|
|
Float_t p0,p1,p2; |
23 |
|
|
|
24 |
|
|
|
25 |
|
|
for (int i=0; i<48; i++) { |
26 |
|
|
fin1>>idummy>>p0>>p1>>p2; |
27 |
|
|
cout<<" "<<idummy<<" "<<p0<<" "<<p1<<" "<<p2<<endl; |
28 |
|
|
tp[i][0]=p0; |
29 |
|
|
tp[i][1]=p1; |
30 |
|
|
tp[i][2]=p2; |
31 |
|
|
} |
32 |
|
|
fin1.close(); |
33 |
|
|
|
34 |
|
|
|
35 |
|
|
for (int i=0; i<48; i++) { |
36 |
|
|
fin2>>idummy>>p0; |
37 |
|
|
cout<<" "<<idummy<<" "<<p0<<endl; |
38 |
|
|
tpbg1[i]=p0; |
39 |
|
|
X[i] = 1.; |
40 |
|
|
} |
41 |
|
|
fin2.close(); |
42 |
|
|
|
43 |
|
|
|
44 |
|
|
TCanvas *c = new TCanvas("c","histograms",800,600); |
45 |
|
|
|
46 |
|
|
TF1 *f1[48]; |
47 |
|
|
|
48 |
|
|
TGraph *gr[48]; |
49 |
|
|
|
50 |
|
|
|
51 |
|
|
for (Int_t i=0; i<48; i++) { |
52 |
|
|
|
53 |
|
|
cout<<"PMT "<<i<<endl; |
54 |
|
|
|
55 |
|
|
// return p[0]/(x*x)*(log(x*x/(1-x*x)) - p[1]*x*x - p[2]); |
56 |
|
|
f1[i] = new TF1("f1","[0]/(x*x)*(log(x*x/(1-x*x)) - [1]*x*x - [2])",0.1,0.999); |
57 |
|
|
f1[i].SetParameters(tp[i][0],tp[i][1],tp[i][2]); |
58 |
|
|
f1[i]->SetLineColor(kRed); |
59 |
|
|
|
60 |
|
|
|
61 |
|
|
for (Int_t ii=1; ii<20; ii++) { |
62 |
|
|
Float_t xb = 1.*ii/20; |
63 |
|
|
Float_t yhelp = f1[i]->Eval(xb); |
64 |
|
|
cout<<xb<<" "<<yhelp<<endl; |
65 |
|
|
|
66 |
|
|
} |
67 |
|
|
|
68 |
|
|
|
69 |
|
|
|
70 |
|
|
|
71 |
|
|
gr[i] = new TGraph(1); |
72 |
|
|
gr[i]->GetY()[0] = tpbg1[i]; |
73 |
|
|
gr[i]->GetX()[0] = 1.; |
74 |
|
|
|
75 |
|
|
|
76 |
|
|
TH2F *hr = new TH2F("hr","",2,0,1.1,2,0,100); |
77 |
|
|
hr->SetXTitle("beta"); |
78 |
|
|
hr->SetYTitle("BB_corr"); |
79 |
|
|
hr->Draw(); |
80 |
|
|
|
81 |
|
|
f1[i]->Draw("same"); |
82 |
|
|
//f1[i]->Draw(); |
83 |
|
|
|
84 |
|
|
gr[i]->SetMarkerStyle(20); |
85 |
|
|
gr[i]->SetMarkerSize(1.5); |
86 |
|
|
gr[i]->SetMarkerColor(kBlue); |
87 |
|
|
|
88 |
|
|
gr[i]->Draw("P"); |
89 |
|
|
|
90 |
|
|
|
91 |
|
|
//gPad->SetLogy(); |
92 |
|
|
gPad->SetGrid(); |
93 |
|
|
|
94 |
|
|
c->Update(); |
95 |
|
|
//gets(s); |
96 |
|
|
|
97 |
|
|
} |
98 |
|
|
|
99 |
|
|
//========================================================================== |
100 |
|
|
//========================================================================== |
101 |
|
|
//========================================================================== |
102 |
|
|
|
103 |
|
|
TCanvas *c1 = new TCanvas("c1","histograms1",1100,800); |
104 |
|
|
c1->Divide(8,6); |
105 |
|
|
|
106 |
|
|
TF1 *f1[48]; |
107 |
|
|
|
108 |
|
|
for (Int_t i=0; i<48; i++) { |
109 |
|
|
|
110 |
|
|
cout<<"PMT "<<i<<endl; |
111 |
|
|
|
112 |
|
|
c1->cd(i+1); |
113 |
|
|
|
114 |
|
|
// return p[0]/(x*x)*(log(x*x/(1-x*x)) - p[1]*x*x - p[2]); |
115 |
|
|
f1[i] = new TF1("f1","[0]/(x*x)*(log(x*x/(1-x*x)) - [1]*x*x - [2])",0.05,0.99); |
116 |
|
|
|
117 |
|
|
f1[i].SetParameters(tp[i][0],tp[i][1],tp[i][2]); |
118 |
|
|
|
119 |
|
|
|
120 |
|
|
f1[i]->SetLineColor(kRed); |
121 |
|
|
|
122 |
|
|
TH2F *hr = new TH2F("hr","",2,0.1,1.1,2,0,100); |
123 |
|
|
hr->SetXTitle("beta"); |
124 |
|
|
hr->SetYTitle("BB_corr"); |
125 |
|
|
hr->Draw(); |
126 |
|
|
|
127 |
|
|
|
128 |
|
|
f1[i]->Draw("same"); |
129 |
|
|
gr[i]->Draw("P"); |
130 |
|
|
|
131 |
|
|
|
132 |
|
|
//gPad->SetLogy(); |
133 |
|
|
gPad->SetGrid(); |
134 |
|
|
|
135 |
|
|
} |
136 |
|
|
|
137 |
|
|
|
138 |
|
|
} |
139 |
|
|
|
140 |
|
|
|
141 |
|
|
|
142 |
|
|
|
143 |
|
|
|
144 |
|
|
|
145 |
|
|
|
146 |
|
|
|
147 |
|
|
|
148 |
|
|
|
149 |
|
|
|
150 |
|
|
|
151 |
|
|
|
152 |
|
|
|
153 |
|
|
|
154 |
|
|
|
155 |
|
|
} |