ROOT logo
//
//
// 

//
// ROOT includes
#include <TChain.h>
#include <TMath.h>
#include <TVectorD.h>
#include <TSystem.h>
#include <TFile.h>
#include <TParticle.h>

// ALIROOT includes
#include <TTreeStream.h>
#include <AliAnalysisManager.h>
#include <AliESDInputHandler.h>
#include "AliStack.h"
#include "AliMCEvent.h"
#include "AliMCEventHandler.h"
#include "AliMathBase.h"

#include <AliESD.h>
#include "AliExternalTrackParam.h"
#include "AliTracker.h"
#include "AliTPCseed.h"
//
#include "AliTPCComparisonPID.h"
//
#include <THnSparse.h>

//

// STL includes
#include <iostream>

using namespace std;

ClassImp(AliTPCComparisonPID)

//________________________________________________________________________
AliTPCComparisonPID::AliTPCComparisonPID() : 
  AliAnalysisTask(), 
  fMCinfo(0),     //! MC event handler
  fESD(0),
  fTPCsignal(0),
  fTPCsignalNorm(0),
  fDebugStreamer(0),
  fStreamLevel(0),
  fDebugLevel(0),
  fDebugOutputPath()
{
  //
  // Default constructor (should not be used)
  //
}

AliTPCComparisonPID::AliTPCComparisonPID(const AliTPCComparisonPID& info) : 
  AliAnalysisTask(info), 
  fMCinfo(info.fMCinfo),     //! MC event handler
  fESD(info.fESD),        //!
  fTPCsignal(0),
  fTPCsignalNorm(0),
  //
  fDebugStreamer(0),
  fStreamLevel(0),
  fDebugLevel(),
  fDebugOutputPath()
{
  //
  // Dummy Copy  constructor - no copy constructor for THnSparse 
  //
}



//________________________________________________________________________
AliTPCComparisonPID::AliTPCComparisonPID(const char *name) : 
  AliAnalysisTask(name, "AliTPCComparisonPID"), 
  fMCinfo(0),     //! MC event handler
  fESD(0),
  fTPCsignal(0),
  fTPCsignalNorm(0),
  fDebugStreamer(0),
  fStreamLevel(0),
  fDebugLevel(0),
  fDebugOutputPath()
{
  //
  // Normal constructor
  //
  // Input slot #0 works with a TChain
  DefineInput(0, TChain::Class());
  // Output slot #0 writes into a TList
  DefineOutput(0, AliTPCComparisonPID::Class());
  //
  //make histos
  Init(); 
}

void AliTPCComparisonPID::Init(){
  //
  // Init dEdx histogram
  // Dimensions
  // 0 - particle specie as defined in the AliPID - negatives+5 <0,9>
  // 1 - momenta - at the entrance of the TPC
  // 2 - tan lambda- fP[3]
  // 3 - betagamma
  // 4 - measurement - dEdx or dEdx/BB
  //
  Double_t xmin[5],  xmax[5];
  Int_t    nbins[5];
  // pid
  nbins[0]=10;
  xmin[0]=0; xmax[0]=10;
  // momenta
  nbins[1]=30;
  xmin[1]=0.1; xmax[1]=3;
  //P3
  nbins[2]=20;
  xmin[2]=-1.5; xmax[2]=1.5;
  //
  // log (betagamma)
  //
  nbins[3]=50;
  xmin[3]=0.1; xmax[3]=100;
  //
  // 
  nbins[4]=400;
  xmin[4]=20; xmax[4]=400;
  fTPCsignal = new THnSparseF("TPC signal","TPC signal",5,nbins,xmin,xmax);
  nbins[4]=100;
  xmin[4]=25; xmax[4]=75;
  fTPCsignal = new THnSparseF("TPC signal Norm","TPC signal Norm",5,nbins,xmin,xmax);
  //
}





AliTPCComparisonPID::~AliTPCComparisonPID(){
  //
  //
  //
  if (fDebugLevel>0)  printf("AliTPCComparisonPID::~AliTPCComparisonPID\n");
  if (fDebugStreamer) delete fDebugStreamer;
  fDebugStreamer=0;
  delete fTPCsignal;
  delete fTPCsignalNorm;
}


