2 #include "AliJEbePercentile.h"
4 //______________________________________________________________________________
5 AliJEbePercentile::AliJEbePercentile():
10 //______________________________________________________________________________
11 AliJEbePercentile::AliJEbePercentile(const AliJEbePercentile& obj):
18 AliJEbePercentile::AliJEbePercentile(AliJCard *fcard, TString input):
24 cout << input << endl;
26 if (TString(input).BeginsWith("alien:")) TGrid::Connect("alien:");
27 fFile = TFile::Open(input);
31 for(int ibv = 0; ibv < NBVn ; ibv++){
32 vnPercentile[ibv] = ibv*1.0/NBVn;
37 for(int ic = 0; ic<fCard->GetNoOfBins(kCentrType);ic++){
38 for(int ih=2;ih<NH;ih++) {
39 name = "hVnObsVector";
40 vnobs[ih][ic] = (TH1D*)fFile->Get(name.Append(Form("%02d%02d",ic,ih)));
48 for(int ic = 0 ; ic < fCard->GetNoOfBins(kCentrType); ic++){
49 for(int ih = 2; ih < NH ; ih++){
51 vnLimit[ih][ic][NBVn-1]=0;
52 for(int ibv = 1 ; ibv < NBVn ; ibv++){
56 entr = vnobs[ih][ic]->GetEntries();
57 //cout << "Centrality " << ic << " of " << NC ;
58 //cout << " Harmonic " << ih << " of " << NH << endl;
59 for(int ib = 1; ib < vnobs[ih][ic]->GetNbinsX() +1 ; ib++){
60 sum = sum + vnobs[ih][ic]->GetBinContent(ib);
61 for(int ibv = 1; ibv < NBVn ; ibv++){
62 if( sum/entr > 1- vnPercentile[ibv] && found[ibv] == 0){
63 //cout << "top " << vnpercentile[ibv]*100 << "% limit: " << vnobs[ih][ic]->GetBinCenter(ib) << endl;
65 vnLimit[ih][ic][ibv] = vnobs[ih][ic]->GetBinCenter(ib);
77 //______________________________________________________________________________
78 AliJEbePercentile& AliJEbePercentile::operator=(const AliJEbePercentile& obj){
85 double AliJEbePercentile::GetEbeFlowPercentile(int cBin, int ih, double vn){
86 double pecentile = -1;
87 for(int ibv = 0 ; ibv < NBVn ; ibv++){
88 if(vn > vnLimit[cBin][ih][ibv]){
89 pecentile = vnPercentile[ibv];