ROOT logo
/***************************************************************************
 *
 * $Id$
 *
 * Author: Frank Laue, Ohio State, laue@mps.ohio-state.edu
 ***************************************************************************
 *
 * Description: part of STAR HBT Framework: AliFemtoMaker package
 *      This is the Class for Analysis objects.  Each of the simultaneous
 *      Analyses running should have one of these instantiated.  They link
 *      into the Manager in an Analysis Collection.
 *
 ***************************************************************************
 *
 * $Log$
 * Revision 1.2.2.2  2007/10/12 14:28:37  akisiel
 * New wave of cleanup and rule conformance
 *
 * Revision 1.2.2.1  2007/10/05 09:38:17  akisiel
 * Fix stray colons
 *
 * Revision 1.2  2007/07/09 16:17:11  mlisa
 * several files changed to change name of AliFemtoAnalysis to AliFemtoSimpleAnalysis and AliFemtoBaseAnalysis to AliFemtoAnalysis.  Also removed some hard-coded cuts of Marek
 *
 * Revision 1.1  2007/05/16 10:22:12  akisiel
 * Making the directory structure of AliFemto flat. All files go into one common directory
 *
 * Revision 1.2  2007/05/03 09:39:37  akisiel
 * Fixing Effective C++ warnings
 *
 * Revision 1.1.1.1  2007/04/25 15:38:41  panos
 * Importing the HBT code dir
 *
 * Revision 1.1.1.1  2007/03/07 10:14:49  mchojnacki
 * First version on CVS
 *
 * Revision 1.2  2005/06/28 23:12:24  chajecki
 * UncorrectedNumberOfNegativePrimaries() -> UncorrectedNumberOfPrimaries()
 *
 * For data taken in Y2 and later the centrality definition bases
 * on UncorrectedNumberOfPrimaries() while for Y1(AuAu@130)
 * it based on UncorrectedNumberOfNegativePrimaries().
 * But in many places of HBT code the number of negative primaries
 * was used as a multiplicity for all productions.
 * This has been fixed.
 *
 * Revision 1.1  2001/11/11 18:34:14  laue
 * AliFemtoPicoEventCollectionVectorHideAway: updated for 3d grid
 * AliFemtoVertexMultAnalysis: new
 *
 *
 **************************************************************************/
////////////////////////////////////////////////////////////////////////////
//                                                                        //
// AliFemtoVertexMultAnalysis - Femtoscopic analysis which mixes event    //
// with respect to the z position of the primary vertex and event total   //
// multiplicity                                                           //
// You need to provide the number of z-vertex and multiplicity bins       //
// as well as ranges for the variables                                    //
//                                                                        //
////////////////////////////////////////////////////////////////////////////

#include "AliFemtoVertexMultAnalysis.h"
#include "AliFemtoParticleCollection.h"
#include "AliFemtoTrackCut.h"
#include "AliFemtoV0Cut.h"
#include "AliFemtoKinkCut.h"
#include "AliFemtoPicoEventCollectionVector.h"
#include "AliFemtoPicoEventCollectionVectorHideAway.h"


#ifdef __ROOT__ 
ClassImp(AliFemtoVertexMultAnalysis)
#endif

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


//____________________________
AliFemtoVertexMultAnalysis::AliFemtoVertexMultAnalysis(unsigned int binsVertex, double minVertex, double maxVertex,
						       unsigned int binsMult, double minMult, double maxMult) 
  : 
  fVertexZBins(binsVertex), 
  fOverFlowVertexZ(0), 
  fUnderFlowVertexZ(0),
  fMultBins(binsMult) ,
  fOverFlowMult(0),    
  fUnderFlowMult(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]);
}
//____________________________

