10 int SenseAlign(
TString pathG=
"/home/karavdina/soft/pandaroot/macro/lmd/testPixelAlignSIM_LIMITS_10000/mom_15/")
 
   14   gStyle->SetOptStat(0);
 
   15   gStyle->SetLabelSize(0.045,
"xyz");
 
   16   gStyle->SetTitleYSize(0.04);
 
   17   gStyle->SetTitleXSize(0.04);
 
   19   double v_Da[nParDa]={0,0.5,1,1.5,2,2.5,3,3.5,4,4.5,5};
 
   20   TString sv_Da[nParDa]={
"0",
"0_5",
"1",
"1_5",
"2",
"2_5",
"3",
"3_5",
"4",
"4_5",
"5"};
 
   25   for(
int i=0;
i<nParDt;
i++)
 
   31   TString resname= pathG+
"/ResultsLimitsSummary_BOX";
 
   32   TString resname_pdf = resname+
".pdf";
 
   33   TString resname_pdf_o = resname_pdf+
"(";
 
   34   TString resname_pdf_c = resname_pdf+
")";
 
   47   double theta_mean_b, theta_mean_r;
 
   48   double theta_rms_b, theta_rms_r;
 
   49   double phi_mean_b, phi_mean_r;
 
   50   double phi_rms_b, phi_rms_r;
 
   51   double X_mean_b, X_mean_r;
 
   52   double X_rms_b, X_rms_r;
 
   53   double Y_mean_b, Y_mean_r;
 
   54   double Y_rms_b, Y_rms_r;
 
   80 TH2D *htheta_mean = 
new TH2D(
"htheta_mean",
"#theta_{MEAN}; #Delta_{t}, #mum;#Delta_{r}, mrad",4e1,0,v_Dt[nParDt-1],1e1,0,v_Da[nParDa-1]);
 
   81  TH2D *htheta_rms = 
new TH2D(
"htheta_rms",
"#theta_{RMS}; #Delta_{t}, #mum;#Delta_{r}, mrad",4e1,0,v_Dt[nParDt-1],1e1,0,v_Da[nParDa-1]);
 
   82  TH2D *hphi_mean = 
new TH2D(
"hphi_mean",
"#phi_{MEAN}; #Delta_{t}, #mum;#Delta_{r}, mrad",4e1,0,v_Dt[nParDt-1],1e1,0,v_Da[nParDa-1]);
 
   83  TH2D *hphi_rms = 
new TH2D(
"hphi_rms",
"#phi_{RMS}; #Delta_{t}, #mum;#Delta_{r}, mrad",4e1,0,v_Dt[nParDt-1],1e1,0,v_Da[nParDa-1]);
 
   84  TH2D *hX_mean = 
new TH2D(
"hX_mean",
"X_{MEAN}; #Delta_{t}, #mum;#Delta_{r}, mrad",4e1,0,v_Dt[nParDt-1],1e1,0,v_Da[nParDa-1]);
 
   85  TH2D *hX_rms = 
new TH2D(
"hX_rms",
"X_{RMS}; #Delta_{t}, #mum;#Delta_{r}, mrad",4e1,0,v_Dt[nParDt-1],1e1,0,v_Da[nParDa-1]);
 
   86  TH2D *hY_mean = 
new TH2D(
"hY_mean",
"Y_{MEAN}; #Delta_{t}, #mum;#Delta_{r}, mrad",4e1,0,v_Dt[nParDt-1],1e1,0,v_Da[nParDa-1]);
 
   87  TH2D *hY_rms = 
