Rev 36 | Rev 40 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 36 | Rev 38 | ||
|---|---|---|---|
| Line 9... | Line 9... | ||
| 9 | #include "TPad.h" |
9 | #include "TPad.h" |
| 10 | #include "TF1.h" |
10 | #include "TF1.h" |
| 11 | #include "TGraph.h" |
11 | #include "TGraph.h" |
| 12 | #include "TSpectrum.h" |
12 | #include "TSpectrum.h" |
| 13 | #include "stdio.h" |
13 | #include "stdio.h" |
| - | 14 | #include "THStack.h" |
|
| 14 | 15 | ||
| 15 | #include "include/RTUtil.h" |
16 | #include "include/RTUtil.h" |
| 16 | 17 | ||
| 17 | double getNoise(TH2F*, int, int); |
18 | double getNoise(TH2F*, int, int); |
| 18 | 19 | ||
| Line 30... | Line 31... | ||
| 30 | {1,3,20,22,9,11,28,30}, |
31 | {1,3,20,22,9,11,28,30}, |
| 31 | {16,18,5,7,24,26,13,15}, |
32 | {16,18,5,7,24,26,13,15}, |
| 32 | {0,2,21,23,8,10,29,31} |
33 | {0,2,21,23,8,10,29,31} |
| 33 | }; |
34 | }; |
| 34 | 35 | ||
| 35 | 36 | // Set draw style |
|
| 36 | RTSetStyle(gStyle); |
37 | RTSetStyle(gStyle); |
| 37 | 38 | ||
| 38 | // open the file with histograms |
39 | // open the file with histograms |
| 39 | char fnameroot[256]; |
40 | char fnameroot[256]; |
| 40 | TFile* rootfile; |
41 | TFile* rootfile; |
| Line 43... | Line 44... | ||
| 43 | if(rootfile==NULL) rootfile = new TFile(fnameroot); |
44 | if(rootfile==NULL) rootfile = new TFile(fnameroot); |
| 44 | if(rootfile==NULL) { |
45 | if(rootfile==NULL) { |
| 45 | printf("Cannot open root file %s!!!\n",fnameroot); |
46 | printf("Cannot open root file %s!!!\n",fnameroot); |
| 46 | return(0); |
47 | return(0); |
| 47 | } |
48 | } |
| 48 | 49 | ||
| 49 | if(strstr(plopt, "tdc") != NULL) { |
50 | if(strstr(plopt, "tdc") != NULL) { |
| 50 | TCanvas *canvas21 = new TCanvas("canvas21","canvas21",1600,800); |
51 | TCanvas *canvas21 = new TCanvas("canvas21","canvas21",1600,800); |
| 51 | TH3F* h0 = (TH3F*) rootfile->Get("h_correctedTDC"); |
52 | TH3F* h0 = (TH3F*) rootfile->Get("h_correctedTDC"); |
| 52 | Int_t binsX = h0->GetXaxis()->GetNbins(); |
53 | Int_t binsX = h0->GetXaxis()->GetNbins(); |
| 53 | Int_t minX = h0->GetXaxis()->GetFirst(); |
54 | Int_t minX = h0->GetXaxis()->GetFirst(); |
| Line 127... | Line 128... | ||
| 127 | 128 | ||
| 128 | if(strstr(plopt,"16") != NULL) |
129 | if(strstr(plopt,"16") != NULL) |
| 129 | { |
130 | { |
| 130 | TH2F* h_threshold = (TH2F*) rootfile->Get("h_bias"); |
131 | TH2F* h_threshold = (TH2F*) rootfile->Get("h_bias"); |
| 131 | TCanvas* canvas = new TCanvas("canvas","",1600,1600); |
132 | TCanvas* canvas = new TCanvas("canvas","",1600,1600); |
| - | 133 | TCanvas* canvas11 = new TCanvas("canvas11","",800,800); |
|
| 132 | canvas->cd(); |
134 | canvas->cd(); |
| 133 | TVirtualPad *main = new TPad("main","main",0,0,1,1,10,1); |
135 | TVirtualPad *main = new TPad("main","main",0,0,1,1,10,1); |
| 134 | main->Draw(); |
136 | main->Draw(); |
| - | 137 | main->cd(); |
|
| 135 | main->Divide(4,4); |
138 | main->Divide(4,4); |
| 136 | for(int i=chXstart; i<chXend; i++) { |
139 | for(int i=chXstart; i<chXend; i++) { |
| 137 | for(int j=chYstart; j<chYend; j++) { |
140 | for(int j=chYstart; j<chYend; j++) { |
| 138 | int channel = map[i][j]; |
141 | int channel = map[i][j]; |
| 139 | TH1D* h_projection = h_threshold->ProjectionY("",channel+1,channel+1); |
142 | TH1D* h_projection = h_threshold->ProjectionY("",channel+1,channel+1); |
| 140 | int canvasPosition = i-chXend+4*(chYend-j)+1; |
143 | int canvasPosition = i-chXend+4*(chYend-j)+1; |
| 141 | printf(" %d ", canvasPosition); |
144 | printf(" %d ", canvasPosition); |
| 142 | main->cd(canvasPosition); |
145 | main->cd(canvasPosition); |
| - | 146 | gPad->SetMargin(0.08, 0.08, 0.08, 0.08); |
|
| 143 | char name[128]; |
147 | char name[128]; |
| 144 | sprintf(name,"Channel %d",channel); |
148 | sprintf(name,"Channel %d",channel); |
| 145 | h_projection->SetTitle(name); |
149 | h_projection->SetTitle(name); |
| - | 150 | h_projection->GetYaxis()->SetRangeUser(0,10000); |
|
| 146 | h_projection->DrawCopy(" |
151 | h_projection->DrawCopy("pe1x0"); |
| - | 152 | canvas11->cd(); |
|
| - | 153 | if (canvasPosition == 1) { |
|
| - | 154 | h_projection->SetMarkerStyle(kFullDotMedium); |
|
| - | 155 | h_projection->GetYaxis()->SetRangeUser(0,10000); |
|
| - | 156 | h_projection->DrawCopy("Pl"); |
|
| - | 157 | } |
|
| - | 158 | else { |
|
| - | 159 | h_projection->SetMarkerStyle(kFullDotMedium); |
|
| - | 160 | h_projection->SetLineColor(canvasPosition); |
|
| - | 161 | h_projection->SetMarkerColor(canvasPosition); |
|
| - | 162 | h_projection->SetTitle(""); |
|
| - | 163 | h_projection->DrawCopy("plsame"); |
|
| - | 164 | } |
|
| 147 | } |
165 | } |
| - | 166 | ||
| 148 | } |
167 | } |
| 149 | printf("\n"); |
168 | printf("\n"); |
| 150 | } |
169 | } |
| 151 | 170 | ||
| 152 | if(strstr(plopt, "1ch") != NULL) |
171 | if(strstr(plopt, "1ch") != NULL) |
| 153 | { |
172 | { |
| 154 | TH2F* h_bias = (TH2F*) rootfile->Get("h_bias"); |
173 | TH2F* h_bias = (TH2F*) rootfile->Get("h_bias"); |
| 155 | TCanvas* canvas = new TCanvas("canvas","", |
174 | TCanvas* canvas = new TCanvas("canvas","",800,800); |
| 156 | canvas->cd(); |
175 | canvas->cd(); |
| 157 | int channel = map[chXstart][chXend]; |
176 | int channel = map[chXstart][chXend]; |
| 158 | TH1D* h_projection = h_bias->ProjectionY("",channel+1,channel+1); |
177 | TH1D* h_projection = h_bias->ProjectionY("",channel+1,channel+1); |
| 159 | char name[128]; |
178 | char name[128]; |
| 160 | sprintf(name,"Channel %d",channel); |
179 | sprintf(name,"Channel %d",channel); |
| 161 | h_projection->SetTitle(name); |
180 | h_projection->SetTitle(name); |
| - | 181 | h_projection->SetMarkerStyle(kFullDotMedium); |
|
| - | 182 | //h_projection->SetMarkerSize(8); |
|
| - | 183 | gPad->SetMargin(0.1,0.1,0.1,0.1); |
|
| 162 | h_projection-> |
184 | h_projection->Draw("pe1x0"); |
| 163 | } |
185 | } |
| 164 | 186 | ||
| 165 | if( strstr(plopt, "all") != NULL ) { |
187 | if( strstr(plopt, "all") != NULL ) { |
| 166 | TCanvas *canvas2 = new TCanvas("canvas2","Hits x;;",2000,2000); |
188 | TCanvas *canvas2 = new TCanvas("canvas2","Hits x;;",2000,2000); |
| 167 | TCanvas *canvas3 = new TCanvas("canvas3","Hits y;;",2000,2000); |
189 | TCanvas *canvas3 = new TCanvas("canvas3","Hits y;;",2000,2000); |