ROOT logo
/**************************************************************************
 * Copyright(c) 1998-1999, 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.                  *
 **************************************************************************/

///////////////////////////////////////////////////////////////////////////
//          ----   CORRECTION FRAMEWORK   ----
// AliCFAcceptanceCuts implementation
// Class to cut on the number of AliTrackReference's 
// for each detector
///////////////////////////////////////////////////////////////////////////
// author : R. Vernet (renaud.vernet@cern.ch)
///////////////////////////////////////////////////////////////////////////

#include "AliLog.h"
#include "AliMCParticle.h"
#include "AliCFAcceptanceCuts.h"
#include "TH1F.h"
#include "TH2F.h"
#include "TList.h"
#include "TBits.h"

ClassImp(AliCFAcceptanceCuts)

//______________________________
AliCFAcceptanceCuts::AliCFAcceptanceCuts() : 
  AliCFCutBase(),
  fMCInfo(0x0),
  fMinNHitITS(0),
  fMinNHitTPC(0),
  fMinNHitTRD(0),
  fMinNHitTOF(0),
  fMinNHitMUON(0),
  fhCutStatistics(0x0),
  fhCutCorrelation(0x0),
  fBitmap(new TBits(0))
{
  //
  //ctor
  //
  for (int i=0; i<kNCuts; i++) for (int j=0; j<kNStepQA; j++) fhQA[i][j]=0x0;
}

//______________________________
AliCFAcceptanceCuts::AliCFAcceptanceCuts(const Char_t* name, const Char_t* title) : 
  AliCFCutBase(name,title),
  fMCInfo(0x0),
  fMinNHitITS(0),
  fMinNHitTPC(0),
  fMinNHitTRD(0),
  fMinNHitTOF(0),
  fMinNHitMUON(0),
  fhCutStatistics(0x0),
  fhCutCorrelation(0x0),
  fBitmap(new TBits(0))
{
  //
  //ctor
  //
  for (int i=0; i<kNCuts; i++) for (int j=0; j<kNStepQA; j++) fhQA[i][j]=0x0;
}

//______________________________
AliCFAcceptanceCuts::AliCFAcceptanceCuts(const AliCFAcceptanceCuts& c) : 
  AliCFCutBase(c),
  fMCInfo(c.fMCInfo),
  fMinNHitITS(c.fMinNHitITS),
  fMinNHitTPC(c.fMinNHitTPC),
  fMinNHitTRD(c.fMinNHitTRD),
  fMinNHitTOF(c.fMinNHitTOF),
  fMinNHitMUON(c.fMinNHitMUON),
  fhCutStatistics(c.fhCutStatistics),
  fhCutCorrelation(c.fhCutCorrelation),
  fBitmap(c.fBitmap)
{
  //
  //copy ctor
  //
  for (int i=0; i<kNCuts; i++) for (int j=0; j<kNStepQA; j++) fhQA[i][j]=c.fhQA[i][j];
}

//______________________________
AliCFAcceptanceCuts& AliCFAcceptanceCuts::operator=(const AliCFAcceptanceCuts& c)
{
  //
  // Assignment operator
  //
  if (this != &c) {
    AliCFCutBase::operator=(c) ;
    fMCInfo=c.fMCInfo;
    fMinNHitITS=c.fMinNHitITS;
    fMinNHitTPC=c.fMinNHitTPC;
    fMinNHitTRD=c.fMinNHitTRD;
    fMinNHitTOF=c.fMinNHitTOF;
    fMinNHitMUON=c.fMinNHitMUON;
    fhCutStatistics  = c.fhCutStatistics ;
    fhCutCorrelation = c.fhCutCorrelation ;
    fBitmap          = c.fBitmap ;
    for (int i=0; i<kNCuts; i++) for (int j=0; j<kNStepQA; j++) fhQA[i][j]=c.fhQA[i][j];
  }
  return *this ;
}