new TH2D(
"hY_rms",
"Y_{RMS}; #Delta_{t}, #mum;#Delta_{r}, mrad",4e1,0,v_Dt[nParDt-1],1e1,0,v_Da[nParDa-1]);
 
   88  for(
int ipart=0;ipart<nParDa;ipart++){
 
   89     for(
int i=0;
i<nParDt;
i++){
 
   90       double tr_sc = v_Dt[
i];
 
  104       name3+=
"/Lumi_QA_before.root";
 
  111       TFile *
f1 = 
new TFile(name1,
"READ");
 
  112       if (f1->IsZombie()) {
 
  113         std::cout << 
"!!! Error opening file " <<name1<< std::endl;
 
  120       TH1 *hbefore = (TH1*)f1->Get(
"NearIP/hResTheta");
 
  121       theta_mean_b  = 1e3*(hbefore->GetMean());
 
  122       theta_rms_b  = 1e3*(hbefore->GetRMS());
 
  123       hbefore = (TH1*)f1->Get(
"NearIP/hResPhi");
 
  124       phi_mean_b  = 1e3*(hbefore->GetMean());
 
  125       phi_rms_b  = 1e3*(hbefore->GetRMS());
 
  126       hbefore = (TH1*)f1->Get(
"NearIP/hResPointX");
 
  127       X_mean_b  = 1e4*(hbefore->GetMean());
 
  128       X_rms_b = 1e4*(hbefore->GetRMS());
 
  129       hbefore = (TH1*)f1->Get(
"NearIP/hResPointY");
 
  130       Y_mean_b  = 1e4*(hbefore->GetMean());
 
  131       Y_rms_b  = 1e4*(hbefore->GetRMS());
 
  133       if(ipart==0 && 
i==0){
 
  134         theta_mean_b  += 1e-6;
 
  145       TFile *
f3 = 
new TFile(name3,
"READ");
 
  146       if (f3->IsZombie()) {
 
  147         std::cout << 
"!!! Error opening file " <<name2<< std::endl;
 
  151       TH1 *hrefer = (TH1F*)f3->Get(
"NearIP/hResTheta");
 
  152       theta_mean_r = 1e3*(hrefer->GetMean());
 
  153       theta_rms_r  = 1e3*(hrefer->GetRMS());
 
  154       hrefer = (TH1*)f3->Get(
"NearIP/hResPhi");
 
  155       phi_mean_r  = 1e3*(hrefer->GetMean());
 
  156       phi_rms_r  = 1e3*(hrefer->GetRMS());
 
  157       hrefer = (TH1*)f3->Get(
"NearIP/hResPointX");
 
  158       X_mean_r  = 1e4*(hrefer->GetMean());
 
  159       X_rms_r  = 1e4*(hrefer->GetRMS());
 
  160       hrefer = (TH1*)f3->Get(
"NearIP/hResPointY");
 
  161       Y_mean_r  = 1e4*(hrefer->GetMean());
 
  162       Y_rms_r  = 1e4*(hrefer->GetRMS());
 
  167       htheta_mean->Fill(v_Dt[
i],v_Da[ipart],
fabs((theta_mean_b-theta_mean_r)/theta_mean_r));
 
  168       htheta_rms->Fill(v_Dt[i],v_Da[ipart],
fabs((theta_rms_b-theta_rms_r)/theta_rms_r));
 
  169       hphi_mean->Fill(v_Dt[i],v_Da[ipart],
fabs((phi_mean_b-phi_mean_r)/phi_mean_r));
 
  170       hphi_rms->Fill(v_Dt[i],v_Da[ipart],
fabs((phi_rms_b-phi_rms_r)/phi_rms_r));
 
  171       hX_mean->Fill(v_Dt[i],v_Da[ipart],
fabs((X_mean_b -X_mean_r)/X_mean_r));
 
  172       hX_rms->Fill(v_Dt[i],v_Da[ipart],
fabs((X_rms_b -X_rms_r)/X_rms_r));
 
  173       hY_mean->Fill(v_Dt[i],v_Da[ipart],
fabs((Y_mean_b -Y_mean_r)/Y_mean_r));
 
  174       hY_rms->Fill(v_Dt[i],v_Da[ipart],
fabs((Y_rms_b -Y_rms_r)/Y_rms_r));
 
  185  cout<<
"Let's draw!"<<endl;
 
  187  htheta_mean->GetZaxis()->SetRangeUser(0,2);
 
  188  htheta_mean->Draw(
"colz");
 
  189  c1.Print(resname_pdf_o); 
 
  191  htheta_rms->GetZaxis()->SetRangeUser(0,2);
 
  192  htheta_rms->Draw(
"colz");
 
  193  c1.Print(resname_pdf_o); 
 
  195  hphi_mean->GetZaxis()->SetRangeUser(0,2);
 
  196  hphi_mean->Draw(
"colz");
 
  197  c1.Print(resname_pdf_o); 
 
  199  hphi_rms->GetZaxis()->SetRangeUser(0,2);
 
  200  hphi_rms->Draw(
"colz");
 
  201  c1.Print(resname_pdf_o); 
 
  203  hX_mean->GetZaxis()->SetRangeUser(0,2);
 
  204  hX_mean->Draw(
"colz");
 
  205  c1.Print(resname_pdf_o); 
 
  207  hX_rms->GetZaxis()->SetRangeUser(0,2);
 
  208  hX_rms->Draw(
"colz");
 
  209  c1.Print(resname_pdf_o); 
 
  211  hY_mean->GetZaxis()->SetRangeUser(0,2);
 
  212  hY_mean->Draw(
"colz");
 
  213  c1.Print(resname_pdf_o); 
 
  215  hY_rms->GetZaxis()->SetRangeUser(0,2);
 
  216  hY_rms->Draw(
"colz");
 
  217  c1.Print(resname_pdf_c); 
 
  220  TFile *
f = 
new TFile(out,
"RECREATE");
 
  221  htheta_mean->Write();
 
friend F32vec4 fabs(const F32vec4 &a)
int SenseAlign(TString pathG="/home/karavdina/soft/pandaroot/macro/lmd/testPixelAlignSIM_LIMITS_10000/mom_15/")