ROOT logo
Int_t readAtlas() 
{
// read ATLAS NSD data from file
//

cout << endl;
cout << "================================" << endl;
cout << endl;
cout << "read ATLAS NSD data from file" <<endl;
cout << "Number of bins: " << binsAtlas <<endl;
cout << "Filename:       " << filenameAtlas <<endl;
cout << endl;
cout << "================================" << endl;
cout << endl;

ifstream fileNsdAtlas;
fileNsdAtlas.open(filenameAtlas);

Int_t i = 0;
while(!fileNsdAtlas.eof()) {
    if(i == binsAtlas) break;
    // textfile content: pt:pt_low:pt_high:NSD_yield:stat_error:syst_error
    fileNsdAtlas >> ptAtlas[i] >> lowPtAtlas[i] >> highPtAtlas[i] >> nsdAtlas[i] >> statNsdAtlas[i] >> systNsdAtlas[i];
    
    centerPtAtlas[i]    = (highPtAtlas[i] + lowPtAtlas[i]) / 2.0;
    widthPtAtlas[i]     = highPtAtlas[i] - lowPtAtlas[i];
    errPtAtlas[i]       = widthPtAtlas[i] / 2.0;
    lowErrPtAtlas[i] = ptAtlas[i] - lowPtAtlas[i];
    highErrPtAtlas[i] = highPtAtlas[i] - ptAtlas[i];
            
    lowStatNsdAtlas[i]  = nsdAtlas[i] - statNsdAtlas[i];
    highStatNsdAtlas[i] = nsdAtlas[i] + statNsdAtlas[i];
    relStatNsdAtlas[i]  = statNsdAtlas[i] / nsdAtlas[i];    
    lowSystNsdAtlas[i]  = nsdAtlas[i] - systNsdAtlas[i];
    highSystNsdAtlas[i] = nsdAtlas[i] + systNsdAtlas[i];
    relSystNsdAtlas[i]  = systNsdAtlas[i] / nsdAtlas[i];    
    errNsdAtlas[i]      = systNsdAtlas[i] + statNsdAtlas[i];
    lowErrNsdAtlas[i]   = nsdAtlas[i] - errNsdAtlas[i];
    highErrNsdAtlas[i]  = nsdAtlas[i] + errNsdAtlas[i];
    relErrNsdAtlas[i]   = errNsdAtlas[i] / nsdAtlas[i];
    err2NsdAtlas[i]     = sqrt(systNsdAtlas[i]*systNsdAtlas[i] + statNsdAtlas[i]*statNsdAtlas[i]);
    lowErr2NsdAtlas[i]  = nsdAtlas[i] - err2NsdAtlas[i];
    highErr2NsdAtlas[i] = nsdAtlas[i] + errNsdAtlas[i];
    relErr2NsdAtlas[i]  = err2NsdAtlas[i] / nsdAtlas[i];
        
    cout << "ptAtlas[" << i << "]             = " << ptAtlas[i] <<endl;
    cout << "   centerPtAtlas[" << i << "]    = " << centerPtAtlas[i] <<endl;
    cout << "   widthPtAtlas[" << i << "]     = " << widthPtAtlas[i] <<endl;
    cout << "   errPtAtlas[" << i << "]       = " << errPtAtlas[i] <<endl;
    cout << "   lowErrPtAtlas[" << i << "]    = " << lowErrPtAtlas[i] <<endl;
    cout << "   highErrPtAtlas[" << i << "]   = " << highErrPtAtlas[i] <<endl;
    cout << "   lowPtAtlas[" << i << "]       = " << lowPtAtlas[i] <<endl;
    cout << "   highPtAtlas[" << i << "]      = " << highPtAtlas[i] <<endl;
    cout << "nsdAtlas[" << i << "]            = " << nsdAtlas[i] <<endl;
    cout << "   statNsdAtlas[" << i << "]     = " << statNsdAtlas[i] <<endl;
    cout << "   lowStatNsdAtlas[" << i << "]  = " << lowStatNsdAtlas[i] <<endl;
    cout << "   highStatNsdAtlas[" << i << "] = " << highStatNsdAtlas[i] <<endl;
    cout << "   relStatNsdAtlas[" << i << "]  = " << relStatNsdAtlas[i] <<endl;
    cout << "   systNsdAtlas[" << i << "]     = " << systNsdAtlas[i] <<endl;
    cout << "   lowSystNsdAtlas[" << i << "]  = " << lowSystNsdAtlas[i] <<endl;
    cout << "   highSystNsdAtlas[" << i << "] = " << highSystNsdAtlas[i] <<endl;
    cout << "   relSystNsdAtlas[" << i << "]  = " << relSystNsdAtlas[i] <<endl;
    cout << "errNsdAtlas[" << i << "]         = " << errNsdAtlas[i] <<endl;
    cout << "   lowErrNsdAtlas[" << i << "]   = " << lowErrNsdAtlas[i] <<endl;
    cout << "   highErrNsdAtlas[" << i << "]  = " << highErrNsdAtlas[i] <<endl;
    cout << "   relErrNsdAtlas[" << i << "]   = " << relErrNsdAtlas[i] <<endl;
    cout << "err2NsdAtlas[" << i << "]        = " << err2NsdAtlas[i] <<endl;
    cout << "   lowErr2NsdAtlas[" << i << "]  = " << lowErr2NsdAtlas[i] <<endl;
    cout << "   highErr2NsdAtlas[" << i << "] = " << highErr2NsdAtlas[i] <<endl;
    cout << "   relErr2NsdAtlas[" << i << "]  = " << relErr2NsdAtlas[i] <<endl;
    cout << endl;
     
   i++;
} // while(!fileNsdAtlas.eof())
fileNsdAtlas.close();
//if (fileNsdAtlas) { delete fileNsdAtlas; }
//fileNsdAtlas=0;

cout << "================================" << endl;
cout << endl;
cout << "Finished reading ATLAS NSD data" <<endl;
cout << "Number of bins read: " << i <<endl;
cout << endl;
cout << "================================" << endl;
cout << endl;

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