//______________________________________________________________
Bool_t AliCFAcceptanceCuts::IsSelected(TObject *obj) {
  //
  // check if selections on 'obj' are passed
  // 'obj' must be an AliMCParticle
  //
  
  SelectionBitMap(obj);

  if (fIsQAOn) FillHistograms(obj,kFALSE);

  for (UInt_t icut=0; icut<fBitmap->GetNbits(); icut++)
    if (!fBitmap->TestBitNumber(icut)) return kFALSE ;
  
  if (fIsQAOn) FillHistograms(obj,kTRUE);
  return kTRUE;
}

//______________________________
void AliCFAcceptanceCuts::SelectionBitMap(TObject* obj) {
  //
  // checks the number of track references associated to 'obj'
  // 'obj' must be an AliMCParticle
  //

  for (UInt_t i=0; i<kNCuts; i++) fBitmap->SetBitNumber(i,kFALSE);

  if (!obj) return;
  TString className(obj->ClassName());
  if (className.CompareTo("AliMCParticle") != 0) {
    AliError("obj must point to an AliMCParticle !");
    return ;
  }

  AliMCParticle * part = dynamic_cast<AliMCParticle*>(obj);
  if(!part) return ;

  Int_t nHitsITS=0, nHitsTPC=0, nHitsTRD=0, nHitsTOF=0, nHitsMUON=0 ;
  for (Int_t iTrackRef=0; iTrackRef<part->GetNumberOfTrackReferences(); iTrackRef++) {
    AliTrackReference * trackRef = part->GetTrackReference(iTrackRef);
    if(trackRef){
      Int_t detectorId = trackRef->DetectorId();
      switch(detectorId) {
      case AliTrackReference::kITS  : nHitsITS++  ; break ;
      case AliTrackReference::kTPC  : nHitsTPC++  ; break ;
      case AliTrackReference::kTRD  : nHitsTRD++  ; break ;
      case AliTrackReference::kTOF  : nHitsTOF++  ; break ;
      case AliTrackReference::kMUON : nHitsMUON++ ; break ;
      default : break ;
      }
    }
  }
  
  Int_t iCutBit = 0;

  if (nHitsITS  >= fMinNHitITS  ) fBitmap->SetBitNumber(iCutBit,kTRUE);
  iCutBit++;
  if (nHitsTPC  >= fMinNHitTPC  ) fBitmap->SetBitNumber(iCutBit,kTRUE);
  iCutBit++;
  if (nHitsTRD  >= fMinNHitTRD  ) fBitmap->SetBitNumber(iCutBit,kTRUE);
  iCutBit++;
  if (nHitsTOF  >= fMinNHitTOF  ) fBitmap->SetBitNumber(iCutBit,kTRUE);
  iCutBit++;
  if (nHitsMUON  >= fMinNHitMUON) fBitmap->SetBitNumber(iCutBit,kTRUE);
}


void AliCFAcceptanceCuts::SetMCEventInfo(const TObject* mcInfo) {
  //
  // Sets pointer to MC event information (AliMCEvent)
  //

  if (!mcInfo) {
    AliError("Pointer to AliMCEvent !");
    return;
  }
  
  TString className(mcInfo->ClassName());
  if (className.CompareTo("AliMCEvent") != 0) {
    AliError("argument must point to an AliMCEvent !");
    return ;
  }
  
  fMCInfo = (AliMCEvent*) mcInfo ;
}


//__________________________________________________________________________________
void AliCFAcceptanceCuts::AddQAHistograms(TList *qaList) {
  //
  // saves the histograms in a TList
  //

  DefineHistograms();

  qaList->Add(fhCutStatistics);
  qaList->Add(fhCutCorrelation);

  for (Int_t j=0; j<kNStepQA; j++) {
    for(Int_t i=0; i<kNCuts; i++)
      qaList->Add(fhQA[i][j]);
  }
}

