draw_hist() { TString system = "auau"; TString beam = "25gev"; TString trigger = "centr"; TString particle = "omega"; TFile *file1 = new TFile("/d/cbm02/andrey/events/much/10stations/signal/" + beam + "/" + particle + "/much.ana." + system + "." + beam + "." + particle + "." + trigger + ".root"); TCanvas *c_srx = new TCanvas("fh_srx","c_srx",1200,1000); TCanvas *c_sry = new TCanvas("fh_sry","c_sry",1200,1000); TCanvas *c_resx = new TCanvas("fh_resx","c_resx",1200,1000); TCanvas *c_resy = new TCanvas("fh_resy","c_resy",1200,1000); TCanvas *c_restx = new TCanvas("fh_restx","c_restx",1200,1000); TCanvas *c_resty = new TCanvas("fh_resty","c_resty",1200,1000); TCanvas *c_resqp = new TCanvas("fh_resqp","c_resqp",1200,1000); TCanvas *c_pullx = new TCanvas("fh_pullx","c_pullx",1200,1000); TCanvas *c_pully = new TCanvas("fh_pully","c_pully",1200,1000); TCanvas *c_pulltx = new TCanvas("fh_pulltx","c_pulltx",1200,1000); TCanvas *c_pullty = new TCanvas("fh_pullty","c_pullty",1200,1000); TCanvas *c_pullqp = new TCanvas("fh_pullqp","c_pullqp",1200,1000); TCanvas *c_resp = new TCanvas("fh_resp","c_resp",1200,1000); const int fNofLayers = 10; c_srx->Divide(5,3); c_sry->Divide(5,3); c_resx->Divide(5,3); c_resy->Divide(5,3); c_restx->Divide(5,3); c_resty->Divide(5,3); c_resqp->Divide(5,3); c_pullx->Divide(5,3); c_pully->Divide(5,3); c_pulltx->Divide(5,3); c_pullty->Divide(5,3); c_pullqp->Divide(5,3); c_resp->Divide(5,3); double sigma_srx[fNofLayers]; double sigma_sry[fNofLayers]; double sigma_resx[fNofLayers]; double sigma_resy[fNofLayers]; double sigma_restx[fNofLayers]; double sigma_resty[fNofLayers]; double sigma_resqp[fNofLayers]; double sigma_pullx[fNofLayers]; double sigma_pully[fNofLayers]; double sigma_pulltx[fNofLayers]; double sigma_pullty[fNofLayers]; double sigma_pullqp[fNofLayers]; double sigma_resp[fNofLayers]; for (int i = 0; i < fNofLayers; i++) { hist(file1, c_srx, i, "fh_srx%i", sigma_srx[i]); hist(file1, c_sry, i, "fh_sry%i", sigma_sry[i]); hist(file1, c_resx, i, "fh_resx%i", sigma_resx[i]); hist(file1, c_resy, i, "fh_resy%i", sigma_resy[i]); hist(file1, c_restx, i, "fh_restx%i", sigma_restx[i]); hist(file1, c_resty, i, "fh_resty%i", sigma_resty[i]); hist(file1, c_resqp, i, "fh_resqp%i", sigma_resqp[i]); hist(file1, c_pullx, i, "fh_pullx%i", sigma_pullx[i]); hist(file1, c_pully, i, "fh_pully%i", sigma_pully[i]); hist(file1, c_pulltx, i, "fh_pulltx%i", sigma_pulltx[i]); hist(file1, c_pullty, i, "fh_pullty%i", sigma_pullty[i]); hist(file1, c_pullqp, i, "fh_pullqp%i", sigma_pullqp[i]); hist(file1, c_resp, i, "fh_resp%i", sigma_resp[i]); } cout << "------------search region sigma---------------" << endl; for (int i = 0; i < fNofLayers; i++) { cout << "srx[" << i << "]=" << sigma_srx[i] << "; " << "sry[" << i << "]=" << sigma_sry[i] << ";" << endl; } cout << "------------sigma resolution---------------" << endl; for (int i = 0; i < fNofLayers; i++) { cout << "resx[" << i << "]=" << sigma_resx[i] << "; " << "resy[" << i << "]=" << sigma_resy[i] << "; " << "restx[" << i << "]=" << sigma_restx[i] << "; " << "resty[" << i << "]=" << sigma_resty[i] << "; " << "resqp[" << i << "]=" << sigma_resqp[i] << "; " << endl; } cout << "------------sigma pulls---------------" << endl; for (int i = 0; i < fNofLayers; i++) { cout << "pullx[" << i << "]=" << sigma_pullx[i] << "; " << "pully[" << i << "]=" << sigma_pully[i] << "; " << "pulltx[" << i << "]=" << sigma_pulltx[i] << "; " << "pullty[" << i << "]=" << sigma_pullty[i] << "; " << "pullqp[" << i << "]=" << sigma_pullqp[i] << "; " << endl; } cout << "------------momentum residual---------------" << endl; for (int i = 0; i < fNofLayers; i++) { cout << "resp[" << i << "]=" << sigma_resp[i] << " " << endl; } } void hist(TFile *file1, TCanvas *c1, int i, const char* name, double &sigma) { c1->cd(i+1); char histName[100]; sprintf(histName, name, i); TH1F* hist1 = (TH1F*) file1->Get(histName); hist1->Fit("gaus"); hist1->Draw(); TF1 *fit1 = hist1->GetFunction("gaus"); sigma = fit1->GetParameter(2); }