-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathnormalize_matrix_plot.cc
More file actions
75 lines (58 loc) · 1.93 KB
/
normalize_matrix_plot.cc
File metadata and controls
75 lines (58 loc) · 1.93 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
TH2D *normal_2d(TH2D* hmatrix){
TH2D *h_norm = (TH2D*)hmatrix->Clone("h_norm");
h_norm->SetDirectory(0);
h_norm->Reset();
int Nx = hmatrix->GetNbinsX();
int Ny = hmatrix->GetNbinsY();
for (int i=1;i<=Nx;i++){
TH1D *h1 = hmatrix->ProjectionY("proj",i,i);
if(h1->Integral()!=0){
h1->Scale(1./h1->Integral());
for(int j=1;j<=Ny;j++){
double val = h1->GetBinContent(j);
h_norm->SetBinContent(i,j,val);
}
}else{
for(int j=1;j<=Ny;j++){
h_norm->SetBinContent(i,j,0);
}
}
delete h1;
}
return h_norm;
}
void normalize_matrix_plot(){
TFile *fmatrix = new TFile("dat/RespondsMatrix_nue.root","read");
TH2D *h_matrix[5];
TH2D *h_matrix_norm[5];
h_matrix[0] = (TH2D*)fmatrix->Get("h_6");
h_matrix[1] = (TH2D*)fmatrix->Get("h_re_2");
h_matrix[2] = (TH2D*)fmatrix->Get("h_re_3");
h_matrix[3] = (TH2D*)fmatrix->Get("h_re_4");
h_matrix[4] = (TH2D*)fmatrix->Get("h_ly");
TString name[]={"Q1","Q2","Q3","Q4","L1"};
TCanvas *c1 = new TCanvas("c1","c1",800,600);
TLatex text;
text.SetTextFont(133);
text.SetTextSize(40);
for(int i=0;i<5;i++){
h_matrix_norm[i] = normal_2d(h_matrix[i]);
h_matrix_norm[i]->GetXaxis()->SetTitle("E_{input} [MeV]");
h_matrix_norm[i]->GetYaxis()->SetTitle("E_{rec} [MeV]");
h_matrix_norm[i]->GetXaxis()->SetTitleFont(132);
h_matrix_norm[i]->GetYaxis()->SetTitleFont(132);
h_matrix_norm[i]->GetXaxis()->SetLabelFont(132);
h_matrix_norm[i]->GetYaxis()->SetLabelFont(132);
h_matrix_norm[i]->GetXaxis()->SetTitleSize(0.08);
h_matrix_norm[i]->GetYaxis()->SetTitleSize(0.08);
h_matrix_norm[i]->GetXaxis()->SetLabelSize(0.06);
h_matrix_norm[i]->GetYaxis()->SetLabelSize(0.06);
h_matrix_norm[i]->GetXaxis()->SetTitleOffset(0.9);
h_matrix_norm[i]->GetYaxis()->SetTitleOffset(0.9);
h_matrix_norm[i]->GetXaxis()->CenterTitle();
h_matrix_norm[i]->GetYaxis()->CenterTitle();
h_matrix_norm[i]->Draw("colz");
text.DrawLatex(1000,5000,name[i]);
c1->SaveAs("plot/Res_matx_"+name[i]+".pdf");
}
}