00001
00002
00003 linearityoffset()
00004 {
00005
00006
00007 TString directory = "/gpfs/LAPP-DATA/LC/Detecteurs/MicroMegas/data/MICROROC/MR1/TEST_DAC/RESULTS/";
00008
00009 const Int_t NbOfRun = 16 ;
00010
00011 const Int_t NbOfChannels = 64 ;
00012
00013 Double_t n, a, b, c, d ;
00014
00015
00016
00017
00018
00019 Double_t x[NbOfRun];
00020 for (Int_t i=0;i<NbOfRun;i++)
00021 {
00022 x[i]=i ;
00023 }
00024
00025 Double_t data_inflex[NbOfChannels][NbOfRun] ;
00026
00027 Double_t mean_inflex[NbOfRun] ;
00028
00029 for (Int_t run=0;run<NbOfRun;run++)
00030 {
00031
00032 mean_inflex [run] = 0 ;
00033 TString name_file = directory + "run" + Form("%d", 2*run+1) + "_pied" + Form("%d", ped) + ".txt" ;
00034 cout << name_file << endl ;
00035 ifstream fp ;
00036 fp.open(name_file.Data()) ;
00037
00038 if (!fp.good()) cout << "pb !";
00039 for (Int_t ch=0;ch<NbOfChannels;ch++)
00040 { fp >> n >> a >> b >> c >> d ;
00041
00042 if (!fp.good()) break;
00043
00044 data_inflex [ch][run] = a ;
00045
00046 mean_inflex [run] += data_inflex [ch][run] ;
00047 }
00048 fp.close();
00049 mean_inflex [run] /= NbOfChannels ;
00050
00051 }
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068 TCanvas * c1 = new TCanvas("c1","MICROROC offset dac");
00069 TMultiGraph * mg = new TMultiGraph("mg","");
00070 TGraph * gr[NbOfChannels];
00071 for(Int_t igraph=0;igraph<NbOfRun;igraph++)
00072 { gr [igraph] = new TGraph(NbOfPoints, x, mean_inflex [igraph] );
00073 gr [igraph]->SetLineColor(kBlue+igraph) ;
00074 gr [igraph]->SetLineWidth(1);
00075 gr [igraph]->SetMarkerColor(kBlue+igraph);
00076 gr [igraph]->SetMarkerStyle(8);
00077 gr [igraph]->SetMarkerSize(1);
00078 mg->Add(gr [igraph]);
00079 }
00080
00081 mg->Draw("ALP");
00082 mg->GetXaxis()->SetTitle("Pedestal [DACu]");
00083 mg->GetXaxis()->SetRangeUser(0.,110.);
00084 mg->GetYaxis()->SetTitle("Inflexion Point [DACu]");
00085
00086 mg->GetYaxis()->SetTitleOffset(1.1);
00087 mg->Draw("ALP");
00088
00089
00090
00091 TLegend * leg = new TLegend(0.1,0.75,0.25,0.9) ;
00092 for(Int_t igraph=0;igraph<NbOfRun;igraph++)
00093 {
00094 TString temp_string = Form ("%5.1f #circC", temperature[igraph]) ;
00095 leg->AddEntry(gr [igraph], temp_string, "lp");
00096 }
00097 leg->SetFillStyle(1);
00098 leg->SetFillColor(0);
00099 leg->Draw();
00100
00101 return 0 ;
00102
00103 }