3 // read PYTHIA 306 INEL data from file
6 cout << "================================" << endl;
8 cout << "read PHYTIA 306 INEL data from file" <<endl;
9 cout << "Number of bins: " << binsPythia306 <<endl;
10 cout << "Filename: " << filenamePythia306 <<endl;
12 cout << "================================" << endl;
15 TFile* filePythia306 = new TFile(filenamePythia306,"OPEN");
16 nEventsPythia306 = ((TH1F*)filePythia306->Get("eventsINEL"))->GetBinContent(1);
18 TH1F* histPythia306 = (TH1F*)filePythia306->Get("ptINEL");
21 for (int i=0; i < histPythia306->GetNbinsX(); i++) {
22 if (histPythia306->GetBinContent(i) > 0 ) {
23 centerPtPythia306[bins] = histPythia306->GetBinCenter(i);
24 ptPythia306[bins] = centerPtPythia306[bins];
25 widthPtPythia306[bins] = histPythia306->GetBinWidth(i);
26 errPtPythia306[bins] = widthPtPythia306[bins] / 2.0;
27 lowPtPythia306[bins] = centerPtPythia306[bins] - errPtPythia306[bins];
28 highPtPythia306[bins] = centerPtPythia306[bins] + errPtPythia306[bins];
30 inelPythia306[bins] = histPythia306->GetBinContent(i) / (nEventsPythia306 * etaRange * 2 * M_PI * ptPythia306[bins]);
31 errInelPythia306[bins] = histPythia306->GetBinError(i) / (nEventsPythia306 * etaRange * 2 * M_PI * ptPythia306[bins]);
32 lowErrInelPythia306[bins] = inelPythia306[bins] - errInelPythia306[bins];
33 highErrInelPythia306[bins] = inelPythia306[bins] + errInelPythia306[bins];
34 relErrInelPythia306[bins] = errInelPythia306[bins] / inelPythia306[bins];
40 centerPt2PiPtPythia306[bins] = histPythia306->GetBinCenter(i);
41 pt2PiPtPythia306[bins] = centerPt2PiPtPythia306[bins];
42 widthPt2PiPtPythia306[bins] = histPythia306->GetBinWidth(i);
43 errPt2PiPtPythia306[bins] = widthPt2PiPtPythia306[bins] / 2.0;
44 lowPt2PiPtPythia306[bins] = centerPt2PiPtPythia306[bins] - errPt2PiPtPythia306[bins];
45 highPt2PiPtPythia306[bins] = centerPt2PiPtPythia306[bins] + errPt2PiPtPythia306[bins];
46 inel2PiPtPythia306[bins] = histPythia306->GetBinContent(i) / (nEventsPythia306 * etaRange);
47 errInel2PiPtPythia306[bins] = histPythia306->GetBinError(i) / (nEventsPythia306 * etaRange);
48 lowErrInel2PiPtPythia306[bins] = inel2PiPtPythia306[bins] - errInel2PiPtPythia306[bins];
49 highErrInel2PiPtPythia306[bins] = inel2PiPtPythia306[bins] + errInel2PiPtPythia306[bins];
50 relErrInel2PiPtPythia306[bins] = errInel2PiPtPythia306[bins] / inel2PiPtPythia306[bins];
59 cout << "ptPythia306[" << bins << "] = " << ptPythia306[bins] <<endl;
60 cout << " centerPtPythia306[" << bins << "] = " << centerPtPythia306[bins] <<endl;
61 cout << " widthPtPythia306[" << bins << "] = " << widthPtPythia306[bins] <<endl;
62 cout << " errPtPythia306[" << bins << "] = " << errPtPythia306[bins] <<endl;
63 cout << " lowPtPythia306[" << bins << "] = " << lowPtPythia306[bins] <<endl;
64 cout << " highPtPythia306[" << bins << "] = " << highPtPythia306[bins] <<endl;
65 cout << "inelPythia306[" << bins << "] = " << inelPythia306[bins] <<endl;
66 cout << "errInelPythia306[" << bins << "] = " << errInelPythia306[bins] <<endl;
67 cout << " lowErrInelPythia306[" << bins << "] = " << lowErrInelPythia306[bins] <<endl;
68 cout << " highErrInelPythia306[" << bins << "] = " << highErrInelPythia306[bins] <<endl;
69 cout << " relErrInelPythia306[" << bins << "] = " << relErrInelPythia306[bins] <<endl;
75 filePythia306->Close();
77 cout << "================================" << endl;
79 cout << "Finished reading PYTHIA 306 INEL data" <<endl;
80 cout << "Number of bins read: " << bins <<endl;
82 cout << "================================" << endl;