ROOT logo
/**************************************************************************
 * Copyright(c) 2007-2009, ALICE Experiment at CERN, All rights reserved. *
 *                                                                        *
 * Author: The ALICE Off-line Project.                                    *
 * Contributors are mentioned in the code where appropriate.              *
 *                                                                        *
 * Permission to use, copy, modify and distribute this software and its   *
 * documentation strictly for non-commercial purposes is hereby granted   *
 * without fee, provided that the above copyright notice appears in all   *
 * copies and that both the copyright notice and this permission notice   *
 * appear in the supporting documentation. The authors make no claims     *
 * about the suitability of this software for any purpose. It is          *
 * provided "as is" without express or implied warranty.                  *
 **************************************************************************/

#include <TMath.h>
#include <TH1F.h>
#include <TFile.h>
#include "AliVertexingHFUtils.h"
#include "AliEventPlaneResolutionHandler.h"
#include "AliLog.h"

/* $Id$ */

///////////////////////////////////////////////////////////////////
//                                                               //
// Class with functions useful for different D2H analyses        //
// - event plane resolution                                      //
// - <pt> calculation with side band subtraction                 //
// - tracklet multiplicity calculation                            //
// Origin: F.Prino, Torino, prino@to.infn.it                     //
//                                                               //
///////////////////////////////////////////////////////////////////

ClassImp(AliEventPlaneResolutionHandler)

