StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
plBprsSlope.C
1 plBprsSlope(int id0=1, int page=2 ) {
2  gStyle->SetOptStat(1110);
3  gStyle->SetOptFit(1);
4  gStyle->SetPalette(1,0);
5 
6  char *fnameO="calib-nov-21-2008/barrelMipSpectV6ok.hist.root";
7  fd=new TFile(fnameO); assert(fd->IsOpen());
8  printf("Read %s\n", fd->GetName());
9  //fd->ls();
10 
11 
12  switch(page) {
13  case 1:
14  {
15  c=new TCanvas("aa","aa",1000,600); c->Divide(5,4);
16  int k=1;
17  for(int box=1; box<=4; box++)
18  for(int pmt=1;pmt<=5;pmt++)
19  { char tt[100];
20  sprintf(tt,"gainBPM%d_%d",box,pmt);
21 
22  TH1F *h=fd->Get(tt);
23  if(h==0) { printf("missing=%s \n",tt); k++; continue;}
24  c->cd(k);
25  h->Draw(); h->SetMaximum(10);
26  k++;
27  }
28 
29  } break;
30  //........................
31 
32  case 2:
33  { gStyle->SetOptStat(0);
34  int id1=id0, id2=id1+100;
35  char tt[100];
36  sprintf(tt,"BPRS softID [%d,%d]",id1,id2);
37  TH2F *h2Cr=new TH2F("aa5","BPRS comparison (both axis); slope (raw) ; average MIP (fit)",20,-0.15,-0.015,20,0,40);
38  h2Cr->SetTitle(tt);
39  c=new TCanvas(tt,tt,450,350);
40  h2Cr->Draw("box"); gPad->SetGrid();
41  for(int id=id1;id<=id2;id++) {
42  sprintf(tt,"bprs%da",id);
43  TH1F *h=(TH1F *)fd->Get(tt);
44  if(h==0) { printf("missing=%s \n",tt);continue;}
45  TF1 *ffS=h->GetFunction("expo");
46  if(ffS==0) continue;
47  float slope=ffS->GetParameter(1);
48 
49  sprintf(tt,"bprs%dm",id);
50  h=(TH1F *)fd->Get(tt);
51  if(h==0) { printf("missing=%s \n",tt);continue;}
52  ffS=h->GetFunction("gaus");
53  if(ffS==0) continue;
54  float mean=ffS->GetParameter(1);
55 
56  printf("id=%d sl=%f mean=%f\n",id,slope,mean);
57  // h->Draw();
58  h2Cr->Fill(slope,mean);
59  }
60 
61  } break;
62  //........................
63  //........................
64  default:
65  } // case END
66 }
67