ROOT logo
////////////////////////////////////////////////////////////////////////////
//                                                                        //
// AliFemtoVertexAnalysis - Femtoscopic analysis which mixes events       //
// with respect to the z position of the primary vertex                   //
//                                                                        //
////////////////////////////////////////////////////////////////////////////
/***************************************************************************
 *
 * $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.5  2001/05/25 23:24:00  lisa
 * Added in AliFemtoKink stuff
 *
 * Revision 1.4  2000/08/31 22:31:32  laue
 * AliFemtoSimpleAnalysis: output changed (a little bit less)
 * AliFemtoEvent: new version, members for reference mult added
 * AliFemtoIOBinary: new IO for new AliFemtoEvent version
 * AliFemtoTypes: TTree typedef to AliFemtoTTree added
 * AliFemtoVertexAnalysis: overflow and underflow added
 *
 * Revision 1.1  2000/07/16 21:44:11  laue
 * Collection and analysis for vertex dependent event mixing
 *
 *
 **************************************************************************/

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


#ifdef __ROOT__ 
ClassImp(AliFemtoVertexAnalysis)
#endif

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


//____________________________
AliFemtoVertexAnalysis::AliFemtoVertexAnalysis(unsigned int bins, double min, double max):
  fVertexBins(0),
  fOverFlow(0),  
  fUnderFlow(0)
{
  //  mControlSwitch     = 0;
  fEventCut          = 0;
  fFirstParticleCut  = 0;
  fSecondParticleCut = 0;
  fPairCut           = 0;
  fCorrFctnCollection= 0;
  fCorrFctnCollection = new AliFemtoCorrFctnCollection;
  fVertexBins = bins;
  fVertexZ[0] = min;
  fVertexZ[1] = max;
  fUnderFlow = 0; 
  fOverFlow = 0; 
  if (fMixingBuffer) delete fMixingBuffer;
  fPicoEventCollectionVectorHideAway = new AliFemtoPicoEventCollectionVectorHideAway(fVertexBins,fVertexZ[0],fVertexZ[1]);
}
//____________________________

