#include #include #include #include #include #include #include #include using namespace std; void SenseAlign(TString pathG="/home/karavdina/soft/pandaroot/macro/lmd/testPixelAlignSIM_LIMITS_10000/mom_15/") //void SummaryAlign(TString pathG="/panda/pandaroot/macro/lmd/testPixelAlignSIM_10000/mom_15//", double tr_sc=0, double rt_sc=0) { // gROOT->Macro("$VMCWORKDIR/gconfig/rootlogon.C"); gStyle->SetOptStat(0); gStyle->SetLabelSize(0.045,"xyz"); gStyle->SetTitleYSize(0.04); gStyle->SetTitleXSize(0.04); const int nParDa=11; double v_Da[nParDa]={0,0.5,1,1.5,2,2.5,3,3.5,4,4.5,5}; TString sv_Da[nParDa]={"0","0_5","1","1_5","2","2_5","3","3_5","4","4_5","5"}; // const int nParDt=15; // double v_Dt[nParDt]={0,5,10,15,20,25,30,35,40,50,100,150,200,250,300}; const int nParDt=41; double v_Dt[nParDt]; for(int i=0;iIsZombie()) { std::cout << "!!! Error opening file " <Get("NearIP/hResTheta"); theta_mean_b = 1e3*(hbefore->GetMean()); theta_rms_b = 1e3*(hbefore->GetRMS()); hbefore = (TH1*)f1->Get("NearIP/hResPhi"); phi_mean_b = 1e3*(hbefore->GetMean()); phi_rms_b = 1e3*(hbefore->GetRMS()); hbefore = (TH1*)f1->Get("NearIP/hResPointX"); X_mean_b = 1e4*(hbefore->GetMean()); X_rms_b = 1e4*(hbefore->GetRMS()); hbefore = (TH1*)f1->Get("NearIP/hResPointY"); Y_mean_b = 1e4*(hbefore->GetMean()); Y_rms_b = 1e4*(hbefore->GetRMS()); if(ipart==0 && i==0){ theta_mean_b += 1e-6; theta_rms_b += 1e-6; phi_mean_b += 1e-6; phi_rms_b += 1e-6; X_mean_b += 1e-6; X_rms_b += 1e-6; Y_mean_b += 1e-6; Y_rms_b += 1e-6; } TFile *f3 = new TFile(name3,"READ"); if (f3->IsZombie()) { std::cout << "!!! Error opening file " <Get("NearIP/hResTheta"); theta_mean_r = 1e3*(hrefer->GetMean()); theta_rms_r = 1e3*(hrefer->GetRMS()); hrefer = (TH1*)f3->Get("NearIP/hResPhi"); phi_mean_r = 1e3*(hrefer->GetMean()); phi_rms_r = 1e3*(hrefer->GetRMS()); hrefer = (TH1*)f3->Get("NearIP/hResPointX"); X_mean_r = 1e4*(hrefer->GetMean()); X_rms_r = 1e4*(hrefer->GetRMS()); hrefer = (TH1*)f3->Get("NearIP/hResPointY"); Y_mean_r = 1e4*(hrefer->GetMean()); Y_rms_r = 1e4*(hrefer->GetRMS()); // cout<<"theta_mean_r["<Fill(v_Dt[i],v_Da[ipart],fabs((theta_mean_b-theta_mean_r)/theta_mean_r)); htheta_rms->Fill(v_Dt[i],v_Da[ipart],fabs((theta_rms_b-theta_rms_r)/theta_rms_r)); hphi_mean->Fill(v_Dt[i],v_Da[ipart],fabs((phi_mean_b-phi_mean_r)/phi_mean_r)); hphi_rms->Fill(v_Dt[i],v_Da[ipart],fabs((phi_rms_b-phi_rms_r)/phi_rms_r)); hX_mean->Fill(v_Dt[i],v_Da[ipart],fabs((X_mean_b -X_mean_r)/X_mean_r)); hX_rms->Fill(v_Dt[i],v_Da[ipart],fabs((X_rms_b -X_rms_r)/X_rms_r)); hY_mean->Fill(v_Dt[i],v_Da[ipart],fabs((Y_mean_b -Y_mean_r)/Y_mean_r)); hY_rms->Fill(v_Dt[i],v_Da[ipart],fabs((Y_rms_b -Y_rms_r)/Y_rms_r)); // f2->Close(); f3->Close(); // hrefer->Clear(); f1->Close(); // hbefore->Clear(); }// trans }// rotation // Draw results -------------------------------- cout<<"Let's draw!"<GetZaxis()->SetRangeUser(0,2); htheta_mean->Draw("colz"); c1.Print(resname_pdf_o); //write canvas and keep the ps file open c1.Clear(); htheta_rms->GetZaxis()->SetRangeUser(0,2); htheta_rms->Draw("colz"); c1.Print(resname_pdf_o); //write canvas and keep the ps file open c1.Clear(); hphi_mean->GetZaxis()->SetRangeUser(0,2); hphi_mean->Draw("colz"); c1.Print(resname_pdf_o); //write canvas and keep the ps file open c1.Clear(); hphi_rms->GetZaxis()->SetRangeUser(0,2); hphi_rms->Draw("colz"); c1.Print(resname_pdf_o); //write canvas and keep the ps file open c1.Clear(); hX_mean->GetZaxis()->SetRangeUser(0,2); hX_mean->Draw("colz"); c1.Print(resname_pdf_o); //write canvas and keep the ps file open c1.Clear(); hX_rms->GetZaxis()->SetRangeUser(0,2); hX_rms->Draw("colz"); c1.Print(resname_pdf_o); //write canvas and keep the ps file open c1.Clear(); hY_mean->GetZaxis()->SetRangeUser(0,2); hY_mean->Draw("colz"); c1.Print(resname_pdf_o); //write canvas and keep the ps file open c1.Clear(); hY_rms->GetZaxis()->SetRangeUser(0,2); hY_rms->Draw("colz"); c1.Print(resname_pdf_c); //write canvas and keep the ps file open c1.Clear(); TString out = resname+".root"; TFile *f = new TFile(out,"RECREATE"); htheta_mean->Write(); htheta_rms->Write(); hphi_mean->Write(); hphi_rms->Write(); hX_mean->Write(); hX_rms->Write(); hY_mean->Write(); hY_rms->Write(); f->Write(); f->Close(); }