AliFemtoVertexMultAnalysis::AliFemtoVertexMultAnalysis(const AliFemtoVertexMultAnalysis& a) : 
  AliFemtoSimpleAnalysis(),
  fVertexZBins(a.fVertexZBins), 
  fOverFlowVertexZ(0), 
  fUnderFlowVertexZ(0),
  fMultBins(a.fMultBins) ,
  fOverFlowMult(0),    
  fUnderFlowMult(0)    
{
  //AliFemtoVertexMultAnalysis();
  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]);

  // 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 << " AliFemtoVertexMultAnalysis::AliFemtoVertexMultAnalysis(const AliFemtoVertexMultAnalysis& a) - event cut set " << endl;
  }
  if ( fFirstParticleCut ) {
      SetFirstParticleCut(fFirstParticleCut); // this will set the myAnalysis pointer inside the cut
      cout << " AliFemtoVertexMultAnalysis::AliFemtoVertexMultAnalysis(const AliFemtoVertexMultAnalysis& a) - first particle cut set " << endl;
  }
  if ( fSecondParticleCut ) {
      SetSecondParticleCut(fSecondParticleCut); // this will set the myAnalysis pointer inside the cut
      cout << " AliFemtoVertexMultAnalysis::AliFemtoVertexMultAnalysis(const AliFemtoVertexMultAnalysis& a) - second particle cut set " << endl;
  }  if ( fPairCut ) {
      SetPairCut(fPairCut); // this will set the myAnalysis pointer inside the cut
      cout << " AliFemtoVertexMultAnalysis::AliFemtoVertexMultAnalysis(const AliFemtoVertexMultAnalysis& a) - pair cut set " << endl;
  }

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

  fNumEventsToMix = a.fNumEventsToMix;

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

}
AliFemtoVertexMultAnalysis& AliFemtoVertexMultAnalysis::operator=(const AliFemtoVertexMultAnalysis& TheOriginalAnalysis)
{
  if (this != &TheOriginalAnalysis) {
    AliFemtoVertexMultAnalysis::operator=(TheOriginalAnalysis);
    fVertexZBins = TheOriginalAnalysis.fVertexZBins; 
    fMultBins = TheOriginalAnalysis.fMultBins;

    fEventCut          = 0;
    fFirstParticleCut  = 0;
    fSecondParticleCut = 0;
    fPairCut           = 0;
    if (fCorrFctnCollection) delete fCorrFctnCollection;
    fCorrFctnCollection = new AliFemtoCorrFctnCollection;
    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;
    if (fPicoEventCollectionVectorHideAway) delete fPicoEventCollectionVectorHideAway;
    fPicoEventCollectionVectorHideAway = new AliFemtoPicoEventCollectionVectorHideAway(fVertexZBins,fVertexZ[0],fVertexZ[1],
										       fMultBins,fMult[0],fMult[1]);

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

    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
      
    }

    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;
}
//____________________________
AliFemtoVertexMultAnalysis::~AliFemtoVertexMultAnalysis(){
  // now delete every PicoEvent in the EventMixingBuffer and then the Buffer itself
  delete fPicoEventCollectionVectorHideAway;
}

