ROOT logo
/////////////////////////////////////////////////////////////////////////////
//                                                                         //
// AliFemtoShareQualityPairCut - a pair cut which checks for some pair     //
// qualities that attempt to identify slit/doubly reconstructed tracks     //
//                                                                         //
/////////////////////////////////////////////////////////////////////////////
/***************************************************************************
 *
 * $Id: AliFemtoShareQualityPairCut.cxx 50722 2011-07-21 15:18:38Z akisiel $
 *
 * Author: Adam Kisiel, Ohio State, kisiel@mps.ohio-state.edu
 ***************************************************************************
 *
 * Description: part of STAR HBT Framework: AliFemtoMaker package
 *   a cut to remove "shared" and "split" pairs
 *
 ***************************************************************************
 *
 *
 **************************************************************************/

#include "AliFemtoV0PairCut.h"
#include <string>
#include <cstdio>

#ifdef __ROOT__
ClassImp(AliFemtoV0PairCut)
#endif

//__________________
AliFemtoV0PairCut::AliFemtoV0PairCut():
  fNPairsPassed(0),
  fNPairsFailed(0),
  fV0Max(1.0),
  fShareFractionMax(1.0),
  fRemoveSameLabel(0),
  fDataType(kAOD),
  fDTPCMin(0),
  fDTPCExitMin(0),
  fMinAvgSepPosPos(0),
  fMinAvgSepPosNeg(0),
  fMinAvgSepNegPos(0),
  fMinAvgSepNegNeg(0)
{
  // Default constructor
  // Nothing to do
}
//__________________
AliFemtoV0PairCut::~AliFemtoV0PairCut(){
  /* no-op */
}

AliFemtoV0PairCut& AliFemtoV0PairCut::operator=(const AliFemtoV0PairCut& cut) 
{
  if (this != &cut) {
   
    AliFemtoPairCut::operator=(cut);
    fNPairsPassed = 0;
    fNPairsFailed =0;
    fV0Max = 1.0;
    fShareFractionMax = 1.0;
    fRemoveSameLabel = 0;
    fDataType = kAOD;
    fDTPCMin = 0;
    fDTPCExitMin = 0;
    fMinAvgSepPosPos = 0;
    fMinAvgSepPosNeg = 0;
    fMinAvgSepNegPos = 0;
    fMinAvgSepNegNeg = 0;
  }

  return *this;
}


