void analysis(){ TFile *f =new TFile("pedestal2_2022022.root","READ"); TTree *tr = (TTree*)f->Get("tree"); TCanvas *c1 = new TCanvas("c1"); TCanvas *c2 = new TCanvas("c2"); TCanvas *c3 = new TCanvas("c3"); TCanvas *c4 = new TCanvas("c4"); vector mean ; vector std ; int entries = tr->GetEntries(); //10000 //row cout<SetBranchAddress("signal",signal); TF1 * fit = new TF1("fit","gaus",500,600); int inv_array[128][10000]; for (int i=0 ; iGetEntry(i); for (int j =0 ;j<128;j++){ inv_array[j][i] = signal[j]; } } TH1F * hist10 = new TH1F("hist10","ADC of Channel 10",20, 490 ,560); for (int i =0 ;i< 128; i++){ TH1F * hist = new TH1F("hist","ADC of Channel 10",100, 480 ,600); for (int j =0 ; j<10000; j++){ if (i==9){ hist10->Fill(inv_array[9][j]); } hist->Fill(inv_array[i][j]); } hist->Fit("fit","Q"); delete hist; double pedestal = fit ->GetParameter(1); double noise = fit -> GetParameter(2); mean.push_back(pedestal); std.push_back(noise); } c1->cd(); hist10->Draw(); TH1F * hpedestal = new TH1F("hpedestal","Pedestal of 128 channels",128,0, 128); TH1F * hnoise = new TH1F("hnoise","Noise of 128 channels",128,0, 128); for (int j = 0; j<128; j++){ hpedestal->SetBinContent(j, mean[j]); hnoise->SetBinContent(j,std[j]); } c2->cd(); hpedestal->GetYaxis()->SetRangeUser(400,600); hpedestal->SetFillColorAlpha(kBlue, 0.20); hpedestal->Draw("B"); c3->cd(); hnoise->GetYaxis()->SetRangeUser(5,7); hnoise->SetFillColorAlpha(kBlue, 0.20); hnoise->Draw("B"); double common_mode[128]; common_mode[0] = 0; for (int cm = 1; cm <=127; cm++){ TH1F * tmp = new TH1F("tmp","tmp",25,-25, 25); TF1 *fit2 = new TF1("fit2","gaus",-25,25); for (int event =0 ; event <10000; event++){ double cm_noise = (inv_array[cm][event] - mean[cm] ) - (inv_array[cm-1][event] - mean[cm-1] ); tmp->Fill(cm_noise); } tmp->Fit("fit2","Q"); delete tmp; common_mode[cm] = (fit2->GetParameter(2))/sqrt(2); delete fit2; } TH1F* dNoise = new TH1F("dNoise","dNoise of 128 channels",129,0,129); dNoise->SetBinContent(1,common_mode[0]); for(int n= 2; n<129; n++){ dNoise->SetBinContent(n,common_mode[n-1]); } c4->cd(); dNoise->Draw(); }