ROOT logo
Int_t readPythia109() 
{
// read PYTHIA 109 INEL data from file

cout << endl;
cout << "================================" << endl;
cout << endl;
cout << "read PHYTIA 109 INEL data from file" <<endl;
cout << "Number of bins: " << binsPythia109 <<endl;
cout << "Filename:       " << filenamePythia109 <<endl;
cout << endl;
cout << "================================" << endl;
cout << endl;

TFile* filePythia109 = new TFile(filenamePythia109,"OPEN");
nEventsPythia109 = ((TH1F*)filePythia109->Get("eventsINEL"))->GetBinContent(1);

TH1F* histPythia109 = (TH1F*)filePythia109->Get("ptINEL");

int bins = 0;
for (int i=0; i < histPythia109->GetNbinsX(); i++) {
    if (histPythia109->GetBinContent(i) > 0 ) {
        centerPtPythia109[bins]    = histPythia109->GetBinCenter(i);
        ptPythia109[bins]          = centerPtPythia109[bins];
        widthPtPythia109[bins]     = histPythia109->GetBinWidth(i);        
        errPtPythia109[bins]       = widthPtPythia109[bins] / 2.0;
        lowPtPythia109[bins]       = centerPtPythia109[bins] - errPtPythia109[bins];
        highPtPythia109[bins]      = centerPtPythia109[bins] + errPtPythia109[bins];
        
        inelPythia109[bins]        = histPythia109->GetBinContent(i) / (nEventsPythia109 * etaRange * 2 * M_PI * ptPythia109[bins]);
        errInelPythia109[bins]     = histPythia109->GetBinError(i) / (nEventsPythia109 * etaRange * 2 * M_PI * ptPythia109[bins]);
        lowErrInelPythia109[bins]  = inelPythia109[bins] - errInelPythia109[bins];
        highErrInelPythia109[bins] = inelPythia109[bins] + errInelPythia109[bins];
        relErrInelPythia109[bins]  = errInelPythia109[bins] / inelPythia109[bins];
        
        
        
        centerPt2PiPtPythia109[bins]    = histPythia109->GetBinCenter(i);
        pt2PiPtPythia109[bins]          = centerPt2PiPtPythia109[bins];
        widthPt2PiPtPythia109[bins]     = histPythia109->GetBinWidth(i);        
        errPt2PiPtPythia109[bins]       = widthPt2PiPtPythia109[bins] / 2.0;
        lowPt2PiPtPythia109[bins]       = centerPt2PiPtPythia109[bins] - errPt2PiPtPythia109[bins];
        highPt2PiPtPythia109[bins]      = centerPt2PiPtPythia109[bins] + errPt2PiPtPythia109[bins];        
        inel2PiPtPythia109[bins]        = histPythia109->GetBinContent(i) / (nEventsPythia109 * etaRange);
        errInel2PiPtPythia109[bins]     = histPythia109->GetBinError(i) / (nEventsPythia109 * etaRange);
        lowErrInel2PiPtPythia109[bins]  = inel2PiPtPythia109[bins] - errInel2PiPtPythia109[bins];
        highErrInel2PiPtPythia109[bins] = inel2PiPtPythia109[bins] + errInel2PiPtPythia109[bins];
        relErrInel2PiPtPythia109[bins]  = errInel2PiPtPythia109[bins] / inel2PiPtPythia109[bins];         
        
        
        
        cout << "ptPythia109[" << bins << "]              = " << ptPythia109[bins] <<endl;
        cout << "   centerPtPythia109[" << bins << "]     = " << centerPtPythia109[bins] <<endl;
        cout << "   widthPtPythia109[" << bins << "]      = " << widthPtPythia109[bins] <<endl;
        cout << "   errPtPythia109[" << bins << "]        = " << errPtPythia109[bins] <<endl;
        cout << "   lowPtPythia109[" << bins << "]        = " << lowPtPythia109[bins] <<endl;
        cout << "   highPtPythia109[" << bins << "]       = " << highPtPythia109[bins] <<endl;
        cout << "inelPythia109[" << bins << "]            = " << inelPythia109[bins] <<endl;        
        cout << "errInelPythia109[" << bins << "]         = " << errInelPythia109[bins] <<endl;
        cout << "   lowErrInelPythia109[" << bins << "]   = " << lowErrInelPythia109[bins] <<endl;
        cout << "   highErrInelPythia109[" << bins << "]  = " << highErrInelPythia109[bins] <<endl;
        cout << "   relErrInelPythia109[" << bins << "]   = " << relErrInelPythia109[bins] <<endl;
        cout << endl;
        bins++;
    }
}

filePythia109->Close();

cout << "================================" << endl;
cout << endl;
cout << "Finished reading PYTHIA 109 INEL data" <<endl;
cout << "Number of bins read: " << bins <<endl;
cout << endl;
cout << "================================" << endl;
cout << endl;

return bins;
 readPythia109.C:1
 readPythia109.C:2
 readPythia109.C:3
 readPythia109.C:4
 readPythia109.C:5
 readPythia109.C:6
 readPythia109.C:7
 readPythia109.C:8
 readPythia109.C:9
 readPythia109.C:10
 readPythia109.C:11
 readPythia109.C:12
 readPythia109.C:13
 readPythia109.C:14
 readPythia109.C:15
 readPythia109.C:16
 readPythia109.C:17
 readPythia109.C:18
 readPythia109.C:19
 readPythia109.C:20
 readPythia109.C:21
 readPythia109.C:22
 readPythia109.C:23
 readPythia109.C:24
 readPythia109.C:25
 readPythia109.C:26
 readPythia109.C:27
 readPythia109.C:28
 readPythia109.C:29
 readPythia109.C:30
 readPythia109.C:31
 readPythia109.C:32
 readPythia109.C:33
 readPythia109.C:34
 readPythia109.C:35
 readPythia109.C:36
 readPythia109.C:37
 readPythia109.C:38
 readPythia109.C:39
 readPythia109.C:40
 readPythia109.C:41
 readPythia109.C:42
 readPythia109.C:43
 readPythia109.C:44
 readPythia109.C:45
 readPythia109.C:46
 readPythia109.C:47
 readPythia109.C:48
 readPythia109.C:49
 readPythia109.C:50
 readPythia109.C:51
 readPythia109.C:52
 readPythia109.C:53
 readPythia109.C:54
 readPythia109.C:55
 readPythia109.C:56
 readPythia109.C:57
 readPythia109.C:58
 readPythia109.C:59
 readPythia109.C:60
 readPythia109.C:61
 readPythia109.C:62
 readPythia109.C:63
 readPythia109.C:64
 readPythia109.C:65
 readPythia109.C:66
 readPythia109.C:67
 readPythia109.C:68
 readPythia109.C:69
 readPythia109.C:70
 readPythia109.C:71
 readPythia109.C:72
 readPythia109.C:73
 readPythia109.C:74
 readPythia109.C:75
 readPythia109.C:76
 readPythia109.C:77
 readPythia109.C:78
 readPythia109.C:79