StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
plSwap-byCrate.C
1 // cat ps/pmt3* |ps2pdf - pmt3.pdf
2 
3 plSwap_byCrate(int icr=2, int set=2) { // BPRS crateID=0,...,3
4 
5  // char *fname="outFid-swap12/sum.hist.root";
6 
7  char *fname="sum.hist.root";
8  if(set==0) fname="sum-noswap.hist.root";
9  if(set==1) fname="sum-swap14.hist.root";
10  if(set==2) fname="/star/data05/scratch/balewski/sched-swapA/R9068088.barCal.hist.root";
11  if(set==99) fname="sum.hist.root";
12  // char *fname="out1e/R9067013f.barCal.hist.root";
13 
14  fd=new TFile(fname); assert(fd->IsOpen());
15  printf("Work with %s\n", fd->GetName());
16  gStyle->SetOptStat(1000010);
17  gStyle->SetPalette(1,0);
18  gStyle->SetOptFit(1);
19 
20  TH2F* hr= BPRS_c0;
21  TH2F* hm=mipBprsAdc;
22  float y1=-20, y2=80;
23 
24  TString crName="aaa";
25  c=new TCanvas();
26 
27  switch(icr) {
28 
29  case 0:
30  case 2:
31  {
32  float x1=1,x2=340,x3=1541,x4=2400;
33  crName="PSD1W";
34  if(icr==2) {
35  crName="PSD1E";
36  x1=2401; x2=2900; x3=4101; x4=4800;
37  }
38  c->SetTitle(crName);
39  TH2F* hA[4]; hA[0]=hr; hA[2]=hm;
40  for(int i=0;i<2;i++){
41  hA[1+2*i]=(TH2F*) hA[2*i]->Clone();
42  hA[2*i]->SetAxisRange(x1,x2);
43  hA[2*i]->SetAxisRange(x1,x2);
44  hA[1+2*i]->SetAxisRange(x3,x4);
45  hA[1+2*i]->SetAxisRange(x3,x4);
46  }
47 
48  c->Divide(2,2);
49  for(int i=0;i<4;i++){
50  c->cd(i+1); hA[i]->Draw("colz");
51  if(i<2) gPad->SetLogz();
52  }
53  }
54  break;
55 
56  case 1:
57  case 3:
58  {
59  float x1=341,x2=1540;
60  crName="PSD19W";
61  if(icr==3) {
62  crName="PSD20E";
63  x1=2901;x2=4100;
64  }
65  c->SetTitle(crName);
66  c->Divide(1,2);
67  c->cd(1); hr->Draw("colz"); gPad->SetLogz();gPad->SetGrid();
68  hr->SetAxisRange(x1,x2);
69  hr->SetAxisRange(y1,y2,"y");
70  c->cd(2); hm->Draw("colz") ;gPad->SetGrid();
71  hm->SetAxisRange(x1,x2);
72  hm->SetAxisRange(y1,y2,"y");
73  }
74  } // end of case
75 
76 
77  return;
78 
79 
80 
81  int ipmt=kpmt-1;
82  for(int i=0;i<4;i++) {
83  float id1=1461+i*20+ipmt*4;
84  float id2=id1+4;
85  for(int j=0;j<4;j++) {
86  int id=id1+j;
87  printf("==========%d\n",id);
88  // continue;
89  {
90  TH1F *hr=getSlice( BPRS_c0,id, "raw");
91  TH1F *hm=getSlice(mipBprsAdc,id, "mip");
92  c=new TCanvas("a","a",500,500);
93  c=new TCanvas();
94  c->Divide(1,2);
95  c->cd(1);
96  hr->Draw();gPad->SetLogy();gPad->SetGrid();
97  hr->Fit("gaus");
98  c->cd(2);
99  hm->Draw(); //hm->Rebin();
100  gPad->SetGrid();
101  char txt1[100];
102  sprintf(txt1,"ps/pmt%d_id%d.ps",kpmt,id);
103  c->Print(txt1);
104  }
105  }
106  }
107  printf("MANY pages has piled up!!!\n");
108 }
109 
110 //================
111 void markMP1() {
112  float y=-15;
113  for(int i=0;i<4;i++) {
114  float x1=1461+i*20-0.5;
115  float x2=x1+4;
116  ln=new TLine(x1,y,x2,y);
117  ln->Draw();
118  ln->SetLineColor(kRed); ln->SetLineWidth(2.);
119  }
120 }
121 
122 //=================
123 TH1F * getSlice(TH2F * h2, int id, char *ctit) {
124  axX=h2->GetXaxis();
125  float x1=axX->GetXmin();
126  float x2=axX->GetXmax();
127  int nbX=axX->GetNbins();
128  printf("X-axis range --> [%.1f, %.1f], nb=%d %s\n",x1,x2,nbX,axX->GetTitle());
129 
130  axY=h2->GetYaxis();
131  float y1=axY->GetXmin();
132  float y2=axY->GetXmax();
133  int nbY=axY->GetNbins();
134  printf("Y-axis range --> [%.1f, %.1f], nb=%d\n",y1,y2,nbY);
135 
136  assert(id>=1 && id<=nbX);
137  // do projections
138  char txt1[100], txt2[1000];
139  sprintf(txt1,"%s_id%d",ctit,id);
140  sprintf(txt2,"%s soft id=%d;%s ",ctit, id,axY->GetTitle());
141  TH1F*h=new TH1F(txt1,txt2,nbY,y1,y2); // working histo for 1-D spectrum
142 
143  int i;
144  for(i=1;i<=nbY;i++) h->SetBinContent(i,h2->GetBinContent(id,i));
145  //for(i=1;i<=nbY;i++) printf("%d %f \n",i,h2->GetBinContent(ih,i));
146 
147 
148  float x1=-20, x2=70;
149  h->SetAxisRange(x1,x2);
150  h->SetEntries(h->Integral());
151 
152  return h;
153 }
154 
155 
156 //===============
157 void plCuts() {
158 
159  c=new TCanvas();
160  c->Divide(2,2);
161 
162  c->cd(1);
163  mipZver->Draw();
164  float x=50, y=5e6;
165  ln=new TLine(x,0,x,y); ln->Draw();
166  ln->SetLineColor(kRed);
167  ln=new TLine(-x,0,-x,y); ln->Draw();
168  ln->SetLineColor(kRed);
169  mipZverAc->Draw("same"); mipZverAc->SetLineColor(kBlue);
170 
171 
172  c->cd(2);
173  mipTrPt->Draw();gPad->SetLogy();
174  x=0.3; y=5e7;
175  ln=new TLine(x,0,x,y); ln->Draw();
176  ln->SetLineColor(kRed);
177  mipTrPtAc->Draw("same"); mipTrPtAc->SetLineColor(kBlue);
178 
179  c->cd(3);
180  mipDeDx->Draw("colz");gPad->SetLogz();
181  float y=3.4;
182  ln=new TLine(0,y,20,y); ln->Draw();
183  ln->SetLineColor(kRed);
184  y=1.5;
185  ln=new TLine(0,y,20,y); ln->Draw();
186  ln->SetLineColor(kRed);
187 
188  c->cd(4);
189  mipTrRZ21->Draw("colz");
190 
191 
192 }