Changeset 185 in JEM-EUSO


Ignore:
Timestamp:
Jul 15, 2013, 5:11:15 PM (11 years ago)
Author:
moretto
Message:

modification of analysis.C to add error bars in grapics

Location:
esaf_lal/branches/camille
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • esaf_lal/branches/camille/packages/analysis/analysis.C

    r176 r185  
    7171   
    7272    double x[200], ratio_1[200], ratio_2[200], ratio_3[200], ratio_4[200], ratio_5[200];
     73    double error_ratio_1[200], error_ratio_2[200], error_ratio_3[200], error_ratio_4[200], error_ratio_5[200];
    7374    double ratio_1_min = 1, ratio_2_min = 1, ratio_3_min = 1, ratio_4_min = 1, ratio_5_min = 1;
     75    double error_ratio_1_min, error_ratio_2_min, error_ratio_3_min, error_ratio_4_min, error_ratio_5_min;
     76
    7477   
    7578    for (int j= 0; j<200; j++)
     
    108111        double bin6 = h6->GetBinContent(i);
    109112       
     113        double error1 = h1->GetBinError(i);
     114        double error2 = h2->GetBinError(i);
     115        double error3 = h3->GetBinError(i);
     116        double error4 = h4->GetBinError(i);
     117        double error5 = h5->GetBinError(i);
     118        double error6 = h6->GetBinError(i);
    110119       
    111120        x[i] = i;
     
    120129            ratio_4[i] = 0;
    121130            ratio_5[i] = 0;
     131           
     132            error_ratio_1[i] = 0;
     133            error_ratio_2[i] = 0;
     134            error_ratio_3[i] = 0;
     135            error_ratio_4[i] = 0;
     136            error_ratio_5[i] = 0;
    122137        }
    123138       
     
    129144            ratio_4[i] = bin5/bin4;
    130145            ratio_5[i] = bin6/bin4;
     146           
     147            error_ratio_1[i] = error1/bin4 + bin1/(bin4*bin4) * error4;
     148            error_ratio_2[i] = error2/bin4 + bin2/(bin4*bin4) * error4;
     149            error_ratio_3[i] = error3/bin4 + bin3/(bin4*bin4) * error4;
     150            error_ratio_4[i] = error5/bin4 + bin5/(bin4*bin4) * error4;
     151            error_ratio_5[i] = error6/bin4 + bin6/(bin4*bin4) * error4;
     152
    131153        }
    132154       
    133155        if (ratio_1[i] < ratio_1_min && ratio_1[i] != 0)
     156        {
    134157            ratio_1_min = ratio_1[i];
     158            error_ratio_1_min = error_ratio_1[i];
     159        }
    135160       
    136161        if (ratio_2[i] < ratio_2_min && ratio_2[i] != 0)
     162        {
    137163            ratio_2_min = ratio_2[i];
     164            error_ratio_2_min = error_ratio_2[i];
     165        }
    138166       
    139167        if (ratio_3[i] < ratio_3_min && ratio_3[i] != 0)
     168        {
    140169            ratio_3_min = ratio_3[i];
     170            error_ratio_3_min = error_ratio_3[i];
     171        }
    141172       
    142173        if (ratio_4[i] < ratio_4_min && ratio_4[i] != 0)
     174        {
    143175            ratio_4_min = ratio_4[i];
     176            error_ratio_4_min = error_ratio_4[i];
     177        }
    144178       
    145179        if (ratio_5[i] < ratio_5_min && ratio_5[i] != 0)
     180        {
    146181            ratio_5_min = ratio_5[i];
     182            error_ratio_5_min = error_ratio_5[i];
     183        }
    147184    }
    148185   
     
    153190    TCanvas *c1 = new TCanvas("c1","efficiency: 30/1ns");
    154191    c1->cd();
    155     TGraph *g_efficiency1 = new TGraph(128, x, ratio_1);
     192    TGraphErrors *g_efficiency1 = new TGraphErrors(128, x, ratio_1, 0, error_ratio_1);
    156193    //g_efficiency->SetLineColor(2);
    157194    //g_efficiency->SetLineWidth(2);
     
    162199    TCanvas *c2 = new TCanvas("c2","efficiency: 10/1ns");
    163200    c2->cd();
    164     TGraph *g_efficiency2 = new TGraph(128, x, ratio_2);
     201    TGraphErrors *g_efficiency2 = new TGraphErrors(128, x, ratio_2, 0, error_ratio_2);
    165202    //g_efficiency->SetLineColor(2);
    166203    //g_efficiency->SetLineWidth(2);
     
    171208    TCanvas *c3 = new TCanvas("c3","efficiency: 5/1ns");
    172209    c3->cd();
    173     TGraph *g_efficiency3 = new TGraph(128, x, ratio_3);
     210    TGraphErrors *g_efficiency3 = new TGraphErrors(128, x, ratio_3, 0, error_ratio_3);
    174211    //g_efficiency->SetLineColor(2);
    175212    //g_efficiency->SetLineWidth(2);
     
    180217    TCanvas *c4 = new TCanvas("c4","efficiency: 20/1ns");
    181218    c4->cd();
    182     TGraph *g_efficiency4 = new TGraph(128, x, ratio_4);
     219    TGraphErrors *g_efficiency4 = new TGraphErrors(128, x, ratio_4, 0, error_ratio_4);
    183220    //g_efficiency->SetLineColor(2);
    184221    //g_efficiency->SetLineWidth(2);
     
    189226    TCanvas *c6 = new TCanvas("c6","efficiency: 60/1ns");
    190227    c6->cd();
    191     TGraph *g_efficiency6 = new TGraph(128, x, ratio_5);
     228    TGraphErrors *g_efficiency6 = new TGraphErrors(128, x, ratio_5, 0, error_ratio_5);
    192229    //g_efficiency->SetLineColor(2);
    193230    //g_efficiency->SetLineWidth(2);
     
    198235    //Efficiency vs time resolution curve
    199236   
    200     double abs[10], ord[10];
     237    double abs[10], ord[10], err[10];
    201238   
    202239    abs[0] = 5;
     
    210247    ord[3] = ratio_1_min;
    211248    ord[4] = ratio_5_min;
     249    err[0] = error_ratio_3_min;
     250    err[1] = error_ratio_2_min;
     251    err[2] = error_ratio_4_min;
     252    err[3] = error_ratio_1_min;
     253    err[4] = error_ratio_5_min;
    212254   
    213255    TCanvas *c5 = new TCanvas("c5", "efficiency vs time resolution");
    214256    c5->cd();
    215     TGraph* efficiency_vs_time = new TGraph(5, abs, ord);
     257    TGraphErrors* efficiency_vs_time = new TGraphErrors(5, abs, ord, 0, err);
    216258    efficiency_vs_time->SetMarkerStyle(21);
    217259    efficiency_vs_time->Draw("AP");
Note: See TracChangeset for help on using the changeset viewer.