Subversion Repositories f9daq

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1 f9daq 1
int pedestals(char *fname=NULL){
2
 char fpede[255]="pedestals.dat";
3
 
4
 
5
 if (fname!=NULL){
6
    cout << "Rootname:" << fname << endl;
7
    delete gROOT->GetListOfFiles()->FindObject(fname); // clear memory of file name
8
    if( gSystem->AccessPathName(fname) ) {
9
      cout << endl << "File: " << fname << " not there!!!" << endl << endl;
10
      return 0;
11
    }
12
    TFile *rootfile = new TFile(fname);
13
  }
14
 
15
 TH1I *gICh = (TH1I * ) gDirectory->Get("mapping");
16
 char hname[50];
17
 char hn[50];
18
 TCanvas *c;
19
 
20
 
21
 
22
 fp=fopen(fpede,"w");
23
 for (int i=0;i<4;i++) {
24
    sprintf(hname,"cy%d",i);
25
    sprintf(hn,"Single Pmt %d",i);
26
    c =new TCanvas(hname,hn, 1000,1000);
27
    c->Divide(4,4);
28
    for (int j=0;j<16;j++){
29
        c->cd(gICh->GetBinContent(j+1)+1)->SetLogy(1);
30
 
31
        sprintf(hn,"ach%d",i*16+j);
32
        TH1F*h=   (TH1F * ) gDirectory->Get(hn);
33
        float mean=h->GetMean();
34
        h->Fit("gaus","","",mean-200,mean+100);
35
 
36
        TF1 *res = h->GetFunction("gaus");
37
 
38
        fprintf(fp, "%d %g\n",i*16+j,res->GetParameter(1));
39
 
40
    }
41
    c->Modified();
42
    c->Update();
43
  }
44
  fclose(fp);
45
 
46
  printf("pedestals are stored in file %s\n", fpede);
47
 
48
 
49
  /*
50
 char fsumpede[255]="sumpedestals.dat";
51
 FILE *fp=fopen(fsumpede,"w");
52
 c =new TCanvas("c","c", 600,600);
53
 c->Divide(2,2);
54
 for (int i=0;i<4;i++){
55
    sprintf(hn,"pmt%d",i);
56
    c->cd(i+1);
57
    TH1F *h= ((TH1F * )gDirectory->Get(hn));
58
    if (h) {
59
      h->Fit("gaus", "","",3000, 6000);
60
      TF1 *res = h->GetFunction("gaus");
61
      fprintf(fp, "%d %g\n",i,res->GetParameter(1));
62
    }  
63
 }
64
 c->Modified();
65
 c->Update();
66
 fclose(fp);
67
 printf("pedestals are stored in file %s\n", fsumpede);
68
 */
69
 
70
return 0;
71
}