//__________________________________________________________________________________
void AliCFAcceptanceCuts::DefineHistograms() {
  //
  // histograms for cut variables, cut statistics and cut correlations
  //
  Int_t color = 2;

  // book cut statistics and cut correlation histograms
  fhCutStatistics = new TH1F(Form("%s_cut_statistics",GetName()),"",kNCuts,0.5,kNCuts+0.5);
  fhCutStatistics->SetLineWidth(2);
  int k = 1;
  fhCutStatistics->GetXaxis()->SetBinLabel(k,"hits ITS") ; k++;
  fhCutStatistics->GetXaxis()->SetBinLabel(k,"hits TPC") ; k++;
  fhCutStatistics->GetXaxis()->SetBinLabel(k,"hits TRD") ; k++;
  fhCutStatistics->GetXaxis()->SetBinLabel(k,"hits TOF") ; k++;
  fhCutStatistics->GetXaxis()->SetBinLabel(k,"hits MUON"); k++;


  fhCutCorrelation = new TH2F(Form("%s_cut_correlation",GetName()),"",kNCuts,0.5,kNCuts+0.5,kNCuts,0.5,kNCuts+0.5);
  fhCutCorrelation->SetLineWidth(2);
  for (k=1; k<=kNCuts; k++) {
    fhCutCorrelation->GetXaxis()->SetBinLabel(k,fhCutStatistics->GetXaxis()->GetBinLabel(k));
    fhCutCorrelation->GetYaxis()->SetBinLabel(k,fhCutStatistics->GetXaxis()->GetBinLabel(k));
  }

  Char_t str[5];
  for (int i=0; i<kNStepQA; i++) {
    if (i==0) snprintf(str,5," ");
    else snprintf(str,5,"_cut");
    fhQA[kCutHitsITS] [i] = new TH1F(Form("%s_HitsITS%s"  ,GetName(),str),"",10,0,10);
    fhQA[kCutHitsTPC] [i] = new TH1F(Form("%s_HitsTPC%s"  ,GetName(),str),"",5,0,5);
    fhQA[kCutHitsTRD] [i] = new TH1F(Form("%s_HitsTRD%s"  ,GetName(),str),"",20,0,20);
    fhQA[kCutHitsTOF] [i] = new TH1F(Form("%s_HitsTOF%s"  ,GetName(),str),"",5,0,5);
    fhQA[kCutHitsMUON][i] = new TH1F(Form("%s_HitsMUON%s" ,GetName(),str),"",5,0,5);
  }
  for(Int_t i=0; i<kNCuts; i++) fhQA[i][1]->SetLineColor(color);
}

//__________________________________________________________________________________
void AliCFAcceptanceCuts::FillHistograms(TObject* obj, Bool_t afterCuts)
{
  //
  // fill the QA histograms
  //
  AliMCParticle* part = dynamic_cast<AliMCParticle *>(obj);
  if (!part) {
    AliError("casting failed");
    return;
  }

  Int_t nHitsITS=0, nHitsTPC=0, nHitsTRD=0, nHitsTOF=0, nHitsMUON=0 ;
  for (Int_t iTrackRef=0; iTrackRef<part->GetNumberOfTrackReferences(); iTrackRef++) {
    AliTrackReference * trackRef = part->GetTrackReference(iTrackRef);
    if(trackRef){
      Int_t detectorId = trackRef->DetectorId();
      switch(detectorId) {
      case AliTrackReference::kITS  : nHitsITS++  ; break ;
      case AliTrackReference::kTPC  : nHitsTPC++  ; break ;
      case AliTrackReference::kTRD  : nHitsTRD++  ; break ;
      case AliTrackReference::kTOF  : nHitsTOF++  ; break ;
      case AliTrackReference::kMUON : nHitsMUON++ ; break ;
      default : break ;
      }
    }
  }
  
  fhQA[kCutHitsITS ][afterCuts]->Fill(nHitsITS );
  fhQA[kCutHitsTPC ][afterCuts]->Fill(nHitsTPC );
  fhQA[kCutHitsTRD ][afterCuts]->Fill(nHitsTRD );
  fhQA[kCutHitsTOF ][afterCuts]->Fill(nHitsTOF );
  fhQA[kCutHitsMUON][afterCuts]->Fill(nHitsMUON);

  // fill cut statistics and cut correlation histograms with information from the bitmap
  if (afterCuts) return;

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