//________________________________________________________________________
void AliTPCComparisonPID::ConnectInputData(Option_t *) 
{
  //
  // Connect the input data
  //
  if(fDebugLevel>3)
    cout << "AnalysisTaskTPCCluster::ConnectInputData()" << endl;

  TTree* tree=dynamic_cast<TTree*>(GetInputData(0));
  if (!tree) {
    //Printf("ERROR: Could not read chain from input slot 0");
  }
  else {
    AliESDInputHandler *esdH = dynamic_cast<AliESDInputHandler*> (AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler());
    if (!esdH) {
      //Printf("ERROR: Could not get ESDInputHandler");
    }
    else {
      fESD = esdH->GetEvent();
      //Printf("*** CONNECTED NEW EVENT ****");
    }  
  }
  AliMCEventHandler* mcinfo = (AliMCEventHandler*) (AliAnalysisManager::GetAnalysisManager()->GetMCtruthEventHandler());  
  mcinfo->SetReadTR(kTRUE);
  
  fMCinfo = mcinfo->MCEvent();


}






//________________________________________________________________________
void AliTPCComparisonPID::CreateOutputObjects() 
{
  //
  // Connect the output objects
  //
  if(fDebugLevel>3)
    cout << "AnalysisTaskTPCCluster::CreateOutputObjects()" << endl;

}


//________________________________________________________________________
void AliTPCComparisonPID::Exec(Option_t *) {
  //
  // Execute analysis for current event 
  //

  if(fDebugLevel>3)
    cout << "AliTPCComparisonPID::Exec()" << endl;
    

  // If MC has been connected   

  if (!fMCinfo){
    cout << "Not MC info\n" << endl;
  }else{
    ProcessMCInfo();
    //mcinfo->Print();
    //DumpInfo();
  }
  //
  PostData(0, this);
}      




//________________________________________________________________________
void AliTPCComparisonPID::Terminate(Option_t *) {
    //
    // Terminate loop
    //
  if(fDebugLevel>3)
    printf("AliTPCComparisonPID: Terminate() \n");  
  //
  if (fDebugLevel>0) printf("AliMCtrackingTestTask::Terminate\n");
  if (fDebugStreamer) delete fDebugStreamer;
  fDebugStreamer = 0;
  return;
}



TTreeSRedirector *AliTPCComparisonPID::GetDebugStreamer(){
  //
  // Get Debug streamer
  // In case debug streamer not yet initialized and StreamLevel>0 create new one
  //
  if (fStreamLevel==0) return 0;
  if (fDebugStreamer) return fDebugStreamer;
  TString dsName;
  dsName=GetName();
  dsName+="Debug.root";
  dsName.ReplaceAll(" ","");
  fDebugStreamer = new TTreeSRedirector(dsName.Data());
  return fDebugStreamer;
}




void  AliTPCComparisonPID::ProcessMCInfo(){
  //
  //
  //
  //
  Int_t npart   = fMCinfo->GetNumberOfTracks();
  Int_t ntracks = fESD->GetNumberOfTracks(); 
  if (npart<=0) return;
  if (ntracks<=0) return;
  //
  //
  TParticle * particle= new TParticle;
  TClonesArray * trefs = new TClonesArray("AliTrackReference");
  
  for (Int_t itrack=0;itrack<ntracks;itrack++){
    AliESDtrack *track = fESD->GetTrack(itrack);
    const AliExternalTrackParam *in=track->GetInnerParam();
    if (!in) continue;
    Int_t ipart = TMath::Abs(track->GetLabel());
    //
    Int_t status = fMCinfo->GetParticleAndTR(ipart, particle, trefs);
    if (status<0) continue;
    if (!particle) continue;
    if (!trefs) continue;
    //
    //
    Double_t mom = in->GetP();
    Double_t dedx=track->GetTPCsignal();
    Double_t mass = particle->GetMass();
    Double_t bg  =mom/mass;
    Double_t betheBloch = AliMathBase::BetheBlochAleph(bg);
    //
    // Fill histos
    //
    Double_t x[5];
    //PID
    Int_t pdg = particle->GetPdgCode();
    for (Int_t iType=0;iType<5;iType++) {
      if (AliPID::ParticleCode(iType)==TMath::Abs(pdg)){
	x[0]=iType;
	if (pdg<0) x[0]+=5;
      }
    }
    x[1]= mom;
    x[2]= track->GetTgl();
    x[3]= TMath::Log(bg);
    x[4]= dedx;
    fTPCsignal->Fill(x);
    x[4]=dedx/betheBloch;
    fTPCsignalNorm->Fill(x);    
  }
}




void AliTPCComparisonPID::FinishTaskOutput()
{
  //
  // According description in AliAnalisysTask this method is call
  // on the slaves before sending data
  //
  Terminate("slave");
  gSystem->Exec("pwd");
  RegisterDebugOutput();

}