//______________________________________________________________________
AliEventPlaneResolutionHandler::AliEventPlaneResolutionHandler():TObject(),
  fEventPlane(kTPCPosEta),
  fResolOption(kTwoEtaSub),
  fMinCent(30.),
  fMaxCent(50.),
  fCorrHistoName1(""),
  fCorrHistoName2(""),
  fCorrHistoName3(""),
  fNsubevents(2),
  fExtrapToFull(kFALSE),
  fWeight(0),
  fHistoAB(0x0),
  fHistoBC(0x0),
  fHistoAC(0x0),
  fRootFileName("$ALICE_ROOT/PWGHF/vertexingHF/charmFlow/EventPlaneResolutionHistos.root")
{
  // Default contructor
  InitializeWeights();
}
//______________________________________________________________________
AliEventPlaneResolutionHandler::AliEventPlaneResolutionHandler(TString filename):TObject(),
  fEventPlane(kTPCPosEta),
  fResolOption(kTwoEtaSub),
  fMinCent(30.),
  fMaxCent(50.),
  fCorrHistoName1(""),
  fCorrHistoName2(""),
  fCorrHistoName3(""),
  fNsubevents(2),
  fExtrapToFull(kFALSE),
  fWeight(0),
  fHistoAB(0x0),
  fHistoBC(0x0),
  fHistoAC(0x0),
  fRootFileName(filename.Data())
{
  // Standard contructor
  InitializeWeights();
}
//______________________________________________________________________
Double_t AliEventPlaneResolutionHandler::GetEventPlaneResolution(Double_t minCent, Double_t maxCent){
  // method to compute the event plane resolution starting from correlations

  TDirectory *current = gDirectory;

  TFile* inputFile=new TFile(fRootFileName.Data());
  if(!inputFile || (inputFile && !inputFile->IsOpen())){
    printf("Root file not opened --- Return dummy resolution value\n");
    return -1.;
  }
  Bool_t isOk=SetHistoNames();
  if(!isOk){
    printf("Return dummy resolution value\n");
    return -1.;
  }
  
  Int_t minCentrTimesTen=(Int_t)(minCent*10);
  Int_t maxCentrTimesTen=(Int_t)(maxCent*10);
  Int_t ncBin=minCentrTimesTen/25;
  Int_t whichWei=fWeight;
  if(minCent>50.5 || maxCent>50.5) fWeight=0;
  Double_t weight=-1.;  
  if(fWeight==1) weight=fNcoll[ncBin];
  // protection: weights from yield computed for 30-50, 10-30 and 0-10 centralities
  // cannot be used on wider ranges
  else if(fWeight==2 && minCent>29.5 && maxCent<50.5)  weight=fYield24[ncBin]; 
  else if(fWeight==3 && minCent>29.5 && maxCent<50.5)  weight=fYield46[ncBin];
  else if(fWeight==4 && minCent>29.5 && maxCent<50.5)  weight=fYield612[ncBin];
  else if(fWeight==2 && minCent>9.5 && maxCent<30.5)  weight=fYield24[ncBin];
  else if(fWeight==3 && minCent>9.5 && maxCent<30.5)  weight=fYield46[ncBin];
  else if(fWeight==4 && minCent>9.5 && maxCent<30.5)  weight=fYield612[ncBin];
  else if(fWeight==2 && maxCent<10.5)  weight=fYield24[ncBin];
  else if(fWeight==3 && maxCent<10.5)  weight=fYield46[ncBin];
  else if(fWeight==4 && maxCent<10.5)  weight=fYield612[ncBin];
  TH1F* hevpls2=0x0;
  TH1F* hevpls3=0x0;
  TH1F* hevpls1=(TH1F*)inputFile->Get(Form("%sCentr%d_%d",fCorrHistoName1.Data(),minCentrTimesTen,minCentrTimesTen+25));
  hevpls1->SetName(Form("%sCentr%d_%d",fCorrHistoName1.Data(),minCentrTimesTen,maxCentrTimesTen));
  if(weight>0.) hevpls1->Scale(weight);
  if(fNsubevents==3){
    hevpls2=(TH1F*)inputFile->Get(Form("%sCentr%d_%d",fCorrHistoName2.Data(),minCentrTimesTen,minCentrTimesTen+25));
    hevpls2->SetName(Form("%sCentr%d_%d",fCorrHistoName2.Data(),minCentrTimesTen,maxCentrTimesTen));
    hevpls3=(TH1F*)inputFile->Get(Form("%sCentr%d_%d",fCorrHistoName3.Data(),minCentrTimesTen,minCentrTimesTen+25));
    hevpls3->SetName(Form("%sCentr%d_%d",fCorrHistoName2.Data(),minCentrTimesTen,maxCentrTimesTen));
    if(weight>0.){
      hevpls2->Scale(weight);
      hevpls3->Scale(weight);
    }
  }
  for(Int_t iCentr=minCentrTimesTen+25; iCentr<maxCentrTimesTen; iCentr+=25){
    ncBin=iCentr/25;
    weight=-1.;  
    if(fWeight==1) weight=fNcoll[ncBin];
    else if(fWeight==2 && minCent>29.5 && maxCent<50.5)  weight=fYield24[ncBin];
    else if(fWeight==3 && minCent>29.5 && maxCent<50.5)  weight=fYield46[ncBin];
    else if(fWeight==4 && minCent>29.5 && maxCent<50.5)  weight=fYield612[ncBin];
    else if(fWeight==2 && minCent>9.5 && maxCent<30.5)  weight=fYield24[ncBin];
    else if(fWeight==3 && minCent>9.5 && maxCent<30.5)  weight=fYield46[ncBin];
    else if(fWeight==4 && minCent>9.5 && maxCent<30.5)  weight=fYield612[ncBin];
    else if(fWeight==2 && maxCent<10.5)  weight=fYield24[ncBin];
    else if(fWeight==3 && maxCent<10.5)  weight=fYield46[ncBin];
    else if(fWeight==4 && maxCent<10.5)  weight=fYield612[ncBin];
    TH1F* htmp1=(TH1F*)inputFile->Get(Form("%sCentr%d_%d",fCorrHistoName1.Data(),iCentr,iCentr+25));
    if(weight>0.) htmp1->Scale(weight);
    hevpls1->Add(htmp1);
    if(fNsubevents==3){
      TH1F* htmp2=(TH1F*)inputFile->Get(Form("%sCentr%d_%d",fCorrHistoName2.Data(),iCentr,iCentr+25));
      TH1F* htmp3=(TH1F*)inputFile->Get(Form("%sCentr%d_%d",fCorrHistoName3.Data(),iCentr,iCentr+25));
      if(weight>0.){
	htmp2->Scale(weight);
	htmp3->Scale(weight);
      }
      hevpls2->Add(htmp2);
      hevpls3->Add(htmp3);
    }
  }
  fWeight=whichWei;
  Double_t resol=1.;
  if(fNsubevents==2){
    if(fExtrapToFull) resol=AliVertexingHFUtils::GetFullEvResol(hevpls1);
    else resol=AliVertexingHFUtils::GetSubEvResol(hevpls1);
    current->cd();
    if(fHistoAB) delete fHistoAB;
    fHistoAB=(TH1F*)hevpls1->Clone("hCorrelSubAB");
  }else if(fNsubevents==3){
    Double_t correl1=hevpls1->GetMean();
    Double_t correl2=hevpls2->GetMean();
    Double_t correl3=hevpls3->GetMean();
    resol=TMath::Sqrt(correl1*correl2/correl3);
    current->cd();
    if(fHistoAB) delete fHistoAB;
    fHistoAB=(TH1F*)hevpls1->Clone("hCorrelSubAB");
    if(fHistoBC) delete fHistoBC;
    fHistoBC=(TH1F*)hevpls2->Clone("hCorrelSubBC");
    if(fHistoAC) delete fHistoAC;
    fHistoAC=(TH1F*)hevpls3->Clone("hCorrelSubAC");
  }
  inputFile->Close();
  return resol;
}
//______________________________________________________________________
Bool_t AliEventPlaneResolutionHandler::SetHistoNames(){
  // set names for histograms to be read
  if(fEventPlane==kTPCPosEta && fResolOption==kTwoRandSub){
    fCorrHistoName1="hCorrelRandSubTPCPosEta";
    fNsubevents=2;
    fExtrapToFull=kTRUE;
  }else if(fEventPlane==kTPCPosEta && fResolOption==kTwoChargeSub){
    fCorrHistoName1="hCorrelChargeSubTPCPosEta";
    fNsubevents=2;
    fExtrapToFull=kTRUE;
  }else if(fEventPlane==kTPCPosEta && fResolOption==kTwoEtaSub){
    fCorrHistoName1="hCorrelTPCEtaPosTPCEtaNeg";
    fNsubevents=2;
    fExtrapToFull=kFALSE;
  }else if(fEventPlane==kTPCPosEta && fResolOption==kThreeSub){
    fCorrHistoName1="hCorrelTPCPosEtaV0A";
    fCorrHistoName2="hCorrelTPCPosEtaV0C";
    fCorrHistoName3="hCorrelV0AV0C";
    fNsubevents=3;
    fExtrapToFull=kFALSE;
  }else if(fEventPlane==kTPCFullEta && fResolOption==kTwoRandSub){
    fCorrHistoName1="hCorrelRandSubTPCFullEta";
    fNsubevents=2;
    fExtrapToFull=kTRUE;
  }else if(fEventPlane==kTPCFullEta && fResolOption==kTwoEtaSub){
    fCorrHistoName1="hCorrelTPCEtaPosTPCEtaNeg";
    fNsubevents=2;
    fExtrapToFull=kTRUE;
  }else if(fEventPlane==kTPCFullEta && fResolOption==kThreeSub){
    fCorrHistoName1="hCorrelTPCFullEtaV0A";
    fCorrHistoName2="hCorrelTPCFullEtaV0C";
    fCorrHistoName3="hCorrelV0AV0C";
    fNsubevents=3;
    fExtrapToFull=kFALSE;
  }else if(fEventPlane==kVZERO && fResolOption==kThreeSub){
    fCorrHistoName1="hCorrelTPCEtaPosV0";
    fCorrHistoName2="hCorrelTPCEtaNegV0";
    fCorrHistoName3="hCorrelTPCEtaPosTPCEtaNeg";
    fNsubevents=3;
    fExtrapToFull=kFALSE;
  }else if(fEventPlane==kVZERO && fResolOption==kThreeSubTPCGap){
    fCorrHistoName1="hCorrelTPCEtaGt02V0";
    fCorrHistoName2="hCorrelTPCEtaLt02V0";
    fCorrHistoName3="hCorrelTPCEtaGt02TPCEtaLt02";
    fNsubevents=3;
    fExtrapToFull=kFALSE;
  }else if(fEventPlane==kVZEROA && fResolOption==kThreeSub){
    fCorrHistoName1="hCorrelTPCFullEtaV0A";
    fCorrHistoName2="hCorrelV0AV0C";
    fCorrHistoName3="hCorrelTPCFullEtaV0C";
    fNsubevents=3;
    fExtrapToFull=kFALSE;
  }else if(fEventPlane==kVZEROC && fResolOption==kThreeSub){
    fCorrHistoName1="hCorrelTPCFullEtaV0C";
    fCorrHistoName2="hCorrelV0AV0C";
    fCorrHistoName3="hCorrelTPCFullEtaV0A";
    fNsubevents=3;
    fExtrapToFull=kFALSE;
  }else{
    printf("Not possible to compute the resolution with the required option\n");
    return kFALSE;
  }
  return kTRUE;
}
//______________________________________________________________________
void AliEventPlaneResolutionHandler::InitializeWeights(){
  // Ncoll values in 2.5% wide classes
  Double_t ncoll[20]={1790.77,1578.44,1394.82,1236.17,1095.08,
		      969.86,859.571,759.959,669.648,589.588,
		      516.039,451.409,392.853,340.493,294.426,
		      252.385,215.484,183.284,155.101,130.963};

  Double_t y24[20]={544.155,491.803,533.516,449.618,
		    213.097,179.483,194.977,156.73,118.84,152.306,92.7,122.538,
		    36.64,33.01,27.79,22.57,17.90,15.25,15.03,8.57};

  Double_t y46[20]={158.386,129.294,135.683,112.203,
		    59.425,61.506,65.779,43.521,35.530,41.014,26.744,33.593,
		    12.24,12.32,10.44,8.55,7.20,5.85,5.80,4.37};

  Double_t y612[20]={76.010,85.944,99.105,84.779,
		     45.404,25.059,36.734,31.177,31.587,46.088,19.367,39.945,
		     7.31,7.55,6.47,5.38,4.68,4.86,3.10,4.78};

  for(Int_t i=0; i<20; i++){
    fNcoll[i]=ncoll[i];
    fYield24[i]=y24[i];
    fYield46[i]=y46[i];
    fYield612[i]=y612[i];
  }
}
 AliEventPlaneResolutionHandler.cxx:1
 AliEventPlaneResolutionHandler.cxx:2
 AliEventPlaneResolutionHandler.cxx:3
 AliEventPlaneResolutionHandler.cxx:4
 AliEventPlaneResolutionHandler.cxx:5
 AliEventPlaneResolutionHandler.cxx:6
 AliEventPlaneResolutionHandler.cxx:7
 AliEventPlaneResolutionHandler.cxx:8
 AliEventPlaneResolutionHandler.cxx:9
 AliEventPlaneResolutionHandler.cxx:10
 AliEventPlaneResolutionHandler.cxx:11
 AliEventPlaneResolutionHandler.cxx:12
 AliEventPlaneResolutionHandler.cxx:13
 AliEventPlaneResolutionHandler.cxx:14
 AliEventPlaneResolutionHandler.cxx:15
 AliEventPlaneResolutionHandler.cxx:16
 AliEventPlaneResolutionHandler.cxx:17
 AliEventPlaneResolutionHandler.cxx:18
 AliEventPlaneResolutionHandler.cxx:19
 AliEventPlaneResolutionHandler.cxx:20
 AliEventPlaneResolutionHandler.cxx:21
 AliEventPlaneResolutionHandler.cxx:22
 AliEventPlaneResolutionHandler.cxx:23
 AliEventPlaneResolutionHandler.cxx:24
 AliEventPlaneResolutionHandler.cxx:25
 AliEventPlaneResolutionHandler.cxx:26
 AliEventPlaneResolutionHandler.cxx:27
 AliEventPlaneResolutionHandler.cxx:28
 AliEventPlaneResolutionHandler.cxx:29
 AliEventPlaneResolutionHandler.cxx:30
 AliEventPlaneResolutionHandler.cxx:31
 AliEventPlaneResolutionHandler.cxx:32
 AliEventPlaneResolutionHandler.cxx:33
 AliEventPlaneResolutionHandler.cxx:34
 AliEventPlaneResolutionHandler.cxx:35
 AliEventPlaneResolutionHandler.cxx:36
 AliEventPlaneResolutionHandler.cxx:37
 AliEventPlaneResolutionHandler.cxx:38
 AliEventPlaneResolutionHandler.cxx:39
 AliEventPlaneResolutionHandler.cxx:40
 AliEventPlaneResolutionHandler.cxx:41
 AliEventPlaneResolutionHandler.cxx:42
 AliEventPlaneResolutionHandler.cxx:43
 AliEventPlaneResolutionHandler.cxx:44
 AliEventPlaneResolutionHandler.cxx:45
 AliEventPlaneResolutionHandler.cxx:46
 AliEventPlaneResolutionHandler.cxx:47
 AliEventPlaneResolutionHandler.cxx:48
 AliEventPlaneResolutionHandler.cxx:49
 AliEventPlaneResolutionHandler.cxx:50
 AliEventPlaneResolutionHandler.cxx:51
 AliEventPlaneResolutionHandler.cxx:52
 AliEventPlaneResolutionHandler.cxx:53
 AliEventPlaneResolutionHandler.cxx:54
 AliEventPlaneResolutionHandler.cxx:55
 AliEventPlaneResolutionHandler.cxx:56
 AliEventPlaneResolutionHandler.cxx:57
 AliEventPlaneResolutionHandler.cxx:58
 AliEventPlaneResolutionHandler.cxx:59
 AliEventPlaneResolutionHandler.cxx:60
 AliEventPlaneResolutionHandler.cxx:61
 AliEventPlaneResolutionHandler.cxx:62
 AliEventPlaneResolutionHandler.cxx:63
 AliEventPlaneResolutionHandler.cxx:64
 AliEventPlaneResolutionHandler.cxx:65
 AliEventPlaneResolutionHandler.cxx:66
 AliEventPlaneResolutionHandler.cxx:67
 AliEventPlaneResolutionHandler.cxx:68
 AliEventPlaneResolutionHandler.cxx:69
 AliEventPlaneResolutionHandler.cxx:70
 AliEventPlaneResolutionHandler.cxx:71
 AliEventPlaneResolutionHandler.cxx:72
 AliEventPlaneResolutionHandler.cxx:73
 AliEventPlaneResolutionHandler.cxx:74
 AliEventPlaneResolutionHandler.cxx:75
 AliEventPlaneResolutionHandler.cxx:76
 AliEventPlaneResolutionHandler.cxx:77
 AliEventPlaneResolutionHandler.cxx:78
 AliEventPlaneResolutionHandler.cxx:79
 AliEventPlaneResolutionHandler.cxx:80
 AliEventPlaneResolutionHandler.cxx:81
 AliEventPlaneResolutionHandler.cxx:82
 AliEventPlaneResolutionHandler.cxx:83
 AliEventPlaneResolutionHandler.cxx:84
 AliEventPlaneResolutionHandler.cxx:85
 AliEventPlaneResolutionHandler.cxx:86
 AliEventPlaneResolutionHandler.cxx:87
 AliEventPlaneResolutionHandler.cxx:88
 AliEventPlaneResolutionHandler.cxx:89
 AliEventPlaneResolutionHandler.cxx:90
 AliEventPlaneResolutionHandler.cxx:91
 AliEventPlaneResolutionHandler.cxx:92
 AliEventPlaneResolutionHandler.cxx:93
 AliEventPlaneResolutionHandler.cxx:94
 AliEventPlaneResolutionHandler.cxx:95
 AliEventPlaneResolutionHandler.cxx:96
 AliEventPlaneResolutionHandler.cxx:97
 AliEventPlaneResolutionHandler.cxx:98
 AliEventPlaneResolutionHandler.cxx:99
 AliEventPlaneResolutionHandler.cxx:100
 AliEventPlaneResolutionHandler.cxx:101
 AliEventPlaneResolutionHandler.cxx:102
 AliEventPlaneResolutionHandler.cxx:103
 AliEventPlaneResolutionHandler.cxx:104
 AliEventPlaneResolutionHandler.cxx:105
 AliEventPlaneResolutionHandler.cxx:106
 AliEventPlaneResolutionHandler.cxx:107
 AliEventPlaneResolutionHandler.cxx:108
 AliEventPlaneResolutionHandler.cxx:109
 AliEventPlaneResolutionHandler.cxx:110
 AliEventPlaneResolutionHandler.cxx:111
 AliEventPlaneResolutionHandler.cxx:112
 AliEventPlaneResolutionHandler.cxx:113
 AliEventPlaneResolutionHandler.cxx:114
 AliEventPlaneResolutionHandler.cxx:115
 AliEventPlaneResolutionHandler.cxx:116
 AliEventPlaneResolutionHandler.cxx:117
 AliEventPlaneResolutionHandler.cxx:118
 AliEventPlaneResolutionHandler.cxx:119
 AliEventPlaneResolutionHandler.cxx:120
 AliEventPlaneResolutionHandler.cxx:121
 AliEventPlaneResolutionHandler.cxx:122
 AliEventPlaneResolutionHandler.cxx:123
 AliEventPlaneResolutionHandler.cxx:124
 AliEventPlaneResolutionHandler.cxx:125
 AliEventPlaneResolutionHandler.cxx:126
 AliEventPlaneResolutionHandler.cxx:127
 AliEventPlaneResolutionHandler.cxx:128
 AliEventPlaneResolutionHandler.cxx:129
 AliEventPlaneResolutionHandler.cxx:130
 AliEventPlaneResolutionHandler.cxx:131
 AliEventPlaneResolutionHandler.cxx:132
 AliEventPlaneResolutionHandler.cxx:133
 AliEventPlaneResolutionHandler.cxx:134
 AliEventPlaneResolutionHandler.cxx:135
 AliEventPlaneResolutionHandler.cxx:136
 AliEventPlaneResolutionHandler.cxx:137
 AliEventPlaneResolutionHandler.cxx:138
 AliEventPlaneResolutionHandler.cxx:139
 AliEventPlaneResolutionHandler.cxx:140
 AliEventPlaneResolutionHandler.cxx:141
 AliEventPlaneResolutionHandler.cxx:142
 AliEventPlaneResolutionHandler.cxx:143
 AliEventPlaneResolutionHandler.cxx:144
 AliEventPlaneResolutionHandler.cxx:145
 AliEventPlaneResolutionHandler.cxx:146
 AliEventPlaneResolutionHandler.cxx:147
 AliEventPlaneResolutionHandler.cxx:148
 AliEventPlaneResolutionHandler.cxx:149
 AliEventPlaneResolutionHandler.cxx:150
 AliEventPlaneResolutionHandler.cxx:151
 AliEventPlaneResolutionHandler.cxx:152
 AliEventPlaneResolutionHandler.cxx:153
 AliEventPlaneResolutionHandler.cxx:154
 AliEventPlaneResolutionHandler.cxx:155
 AliEventPlaneResolutionHandler.cxx:156
 AliEventPlaneResolutionHandler.cxx:157
 AliEventPlaneResolutionHandler.cxx:158
 AliEventPlaneResolutionHandler.cxx:159
 AliEventPlaneResolutionHandler.cxx:160
 AliEventPlaneResolutionHandler.cxx:161
 AliEventPlaneResolutionHandler.cxx:162
 AliEventPlaneResolutionHandler.cxx:163
 AliEventPlaneResolutionHandler.cxx:164
 AliEventPlaneResolutionHandler.cxx:165
 AliEventPlaneResolutionHandler.cxx:166
 AliEventPlaneResolutionHandler.cxx:167
 AliEventPlaneResolutionHandler.cxx:168
 AliEventPlaneResolutionHandler.cxx:169
 AliEventPlaneResolutionHandler.cxx:170
 AliEventPlaneResolutionHandler.cxx:171
 AliEventPlaneResolutionHandler.cxx:172
 AliEventPlaneResolutionHandler.cxx:173
 AliEventPlaneResolutionHandler.cxx:174
 AliEventPlaneResolutionHandler.cxx:175
 AliEventPlaneResolutionHandler.cxx:176
 AliEventPlaneResolutionHandler.cxx:177
 AliEventPlaneResolutionHandler.cxx:178
 AliEventPlaneResolutionHandler.cxx:179
 AliEventPlaneResolutionHandler.cxx:180
 AliEventPlaneResolutionHandler.cxx:181
 AliEventPlaneResolutionHandler.cxx:182
 AliEventPlaneResolutionHandler.cxx:183
 AliEventPlaneResolutionHandler.cxx:184
 AliEventPlaneResolutionHandler.cxx:185
 AliEventPlaneResolutionHandler.cxx:186
 AliEventPlaneResolutionHandler.cxx:187
 AliEventPlaneResolutionHandler.cxx:188
 AliEventPlaneResolutionHandler.cxx:189
 AliEventPlaneResolutionHandler.cxx:190
 AliEventPlaneResolutionHandler.cxx:191
 AliEventPlaneResolutionHandler.cxx:192
 AliEventPlaneResolutionHandler.cxx:193
 AliEventPlaneResolutionHandler.cxx:194
 AliEventPlaneResolutionHandler.cxx:195
 AliEventPlaneResolutionHandler.cxx:196
 AliEventPlaneResolutionHandler.cxx:197
 AliEventPlaneResolutionHandler.cxx:198
 AliEventPlaneResolutionHandler.cxx:199
 AliEventPlaneResolutionHandler.cxx:200
 AliEventPlaneResolutionHandler.cxx:201
 AliEventPlaneResolutionHandler.cxx:202
 AliEventPlaneResolutionHandler.cxx:203
 AliEventPlaneResolutionHandler.cxx:204
 AliEventPlaneResolutionHandler.cxx:205
 AliEventPlaneResolutionHandler.cxx:206
 AliEventPlaneResolutionHandler.cxx:207
 AliEventPlaneResolutionHandler.cxx:208
 AliEventPlaneResolutionHandler.cxx:209
 AliEventPlaneResolutionHandler.cxx:210
 AliEventPlaneResolutionHandler.cxx:211
 AliEventPlaneResolutionHandler.cxx:212
 AliEventPlaneResolutionHandler.cxx:213
 AliEventPlaneResolutionHandler.cxx:214
 AliEventPlaneResolutionHandler.cxx:215
 AliEventPlaneResolutionHandler.cxx:216
 AliEventPlaneResolutionHandler.cxx:217
 AliEventPlaneResolutionHandler.cxx:218
 AliEventPlaneResolutionHandler.cxx:219
 AliEventPlaneResolutionHandler.cxx:220
 AliEventPlaneResolutionHandler.cxx:221
 AliEventPlaneResolutionHandler.cxx:222
 AliEventPlaneResolutionHandler.cxx:223
 AliEventPlaneResolutionHandler.cxx:224
 AliEventPlaneResolutionHandler.cxx:225
 AliEventPlaneResolutionHandler.cxx:226
 AliEventPlaneResolutionHandler.cxx:227
 AliEventPlaneResolutionHandler.cxx:228
 AliEventPlaneResolutionHandler.cxx:229
 AliEventPlaneResolutionHandler.cxx:230
 AliEventPlaneResolutionHandler.cxx:231
 AliEventPlaneResolutionHandler.cxx:232
 AliEventPlaneResolutionHandler.cxx:233
 AliEventPlaneResolutionHandler.cxx:234
 AliEventPlaneResolutionHandler.cxx:235
 AliEventPlaneResolutionHandler.cxx:236
 AliEventPlaneResolutionHandler.cxx:237
 AliEventPlaneResolutionHandler.cxx:238
 AliEventPlaneResolutionHandler.cxx:239
 AliEventPlaneResolutionHandler.cxx:240
 AliEventPlaneResolutionHandler.cxx:241
 AliEventPlaneResolutionHandler.cxx:242
 AliEventPlaneResolutionHandler.cxx:243
 AliEventPlaneResolutionHandler.cxx:244
 AliEventPlaneResolutionHandler.cxx:245
 AliEventPlaneResolutionHandler.cxx:246
 AliEventPlaneResolutionHandler.cxx:247
 AliEventPlaneResolutionHandler.cxx:248
 AliEventPlaneResolutionHandler.cxx:249
 AliEventPlaneResolutionHandler.cxx:250
 AliEventPlaneResolutionHandler.cxx:251
 AliEventPlaneResolutionHandler.cxx:252
 AliEventPlaneResolutionHandler.cxx:253
 AliEventPlaneResolutionHandler.cxx:254
 AliEventPlaneResolutionHandler.cxx:255
 AliEventPlaneResolutionHandler.cxx:256
 AliEventPlaneResolutionHandler.cxx:257
 AliEventPlaneResolutionHandler.cxx:258
 AliEventPlaneResolutionHandler.cxx:259
 AliEventPlaneResolutionHandler.cxx:260
 AliEventPlaneResolutionHandler.cxx:261
 AliEventPlaneResolutionHandler.cxx:262
 AliEventPlaneResolutionHandler.cxx:263
 AliEventPlaneResolutionHandler.cxx:264
 AliEventPlaneResolutionHandler.cxx:265
 AliEventPlaneResolutionHandler.cxx:266
 AliEventPlaneResolutionHandler.cxx:267
 AliEventPlaneResolutionHandler.cxx:268
 AliEventPlaneResolutionHandler.cxx:269