void plot_amp(){ gStyle->SetTitleFont(132,"xy"); gStyle->SetLabelFont(132,"xy"); gStyle->SetLabelSize(0.053,"xy"); gStyle->SetTitleSize(0.073,"xy"); gStyle->SetTitleOffset(1.2,"x"); gStyle->SetTitleOffset(1.4,"y"); gStyle->SetOptStat(0); gStyle->SetOptLogy(0); gStyle->SetOptLogz(1); gStyle->SetPalette(1); double amp[13]; double sig[13]; memset(amp,0.,sizeof(amp)); memset(sig,0.,sizeof(sig)); // TFile *file = new TFile("test.root","r"); // TFile *file = new TFile("aaa.root","r"); // TFile *file = new TFile("new.root","r"); // TFile *file = new TFile("8_12.root","r"); // TFile *file = new TFile("8_18.root","r"); // TFile *file = new TFile("8_19.root","r"); // TFile *file = new TFile("8_25.root","r"); // TFile *file = new TFile("8_30.root","r"); // TFile *file = new TFile("8_29.root","r"); // TFile *file = new TFile("9_2_crytur.root","r"); // TFile *file = new TFile("9_10.root","r"); // TFile *file = new TFile("9_16.root","r"); TFile *file = new TFile("9_20.root","r"); TTree *tree1 = (TTree*)file->Get("tree1"); const int nbinx = 710; const float x_min = 0; const float x_max = 3400; TH1F *h1 = new TH1F("h1","h1",nbinx,x_min,x_max); TH1F *h2 = new TH1F("h2","h2",nbinx,x_min,x_max); TH1F *h3 = new TH1F("h3","h3",nbinx,x_min,x_max); TH1F *h4 = new TH1F("h4","h4",nbinx,x_min,x_max); TH1F *h5 = new TH1F("h5","h5",nbinx,x_min,x_max); TH1F *h6 = new TH1F("h6","h6",nbinx,x_min,x_max); TH1F *h7 = new TH1F("h7","h7",nbinx,x_min,x_max); TH1F *h8 = new TH1F("h8","h8",nbinx,x_min,x_max); TH1F *h9 = new TH1F("h9","h9",nbinx,x_min,x_max); TH1F *h10 = new TH1F("h10","h10",nbinx,x_min,x_max); TH1F *h11 = new TH1F("h11","h11",nbinx,x_min,x_max); TH1F *h12 = new TH1F("h12","h12",nbinx,x_min,x_max); tree1->Draw("amp_1>>h1","amp_1>0&&tiler==139"); tree1->Draw("amp_2>>h2","amp_2>0&&tiler==125"); tree1->Draw("amp_3>>h3","amp_3>0&&tiler==110"); tree1->Draw("amp_4>>h4","amp_4>0&&tiler==100"); tree1->Draw("amp_5>>h5","amp_5>0&&tiler==93"); tree1->Draw("amp_6>>h6","amp_6>0&&tiler==86"); tree1->Draw("amp_7>>h7","amp_7>0&&tiler==80"); tree1->Draw("amp_8>>h8","amp_8>0&&tiler==73"); tree1->Draw("amp_9>>h9","amp_9>0&&tiler==63"); tree1->Draw("amp_10>>h10","amp_10>0&&tiler==55"); tree1->Draw("amp_11>>h11","amp_11>0&&tiler==47"); tree1->Draw("amp_12>>h12","amp_12>0&&tiler==40"); TF1 *f1 = new TF1("f1","gaus",0,4000); int max_bin; double x; TCanvas *c1 = new TCanvas("c1","c1", 400, 10, 1200, 800); c1->Divide(4,3); c1->cd(1); gPad->SetLeftMargin(0.19); h1->GetYaxis()->SetTitle("Events"); h1->SetTitle("Module 1"); max_bin = h1->GetMaximumBin(); x = h1->GetXaxis()->GetBinCenter(max_bin); double x_min_fit = x - x*0.045*3; double x_max_fit = x + x*0.045*3; h1->Fit("f1","","",x_min_fit,x_max_fit); h1->Draw(); amp[1] = f1->GetParameter(1); sig[1] = f1->GetParameter(2); h1->GetXaxis()->SetRangeUser(0,x+400); h1->Draw(); c1->cd(2); h2->SetTitle("Module 2"); max_bin = h2->GetMaximumBin(); x = h2->GetXaxis()->GetBinCenter(max_bin); x_min_fit = x - x*0.045*3; x_max_fit = x + x*0.045*3; h2->Fit("f1","L","",x_min_fit,x_max_fit); amp[2] = f1->GetParameter(1); sig[2] = f1->GetParameter(2); h2->GetXaxis()->SetRangeUser(0,x+400); h2->Draw(); c1->cd(3); h3->SetTitle("Module 3"); max_bin = h3->GetMaximumBin(); x = h3->GetXaxis()->GetBinCenter(max_bin); x_min_fit = x - x*0.045*3; x_max_fit = x + x*0.045*3; h3->Fit("f1","L","",x_min_fit,x_max_fit); amp[3] = f1->GetParameter(1); sig[3] = f1->GetParameter(2); h3->GetXaxis()->SetRangeUser(0,x+400); h3->Draw(); c1->cd(4); h4->SetTitle("Module 4"); max_bin = h4->GetMaximumBin(); x = h4->GetXaxis()->GetBinCenter(max_bin); x_min_fit = x - x*0.045*3; x_max_fit = x + x*0.045*3; h4->Fit("f1","L","",x_min_fit,x_max_fit); amp[4] = f1->GetParameter(1); sig[4] = f1->GetParameter(2); h4->GetXaxis()->SetRangeUser(0,x+400); h4->Draw(); c1->cd(5); h5->GetYaxis()->SetTitle("Events"); gPad->SetLeftMargin(0.19); h5->SetTitle("Module 5"); max_bin = h5->GetMaximumBin(); x = h5->GetXaxis()->GetBinCenter(max_bin); x_min_fit = x - x*0.045*3; x_max_fit = x + x*0.045*3; h5->Fit("f1","L","",x_min_fit,x_max_fit); amp[5] = f1->GetParameter(1); sig[5] = f1->GetParameter(2); h5->GetXaxis()->SetRangeUser(0,x+400); h5->Draw(); c1->cd(6); h6->SetTitle("Module 6"); h6->Draw(); c1->cd(7); h7->SetTitle("Module 7"); h7->Draw(); c1->cd(8); h8->SetTitle("Module 8"); h8->Draw(); c1->cd(9); gPad->SetLeftMargin(0.19); gPad->SetBottomMargin(0.19); h9->SetTitle("Module 9"); h9->GetXaxis()->SetTitle("ADC amplitude (count)"); h9->GetYaxis()->SetTitle("Events"); max_bin = h9->GetMaximumBin(); x = h9->GetXaxis()->GetBinCenter(max_bin); x_min_fit = x - x*0.045*3; x_max_fit = x + x*0.045*3; h9->Fit("f1","L","",x_min_fit,x_max_fit); amp[9] = f1->GetParameter(1); sig[9] = f1->GetParameter(2); h9->GetXaxis()->SetRangeUser(0,x+400); h9->Draw(); c1->cd(10); gPad->SetBottomMargin(0.19); h10->SetTitle("Module 10"); h10->GetXaxis()->SetTitle("ADC amplitude (count)"); max_bin = h10->GetMaximumBin(); x = h10->GetXaxis()->GetBinCenter(max_bin); x_min_fit = x - x*0.045*3; x_max_fit = x + x*0.045*3; h10->Fit("f1","L","",x_min_fit,x_max_fit); amp[10] = f1->GetParameter(1); sig[10] = f1->GetParameter(2); h10->GetXaxis()->SetRangeUser(0,x+400); h10->Draw(); c1->cd(11); gPad->SetBottomMargin(0.19); h11->SetTitle("Module 11"); h11->GetXaxis()->SetTitle("ADC amplitude (count)"); max_bin = h11->GetMaximumBin(); x = h11->GetXaxis()->GetBinCenter(max_bin); x_min_fit = x - x*0.045*3; x_max_fit = x + x*0.045*3; h11->Fit("f1","L","",x_min_fit,x_max_fit); amp[11] = f1->GetParameter(1); sig[11] = f1->GetParameter(2); h11->GetXaxis()->SetRangeUser(0,x+400); h11->Draw(); c1->cd(12); gPad->SetBottomMargin(0.19); h12->SetTitle("Module 12"); h12->GetXaxis()->SetTitle("ADC amplitude (count)"); max_bin = h12->GetMaximumBin(); x = h12->GetXaxis()->GetBinCenter(max_bin); x_min_fit = x - x*0.045*3; x_max_fit = x + x*0.045*3; h12->Fit("f1","L","",x_min_fit,x_max_fit); amp[12] = f1->GetParameter(1); sig[12] = f1->GetParameter(2); h12->GetXaxis()->SetRangeUser(0,x+400); h12->Draw(); cout << endl; for(int ii = 1; ii < 13; ii++){ double res = 0; if(amp[ii] > 0) res = 100.*sig[ii]/amp[ii]; cout << "Module = " << ii << " Amp = " << amp[ii] << " Sigma = " << sig[ii] << " Resolution = " << res << endl; } }