//__________________
bool AliFemtoV0PairCut::Pass(const AliFemtoPair* pair){
  // Check for pairs that are possibly shared/double reconstruction

  bool temp = true;

  /*cout<<"pair->Track1(): "<<pair->Track1()<<endl;
  cout<<"pair->Track2(): "<<pair->Track2()<<endl;
  cout<<"pair->Track1()->V0(): "<<pair->Track1()->V0()<<endl;
  cout<<"pair->Track2()->V0(): "<<pair->Track2()->V0()<<endl;
  cout<<"pair->Track1()->V0()->IdNeg(): "<<pair->Track1()->V0()->IdNeg()<<endl;
  cout<<"pair->Track2()->V0()->IdNeg(): "<<pair->Track2()->V0()->IdNeg()<<endl;
  cout<<"pair->Track1()->V0()->IdPos(): "<<pair->Track1()->V0()->IdPos()<<endl;
  cout<<"pair->Track2()->V0()->IdPos(): "<<pair->Track2()->V0()->IdPos()<<endl;*/

  bool tempTPCEntrancePos = true;
  bool tempTPCEntranceNeg = true;
  bool tempTPCExitPos = true;
  bool tempTPCExitNeg = true;
  if(fDataType==kESD || fDataType==kAOD)
    {
      double distx = pair->Track1()->V0()->NominalTpcEntrancePointPos().x() - pair->Track2()->V0()->NominalTpcEntrancePointPos().x();
      double disty = pair->Track1()->V0()->NominalTpcEntrancePointPos().y() - pair->Track2()->V0()->NominalTpcEntrancePointPos().y();
      double distz = pair->Track1()->V0()->NominalTpcEntrancePointPos().z() - pair->Track2()->V0()->NominalTpcEntrancePointPos().z();
      double distPos = sqrt(distx*distx + disty*disty + distz*distz);

      distx = pair->Track1()->V0()->NominalTpcEntrancePointNeg().x() - pair->Track2()->V0()->NominalTpcEntrancePointNeg().x();
      disty = pair->Track1()->V0()->NominalTpcEntrancePointNeg().y() - pair->Track2()->V0()->NominalTpcEntrancePointNeg().y();
      distz = pair->Track1()->V0()->NominalTpcEntrancePointNeg().z() - pair->Track2()->V0()->NominalTpcEntrancePointNeg().z();
      double distNeg = sqrt(distx*distx + disty*disty + distz*distz);

      double distExitX = pair->Track1()->V0()->NominalTpcExitPointPos().x() - pair->Track2()->V0()->NominalTpcExitPointPos().x();
      double distExitY = pair->Track1()->V0()->NominalTpcExitPointPos().y() - pair->Track2()->V0()->NominalTpcExitPointPos().y();
      double distExitZ = pair->Track1()->V0()->NominalTpcExitPointPos().z() - pair->Track2()->V0()->NominalTpcExitPointPos().z();
      double distExitPos = sqrt(distExitX*distExitX + distExitY*distExitY + distExitZ*distExitZ);

      distExitX = pair->Track1()->V0()->NominalTpcExitPointNeg().x() - pair->Track2()->V0()->NominalTpcExitPointNeg().x();
      distExitY = pair->Track1()->V0()->NominalTpcExitPointNeg().y() - pair->Track2()->V0()->NominalTpcExitPointNeg().y();
      distExitZ = pair->Track1()->V0()->NominalTpcExitPointNeg().z() - pair->Track2()->V0()->NominalTpcExitPointNeg().z();
      double distExitNeg = sqrt(distExitX*distExitX + distExitY*distExitY + distExitZ*distExitZ);

      tempTPCEntrancePos = distPos > fDTPCMin;
      tempTPCEntranceNeg = distNeg > fDTPCMin;

      tempTPCExitPos = distExitPos > fDTPCExitMin;
      tempTPCExitNeg = distExitNeg > fDTPCExitMin;
    }
 

  if(!(pair->Track1()->V0() && pair->Track2()->V0()))
    {
      return false;
    }
  if(pair->Track1()->V0()->IdNeg()==pair->Track2()->V0()->IdNeg() || pair->Track1()->V0()->IdPos()==pair->Track2()->V0()->IdPos())
    {

      return false;
    }

  if(!tempTPCEntrancePos || !tempTPCEntranceNeg || !tempTPCExitPos || !tempTPCExitNeg) return false;  

  double avgSep=0;
  AliFemtoThreeVector first, second, tmp;
  for(int i=0; i<8 ;i++)
    {
      tmp = pair->Track1()->V0()->NominalTpcPointPos(i);
      //cout<<"X pos: "<<tmp.x()<<endl;
      first.SetX((double)(tmp.x()));
      first.SetY((double)tmp.y());
      first.SetZ((double)tmp.z());
      
      tmp = pair->Track2()->V0()->NominalTpcPointPos(i);
      second.SetX((double)tmp.x());
      second.SetY((double)tmp.y());
      second.SetZ((double)tmp.z()); 

      avgSep += TMath::Sqrt(((double)first.x()-(double)second.x())*((double)first.x()-(double)second.x())+((double)first.y()-(double)second.y())*((double)first.y()-second.y())+((double)first.z()-(double)second.z())*((double)first.z()-(double)second.z()));
    }
  avgSep /= 8;

  if(avgSep<fMinAvgSepPosPos) return false;

  avgSep = 0;
      

  for(int i=0; i<8 ;i++)
    {
      tmp = pair->Track1()->V0()->NominalTpcPointPos(i);
      first.SetX((double)(tmp.x()));
      first.SetY((double)tmp.y());
      first.SetZ((double)tmp.z());
      
      tmp = pair->Track2()->V0()->NominalTpcPointNeg(i);
      //cout<<"X neg: "<<tmp.x()<<endl;
      second.SetX((double)tmp.x());
      second.SetY((double)tmp.y());
      second.SetZ((double)tmp.z()); 

      avgSep += TMath::Sqrt(((double)first.x()-(double)second.x())*((double)first.x()-(double)second.x())+((double)first.y()-(double)second.y())*((double)first.y()-second.y())+((double)first.z()-(double)second.z())*((double)first.z()-(double)second.z()));
    }
  avgSep /= 8;
  if(avgSep<fMinAvgSepPosNeg) return false;

  avgSep = 0;

  for(int i=0; i<8 ;i++)
    {
      tmp = pair->Track1()->V0()->NominalTpcPointNeg(i);
      first.SetX((double)(tmp.x()));
      first.SetY((double)tmp.y());
      first.SetZ((double)tmp.z());
      
      tmp = pair->Track2()->V0()->NominalTpcPointPos(i);
      second.SetX((double)tmp.x());
      second.SetY((double)tmp.y());
      second.SetZ((double)tmp.z()); 

      avgSep += TMath::Sqrt(((double)first.x()-(double)second.x())*((double)first.x()-(double)second.x())+((double)first.y()-(double)second.y())*((double)first.y()-second.y())+((double)first.z()-(double)second.z())*((double)first.z()-(double)second.z()));
    }
  avgSep /= 8;
  if(avgSep<fMinAvgSepNegPos) return false;
      
  avgSep = 0;
 
  for(int i=0; i<8 ;i++)
    {
      tmp = pair->Track1()->V0()->NominalTpcPointNeg(i);
      first.SetX((double)(tmp.x()));
      first.SetY((double)tmp.y());
      first.SetZ((double)tmp.z());
      
      tmp = pair->Track2()->V0()->NominalTpcPointNeg(i);
      second.SetX((double)tmp.x());
      second.SetY((double)tmp.y());
      second.SetZ((double)tmp.z()); 

      avgSep += TMath::Sqrt(((double)first.x()-(double)second.x())*((double)first.x()-(double)second.x())+((double)first.y()-(double)second.y())*((double)first.y()-second.y())+((double)first.z()-(double)second.z())*((double)first.z()-(double)second.z()));
    }
  avgSep /= 8;
  if(avgSep<fMinAvgSepNegNeg) return false;

  avgSep = 0;


  return temp;
}
//__________________
AliFemtoString AliFemtoV0PairCut::Report(){
  // Prepare the report from the execution
  string stemp = "AliFemtoV0 Pair Cut - remove shared and split pairs\n";  char ctemp[100];
  snprintf(ctemp , 100, "Number of pairs which passed:\t%ld  Number which failed:\t%ld\n",fNPairsPassed,fNPairsFailed);
  stemp += ctemp;
  AliFemtoString returnThis = stemp;
  return returnThis;}
//__________________

void AliFemtoV0PairCut::SetV0Max(Double_t aV0Max) {
  fV0Max = aV0Max;
}

Double_t AliFemtoV0PairCut::GetAliFemtoV0Max() const {
  return fV0Max;
}


TList *AliFemtoV0PairCut::ListSettings()
{
  // return a list of settings in a writable form
  TList *tListSetttings = new TList();
  char buf[200];
  snprintf(buf, 200, "AliFemtoV0PairCut.sharequalitymax=%f", fV0Max);
  snprintf(buf, 200, "AliFemtoV0PairCut.sharefractionmax=%f", fShareFractionMax);
  tListSetttings->AddLast(new TObjString(buf));

  return tListSetttings;
}

void     AliFemtoV0PairCut::SetRemoveSameLabel(Bool_t aRemove)
{
  fRemoveSameLabel = aRemove;
}

void AliFemtoV0PairCut::SetDataType(AliFemtoDataType type)
{
  fDataType = type;
}

void AliFemtoV0PairCut::SetTPCEntranceSepMinimum(double dtpc)
{
  fDTPCMin = dtpc;
}

void AliFemtoV0PairCut::SetTPCExitSepMinimum(double dtpc)
{
  fDTPCExitMin = dtpc;
}

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