StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
plPresMap.C
1 int A='A', B='B',C='C',D='D',E='E';
2 int a='A', b='B',c='C',d='D',e='E';
3 TFile *f;
4 TCanvas *cc;
5 
6 plPresMap(int sect=3){
7  TString path="./";
8  path="/star/data05/scratch/balewski/2005-eemcCal/";
9  //path+="/day49-hist/iter2-out/";
10  // path+="/day171-hist/iter5-pp/";
11  path+="/mc-hist/iter8-mc/";
12  path="iter14-pp/";
13  path+="sum-sect"; path+=sect;
14  //path+="R112";
15  path+=".hist.root";
16 
17  f=new TFile(path);
18  assert(f->IsOpen());
19  //f=new TFile("iter4-out/R6173068.hist.root");
20  gStyle->SetPalette(1,0);
21  return;
22 }
23 
24 plPresSect(int sec=1) {
25  int sub=B,eta=4;
26  for(eta=1;eta<=12;eta++)
27  for(sub=A;sub<=E;sub++) {
28  plPres(sec,sub,eta);
29  cc->Print();
30  }
31 }
32 
33 plPres( int sec=3, int sub=c, int eta=10 ) {
34  int reb0=4;
35  char name[100];
36  sprintf(name,"tower-%02d%c%02d",sec,sub,eta);
37 
38  cc=new TCanvas(name,name,550,560); cc->Divide(2,2); // 2x2
39  // cc=new TCanvas(name,name,300,900); cc->Divide(1,4); // slim
40 
41  int binL=5,binH=50;
42  const int nT=4;
43  char tA[nT]={'T','P','Q','R'};
44  char *tN[nT]={"Tow","Pre1","Pre2","Post"};
45  int pedA[nT]={20,50,50,50};
46  int it;
47  for(it=0;it<nT;it++) {
48  int reb=reb0;
49  if(it==0) reb=2;
50  int ped=pedA[it];
51  cc->cd(1+it);
52  char name[100];
53 
54  sprintf(name,"a%02d%c%c%02d",sec,tA[it],sub,eta);
55  // printf("name=%s=\n",name);
56  TH1F *h=(TH1F *)f->Get(name); assert(h);
57  int aN= h->Integral(binL+ped,binH+ped);
58  h->Draw();
59  h->SetMinimum(0.2);
60  float yMax=h->GetMaximum()/20.;
61 
62  gPad->SetLogy();
63  if(it==0) h->SetAxisRange(-50,120);
64 
65  sprintf(name,"d%02d%c%c%02d",sec,tA[it],sub,eta);
66  h=(TH1F *)f->Get(name); assert(h);
67  int dN= h->GetEntries();
68  h->SetFillColor( kRed); h->SetLineColor( kRed);
69  h->Draw("same");
70  h->Rebin(reb);
71 
72  sprintf(name,"e%02d%c%c%02d",sec,tA[it],sub,eta);// printf("name=%s=\n",name);
73  h=(TH1F *)f->Get(name); assert(h);
74  int eN= h->GetEntries();
75  h->Draw("same");
76  h->Rebin(reb);
77  h->SetFillColor( h->GetLineColor( ));
78  h->SetFillStyle(3644);
79 
80  float r=0;
81  if(dN) r=1.*eN/dN;
82 
83  printf("%s [%d,%d]--> a=%5d d=%3d e=%3d r=%.2f\n",name+1,binL,binH,aN,dN,eN,r);
84 
85  sprintf(name,"%s R=%.2f",tN[it],r);// printf("name=%s=\n",name);
86  TText *tx=new TText(20,yMax,name);
87  tx->SetTextSize(0.08);
88  tx->SetTextColor( h->GetLineColor( ) );
89 
90  tx->Draw();
91  // break;
92  }
93 }
94 
95 
96 plotDead(){
97  TGraph *grT=new TGraph();
98  grT->SetMarkerStyle(22); grT->SetMarkerSize(2);grT->SetMarkerColor(kMagenta);
99  grT->SetPoint(0,65,115); // 1TC06
100  grT->SetPoint(1,21,-93); // 6TA03
101  grT->SetPoint(2,-60,-100); // 7TC05
102  grT->Draw("P");
103  return;
104 
105  TGraph *grR=new TGraph(); grR->SetMarkerSize(2);grR->SetMarkerColor(kBlue);
106  grR->SetMarkerStyle(24);
107  grR->SetPoint(0,120,168); // 1TD12
108  grR->SetPoint(1,201, -45); // 3TE12
109  grR->SetPoint(2,-55,-75); // 7TD03
110  grR->Draw("P");
111 
112  TGraph *grP=new TGraph(); grP->SetMarkerSize(2);grP->SetMarkerColor(kRed);
113  grR->SetMarkerStyle(25);
114  grR->SetPoint(0,25,-85); // 5PE2
115  grR->SetPoint(1,27,-88);// 5PE3
116  grR->SetPoint(2,75,-175); // 5PD11
117  grR->SetPoint(3,90,-152); // 5PC10
118  grR->Draw("P");
119 }