00001
00002
00003 noise_vs_t()
00004 {
00005
00006
00007 TString directory = "/gpfs/LAPP-DATA/LC/Detecteurs/MicroMegas/data/MICROROC/MR1/TEST_TEMPERATURE/RESULTS/";
00008
00009 const Int_t NbOfPoints = 9 ;
00010 const Int_t NbOfChannels = 64 ;
00011 Int_t pied = 7 ;
00012
00013 Double_t n, a, b, c, d ;
00014
00015
00016
00017
00018 Double_t temperature[]={25.5, 36.7, 47.0, 55.8, 68.5, 78.0, 87.0, 94.5, 105.0};
00019 Double_t data_noise[NbOfChannels][NbOfPoints] ;
00020 Double_t data_inflex[NbOfChannels][NbOfPoints] ;
00021
00022 Double_t mean_noise[NbOfPoints] ;
00023 Double_t mean_inflex[NbOfPoints] ;
00024
00025 for (Int_t run=0;run<NbOfPoints;run++)
00026 {
00027 mean_noise [run] = 0 ;
00028 mean_inflex [run] = 0 ;
00029 TString name_file = directory + "run" + Form("%d", run+1) + "_pied" + Form("%d", pied) + ".txt" ;
00030 cout << name_file << endl ;
00031 ifstream fp ;
00032 fp.open(name_file.Data()) ;
00033
00034 if (!fp.good()) cout << "pb !";
00035 for (Int_t ch=0;ch<NbOfChannels;ch++)
00036 { fp >> n >> a >> b >> c >> d ;
00037
00038 if (!fp.good()) break;
00039
00040 data_inflex [ch][run] = a ;
00041 data_noise [ch][run] = c * 0.13 ;
00042
00043 mean_inflex [run] += data_inflex [ch][run] ;
00044 mean_noise [run] += data_noise [ch][run] ;
00045 }
00046 fp.close();
00047 mean_inflex [run] /= NbOfChannels ;
00048 mean_noise [run] /= NbOfChannels ;
00049 }
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064 TCanvas * c1 = new TCanvas("c1","MICROROC offset dac");
00065 TMultiGraph * mg = new TMultiGraph("mg","");
00066 TGraph * gr[NbOfChannels];
00067 for(Int_t igraph=0;igraph<NbOfChannels;igraph++)
00068 { gr [igraph] = new TGraph(NbOfPoints, temperature, data_noise[igraph] );
00069 gr [igraph]->SetLineColor(kBlue-10+igraph%8) ;
00070 cout << igraph%32 << " " ;
00071 gr [igraph]->SetLineWidth(1);
00072 gr [igraph]->SetMarkerColor(kBlue-10+igraph%8);
00073 gr [igraph]->SetMarkerStyle(8);
00074 gr [igraph]->SetMarkerSize(1);
00075 mg->Add(gr [igraph]);
00076 }
00077
00078 TGraph * mean = new TGraph(NbOfPoints, temperature, mean_noise) ;
00079 mean->SetLineColor(kRed) ;
00080 mean->SetLineWidth(5);
00081 mean->SetMarkerColor(kRed);
00082 mg->Add(mean);
00083
00084
00085 Double_t sim_temp[] = {20., 40., 60., 80., 100.};
00086 Double_t sim_noise[] ={0.196, 0.202, 0.208, 0.214, 0.221};
00087 TGraph * sim = new TGraph(5, sim_temp, sim_noise) ;
00088 sim->SetLineColor(kGreen) ;
00089 sim->SetLineWidth(3);
00090 sim->SetMarkerColor(kGreen);
00091 mg->Add(sim);
00092
00093 mg->Draw("ALP");
00094 mg->GetXaxis()->SetTitle("Temperature [#circC]");
00095 mg->GetXaxis()->SetRangeUser(0.,110.);
00096 mg->GetYaxis()->SetTitle("Noise #sigma [fC]");
00097
00098 mg->GetYaxis()->SetTitleOffset(1.1);
00099 mg->Draw("ALP");
00100
00101 TLegend * leg = new TLegend(0.7,0.75,0.9,0.9) ;
00102 leg->AddEntry(gr [7],"All channels","lp");
00103 leg->AddEntry(mean,"Mean","lp");
00104 leg->AddEntry(sim,"Simulation","lp");
00105 leg->SetFillStyle(0);
00106 leg->Draw();
00107
00108
00109
00110
00111
00112 TCanvas * c2 = new TCanvas("c2","MICROROC offset dac");
00113 TMultiGraph * mg2 = new TMultiGraph("mg2","");
00114 TGraph * gr[NbOfChannels];
00115 for(Int_t igraph=0;igraph<NbOfChannels;igraph++)
00116 { gr [igraph] = new TGraph(NbOfPoints, temperature, data_inflex[igraph] );
00117 gr [igraph]->SetLineColor(kBlue-10+igraph%8) ;
00118 cout << igraph%32 << " " ;
00119 gr [igraph]->SetLineWidth(1);
00120 gr [igraph]->SetMarkerColor(kBlue-10+igraph%8);
00121 gr [igraph]->SetMarkerStyle(8);
00122 gr [igraph]->SetMarkerSize(1);
00123 mg2->Add(gr [igraph]);
00124 }
00125
00126 TGraph * mean = new TGraph(NbOfPoints, temperature, mean_inflex) ;
00127 mean->SetLineColor(kRed) ;
00128 mean->SetLineWidth(5);
00129 mean->SetMarkerColor(kRed);
00130 mg2->Add(mean);
00131
00132
00133 mg2->Draw("ALP");
00134 mg2->GetXaxis()->SetTitle("Temperature [#circC]");
00135 mg2->GetXaxis()->SetRangeUser(0.,110.);
00136 mg2->GetYaxis()->SetTitle("Pedestal [DACu]");
00137 mg2->GetYaxis()->SetRangeUser(200,217.5);
00138 mg2->GetYaxis()->SetTitleOffset(1.1);
00139 mg2->Draw("ALP");
00140
00141 TLegend * leg2 = new TLegend(0.7,0.8,0.9,0.9) ;
00142 leg2->AddEntry(gr [7],"All channels","lp");
00143 leg2->AddEntry(mean,"Mean","lp");
00144 leg2->SetFillStyle(0);
00145 leg2->Draw();
00146
00147
00148
00149
00150
00151
00152
00153
00154
00155
00156
00157
00158
00159
00160
00161
00162
00163
00164
00165
00166
00167
00168
00169
00170
00171
00172
00173
00174
00175
00176
00177
00178
00179
00180
00181
00182
00183
00184
00185
00186
00187
00188
00189
00190
00191
00192
00193
00194
00195
00196
00197
00198
00199
00200
00201
00202
00203
00204
00205
00206
00207
00208
00209
00210
00211
00212
00213
00214
00215
00216
00217
00218
00219 return 0 ;
00220
00221 }