//____________________________
AliFemtoString AliFemtoVertexMultAnalysis::Report()
{
  // Prepare a report of the execution
  cout << "AliFemtoVertexMultAnalysis - constructing Report..."<<endl;
  char ctemp[200];
  AliFemtoString temp = "-----------\nHbt AliFemtoVertexMultAnalysis 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 AliFemtoVertexMultAnalysis::ProcessEvent(const AliFemtoEvent* hbtEvent) {
  // Perform event processing
  // in bins of z vertex and multiplicity

  // cout << " AliFemtoVertexMultAnalysis::ProcessEvent(const AliFemtoEvent* hbtEvent) " << endl;
  // get right mixing buffer
  double vertexZ = hbtEvent->PrimVertPos().z();
  double mult = hbtEvent->UncorrectedNumberOfPrimaries();
  fMixingBuffer = fPicoEventCollectionVectorHideAway->PicoEventCollection(vertexZ,mult); 
  if (!fMixingBuffer) {
    if ( vertexZ < fVertexZ[0] ) fUnderFlowVertexZ++;
    if ( vertexZ > fVertexZ[1] ) fOverFlowVertexZ++;
    if ( mult < fMult[0] ) fUnderFlowMult++;
    if ( mult > fMult[1] ) fOverFlowMult++;
    return;
  }
  //cout<<" AliFemtoVertexMultAnalysis:: -> Simple"<<endl;
  // call ProcessEvent() from AliFemtoSimpleAnalysis-base
  AliFemtoSimpleAnalysis::ProcessEvent(hbtEvent);
}
 AliFemtoVertexMultAnalysis.cxx:1
 AliFemtoVertexMultAnalysis.cxx:2
 AliFemtoVertexMultAnalysis.cxx:3
 AliFemtoVertexMultAnalysis.cxx:4
 AliFemtoVertexMultAnalysis.cxx:5
 AliFemtoVertexMultAnalysis.cxx:6
 AliFemtoVertexMultAnalysis.cxx:7
 AliFemtoVertexMultAnalysis.cxx:8
 AliFemtoVertexMultAnalysis.cxx:9
 AliFemtoVertexMultAnalysis.cxx:10
 AliFemtoVertexMultAnalysis.cxx:11
 AliFemtoVertexMultAnalysis.cxx:12
 AliFemtoVertexMultAnalysis.cxx:13
 AliFemtoVertexMultAnalysis.cxx:14
 AliFemtoVertexMultAnalysis.cxx:15
 AliFemtoVertexMultAnalysis.cxx:16
 AliFemtoVertexMultAnalysis.cxx:17
 AliFemtoVertexMultAnalysis.cxx:18
 AliFemtoVertexMultAnalysis.cxx:19
 AliFemtoVertexMultAnalysis.cxx:20
 AliFemtoVertexMultAnalysis.cxx:21
 AliFemtoVertexMultAnalysis.cxx:22
 AliFemtoVertexMultAnalysis.cxx:23
 AliFemtoVertexMultAnalysis.cxx:24
 AliFemtoVertexMultAnalysis.cxx:25
 AliFemtoVertexMultAnalysis.cxx:26
 AliFemtoVertexMultAnalysis.cxx:27
 AliFemtoVertexMultAnalysis.cxx:28
 AliFemtoVertexMultAnalysis.cxx:29
 AliFemtoVertexMultAnalysis.cxx:30
 AliFemtoVertexMultAnalysis.cxx:31
 AliFemtoVertexMultAnalysis.cxx:32
 AliFemtoVertexMultAnalysis.cxx:33
 AliFemtoVertexMultAnalysis.cxx:34
 AliFemtoVertexMultAnalysis.cxx:35
 AliFemtoVertexMultAnalysis.cxx:36
 AliFemtoVertexMultAnalysis.cxx:37
 AliFemtoVertexMultAnalysis.cxx:38
 AliFemtoVertexMultAnalysis.cxx:39
 AliFemtoVertexMultAnalysis.cxx:40
 AliFemtoVertexMultAnalysis.cxx:41
 AliFemtoVertexMultAnalysis.cxx:42
 AliFemtoVertexMultAnalysis.cxx:43
 AliFemtoVertexMultAnalysis.cxx:44
 AliFemtoVertexMultAnalysis.cxx:45
 AliFemtoVertexMultAnalysis.cxx:46
 AliFemtoVertexMultAnalysis.cxx:47
 AliFemtoVertexMultAnalysis.cxx:48
 AliFemtoVertexMultAnalysis.cxx:49
 AliFemtoVertexMultAnalysis.cxx:50
 AliFemtoVertexMultAnalysis.cxx:51
 AliFemtoVertexMultAnalysis.cxx:52
 AliFemtoVertexMultAnalysis.cxx:53
 AliFemtoVertexMultAnalysis.cxx:54
 AliFemtoVertexMultAnalysis.cxx:55
 AliFemtoVertexMultAnalysis.cxx:56
 AliFemtoVertexMultAnalysis.cxx:57
 AliFemtoVertexMultAnalysis.cxx:58
 AliFemtoVertexMultAnalysis.cxx:59
 AliFemtoVertexMultAnalysis.cxx:60
 AliFemtoVertexMultAnalysis.cxx:61
 AliFemtoVertexMultAnalysis.cxx:62
 AliFemtoVertexMultAnalysis.cxx:63
 AliFemtoVertexMultAnalysis.cxx:64
 AliFemtoVertexMultAnalysis.cxx:65
 AliFemtoVertexMultAnalysis.cxx:66
 AliFemtoVertexMultAnalysis.cxx:67
 AliFemtoVertexMultAnalysis.cxx:68
 AliFemtoVertexMultAnalysis.cxx:69
 AliFemtoVertexMultAnalysis.cxx:70
 AliFemtoVertexMultAnalysis.cxx:71
 AliFemtoVertexMultAnalysis.cxx:72
 AliFemtoVertexMultAnalysis.cxx:73
 AliFemtoVertexMultAnalysis.cxx:74
 AliFemtoVertexMultAnalysis.cxx:75
 AliFemtoVertexMultAnalysis.cxx:76
 AliFemtoVertexMultAnalysis.cxx:77
 AliFemtoVertexMultAnalysis.cxx:78
 AliFemtoVertexMultAnalysis.cxx:79
 AliFemtoVertexMultAnalysis.cxx:80
 AliFemtoVertexMultAnalysis.cxx:81
 AliFemtoVertexMultAnalysis.cxx:82
 AliFemtoVertexMultAnalysis.cxx:83
 AliFemtoVertexMultAnalysis.cxx:84
 AliFemtoVertexMultAnalysis.cxx:85
 AliFemtoVertexMultAnalysis.cxx:86
 AliFemtoVertexMultAnalysis.cxx:87
 AliFemtoVertexMultAnalysis.cxx:88
 AliFemtoVertexMultAnalysis.cxx:89
 AliFemtoVertexMultAnalysis.cxx:90
 AliFemtoVertexMultAnalysis.cxx:91
 AliFemtoVertexMultAnalysis.cxx:92
 AliFemtoVertexMultAnalysis.cxx:93
 AliFemtoVertexMultAnalysis.cxx:94
 AliFemtoVertexMultAnalysis.cxx:95
 AliFemtoVertexMultAnalysis.cxx:96
 AliFemtoVertexMultAnalysis.cxx:97
 AliFemtoVertexMultAnalysis.cxx:98
 AliFemtoVertexMultAnalysis.cxx:99
 AliFemtoVertexMultAnalysis.cxx:100
 AliFemtoVertexMultAnalysis.cxx:101
 AliFemtoVertexMultAnalysis.cxx:102
 AliFemtoVertexMultAnalysis.cxx:103
 AliFemtoVertexMultAnalysis.cxx:104
 AliFemtoVertexMultAnalysis.cxx:105
 AliFemtoVertexMultAnalysis.cxx:106
 AliFemtoVertexMultAnalysis.cxx:107
 AliFemtoVertexMultAnalysis.cxx:108
 AliFemtoVertexMultAnalysis.cxx:109
 AliFemtoVertexMultAnalysis.cxx:110
 AliFemtoVertexMultAnalysis.cxx:111
 AliFemtoVertexMultAnalysis.cxx:112
 AliFemtoVertexMultAnalysis.cxx:113
 AliFemtoVertexMultAnalysis.cxx:114
 AliFemtoVertexMultAnalysis.cxx:115
 AliFemtoVertexMultAnalysis.cxx:116
 AliFemtoVertexMultAnalysis.cxx:117
 AliFemtoVertexMultAnalysis.cxx:118
 AliFemtoVertexMultAnalysis.cxx:119
 AliFemtoVertexMultAnalysis.cxx:120
 AliFemtoVertexMultAnalysis.cxx:121
 AliFemtoVertexMultAnalysis.cxx:122
 AliFemtoVertexMultAnalysis.cxx:123
 AliFemtoVertexMultAnalysis.cxx:124
 AliFemtoVertexMultAnalysis.cxx:125
 AliFemtoVertexMultAnalysis.cxx:126
 AliFemtoVertexMultAnalysis.cxx:127
 AliFemtoVertexMultAnalysis.cxx:128
 AliFemtoVertexMultAnalysis.cxx:129
 AliFemtoVertexMultAnalysis.cxx:130
 AliFemtoVertexMultAnalysis.cxx:131
 AliFemtoVertexMultAnalysis.cxx:132
 AliFemtoVertexMultAnalysis.cxx:133
 AliFemtoVertexMultAnalysis.cxx:134
 AliFemtoVertexMultAnalysis.cxx:135
 AliFemtoVertexMultAnalysis.cxx:136
 AliFemtoVertexMultAnalysis.cxx:137
 AliFemtoVertexMultAnalysis.cxx:138
 AliFemtoVertexMultAnalysis.cxx:139
 AliFemtoVertexMultAnalysis.cxx:140
 AliFemtoVertexMultAnalysis.cxx:141
 AliFemtoVertexMultAnalysis.cxx:142
 AliFemtoVertexMultAnalysis.cxx:143
 AliFemtoVertexMultAnalysis.cxx:144
 AliFemtoVertexMultAnalysis.cxx:145
 AliFemtoVertexMultAnalysis.cxx:146
 AliFemtoVertexMultAnalysis.cxx:147
 AliFemtoVertexMultAnalysis.cxx:148
 AliFemtoVertexMultAnalysis.cxx:149
 AliFemtoVertexMultAnalysis.cxx:150
 AliFemtoVertexMultAnalysis.cxx:151
 AliFemtoVertexMultAnalysis.cxx:152
 AliFemtoVertexMultAnalysis.cxx:153
 AliFemtoVertexMultAnalysis.cxx:154
 AliFemtoVertexMultAnalysis.cxx:155
 AliFemtoVertexMultAnalysis.cxx:156
 AliFemtoVertexMultAnalysis.cxx:157
 AliFemtoVertexMultAnalysis.cxx:158
 AliFemtoVertexMultAnalysis.cxx:159
 AliFemtoVertexMultAnalysis.cxx:160
 AliFemtoVertexMultAnalysis.cxx:161
 AliFemtoVertexMultAnalysis.cxx:162
 AliFemtoVertexMultAnalysis.cxx:163
 AliFemtoVertexMultAnalysis.cxx:164
 AliFemtoVertexMultAnalysis.cxx:165
 AliFemtoVertexMultAnalysis.cxx:166
 AliFemtoVertexMultAnalysis.cxx:167
 AliFemtoVertexMultAnalysis.cxx:168
 AliFemtoVertexMultAnalysis.cxx:169
 AliFemtoVertexMultAnalysis.cxx:170
 AliFemtoVertexMultAnalysis.cxx:171
 AliFemtoVertexMultAnalysis.cxx:172
 AliFemtoVertexMultAnalysis.cxx:173
 AliFemtoVertexMultAnalysis.cxx:174
 AliFemtoVertexMultAnalysis.cxx:175
 AliFemtoVertexMultAnalysis.cxx:176
 AliFemtoVertexMultAnalysis.cxx:177
 AliFemtoVertexMultAnalysis.cxx:178
 AliFemtoVertexMultAnalysis.cxx:179
 AliFemtoVertexMultAnalysis.cxx:180
 AliFemtoVertexMultAnalysis.cxx:181
 AliFemtoVertexMultAnalysis.cxx:182
 AliFemtoVertexMultAnalysis.cxx:183
 AliFemtoVertexMultAnalysis.cxx:184
 AliFemtoVertexMultAnalysis.cxx:185
 AliFemtoVertexMultAnalysis.cxx:186
 AliFemtoVertexMultAnalysis.cxx:187
 AliFemtoVertexMultAnalysis.cxx:188
 AliFemtoVertexMultAnalysis.cxx:189
 AliFemtoVertexMultAnalysis.cxx:190
 AliFemtoVertexMultAnalysis.cxx:191
 AliFemtoVertexMultAnalysis.cxx:192
 AliFemtoVertexMultAnalysis.cxx:193
 AliFemtoVertexMultAnalysis.cxx:194
 AliFemtoVertexMultAnalysis.cxx:195
 AliFemtoVertexMultAnalysis.cxx:196
 AliFemtoVertexMultAnalysis.cxx:197
 AliFemtoVertexMultAnalysis.cxx:198
 AliFemtoVertexMultAnalysis.cxx:199
 AliFemtoVertexMultAnalysis.cxx:200
 AliFemtoVertexMultAnalysis.cxx:201
 AliFemtoVertexMultAnalysis.cxx:202
 AliFemtoVertexMultAnalysis.cxx:203
 AliFemtoVertexMultAnalysis.cxx:204
 AliFemtoVertexMultAnalysis.cxx:205
 AliFemtoVertexMultAnalysis.cxx:206
 AliFemtoVertexMultAnalysis.cxx:207
 AliFemtoVertexMultAnalysis.cxx:208
 AliFemtoVertexMultAnalysis.cxx:209
 AliFemtoVertexMultAnalysis.cxx:210
 AliFemtoVertexMultAnalysis.cxx:211
 AliFemtoVertexMultAnalysis.cxx:212
 AliFemtoVertexMultAnalysis.cxx:213
 AliFemtoVertexMultAnalysis.cxx:214
 AliFemtoVertexMultAnalysis.cxx:215
 AliFemtoVertexMultAnalysis.cxx:216
 AliFemtoVertexMultAnalysis.cxx:217
 AliFemtoVertexMultAnalysis.cxx:218
 AliFemtoVertexMultAnalysis.cxx:219
 AliFemtoVertexMultAnalysis.cxx:220
 AliFemtoVertexMultAnalysis.cxx:221
 AliFemtoVertexMultAnalysis.cxx:222
 AliFemtoVertexMultAnalysis.cxx:223
 AliFemtoVertexMultAnalysis.cxx:224
 AliFemtoVertexMultAnalysis.cxx:225
 AliFemtoVertexMultAnalysis.cxx:226
 AliFemtoVertexMultAnalysis.cxx:227
 AliFemtoVertexMultAnalysis.cxx:228
 AliFemtoVertexMultAnalysis.cxx:229
 AliFemtoVertexMultAnalysis.cxx:230
 AliFemtoVertexMultAnalysis.cxx:231
 AliFemtoVertexMultAnalysis.cxx:232
 AliFemtoVertexMultAnalysis.cxx:233
 AliFemtoVertexMultAnalysis.cxx:234
 AliFemtoVertexMultAnalysis.cxx:235
 AliFemtoVertexMultAnalysis.cxx:236
 AliFemtoVertexMultAnalysis.cxx:237
 AliFemtoVertexMultAnalysis.cxx:238
 AliFemtoVertexMultAnalysis.cxx:239
 AliFemtoVertexMultAnalysis.cxx:240
 AliFemtoVertexMultAnalysis.cxx:241
 AliFemtoVertexMultAnalysis.cxx:242
 AliFemtoVertexMultAnalysis.cxx:243
 AliFemtoVertexMultAnalysis.cxx:244
 AliFemtoVertexMultAnalysis.cxx:245
 AliFemtoVertexMultAnalysis.cxx:246
 AliFemtoVertexMultAnalysis.cxx:247
 AliFemtoVertexMultAnalysis.cxx:248
 AliFemtoVertexMultAnalysis.cxx:249
 AliFemtoVertexMultAnalysis.cxx:250
 AliFemtoVertexMultAnalysis.cxx:251
 AliFemtoVertexMultAnalysis.cxx:252
 AliFemtoVertexMultAnalysis.cxx:253
 AliFemtoVertexMultAnalysis.cxx:254
 AliFemtoVertexMultAnalysis.cxx:255
 AliFemtoVertexMultAnalysis.cxx:256
 AliFemtoVertexMultAnalysis.cxx:257
 AliFemtoVertexMultAnalysis.cxx:258
 AliFemtoVertexMultAnalysis.cxx:259
 AliFemtoVertexMultAnalysis.cxx:260
 AliFemtoVertexMultAnalysis.cxx:261
 AliFemtoVertexMultAnalysis.cxx:262
 AliFemtoVertexMultAnalysis.cxx:263
 AliFemtoVertexMultAnalysis.cxx:264
 AliFemtoVertexMultAnalysis.cxx:265
 AliFemtoVertexMultAnalysis.cxx:266
 AliFemtoVertexMultAnalysis.cxx:267
 AliFemtoVertexMultAnalysis.cxx:268
 AliFemtoVertexMultAnalysis.cxx:269
 AliFemtoVertexMultAnalysis.cxx:270
 AliFemtoVertexMultAnalysis.cxx:271
 AliFemtoVertexMultAnalysis.cxx:272
 AliFemtoVertexMultAnalysis.cxx:273
 AliFemtoVertexMultAnalysis.cxx:274
 AliFemtoVertexMultAnalysis.cxx:275
 AliFemtoVertexMultAnalysis.cxx:276
 AliFemtoVertexMultAnalysis.cxx:277
 AliFemtoVertexMultAnalysis.cxx:278
 AliFemtoVertexMultAnalysis.cxx:279
 AliFemtoVertexMultAnalysis.cxx:280
 AliFemtoVertexMultAnalysis.cxx:281
 AliFemtoVertexMultAnalysis.cxx:282
 AliFemtoVertexMultAnalysis.cxx:283
 AliFemtoVertexMultAnalysis.cxx:284
 AliFemtoVertexMultAnalysis.cxx:285
 AliFemtoVertexMultAnalysis.cxx:286
 AliFemtoVertexMultAnalysis.cxx:287
 AliFemtoVertexMultAnalysis.cxx:288
 AliFemtoVertexMultAnalysis.cxx:289
 AliFemtoVertexMultAnalysis.cxx:290
 AliFemtoVertexMultAnalysis.cxx:291
 AliFemtoVertexMultAnalysis.cxx:292
 AliFemtoVertexMultAnalysis.cxx:293
 AliFemtoVertexMultAnalysis.cxx:294
 AliFemtoVertexMultAnalysis.cxx:295