ROOT logo
Int_t readAliceYield() 
{
// read ALICE INVARIANT YIELD data from file
//

cout << endl;
cout << "================================" << endl;
cout << endl;
cout << "read ALICE INVARIANT YIELD data from file" <<endl;
cout << "Number of bins: " << binsYieldAlice <<endl;
cout << "Filename:       " << filenameYieldAlice <<endl;
cout << endl;
cout << "================================" << endl;
cout << endl;

ifstream fileYieldAlice;
fileYieldAlice.open(filenameYieldAlice);

Int_t i = 0;
while(!fileYieldAlice.eof()) {
    if(i == binsYieldAlice) break;    
    fileYieldAlice >> centerPtYieldAlice[i] >>  yieldAlice[i] >> statYieldAlice[i] >> systYieldAlice[i];
    //systYieldAlice[i] = 0.15*yieldAlice[i]+1e-7; // sys error has to be provided, currently 10%
    
    // the width of the pt bins, currently hardwired....
    widthPtYieldAlice[i] = 0.05;
    if (centerPtYieldAlice[i] > 1) widthPtYieldAlice[i] = 0.1;
    if (centerPtYieldAlice[i] > 2) widthPtYieldAlice[i] = 0.2;
    if (centerPtYieldAlice[i] > 4) widthPtYieldAlice[i] = 0.5;
    if (centerPtYieldAlice[i] > 7) widthPtYieldAlice[i] = 1.0;
    
    ptYieldAlice[i]       = centerPtYieldAlice[i];
    errPtYieldAlice[i]    = widthPtYieldAlice[i] / 2.0;
    lowPtYieldAlice[i]    = centerPtYieldAlice[i] - errPtYieldAlice[i];
    highPtYieldAlice[i]   = centerPtYieldAlice[i] + errPtYieldAlice[i];      
            
    lowStatYieldAlice[i]  = yieldAlice[i] - statYieldAlice[i];
    highStatYieldAlice[i] = yieldAlice[i] + statYieldAlice[i];
    relStatYieldAlice[i]  = statYieldAlice[i] / yieldAlice[i];    
    lowSystYieldAlice[i]  = yieldAlice[i] - systYieldAlice[i];
    highSystYieldAlice[i] = yieldAlice[i] + systYieldAlice[i];
    relSystYieldAlice[i]  = systYieldAlice[i] / yieldAlice[i];    
    errYieldAlice[i]      = systYieldAlice[i] + statYieldAlice[i];
    lowErrYieldAlice[i]   = yieldAlice[i] - errYieldAlice[i];
    highErrYieldAlice[i]  = yieldAlice[i] + errYieldAlice[i];
    relErrYieldAlice[i]   = errYieldAlice[i] / yieldAlice[i];
    err2YieldAlice[i]     = sqrt(systYieldAlice[i]*systYieldAlice[i] + statYieldAlice[i]*statYieldAlice[i]);
    lowErr2YieldAlice[i]  = yieldAlice[i] - err2YieldAlice[i];
    highErr2YieldAlice[i] = yieldAlice[i] + errYieldAlice[i];
    relErr2YieldAlice[i]  = err2YieldAlice[i] / yieldAlice[i];
        
        
        
        
    ptYield2PiPtAlice[i]       = ptYieldAlice[i];
    centerPtYield2PiPtAlice[i] = centerPtYieldAlice[i];
    widthPtYield2PiPtAlice[i]  = widthPtYieldAlice[i];
    errPtYield2PiPtAlice[i]    = errPtYieldAlice[i];
    lowPtYield2PiPtAlice[i]    = lowPtYieldAlice[i];
    highPtYield2PiPtAlice[i]   = highPtYieldAlice[i];

    yield2PiPtAlice[i]         = yieldAlice[i]*centerPtYieldAlice[i]*2*M_PI;
    statYield2PiPtAlice[i]     = statYieldAlice[i]*centerPtYieldAlice[i]*2*M_PI;
    lowStatYield2PiPtAlice[i]  = lowStatYieldAlice[i]*centerPtYieldAlice[i]*2*M_PI;
    highStatYield2PiPtAlice[i] = highStatYieldAlice[i]*centerPtYieldAlice[i]*2*M_PI;
    relStatYield2PiPtAlice[i]  = relStatYieldAlice[i];
    systYield2PiPtAlice[i]     = systYieldAlice[i]*centerPtYieldAlice[i]*2*M_PI;
    lowSystYield2PiPtAlice[i]  = lowSystYieldAlice[i]*centerPtYieldAlice[i]*2*M_PI;
    highSystYield2PiPtAlice[i] = highSystYieldAlice[i]*centerPtYieldAlice[i]*2*M_PI;
    relSystYield2PiPtAlice[i]  = relSystYieldAlice[i];
    errYield2PiPtAlice[i]      = errYieldAlice[i]*centerPtYieldAlice[i]*2*M_PI;
    lowErrYield2PiPtAlice[i]   = lowErrYieldAlice[i]*centerPtYieldAlice[i]*2*M_PI;
    highErrYield2PiPtAlice[i]  = highErrYieldAlice[i]*centerPtYieldAlice[i]*2*M_PI;
    relErrYield2PiPtAlice[i]   = relErrYieldAlice[i];
    err2Yield2PiPtAlice[i]     = err2YieldAlice[i]*centerPtYieldAlice[i]*2*M_PI;
    lowErr2Yield2PiPtAlice[i]  = lowErr2YieldAlice[i]*centerPtYieldAlice[i]*2*M_PI;
    highErr2Yield2PiPtAlice[i] = highErr2YieldAlice[i]*centerPtYieldAlice[i]*2*M_PI;
    relErr2Yield2PiPtAlice[i]  = relErr2YieldAlice[i];                
        
        
        
        
        
    
    cout << "ptYieldAlice[" << i << "]          = " << ptYieldAlice[i] <<endl;
    cout << "   centerPtYieldAlice[" << i << "] = " << centerPtYieldAlice[i] <<endl;
    cout << "   widthPtYieldAlice[" << i << "]  = " << widthPtYieldAlice[i] <<endl;
    cout << "   errPtYieldAlice[" << i << "]    = " << errPtYieldAlice[i] <<endl;
    cout << "   lowPtYieldAlice[" << i << "]    = " << lowPtYieldAlice[i] <<endl;
    cout << "   highPtYieldAlice[" << i << "]   = " << highPtYieldAlice[i] <<endl;
    cout << "yieldAlice[" << i << "]            = " << yieldAlice[i] <<endl;
    cout << "   statYieldAlice[" << i << "]     = " << statYieldAlice[i] <<endl;
    cout << "   lowStatYieldAlice[" << i << "]  = " << lowStatYieldAlice[i] <<endl;
    cout << "   highStatYieldAlice[" << i << "] = " << highStatYieldAlice[i] <<endl;
    cout << "   relStatYieldAlice[" << i << "]  = " << relStatYieldAlice[i] <<endl;
    cout << "   systYieldAlice[" << i << "]     = " << systYieldAlice[i] <<endl;
    cout << "   lowSystYieldAlice[" << i << "]  = " << lowSystYieldAlice[i] <<endl;
    cout << "   highSystYieldAlice[" << i << "] = " << highSystYieldAlice[i] <<endl;
    cout << "   relSystYieldAlice[" << i << "]  = " << relSystYieldAlice[i] <<endl;
    cout << "errYieldAlice[" << i << "]         = " << errYieldAlice[i] <<endl;
    cout << "   lowErrYieldAlice[" << i << "]   = " << lowErrYieldAlice[i] <<endl;
    cout << "   highErrYieldAlice[" << i << "]  = " << highErrYieldAlice[i] <<endl;
    cout << "   relErrYieldAlice[" << i << "]   = " << relErrYieldAlice[i] <<endl;
    cout << "err2YieldAlice[" << i << "]        = " << err2YieldAlice[i] <<endl;
    cout << "   lowErr2YieldAlice[" << i << "]  = " << lowErr2YieldAlice[i] <<endl;
    cout << "   highErr2YieldAlice[" << i << "] = " << highErr2YieldAlice[i] <<endl;
    cout << "   relErr2YieldAlice[" << i << "]  = " << relErr2YieldAlice[i] <<endl;
    cout << endl;
    /*
    ptYieldAliceFit[i]      = ptYieldAlice[i];
    YieldYieldAliceFit[i]     = YieldYieldAlice[i]*ptYieldAlice[i];
    errYieldYieldAliceFit[i]  = errYieldYieldAlice[i];
    widthPtYieldAliceFit[i] = widthPtYieldAlice[i];
    errPtYieldAliceFit[i]  = 0; //errPtYieldAlice[i];
    lowPtYieldAliceFit[i]  = lowPtYieldAlice[i];
    highPtYieldAliceFit[i] = highPtYieldAlice[i];
    */
        
   i++;
} // while(!fileYieldAlice.eof())
fileYieldAlice.close();
//if (fileYieldAlice) { delete fileYieldAlice; }
//fileYieldAlice=0;

cout << "================================" << endl;
cout << endl;
cout << "Finished reading ALICE INVARIANT YIELD data" <<endl;
cout << "Number of bins read: " << i <<endl;
cout << endl;
cout << "================================" << endl;
cout << endl;

return i;
 readAliceYield.C:1
 readAliceYield.C:2
 readAliceYield.C:3
 readAliceYield.C:4
 readAliceYield.C:5
 readAliceYield.C:6
 readAliceYield.C:7
 readAliceYield.C:8
 readAliceYield.C:9
 readAliceYield.C:10
 readAliceYield.C:11
 readAliceYield.C:12
 readAliceYield.C:13
 readAliceYield.C:14
 readAliceYield.C:15
 readAliceYield.C:16
 readAliceYield.C:17
 readAliceYield.C:18
 readAliceYield.C:19
 readAliceYield.C:20
 readAliceYield.C:21
 readAliceYield.C:22
 readAliceYield.C:23
 readAliceYield.C:24
 readAliceYield.C:25
 readAliceYield.C:26
 readAliceYield.C:27
 readAliceYield.C:28
 readAliceYield.C:29
 readAliceYield.C:30
 readAliceYield.C:31
 readAliceYield.C:32
 readAliceYield.C:33
 readAliceYield.C:34
 readAliceYield.C:35
 readAliceYield.C:36
 readAliceYield.C:37
 readAliceYield.C:38
 readAliceYield.C:39
 readAliceYield.C:40
 readAliceYield.C:41
 readAliceYield.C:42
 readAliceYield.C:43
 readAliceYield.C:44
 readAliceYield.C:45
 readAliceYield.C:46
 readAliceYield.C:47
 readAliceYield.C:48
 readAliceYield.C:49
 readAliceYield.C:50
 readAliceYield.C:51
 readAliceYield.C:52
 readAliceYield.C:53
 readAliceYield.C:54
 readAliceYield.C:55
 readAliceYield.C:56
 readAliceYield.C:57
 readAliceYield.C:58
 readAliceYield.C:59
 readAliceYield.C:60
 readAliceYield.C:61
 readAliceYield.C:62
 readAliceYield.C:63
 readAliceYield.C:64
 readAliceYield.C:65
 readAliceYield.C:66
 readAliceYield.C:67
 readAliceYield.C:68
 readAliceYield.C:69
 readAliceYield.C:70
 readAliceYield.C:71
 readAliceYield.C:72
 readAliceYield.C:73
 readAliceYield.C:74
 readAliceYield.C:75
 readAliceYield.C:76
 readAliceYield.C:77
 readAliceYield.C:78
 readAliceYield.C:79
 readAliceYield.C:80
 readAliceYield.C:81
 readAliceYield.C:82
 readAliceYield.C:83
 readAliceYield.C:84
 readAliceYield.C:85
 readAliceYield.C:86
 readAliceYield.C:87
 readAliceYield.C:88
 readAliceYield.C:89
 readAliceYield.C:90
 readAliceYield.C:91
 readAliceYield.C:92
 readAliceYield.C:93
 readAliceYield.C:94
 readAliceYield.C:95
 readAliceYield.C:96
 readAliceYield.C:97
 readAliceYield.C:98
 readAliceYield.C:99
 readAliceYield.C:100
 readAliceYield.C:101
 readAliceYield.C:102
 readAliceYield.C:103
 readAliceYield.C:104
 readAliceYield.C:105
 readAliceYield.C:106
 readAliceYield.C:107
 readAliceYield.C:108
 readAliceYield.C:109
 readAliceYield.C:110
 readAliceYield.C:111
 readAliceYield.C:112
 readAliceYield.C:113
 readAliceYield.C:114
 readAliceYield.C:115
 readAliceYield.C:116
 readAliceYield.C:117
 readAliceYield.C:118
 readAliceYield.C:119
 readAliceYield.C:120
 readAliceYield.C:121
 readAliceYield.C:122
 readAliceYield.C:123
 readAliceYield.C:124
 readAliceYield.C:125
 readAliceYield.C:126
 readAliceYield.C:127
 readAliceYield.C:128
 readAliceYield.C:129
 readAliceYield.C:130
 readAliceYield.C:131
 readAliceYield.C:132
 readAliceYield.C:133
 readAliceYield.C:134