StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
extractMode3JobInfo.C
1 TH1D *tmp;
2 TFile f, *fNew;
3 
4 char buffer[1024];
5 char nEvName[1024];
6 char nHistName[1024];
7 double nEvents[100], nTmp;
8 double n[100][4][2], pHat[100][4][2];
9 char *types[] = {"all", "soft", "neck", "hard"};
10 int nc = 0;
11 {
12  for (int ic=0;ic<100;ic++) {
13  nEvents[ic] = 0;
14  for (int it=0;it<4;it++) {
15  n[ic][it][0] = 0;
16  n[ic][it][1] = 0;
17  pHat[ic][it][0] = 0;
18  pHat[ic][it][1] = 0;
19  }
20  }
21  for (int ic=0;ic<100;ic++) {
22  for (int it=0;it<4;it++) {
23  sprintf(buffer,"Data%i%s.root",ic,types[it]);
24  fNew = f->Open(buffer);
25  if (!fNew) {
26  break;
27  }
28  nc++;
29  int iz=0;
30  sprintf(nEvName,"NEventsSib_zBuf_%i",iz);
31  while (tmp = (TH1D *) gDirectory->Get(nEvName)) {
32  if (0 == it) {
33  nEvents[ic] += tmp->Integral();
34  }
35  sprintf(nHistName,"meanPtPA_zBuf_%i",iz);
36  tmp = (TH1D *) gDirectory->Get(nHistName);
37  nTmp = 0.5*tmp->Integral();
38  pHat[ic][it][0] += nTmp*tmp->GetMean();
39  n[ic][it][0] += nTmp;
40  sprintf(nHistName,"meanPtMA_zBuf_%i",iz);
41  tmp = (TH1D *) gDirectory->Get(nHistName);
42  nTmp = 0.5*tmp->Integral();
43  pHat[ic][it][1] += nTmp*tmp->GetMean();
44  n[ic][it][1] += nTmp;
45  iz++;
46  sprintf(nEvName,"NEventsSib_zBuf_%i",iz);
47  }
48  }
49  if (!fNew) {
50  break;
51  }
52  }
53  nc /= 4;
54 }
55 
56 {
57  printf(" Following information is for each centrality bin \n\n");
58  printf("Centrality :");
59  for (int ic=0;ic<nc;ic++) {
60  printf("%11i",ic);
61  }
62  printf("\n");
63  printf(" numEvents :");
64  for (int ic=0;ic<nc;ic++) {
65  printf("%11.0f",nEvents[ic]);
66  }
67  printf("\n");
68  printf("\n");
69 
70  printf(" ");
71  for (int it=0;it<4;it++) {
72  printf("%10s+%10s-",types[it],types[it]);
73  }
74  printf("\n");
75  for (int ic=0;ic<nc;ic++) {
76  if (0 == ic) {
77  printf(" NTracks %i :",ic);
78  } else {
79  printf(" %i :",ic);
80  }
81  for (int it=0;it<4;it++) {
82  printf("%11i%11i",n[ic][it][0],n[ic][it][1]);
83  }
84  printf("\n");
85  }
86  printf("\n");
87  for (int ic=0;ic<nc;ic++) {
88  if (0 == ic) {
89  printf(" dN/dEta %i :",ic);
90  } else {
91  printf(" %i :",ic);
92  }
93  for (int it=0;it<4;it++) {
94  printf("%11.2f%11.2f",n[ic][it][0]/nEvents[ic],n[ic][it][1]/nEvents[ic]);
95  }
96  printf("\n");
97  }
98  printf("\n");
99  for (int ic=0;ic<nc;ic++) {
100  if (0 == ic) {
101  printf(" pHat %i :",ic);
102  } else {
103  printf(" %i :",ic);
104  }
105  double pHatp, pHatm;
106  for (int it=0;it<4;it++) {
107  if (n[ic][it][0] > 0) {
108  pHatp = pHat[ic][it][0] / n[ic][it][0];
109  } else {
110  pHatp = -1;
111  }
112  if (n[ic][it][1] > 0) {
113  pHatm = pHat[ic][it][1] / n[ic][it][1];
114  } else {
115  pHatp = -1;
116  }
117  printf("%11.3f%11.3f",pHatp,pHatm);
118  }
119  printf("\n");
120  }
121  printf("\n");
122 }
123 
124 // Try extracting information from Sum files.
125 char *sums[] = {"Sum0_4"};
126 int nSums = 1;
127 {
128  for (int ic=0;ic<nSums;ic++) {
129  nEvents[ic] = 0;
130  for (int it=0;it<4;it++) {
131  n[ic][it][0] = 0;
132  n[ic][it][1] = 0;
133  pHat[ic][it][0] = 0;
134  pHat[ic][it][1] = 0;
135  }
136  }
137  for (int ic=0;ic<nSums;ic++) {
138  for (int it=0;it<4;it++) {
139  sprintf(buffer,"%s%s.root",sums[ic],types[it]);
140  fNew = f->Open(buffer);
141  if (!fNew) {
142  break;
143  }
144  int iz=0;
145  sprintf(nEvName,"NEventsSib_zBuf_%i",iz);
146  while (tmp = (TH1D *) gDirectory->Get(nEvName)) {
147  if (0 == it) {
148  nEvents[ic] += tmp->Integral();
149  }
150  sprintf(nHistName,"meanPtPA_zBuf_%i",iz);
151  tmp = (TH1D *) gDirectory->Get(nHistName);
152  nTmp = 0.5*tmp->Integral();
153  pHat[ic][it][0] += nTmp*tmp->GetMean();
154  n[ic][it][0] += nTmp;
155  sprintf(nHistName,"meanPtMA_zBuf_%i",iz);
156  tmp = (TH1D *) gDirectory->Get(nHistName);
157  nTmp = 0.5*tmp->Integral();
158  pHat[ic][it][1] += nTmp*tmp->GetMean();
159  n[ic][it][1] += nTmp;
160  iz++;
161  sprintf(nEvName,"NEventsSib_zBuf_%i",iz);
162  }
163  }
164  if (!fNew) {
165  break;
166  }
167  }
168 }
169 {
170  printf(" Following information is for combined centrality bins \n\n");
171  printf("Summed bin :");
172  for (int ic=0;ic<nSums;ic++) {
173  printf("%11i",ic);
174  }
175  printf("\n");
176  printf(" numEvents :");
177  for (int ic=0;ic<nSums;ic++) {
178  printf("%11.0f",nEvents[ic]);
179  }
180  printf("\n");
181  printf("\n");
182 
183  printf(" ");
184  for (int it=0;it<4;it++) {
185  printf("%10s+%10s-",types[it],types[it]);
186  }
187  printf("\n");
188  for (int ic=0;ic<nSums;ic++) {
189  if (0 == ic) {
190  printf(" NTracks %i :",ic);
191  } else {
192  printf(" %i :",ic);
193  }
194  for (int it=0;it<4;it++) {
195  printf("%11i%11i",n[ic][it][0],n[ic][it][1]);
196  }
197  printf("\n");
198  }
199  printf("\n");
200  for (int ic=0;ic<nSums;ic++) {
201  if (0 == ic) {
202  printf(" dN/dEta %i :",ic);
203  } else {
204  printf(" %i :",ic);
205  }
206  for (int it=0;it<4;it++) {
207  printf("%11.2f%11.2f",n[ic][it][0]/nEvents[ic],n[ic][it][1]/nEvents[ic]);
208  }
209  printf("\n");
210  }
211  printf("\n");
212  for (int ic=0;ic<nSums;ic++) {
213  if (0 == ic) {
214  printf(" pHat %i :",ic);
215  } else {
216  printf(" %i :",ic);
217  }
218  double pHatp, pHatm;
219  for (int it=0;it<4;it++) {
220  if (n[ic][it][0] > 0) {
221  pHatp = pHat[ic][it][0] / n[ic][it][0];
222  } else {
223  pHatp = -1;
224  }
225  if (n[ic][it][1] > 0) {
226  pHatm = pHat[ic][it][1] / n[ic][it][1];
227  } else {
228  pHatp = -1;
229  }
230  printf("%11.3f%11.3f",pHatp,pHatm);
231  }
232  printf("\n");
233  }
234  printf("\n");
235 }
236 
237 
238