Rev 1 | Details | Compare with Previous | 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 | } |