ROOT logo
////////////////////////////////////////////////////////////////////////////
//                                                                        //
// AliFemtoAnalysisReactionPlane - Femtoscopic analysis which mixes event //
// with respect to the z position of the primary vertex and event total   //
// multiplicity and uses only events in certain reaction plane angle bin  //
//                                                                        //
////////////////////////////////////////////////////////////////////////////

#include <TMath.h>
#include "AliFemtoAnalysisReactionPlane.h"
#include "AliFemtoParticleCollection.h"
#include "AliFemtoTrackCut.h"
#include "AliFemtoV0Cut.h"
#include "AliFemtoKinkCut.h"
#include "AliFemtoPicoEventCollectionVector.h"
#include "AliFemtoPicoEventCollectionVectorHideAway.h"

#ifdef __ROOT__ 
ClassImp(AliFemtoAnalysisReactionPlane)
#endif

extern void FillHbtParticleCollection(AliFemtoParticleCut*         partCut,
				      AliFemtoEvent*               hbtEvent,
				      AliFemtoParticleCollection*  partCollection);


//____________________________
AliFemtoAnalysisReactionPlane::AliFemtoAnalysisReactionPlane(unsigned int binsVertex, double minVertex, double maxVertex,
						       unsigned int binsMult, double minMult, double maxMult, unsigned short binsRP) 
  : 
  fVertexZBins(binsVertex), 
  fOverFlowVertexZ(0), 
  fUnderFlowVertexZ(0),
  fMultBins(binsMult) ,
  fOverFlowMult(0),    
  fUnderFlowMult(0),
  fRPBins(binsRP),
  fCurrentRP(0)
{
  //  mControlSwitch     = 0;
  fEventCut          = 0;
  fFirstParticleCut  = 0;
  fSecondParticleCut = 0;
  fPairCut           = 0;
  fCorrFctnCollection= 0;
  fCorrFctnCollection = new AliFemtoCorrFctnCollection;
  fVertexZ[0] = minVertex;
  fVertexZ[1] = maxVertex;
  fUnderFlowVertexZ = 0; 
  fOverFlowVertexZ = 0; 
  fMult[0] = minMult;
  fMult[1] = maxMult;
  fUnderFlowMult = 0; 
  fOverFlowMult = 0; 
  if (fMixingBuffer) delete fMixingBuffer;
  fPicoEventCollectionVectorHideAway = new AliFemtoPicoEventCollectionVectorHideAway(fVertexZBins,fVertexZ[0],fVertexZ[1],
										     fMultBins,fMult[0],fMult[1],
										     fRPBins,0.0,TMath::Pi());
}
//____________________________