void AliTPCComparisonPID::RegisterDebugOutput(){
  //
  //
  //
  //
  // store  - copy debug output to the destination position
  // currently ONLY for local copy
  TString dsName;
  dsName=GetName();
  dsName+="Debug.root";
  dsName.ReplaceAll(" ","");
  TString dsName2=fDebugOutputPath.Data();
  gSystem->MakeDirectory(dsName2.Data());
  dsName2+=gSystem->HostName();
  gSystem->MakeDirectory(dsName2.Data());
  dsName2+="/";
  dsName2+=gSystem->BaseName(gSystem->pwd());
  dsName2+="/";
  gSystem->MakeDirectory(dsName2.Data());
  dsName2+=dsName;
  AliInfo(Form("copy %s\t%s\n",dsName.Data(),dsName2.Data()));
  printf("copy %s\t%s\n",dsName.Data(),dsName2.Data());
  TFile::Cp(dsName.Data(),dsName2.Data());
}
 AliTPCComparisonPID.cxx:1
 AliTPCComparisonPID.cxx:2
 AliTPCComparisonPID.cxx:3
 AliTPCComparisonPID.cxx:4
 AliTPCComparisonPID.cxx:5
 AliTPCComparisonPID.cxx:6
 AliTPCComparisonPID.cxx:7
 AliTPCComparisonPID.cxx:8
 AliTPCComparisonPID.cxx:9
 AliTPCComparisonPID.cxx:10
 AliTPCComparisonPID.cxx:11
 AliTPCComparisonPID.cxx:12
 AliTPCComparisonPID.cxx:13
 AliTPCComparisonPID.cxx:14
 AliTPCComparisonPID.cxx:15
 AliTPCComparisonPID.cxx:16
 AliTPCComparisonPID.cxx:17
 AliTPCComparisonPID.cxx:18
 AliTPCComparisonPID.cxx:19
 AliTPCComparisonPID.cxx:20
 AliTPCComparisonPID.cxx:21
 AliTPCComparisonPID.cxx:22
 AliTPCComparisonPID.cxx:23
 AliTPCComparisonPID.cxx:24
 AliTPCComparisonPID.cxx:25
 AliTPCComparisonPID.cxx:26
 AliTPCComparisonPID.cxx:27
 AliTPCComparisonPID.cxx:28
 AliTPCComparisonPID.cxx:29
 AliTPCComparisonPID.cxx:30
 AliTPCComparisonPID.cxx:31
 AliTPCComparisonPID.cxx:32
 AliTPCComparisonPID.cxx:33
 AliTPCComparisonPID.cxx:34
 AliTPCComparisonPID.cxx:35
 AliTPCComparisonPID.cxx:36
 AliTPCComparisonPID.cxx:37
 AliTPCComparisonPID.cxx:38
 AliTPCComparisonPID.cxx:39
 AliTPCComparisonPID.cxx:40
 AliTPCComparisonPID.cxx:41
 AliTPCComparisonPID.cxx:42
 AliTPCComparisonPID.cxx:43
 AliTPCComparisonPID.cxx:44
 AliTPCComparisonPID.cxx:45
 AliTPCComparisonPID.cxx:46
 AliTPCComparisonPID.cxx:47
 AliTPCComparisonPID.cxx:48
 AliTPCComparisonPID.cxx:49
 AliTPCComparisonPID.cxx:50
 AliTPCComparisonPID.cxx:51
 AliTPCComparisonPID.cxx:52
 AliTPCComparisonPID.cxx:53
 AliTPCComparisonPID.cxx:54
 AliTPCComparisonPID.cxx:55
 AliTPCComparisonPID.cxx:56
 AliTPCComparisonPID.cxx:57
 AliTPCComparisonPID.cxx:58
 AliTPCComparisonPID.cxx:59
 AliTPCComparisonPID.cxx:60
 AliTPCComparisonPID.cxx:61
 AliTPCComparisonPID.cxx:62
 AliTPCComparisonPID.cxx:63
 AliTPCComparisonPID.cxx:64
 AliTPCComparisonPID.cxx:65
 AliTPCComparisonPID.cxx:66
 AliTPCComparisonPID.cxx:67
 AliTPCComparisonPID.cxx:68
 AliTPCComparisonPID.cxx:69
 AliTPCComparisonPID.cxx:70
 AliTPCComparisonPID.cxx:71
 AliTPCComparisonPID.cxx:72
 AliTPCComparisonPID.cxx:73
 AliTPCComparisonPID.cxx:74
 AliTPCComparisonPID.cxx:75
 AliTPCComparisonPID.cxx:76
 AliTPCComparisonPID.cxx:77
 AliTPCComparisonPID.cxx:78
 AliTPCComparisonPID.cxx:79
 AliTPCComparisonPID.cxx:80
 AliTPCComparisonPID.cxx:81
 AliTPCComparisonPID.cxx:82
 AliTPCComparisonPID.cxx:83
 AliTPCComparisonPID.cxx:84
 AliTPCComparisonPID.cxx:85
 AliTPCComparisonPID.cxx:86
 AliTPCComparisonPID.cxx:87
 AliTPCComparisonPID.cxx:88
 AliTPCComparisonPID.cxx:89
 AliTPCComparisonPID.cxx:90
 AliTPCComparisonPID.cxx:91
 AliTPCComparisonPID.cxx:92
 AliTPCComparisonPID.cxx:93
 AliTPCComparisonPID.cxx:94
 AliTPCComparisonPID.cxx:95
 AliTPCComparisonPID.cxx:96
 AliTPCComparisonPID.cxx:97
 AliTPCComparisonPID.cxx:98
 AliTPCComparisonPID.cxx:99
 AliTPCComparisonPID.cxx:100
 AliTPCComparisonPID.cxx:101
 AliTPCComparisonPID.cxx:102
 AliTPCComparisonPID.cxx:103
 AliTPCComparisonPID.cxx:104
 AliTPCComparisonPID.cxx:105
 AliTPCComparisonPID.cxx:106
 AliTPCComparisonPID.cxx:107
 AliTPCComparisonPID.cxx:108
 AliTPCComparisonPID.cxx:109
 AliTPCComparisonPID.cxx:110
 AliTPCComparisonPID.cxx:111
 AliTPCComparisonPID.cxx:112
 AliTPCComparisonPID.cxx:113
 AliTPCComparisonPID.cxx:114
 AliTPCComparisonPID.cxx:115
 AliTPCComparisonPID.cxx:116
 AliTPCComparisonPID.cxx:117
 AliTPCComparisonPID.cxx:118
 AliTPCComparisonPID.cxx:119
 AliTPCComparisonPID.cxx:120
 AliTPCComparisonPID.cxx:121
 AliTPCComparisonPID.cxx:122
 AliTPCComparisonPID.cxx:123
 AliTPCComparisonPID.cxx:124
 AliTPCComparisonPID.cxx:125
 AliTPCComparisonPID.cxx:126
 AliTPCComparisonPID.cxx:127
 AliTPCComparisonPID.cxx:128
 AliTPCComparisonPID.cxx:129
 AliTPCComparisonPID.cxx:130
 AliTPCComparisonPID.cxx:131
 AliTPCComparisonPID.cxx:132
 AliTPCComparisonPID.cxx:133
 AliTPCComparisonPID.cxx:134
 AliTPCComparisonPID.cxx:135
 AliTPCComparisonPID.cxx:136
 AliTPCComparisonPID.cxx:137
 AliTPCComparisonPID.cxx:138
 AliTPCComparisonPID.cxx:139
 AliTPCComparisonPID.cxx:140
 AliTPCComparisonPID.cxx:141
 AliTPCComparisonPID.cxx:142
 AliTPCComparisonPID.cxx:143
 AliTPCComparisonPID.cxx:144
 AliTPCComparisonPID.cxx:145
 AliTPCComparisonPID.cxx:146
 AliTPCComparisonPID.cxx:147
 AliTPCComparisonPID.cxx:148
 AliTPCComparisonPID.cxx:149
 AliTPCComparisonPID.cxx:150
 AliTPCComparisonPID.cxx:151
 AliTPCComparisonPID.cxx:152
 AliTPCComparisonPID.cxx:153
 AliTPCComparisonPID.cxx:154
 AliTPCComparisonPID.cxx:155
 AliTPCComparisonPID.cxx:156
 AliTPCComparisonPID.cxx:157
 AliTPCComparisonPID.cxx:158
 AliTPCComparisonPID.cxx:159
 AliTPCComparisonPID.cxx:160
 AliTPCComparisonPID.cxx:161
 AliTPCComparisonPID.cxx:162
 AliTPCComparisonPID.cxx:163
 AliTPCComparisonPID.cxx:164
 AliTPCComparisonPID.cxx:165
 AliTPCComparisonPID.cxx:166
 AliTPCComparisonPID.cxx:167
 AliTPCComparisonPID.cxx:168
 AliTPCComparisonPID.cxx:169
 AliTPCComparisonPID.cxx:170
 AliTPCComparisonPID.cxx:171
 AliTPCComparisonPID.cxx:172
 AliTPCComparisonPID.cxx:173
 AliTPCComparisonPID.cxx:174
 AliTPCComparisonPID.cxx:175
 AliTPCComparisonPID.cxx:176
 AliTPCComparisonPID.cxx:177
 AliTPCComparisonPID.cxx:178
 AliTPCComparisonPID.cxx:179
 AliTPCComparisonPID.cxx:180
 AliTPCComparisonPID.cxx:181
 AliTPCComparisonPID.cxx:182
 AliTPCComparisonPID.cxx:183
 AliTPCComparisonPID.cxx:184
 AliTPCComparisonPID.cxx:185
 AliTPCComparisonPID.cxx:186
 AliTPCComparisonPID.cxx:187
 AliTPCComparisonPID.cxx:188
 AliTPCComparisonPID.cxx:189
 AliTPCComparisonPID.cxx:190
 AliTPCComparisonPID.cxx:191
 AliTPCComparisonPID.cxx:192
 AliTPCComparisonPID.cxx:193
 AliTPCComparisonPID.cxx:194
 AliTPCComparisonPID.cxx:195
 AliTPCComparisonPID.cxx:196
 AliTPCComparisonPID.cxx:197
 AliTPCComparisonPID.cxx:198
 AliTPCComparisonPID.cxx:199
 AliTPCComparisonPID.cxx:200
 AliTPCComparisonPID.cxx:201
 AliTPCComparisonPID.cxx:202
 AliTPCComparisonPID.cxx:203
 AliTPCComparisonPID.cxx:204
 AliTPCComparisonPID.cxx:205
 AliTPCComparisonPID.cxx:206
 AliTPCComparisonPID.cxx:207
 AliTPCComparisonPID.cxx:208
 AliTPCComparisonPID.cxx:209
 AliTPCComparisonPID.cxx:210
 AliTPCComparisonPID.cxx:211
 AliTPCComparisonPID.cxx:212
 AliTPCComparisonPID.cxx:213
 AliTPCComparisonPID.cxx:214
 AliTPCComparisonPID.cxx:215
 AliTPCComparisonPID.cxx:216
 AliTPCComparisonPID.cxx:217
 AliTPCComparisonPID.cxx:218
 AliTPCComparisonPID.cxx:219
 AliTPCComparisonPID.cxx:220
 AliTPCComparisonPID.cxx:221
 AliTPCComparisonPID.cxx:222
 AliTPCComparisonPID.cxx:223
 AliTPCComparisonPID.cxx:224
 AliTPCComparisonPID.cxx:225
 AliTPCComparisonPID.cxx:226
 AliTPCComparisonPID.cxx:227
 AliTPCComparisonPID.cxx:228
 AliTPCComparisonPID.cxx:229
 AliTPCComparisonPID.cxx:230
 AliTPCComparisonPID.cxx:231
 AliTPCComparisonPID.cxx:232
 AliTPCComparisonPID.cxx:233
 AliTPCComparisonPID.cxx:234
 AliTPCComparisonPID.cxx:235
 AliTPCComparisonPID.cxx:236
 AliTPCComparisonPID.cxx:237
 AliTPCComparisonPID.cxx:238
 AliTPCComparisonPID.cxx:239
 AliTPCComparisonPID.cxx:240
 AliTPCComparisonPID.cxx:241
 AliTPCComparisonPID.cxx:242
 AliTPCComparisonPID.cxx:243
 AliTPCComparisonPID.cxx:244
 AliTPCComparisonPID.cxx:245
 AliTPCComparisonPID.cxx:246
 AliTPCComparisonPID.cxx:247
 AliTPCComparisonPID.cxx:248
 AliTPCComparisonPID.cxx:249
 AliTPCComparisonPID.cxx:250
 AliTPCComparisonPID.cxx:251
 AliTPCComparisonPID.cxx:252
 AliTPCComparisonPID.cxx:253
 AliTPCComparisonPID.cxx:254
 AliTPCComparisonPID.cxx:255
 AliTPCComparisonPID.cxx:256
 AliTPCComparisonPID.cxx:257
 AliTPCComparisonPID.cxx:258
 AliTPCComparisonPID.cxx:259
 AliTPCComparisonPID.cxx:260
 AliTPCComparisonPID.cxx:261
 AliTPCComparisonPID.cxx:262
 AliTPCComparisonPID.cxx:263
 AliTPCComparisonPID.cxx:264
 AliTPCComparisonPID.cxx:265
 AliTPCComparisonPID.cxx:266
 AliTPCComparisonPID.cxx:267
 AliTPCComparisonPID.cxx:268
 AliTPCComparisonPID.cxx:269
 AliTPCComparisonPID.cxx:270
 AliTPCComparisonPID.cxx:271
 AliTPCComparisonPID.cxx:272
 AliTPCComparisonPID.cxx:273
 AliTPCComparisonPID.cxx:274
 AliTPCComparisonPID.cxx:275
 AliTPCComparisonPID.cxx:276
 AliTPCComparisonPID.cxx:277
 AliTPCComparisonPID.cxx:278
 AliTPCComparisonPID.cxx:279
 AliTPCComparisonPID.cxx:280
 AliTPCComparisonPID.cxx:281
 AliTPCComparisonPID.cxx:282
 AliTPCComparisonPID.cxx:283
 AliTPCComparisonPID.cxx:284
 AliTPCComparisonPID.cxx:285
 AliTPCComparisonPID.cxx:286
 AliTPCComparisonPID.cxx:287
 AliTPCComparisonPID.cxx:288
 AliTPCComparisonPID.cxx:289
 AliTPCComparisonPID.cxx:290
 AliTPCComparisonPID.cxx:291
 AliTPCComparisonPID.cxx:292
 AliTPCComparisonPID.cxx:293
 AliTPCComparisonPID.cxx:294
 AliTPCComparisonPID.cxx:295
 AliTPCComparisonPID.cxx:296
 AliTPCComparisonPID.cxx:297
 AliTPCComparisonPID.cxx:298
 AliTPCComparisonPID.cxx:299
 AliTPCComparisonPID.cxx:300
 AliTPCComparisonPID.cxx:301
 AliTPCComparisonPID.cxx:302
 AliTPCComparisonPID.cxx:303
 AliTPCComparisonPID.cxx:304
 AliTPCComparisonPID.cxx:305
 AliTPCComparisonPID.cxx:306
 AliTPCComparisonPID.cxx:307
 AliTPCComparisonPID.cxx:308
 AliTPCComparisonPID.cxx:309
 AliTPCComparisonPID.cxx:310
 AliTPCComparisonPID.cxx:311
 AliTPCComparisonPID.cxx:312
 AliTPCComparisonPID.cxx:313
 AliTPCComparisonPID.cxx:314
 AliTPCComparisonPID.cxx:315
 AliTPCComparisonPID.cxx:316
 AliTPCComparisonPID.cxx:317
 AliTPCComparisonPID.cxx:318
 AliTPCComparisonPID.cxx:319
 AliTPCComparisonPID.cxx:320
 AliTPCComparisonPID.cxx:321
 AliTPCComparisonPID.cxx:322
 AliTPCComparisonPID.cxx:323
 AliTPCComparisonPID.cxx:324
 AliTPCComparisonPID.cxx:325
 AliTPCComparisonPID.cxx:326
 AliTPCComparisonPID.cxx:327
 AliTPCComparisonPID.cxx:328
 AliTPCComparisonPID.cxx:329
 AliTPCComparisonPID.cxx:330
 AliTPCComparisonPID.cxx:331
 AliTPCComparisonPID.cxx:332
 AliTPCComparisonPID.cxx:333
 AliTPCComparisonPID.cxx:334
 AliTPCComparisonPID.cxx:335
 AliTPCComparisonPID.cxx:336
 AliTPCComparisonPID.cxx:337
 AliTPCComparisonPID.cxx:338
 AliTPCComparisonPID.cxx:339
 AliTPCComparisonPID.cxx:340
 AliTPCComparisonPID.cxx:341
 AliTPCComparisonPID.cxx:342
 AliTPCComparisonPID.cxx:343
 AliTPCComparisonPID.cxx:344
 AliTPCComparisonPID.cxx:345
 AliTPCComparisonPID.cxx:346
 AliTPCComparisonPID.cxx:347
 AliTPCComparisonPID.cxx:348
 AliTPCComparisonPID.cxx:349
 AliTPCComparisonPID.cxx:350
 AliTPCComparisonPID.cxx:351
 AliTPCComparisonPID.cxx:352
 AliTPCComparisonPID.cxx:353
 AliTPCComparisonPID.cxx:354