00001
00002 pedMan ( char *name="out3-5b.hist.root"){
00003
00004 name="mini1001.hist.root";
00005 TFile *f=new TFile(name);
00006
00007
00008 TCanvas *c=new TCanvas("bb","ccc",600,800);
00009 c->Divide(1,2);
00010 int sec=6,isub=3,eta=4;
00011
00012 char tt1[100];
00013
00014 sprintf(tt1,"%2.2dT%c%2.2dc%d",sec,'A'+isub,eta,0);
00015 TH1F*h= (TH1F*) f->Get(tt1);
00016
00017 h->Draw(); h->SetAxisRange(0,100); gPad->SetLogy();
00018 char text[100]; sprintf(text,"eta%2.2d.gif",eta);
00019 getPed(h);
00020
00021 }
00022
00023
00024 void getPed(TH1F* h){
00025
00026 float *x=h->GetArray();
00027
00028
00029
00030 float ym=0;
00031 int nb=h->GetNbinsX();
00032 int i;
00033 int j=-1;
00034 for(i=1;i<=100;i++){
00035 if(ym>x[i]) continue;
00036 ym=x[i];
00037 j=i;
00038 }
00039
00040 float x0=h->GetBinCenter(j);
00041 h->Fit("gaus","","",x0-5,x0+4);
00042
00043 TF1 *f=h->GetFunction("gaus");
00044 assert(f);
00045
00046 f->SetLineColor(kRed);
00047 float g=f->GetParameter(1);
00048 float eg=f->GetParError(1);
00049 printf("#%s mean gain %f +/- %f \n",h->GetTitle(),g,eg);
00050 }
00051
00052
00053
00054
00055
00056
00057