AliFemtoAnalysisReactionPlane::AliFemtoAnalysisReactionPlane(const AliFemtoAnalysisReactionPlane& a) : 
  AliFemtoSimpleAnalysis(),
  fVertexZBins(a.fVertexZBins), 
  fOverFlowVertexZ(0), 
  fUnderFlowVertexZ(0),
  fMultBins(a.fMultBins) ,
  fOverFlowMult(0),    
  fUnderFlowMult(0),
  fRPBins(a.fRPBins),
  fCurrentRP(0)
{
  //AliFemtoAnalysisReactionPlane();
  fEventCut          = 0;
  fFirstParticleCut  = 0;
  fSecondParticleCut = 0;
  fPairCut           = 0;
  fCorrFctnCollection= 0;
  fCorrFctnCollection = new AliFemtoCorrFctnCollection;
  fVertexZ[0] = a.fVertexZ[0]; 
  fVertexZ[1] = a.fVertexZ[1];
  fUnderFlowVertexZ = 0; 
  fOverFlowVertexZ = 0; 
  fMult[0] = a.fMult[0]; 
  fMult[1] = a.fMult[1];
  fUnderFlowMult = 0; 
  fOverFlowMult = 0; 
  if (fMixingBuffer) delete fMixingBuffer;
  fPicoEventCollectionVectorHideAway = new AliFemtoPicoEventCollectionVectorHideAway(fVertexZBins,fVertexZ[0],fVertexZ[1],
										     fMultBins,fMult[0],fMult[1],
										     fRPBins,0.0,TMath::Pi());

  // find the right event cut
  fEventCut = a.fEventCut->Clone();
  // find the right first particle cut
  fFirstParticleCut = a.fFirstParticleCut->Clone();
  // find the right second particle cut
  if (a.fFirstParticleCut==a.fSecondParticleCut) 
    SetSecondParticleCut(fFirstParticleCut); // identical particle hbt
  else
  fSecondParticleCut = a.fSecondParticleCut->Clone();

  fPairCut = a.fPairCut->Clone();
  
  if ( fEventCut ) {
      SetEventCut(fEventCut); // this will set the myAnalysis pointer inside the cut
      cout << " AliFemtoAnalysisReactionPlane::AliFemtoAnalysisReactionPlane(const AliFemtoAnalysisReactionPlane& a) - event cut set " << endl;
  }
  if ( fFirstParticleCut ) {
      SetFirstParticleCut(fFirstParticleCut); // this will set the myAnalysis pointer inside the cut
      cout << " AliFemtoAnalysisReactionPlane::AliFemtoAnalysisReactionPlane(const AliFemtoAnalysisReactionPlane& a) - first particle cut set " << endl;
  }
  if ( fSecondParticleCut ) {
      SetSecondParticleCut(fSecondParticleCut); // this will set the myAnalysis pointer inside the cut
      cout << " AliFemtoAnalysisReactionPlane::AliFemtoAnalysisReactionPlane(const AliFemtoAnalysisReactionPlane& a) - second particle cut set " << endl;
  }  if ( fPairCut ) {
      SetPairCut(fPairCut); // this will set the myAnalysis pointer inside the cut
      cout << " AliFemtoAnalysisReactionPlane::AliFemtoAnalysisReactionPlane(const AliFemtoAnalysisReactionPlane& a) - pair cut set " << endl;
  }

  AliFemtoCorrFctnIterator iter;
  for (iter=a.fCorrFctnCollection->begin(); iter!=a.fCorrFctnCollection->end();iter++){
    cout << " AliFemtoAnalysisReactionPlane::AliFemtoAnalysisReactionPlane(const AliFemtoAnalysisReactionPlane& a) - looking for correlation functions " << endl;
    AliFemtoCorrFctn* fctn = (*iter)->Clone();
    if (fctn) AddCorrFctn(fctn);
    else cout << " AliFemtoAnalysisReactionPlane::AliFemtoAnalysisReactionPlane(const AliFemtoAnalysisReactionPlane& a) - correlation function not found " << endl;
  }

  fNumEventsToMix = a.fNumEventsToMix;

  cout << " AliFemtoAnalysisReactionPlane::AliFemtoAnalysisReactionPlane(const AliFemtoAnalysisReactionPlane& a) - analysis copied " << endl;

}
AliFemtoAnalysisReactionPlane& AliFemtoAnalysisReactionPlane::operator=(const AliFemtoAnalysisReactionPlane& TheOriginalAnalysis)
{
  if (this != &TheOriginalAnalysis) {

    //AliFemtoAnalysisReactionPlane();
    fVertexZ[0] = TheOriginalAnalysis.fVertexZ[0]; 
    fVertexZ[1] = TheOriginalAnalysis.fVertexZ[1];
    fUnderFlowVertexZ = 0; 
    fOverFlowVertexZ = 0; 
    fMult[0] = TheOriginalAnalysis.fMult[0]; 
    fMult[1] = TheOriginalAnalysis.fMult[1];
    fUnderFlowMult = 0; 
    fOverFlowMult = 0; 
    if (fMixingBuffer) delete fMixingBuffer;
    fVertexZBins = TheOriginalAnalysis.fVertexZBins;
    fMultBins = TheOriginalAnalysis.fMultBins;
    fRPBins = TheOriginalAnalysis.fRPBins;
    fCurrentRP = 0;
    
    if (fEventCut) delete fEventCut;
    fEventCut = TheOriginalAnalysis.fEventCut->Clone();
    
    if (fFirstParticleCut) delete fFirstParticleCut;
    fFirstParticleCut = TheOriginalAnalysis.fFirstParticleCut->Clone();
    
    if (fSecondParticleCut) delete fSecondParticleCut;
    if (TheOriginalAnalysis.fFirstParticleCut==TheOriginalAnalysis.fSecondParticleCut) 
      SetSecondParticleCut(fFirstParticleCut); // identical particle hbt
    else
      fSecondParticleCut = TheOriginalAnalysis.fSecondParticleCut->Clone();
    
    if (fPairCut) delete fPairCut;
    fPairCut = TheOriginalAnalysis.fPairCut->Clone();
    
    if ( fEventCut ) {
      SetEventCut(fEventCut); // this will set the myAnalysis pointer inside the cut
    }
    if ( fFirstParticleCut ) {
      SetFirstParticleCut(fFirstParticleCut); // this will set the myAnalysis pointer inside the cut
    }
    if ( fSecondParticleCut ) {
      SetSecondParticleCut(fSecondParticleCut); // this will set the myAnalysis pointer inside the cut
    }  if ( fPairCut ) {
      SetPairCut(fPairCut); // this will set the myAnalysis pointer inside the cut
    }
    
    if (fPicoEventCollectionVectorHideAway) delete fPicoEventCollectionVectorHideAway;
    fPicoEventCollectionVectorHideAway = new AliFemtoPicoEventCollectionVectorHideAway(fVertexZBins,fVertexZ[0],fVertexZ[1],
										       fMultBins,fMult[0],fMult[1],
										       fRPBins,0.0,TMath::Pi());
    
    AliFemtoCorrFctnIterator iter;
    for (iter=TheOriginalAnalysis.fCorrFctnCollection->begin(); iter!=TheOriginalAnalysis.fCorrFctnCollection->end();iter++){
      AliFemtoCorrFctn* fctn = (*iter)->Clone();
      if (fctn) AddCorrFctn(fctn);
    }
    
    fNumEventsToMix = TheOriginalAnalysis.fNumEventsToMix;

  }

  return *this;
}