AliFemtoVertexAnalysis::AliFemtoVertexAnalysis(const AliFemtoVertexAnalysis& a) : 
  AliFemtoSimpleAnalysis(),
  fVertexBins(0),
  fOverFlow(0),  
  fUnderFlow(0)
{
  //AliFemtoVertexAnalysis();
  fEventCut          = 0;
  fFirstParticleCut  = 0;
  fSecondParticleCut = 0;
  fPairCut           = 0;
  fCorrFctnCollection= 0;
  fCorrFctnCollection = new AliFemtoCorrFctnCollection;
  fVertexBins = a.fVertexBins; 
  fVertexZ[0] = a.fVertexZ[0]; 
  fVertexZ[1] = a.fVertexZ[1];
  fUnderFlow = 0; 
  fOverFlow = 0; 
  if (fMixingBuffer) delete fMixingBuffer;
  fPicoEventCollectionVectorHideAway = new AliFemtoPicoEventCollectionVectorHideAway(fVertexBins,fVertexZ[0],fVertexZ[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 << " AliFemtoVertexAnalysis::AliFemtoVertexAnalysis(const AliFemtoVertexAnalysis& a) - event cut set " << endl;
  }
  if ( fFirstParticleCut ) {
      SetFirstParticleCut(fFirstParticleCut); // this will set the myAnalysis pointer inside the cut
      cout << " AliFemtoVertexAnalysis::AliFemtoVertexAnalysis(const AliFemtoVertexAnalysis& a) - first particle cut set " << endl;
  }
  if ( fSecondParticleCut ) {
      SetSecondParticleCut(fSecondParticleCut); // this will set the myAnalysis pointer inside the cut
      cout << " AliFemtoVertexAnalysis::AliFemtoVertexAnalysis(const AliFemtoVertexAnalysis& a) - second particle cut set " << endl;
  }  if ( fPairCut ) {
      SetPairCut(fPairCut); // this will set the myAnalysis pointer inside the cut
      cout << " AliFemtoVertexAnalysis::AliFemtoVertexAnalysis(const AliFemtoVertexAnalysis& a) - pair cut set " << endl;
  }

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

  fNumEventsToMix = a.fNumEventsToMix;

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

}

AliFemtoVertexAnalysis& AliFemtoVertexAnalysis::operator=(const AliFemtoVertexAnalysis& OriginalAnalysis)
{
  if (this != &OriginalAnalysis) {
    //AliFemtoVertexAnalysis();
    fEventCut          = 0;
    fFirstParticleCut  = 0;
    fSecondParticleCut = 0;
    fPairCut           = 0;
    fCorrFctnCollection= 0;
    fCorrFctnCollection = new AliFemtoCorrFctnCollection;
    fVertexBins = OriginalAnalysis.fVertexBins; 
    fVertexZ[0] = OriginalAnalysis.fVertexZ[0]; 
    fVertexZ[1] = OriginalAnalysis.fVertexZ[1];
    fUnderFlow = 0; 
    fOverFlow = 0; 
    if (fMixingBuffer) delete fMixingBuffer;
    fPicoEventCollectionVectorHideAway = new AliFemtoPicoEventCollectionVectorHideAway(fVertexBins,fVertexZ[0],fVertexZ[1]);
    
    // find the right event cut
    fEventCut = OriginalAnalysis.fEventCut->Clone();
    // find the right first particle cut
    fFirstParticleCut = OriginalAnalysis.fFirstParticleCut->Clone();
    // find the right second particle cut
    if (OriginalAnalysis.fFirstParticleCut==OriginalAnalysis.fSecondParticleCut) 
      SetSecondParticleCut(fFirstParticleCut); // identical particle hbt
    else
      fSecondParticleCut = OriginalAnalysis.fSecondParticleCut->Clone();
    
    fPairCut = OriginalAnalysis.fPairCut->Clone();
    
    if ( fEventCut ) {
      SetEventCut(fEventCut); // this will set the myAnalysis pointer inside the cut
      cout << " AliFemtoVertexAnalysis::AliFemtoVertexAnalysis(const AliFemtoVertexAnalysis& a) - event cut set " << endl;
    }
    if ( fFirstParticleCut ) {
      SetFirstParticleCut(fFirstParticleCut); // this will set the myAnalysis pointer inside the cut
      cout << " AliFemtoVertexAnalysis::AliFemtoVertexAnalysis(const AliFemtoVertexAnalysis& a) - first particle cut set " << endl;
    }
    if ( fSecondParticleCut ) {
      SetSecondParticleCut(fSecondParticleCut); // this will set the myAnalysis pointer inside the cut
      cout << " AliFemtoVertexAnalysis::AliFemtoVertexAnalysis(const AliFemtoVertexAnalysis& a) - second particle cut set " << endl;
    }  if ( fPairCut ) {
      SetPairCut(fPairCut); // this will set the myAnalysis pointer inside the cut
      cout << " AliFemtoVertexAnalysis::AliFemtoVertexAnalysis(const AliFemtoVertexAnalysis& a) - pair cut set " << endl;
    }
    
    AliFemtoCorrFctnIterator iter;
    for (iter=OriginalAnalysis.fCorrFctnCollection->begin(); iter!=OriginalAnalysis.fCorrFctnCollection->end();iter++){
      cout << " AliFemtoVertexAnalysis::AliFemtoVertexAnalysis(const AliFemtoVertexAnalysis& a) - looking for correlation functions " << endl;
      AliFemtoCorrFctn* fctn = (*iter)->Clone();
      if (fctn) AddCorrFctn(fctn);
      else cout << " AliFemtoVertexAnalysis::AliFemtoVertexAnalysis(const AliFemtoVertexAnalysis& a) - correlation function not found " << endl;
    }
    
    fNumEventsToMix = OriginalAnalysis.fNumEventsToMix;
    
    cout << " AliFemtoVertexAnalysis::AliFemtoVertexAnalysis(const AliFemtoVertexAnalysis& a) - analysis copied " << endl;
  }

  return *this;
}

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

//____________________________
AliFemtoString AliFemtoVertexAnalysis::Report()
{
  // prepare report fromt the execution
  cout << "AliFemtoVertexAnalysis - constructing Report..."<<endl;
  char ctemp[200];
  AliFemtoString temp = "-----------\nHbt AliFemtoVertexAnalysis Report:\n";
  snprintf(ctemp , 200, "Events are mixed in %d bins in the range %E cm to %E cm.\n",fVertexBins,fVertexZ[0],fVertexZ[1]);
  temp += ctemp;
  snprintf(ctemp , 200, "Events underflowing: %d\n",fUnderFlow);
  temp += ctemp;
  snprintf(ctemp , 200, "Events overflowing: %d\n",fOverFlow);
  temp += ctemp;
  snprintf(ctemp , 200, "Now adding AliFemtoSimpleAnalysis(base) Report\n");
  temp += ctemp;
  temp += AliFemtoSimpleAnalysis::Report();
  AliFemtoString returnThis=temp;
  return returnThis;
}
//_________________________
void AliFemtoVertexAnalysis::ProcessEvent(const AliFemtoEvent* hbtEvent) {
  // Put the event though the analysis
  cout << " AliFemtoVertexAnalysis::ProcessEvent(const AliFemtoEvent* hbtEvent) " << endl;
  // get right mixing buffer
  double vertexZ = hbtEvent->PrimVertPos().z();
  fMixingBuffer = fPicoEventCollectionVectorHideAway->PicoEventCollection(vertexZ); 
  if (!fMixingBuffer) {
    if ( vertexZ < fVertexZ[0] ) fUnderFlow++;
    if ( vertexZ > fVertexZ[1] ) fOverFlow++;
    return;
  }
  // call ProcessEvent() from AliFemtoSimpleAnalysis-base
  AliFemtoSimpleAnalysis::ProcessEvent(hbtEvent);
}
 AliFemtoVertexAnalysis.cxx:1
 AliFemtoVertexAnalysis.cxx:2
 AliFemtoVertexAnalysis.cxx:3
 AliFemtoVertexAnalysis.cxx:4
 AliFemtoVertexAnalysis.cxx:5
 AliFemtoVertexAnalysis.cxx:6
 AliFemtoVertexAnalysis.cxx:7
 AliFemtoVertexAnalysis.cxx:8
 AliFemtoVertexAnalysis.cxx:9
 AliFemtoVertexAnalysis.cxx:10
 AliFemtoVertexAnalysis.cxx:11
 AliFemtoVertexAnalysis.cxx:12
 AliFemtoVertexAnalysis.cxx:13
 AliFemtoVertexAnalysis.cxx:14
 AliFemtoVertexAnalysis.cxx:15
 AliFemtoVertexAnalysis.cxx:16
 AliFemtoVertexAnalysis.cxx:17
 AliFemtoVertexAnalysis.cxx:18
 AliFemtoVertexAnalysis.cxx:19
 AliFemtoVertexAnalysis.cxx:20
 AliFemtoVertexAnalysis.cxx:21
 AliFemtoVertexAnalysis.cxx:22
 AliFemtoVertexAnalysis.cxx:23
 AliFemtoVertexAnalysis.cxx:24
 AliFemtoVertexAnalysis.cxx:25
 AliFemtoVertexAnalysis.cxx:26
 AliFemtoVertexAnalysis.cxx:27
 AliFemtoVertexAnalysis.cxx:28
 AliFemtoVertexAnalysis.cxx:29
 AliFemtoVertexAnalysis.cxx:30
 AliFemtoVertexAnalysis.cxx:31
 AliFemtoVertexAnalysis.cxx:32
 AliFemtoVertexAnalysis.cxx:33
 AliFemtoVertexAnalysis.cxx:34
 AliFemtoVertexAnalysis.cxx:35
 AliFemtoVertexAnalysis.cxx:36
 AliFemtoVertexAnalysis.cxx:37
 AliFemtoVertexAnalysis.cxx:38
 AliFemtoVertexAnalysis.cxx:39
 AliFemtoVertexAnalysis.cxx:40
 AliFemtoVertexAnalysis.cxx:41
 AliFemtoVertexAnalysis.cxx:42
 AliFemtoVertexAnalysis.cxx:43
 AliFemtoVertexAnalysis.cxx:44
 AliFemtoVertexAnalysis.cxx:45
 AliFemtoVertexAnalysis.cxx:46
 AliFemtoVertexAnalysis.cxx:47
 AliFemtoVertexAnalysis.cxx:48
 AliFemtoVertexAnalysis.cxx:49
 AliFemtoVertexAnalysis.cxx:50
 AliFemtoVertexAnalysis.cxx:51
 AliFemtoVertexAnalysis.cxx:52
 AliFemtoVertexAnalysis.cxx:53
 AliFemtoVertexAnalysis.cxx:54
 AliFemtoVertexAnalysis.cxx:55
 AliFemtoVertexAnalysis.cxx:56
 AliFemtoVertexAnalysis.cxx:57
 AliFemtoVertexAnalysis.cxx:58
 AliFemtoVertexAnalysis.cxx:59
 AliFemtoVertexAnalysis.cxx:60
 AliFemtoVertexAnalysis.cxx:61
 AliFemtoVertexAnalysis.cxx:62
 AliFemtoVertexAnalysis.cxx:63
 AliFemtoVertexAnalysis.cxx:64
 AliFemtoVertexAnalysis.cxx:65
 AliFemtoVertexAnalysis.cxx:66
 AliFemtoVertexAnalysis.cxx:67
 AliFemtoVertexAnalysis.cxx:68
 AliFemtoVertexAnalysis.cxx:69
 AliFemtoVertexAnalysis.cxx:70
 AliFemtoVertexAnalysis.cxx:71
 AliFemtoVertexAnalysis.cxx:72
 AliFemtoVertexAnalysis.cxx:73
 AliFemtoVertexAnalysis.cxx:74
 AliFemtoVertexAnalysis.cxx:75
 AliFemtoVertexAnalysis.cxx:76
 AliFemtoVertexAnalysis.cxx:77
 AliFemtoVertexAnalysis.cxx:78
 AliFemtoVertexAnalysis.cxx:79
 AliFemtoVertexAnalysis.cxx:80
 AliFemtoVertexAnalysis.cxx:81
 AliFemtoVertexAnalysis.cxx:82
 AliFemtoVertexAnalysis.cxx:83
 AliFemtoVertexAnalysis.cxx:84
 AliFemtoVertexAnalysis.cxx:85
 AliFemtoVertexAnalysis.cxx:86
 AliFemtoVertexAnalysis.cxx:87
 AliFemtoVertexAnalysis.cxx:88
 AliFemtoVertexAnalysis.cxx:89
 AliFemtoVertexAnalysis.cxx:90
 AliFemtoVertexAnalysis.cxx:91
 AliFemtoVertexAnalysis.cxx:92
 AliFemtoVertexAnalysis.cxx:93
 AliFemtoVertexAnalysis.cxx:94
 AliFemtoVertexAnalysis.cxx:95
 AliFemtoVertexAnalysis.cxx:96
 AliFemtoVertexAnalysis.cxx:97
 AliFemtoVertexAnalysis.cxx:98
 AliFemtoVertexAnalysis.cxx:99
 AliFemtoVertexAnalysis.cxx:100
 AliFemtoVertexAnalysis.cxx:101
 AliFemtoVertexAnalysis.cxx:102
 AliFemtoVertexAnalysis.cxx:103
 AliFemtoVertexAnalysis.cxx:104
 AliFemtoVertexAnalysis.cxx:105
 AliFemtoVertexAnalysis.cxx:106
 AliFemtoVertexAnalysis.cxx:107
 AliFemtoVertexAnalysis.cxx:108
 AliFemtoVertexAnalysis.cxx:109
 AliFemtoVertexAnalysis.cxx:110
 AliFemtoVertexAnalysis.cxx:111
 AliFemtoVertexAnalysis.cxx:112
 AliFemtoVertexAnalysis.cxx:113
 AliFemtoVertexAnalysis.cxx:114
 AliFemtoVertexAnalysis.cxx:115
 AliFemtoVertexAnalysis.cxx:116
 AliFemtoVertexAnalysis.cxx:117
 AliFemtoVertexAnalysis.cxx:118
 AliFemtoVertexAnalysis.cxx:119
 AliFemtoVertexAnalysis.cxx:120
 AliFemtoVertexAnalysis.cxx:121
 AliFemtoVertexAnalysis.cxx:122
 AliFemtoVertexAnalysis.cxx:123
 AliFemtoVertexAnalysis.cxx:124
 AliFemtoVertexAnalysis.cxx:125
 AliFemtoVertexAnalysis.cxx:126
 AliFemtoVertexAnalysis.cxx:127
 AliFemtoVertexAnalysis.cxx:128
 AliFemtoVertexAnalysis.cxx:129
 AliFemtoVertexAnalysis.cxx:130
 AliFemtoVertexAnalysis.cxx:131
 AliFemtoVertexAnalysis.cxx:132
 AliFemtoVertexAnalysis.cxx:133
 AliFemtoVertexAnalysis.cxx:134
 AliFemtoVertexAnalysis.cxx:135
 AliFemtoVertexAnalysis.cxx:136
 AliFemtoVertexAnalysis.cxx:137
 AliFemtoVertexAnalysis.cxx:138
 AliFemtoVertexAnalysis.cxx:139
 AliFemtoVertexAnalysis.cxx:140
 AliFemtoVertexAnalysis.cxx:141
 AliFemtoVertexAnalysis.cxx:142
 AliFemtoVertexAnalysis.cxx:143
 AliFemtoVertexAnalysis.cxx:144
 AliFemtoVertexAnalysis.cxx:145
 AliFemtoVertexAnalysis.cxx:146
 AliFemtoVertexAnalysis.cxx:147
 AliFemtoVertexAnalysis.cxx:148
 AliFemtoVertexAnalysis.cxx:149
 AliFemtoVertexAnalysis.cxx:150
 AliFemtoVertexAnalysis.cxx:151
 AliFemtoVertexAnalysis.cxx:152
 AliFemtoVertexAnalysis.cxx:153
 AliFemtoVertexAnalysis.cxx:154
 AliFemtoVertexAnalysis.cxx:155
 AliFemtoVertexAnalysis.cxx:156
 AliFemtoVertexAnalysis.cxx:157
 AliFemtoVertexAnalysis.cxx:158
 AliFemtoVertexAnalysis.cxx:159
 AliFemtoVertexAnalysis.cxx:160
 AliFemtoVertexAnalysis.cxx:161
 AliFemtoVertexAnalysis.cxx:162
 AliFemtoVertexAnalysis.cxx:163
 AliFemtoVertexAnalysis.cxx:164
 AliFemtoVertexAnalysis.cxx:165
 AliFemtoVertexAnalysis.cxx:166
 AliFemtoVertexAnalysis.cxx:167
 AliFemtoVertexAnalysis.cxx:168
 AliFemtoVertexAnalysis.cxx:169
 AliFemtoVertexAnalysis.cxx:170
 AliFemtoVertexAnalysis.cxx:171
 AliFemtoVertexAnalysis.cxx:172
 AliFemtoVertexAnalysis.cxx:173
 AliFemtoVertexAnalysis.cxx:174
 AliFemtoVertexAnalysis.cxx:175
 AliFemtoVertexAnalysis.cxx:176
 AliFemtoVertexAnalysis.cxx:177
 AliFemtoVertexAnalysis.cxx:178
 AliFemtoVertexAnalysis.cxx:179
 AliFemtoVertexAnalysis.cxx:180
 AliFemtoVertexAnalysis.cxx:181
 AliFemtoVertexAnalysis.cxx:182
 AliFemtoVertexAnalysis.cxx:183
 AliFemtoVertexAnalysis.cxx:184
 AliFemtoVertexAnalysis.cxx:185
 AliFemtoVertexAnalysis.cxx:186
 AliFemtoVertexAnalysis.cxx:187
 AliFemtoVertexAnalysis.cxx:188
 AliFemtoVertexAnalysis.cxx:189
 AliFemtoVertexAnalysis.cxx:190
 AliFemtoVertexAnalysis.cxx:191
 AliFemtoVertexAnalysis.cxx:192
 AliFemtoVertexAnalysis.cxx:193
 AliFemtoVertexAnalysis.cxx:194
 AliFemtoVertexAnalysis.cxx:195
 AliFemtoVertexAnalysis.cxx:196
 AliFemtoVertexAnalysis.cxx:197
 AliFemtoVertexAnalysis.cxx:198
 AliFemtoVertexAnalysis.cxx:199
 AliFemtoVertexAnalysis.cxx:200
 AliFemtoVertexAnalysis.cxx:201
 AliFemtoVertexAnalysis.cxx:202
 AliFemtoVertexAnalysis.cxx:203
 AliFemtoVertexAnalysis.cxx:204
 AliFemtoVertexAnalysis.cxx:205
 AliFemtoVertexAnalysis.cxx:206
 AliFemtoVertexAnalysis.cxx:207
 AliFemtoVertexAnalysis.cxx:208
 AliFemtoVertexAnalysis.cxx:209
 AliFemtoVertexAnalysis.cxx:210
 AliFemtoVertexAnalysis.cxx:211
 AliFemtoVertexAnalysis.cxx:212
 AliFemtoVertexAnalysis.cxx:213
 AliFemtoVertexAnalysis.cxx:214
 AliFemtoVertexAnalysis.cxx:215
 AliFemtoVertexAnalysis.cxx:216
 AliFemtoVertexAnalysis.cxx:217
 AliFemtoVertexAnalysis.cxx:218
 AliFemtoVertexAnalysis.cxx:219
 AliFemtoVertexAnalysis.cxx:220
 AliFemtoVertexAnalysis.cxx:221
 AliFemtoVertexAnalysis.cxx:222
 AliFemtoVertexAnalysis.cxx:223
 AliFemtoVertexAnalysis.cxx:224
 AliFemtoVertexAnalysis.cxx:225
 AliFemtoVertexAnalysis.cxx:226
 AliFemtoVertexAnalysis.cxx:227
 AliFemtoVertexAnalysis.cxx:228
 AliFemtoVertexAnalysis.cxx:229
 AliFemtoVertexAnalysis.cxx:230
 AliFemtoVertexAnalysis.cxx:231
 AliFemtoVertexAnalysis.cxx:232
 AliFemtoVertexAnalysis.cxx:233
 AliFemtoVertexAnalysis.cxx:234
 AliFemtoVertexAnalysis.cxx:235
 AliFemtoVertexAnalysis.cxx:236
 AliFemtoVertexAnalysis.cxx:237
 AliFemtoVertexAnalysis.cxx:238
 AliFemtoVertexAnalysis.cxx:239
 AliFemtoVertexAnalysis.cxx:240
 AliFemtoVertexAnalysis.cxx:241
 AliFemtoVertexAnalysis.cxx:242
 AliFemtoVertexAnalysis.cxx:243
 AliFemtoVertexAnalysis.cxx:244
 AliFemtoVertexAnalysis.cxx:245
 AliFemtoVertexAnalysis.cxx:246
 AliFemtoVertexAnalysis.cxx:247
 AliFemtoVertexAnalysis.cxx:248
 AliFemtoVertexAnalysis.cxx:249
 AliFemtoVertexAnalysis.cxx:250
 AliFemtoVertexAnalysis.cxx:251
 AliFemtoVertexAnalysis.cxx:252
 AliFemtoVertexAnalysis.cxx:253
 AliFemtoVertexAnalysis.cxx:254
 AliFemtoVertexAnalysis.cxx:255
 AliFemtoVertexAnalysis.cxx:256
 AliFemtoVertexAnalysis.cxx:257
 AliFemtoVertexAnalysis.cxx:258
 AliFemtoVertexAnalysis.cxx:259
 AliFemtoVertexAnalysis.cxx:260
 AliFemtoVertexAnalysis.cxx:261
 AliFemtoVertexAnalysis.cxx:262
 AliFemtoVertexAnalysis.cxx:263
 AliFemtoVertexAnalysis.cxx:264