//____________________________
AliFemtoAnalysisReactionPlane::~AliFemtoAnalysisReactionPlane(){
  // now delete every PicoEvent in the EventMixingBuffer and then the Buffer itself
  delete fPicoEventCollectionVectorHideAway;
}

//____________________________
AliFemtoString AliFemtoAnalysisReactionPlane::Report()
{
  // Prepare a report of the execution
  cout << "AliFemtoAnalysisReactionPlane - constructing Report..."<<endl;
  char ctemp[200];
  AliFemtoString temp = "-----------\nHbt AliFemtoAnalysisReactionPlane Report:\n";
  snprintf(ctemp , 200, "Events are mixed in %d VertexZ bins in the range %E cm to %E cm.\n",fVertexZBins,fVertexZ[0],fVertexZ[1]);
  temp += ctemp;
  snprintf(ctemp , 200, "Events underflowing: %d\n",fUnderFlowVertexZ);
  temp += ctemp;
  snprintf(ctemp , 200, "Events overflowing: %d\n",fOverFlowVertexZ);
  temp += ctemp;
  snprintf(ctemp , 200, "Events are mixed in %d Mult bins in the range %E cm to %E cm.\n",fMultBins,fMult[0],fMult[1]);
  temp += ctemp;
  snprintf(ctemp , 200, "Events underflowing: %d\n",fUnderFlowMult);
  temp += ctemp;
  snprintf(ctemp , 200, "Events overflowing: %d\n",fOverFlowMult);
  temp += ctemp;
  snprintf(ctemp , 200, "Now adding AliFemtoSimpleAnalysis(base) Report\n");
  temp += ctemp;
  temp += AliFemtoSimpleAnalysis::Report();
  AliFemtoString returnThis=temp;
  return returnThis;
}
//_________________________
void AliFemtoAnalysisReactionPlane::ProcessEvent(const AliFemtoEvent* hbtEvent) {
  // Perform event processing
  // in bins of z vertex and multiplicity

  // cout << " AliFemtoAnalysisReactionPlane::ProcessEvent(const AliFemtoEvent* hbtEvent) " << endl;
  // get right mixing buffer
  double vertexZ = hbtEvent->PrimVertPos().z();
  double mult = hbtEvent->UncorrectedNumberOfPrimaries();
  fCurrentRP = hbtEvent->ReactionPlaneAngle();
  
  fMixingBuffer = fPicoEventCollectionVectorHideAway->PicoEventCollection(vertexZ,mult,fCurrentRP); 
  if (!fMixingBuffer) {
    if ( vertexZ < fVertexZ[0] ) fUnderFlowVertexZ++;
    if ( vertexZ > fVertexZ[1] ) fOverFlowVertexZ++;
    if ( mult < fMult[0] ) fUnderFlowMult++;
    if ( mult > fMult[1] ) fOverFlowMult++;
    return;
  }
  // call ProcessEvent() from AliFemtoSimpleAnalysis-base
  AliFemtoSimpleAnalysis::ProcessEvent(hbtEvent);
}

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