ROOT logo
#include "TChain.h"
#include "TTree.h"
#include "TH1F.h"
#include "TH2F.h"
#include "TCanvas.h"
#include "AliAnalysisTask.h"
#include "AliAnalysisManager.h"
#include "AliESDEvent.h"
#include "AliESDInputHandler.h"
#include "AliESDPmdTrack.h"
#include "AliESDVertex.h"
#include "AliAnalysisTaskPMDSim.h"
#include <TParticle.h>
#include <AliLog.h>
#include <AliStack.h>
#include <AliHeader.h>
#include <AliGenEventHeader.h>
#include <AliHeader.h>
#include <AliGenPythiaEventHeader.h>
#include <AliMCEventHandler.h>
#include <AliMCEvent.h>
#include "AliTriggerAnalysis.h"
#include "AliPhysicsSelection.h"

// AnalysisTask For PMD
// Authors: Sudipan De, Subhash Singha

ClassImp(AliAnalysisTaskPMDSim)

//________________________________________________________________________
AliAnalysisTaskPMDSim::AliAnalysisTaskPMDSim(const char *name) 
  : AliAnalysisTaskSE(name), 
  fESD(0), 
  fOutputList(0), 
  fHistTotEvent(0),
  fHistTotEventAfterPhySel(0),
  fHistTotEventAfterVtx(0),
  fVtxZ(0),
  fHistXYPre(0),
  fHistEtaPhM(0),
  fHistEtaPhM1(0),
  fHistEtaT(0),
  fMultMeasured(0),
  fMultMeasured1(0),
  fMultTrue(0),
  fMultCorr(0),
  fMultCorr1(0)
{
  for(Int_t i=0; i<10; i++){
    fHistMultMeasEtaBinA[i] = 0;
    fHistMultMeasEtaBinA1[i] = 0;
    fHistMultTrueEtaBinA[i] = 0;
    fHistMultCorrEtaBinA[i] = 0;
    fHistMultCorrEtaBinA1[i] = 0;
  }
  
  // Constructor
  
  // Define input and output slots here
  // Input slot #0 works with a TChain
  DefineInput(0, TChain::Class());
  // Output slot #0 id reserved by the base class for AOD
  // Output slot #1 writes into a TH1 container
  DefineOutput(1, TList::Class());
}

//________________________________________________________________________
void AliAnalysisTaskPMDSim::UserCreateOutputObjects()
{
  // Create histograms
  // Called once
  
  fOutputList = new TList();
  
  Int_t kNbinsMult = 100;  Float_t XminMult = -0.5; 
  Float_t XmaxMult = 99.5;//mult
  Int_t kNbinsMultA = 50;  Float_t XminMultA = -0.5; 
  Float_t XmaxMultA = 49.5;//mult
  Int_t kNbinEtaPMDCov = 10; Float_t XminEtaPMDCov = 2.1; Float_t XmaxEtaPMDCov = 4.1;//etaPMD
  Int_t kNBinsEvent = 10; Float_t XminEvent = 0; Float_t XmaxEvent = 10;
  Int_t kNbinsXY = 200; Float_t XminXY = -100.0; Float_t XmaxXY  = 100.0;
  fHistTotEvent = new TH1F("TotEvent","TotEvent",
			   kNBinsEvent,XminEvent,XmaxEvent); 
  fOutputList->Add(fHistTotEvent);
  fHistTotEventAfterPhySel = new TH1F("TotEventAfterPhySel","TotEventAfterPhySel",
				      kNBinsEvent,XminEvent,XmaxEvent); 
  fOutputList->Add(fHistTotEventAfterPhySel);
  fHistTotEventAfterVtx = new TH1F("TotEventAfterVtx","TotEventAfterVtx",
				  kNBinsEvent,XminEvent,XmaxEvent); 
  fOutputList->Add(fHistTotEventAfterVtx);
  fVtxZ     = new TH1F("VtxZ","VtxZ",200,-50.0,50.0);
  fOutputList->Add(fVtxZ);
  fHistXYPre = new TH2F("XYPre","XYPre",kNbinsXY,XminXY,XmaxXY,
                        kNbinsXY,XminXY,XmaxXY);
  fOutputList->Add(fHistXYPre);
  fHistEtaPhM = new TH1F("fHistEtaPhM","fHistEtaPhM",kNbinEtaPMDCov,XminEtaPMDCov,XmaxEtaPMDCov);
  fOutputList->Add(fHistEtaPhM);
  fHistEtaPhM1 = new TH1F("fHistEtaPhM1","fHistEtaPhM1",kNbinEtaPMDCov,XminEtaPMDCov,XmaxEtaPMDCov);
  fOutputList->Add(fHistEtaPhM1);
  fHistEtaT = new TH1F("fHistEtaT","fHistEtaT",kNbinEtaPMDCov,XminEtaPMDCov,XmaxEtaPMDCov);
  fOutputList->Add(fHistEtaT);
  fMultMeasured = new TH1F("MultM","MultM",kNbinsMult,XminMult,XmaxMult);
  fOutputList->Add(fMultMeasured);
  fMultMeasured1 = new TH1F("MultM1","MultM1",kNbinsMult,XminMult,XmaxMult);
  fOutputList->Add(fMultMeasured1);
  fMultTrue = new TH1F("MultT","MultT",kNbinsMult,XminMult,XmaxMult);
  fOutputList->Add(fMultTrue);
  fMultCorr = new TH2F("MultCorr","MultCorr",kNbinsMult,XminMult,XmaxMult,
  		       kNbinsMult,XminMult,XmaxMult);
  fOutputList->Add(fMultCorr);
  fMultCorr1 = new TH2F("MultCorr1","MultCorr1",kNbinsMult,XminMult,XmaxMult,
  		       kNbinsMult,XminMult,XmaxMult);
  fOutputList->Add(fMultCorr1);
   
  
  Char_t nameT[256], nameM[256], nameCorr[256],nameM1[256], nameCorr1[256];
  for(Int_t i=0; i<10; i++){
    sprintf(nameM,"MultM_EtaBin%d",i+1);
    sprintf(nameM1,"MultM1_EtaBin%d",i+1);
    sprintf(nameT,"MultT_EtaBin%d",i+1);
    sprintf(nameCorr,"MultCorr_EtaBin%d",i+1);
    sprintf(nameCorr1,"MultCorr1_EtaBin%d",i+1);
    fHistMultMeasEtaBinA[i] = 
      new TH1F(nameM,nameM,kNbinsMultA,XminMultA,XmaxMultA);
    fHistMultMeasEtaBinA1[i] = 
      new TH1F(nameM1,nameM1,kNbinsMultA,XminMultA,XmaxMultA);
    fHistMultTrueEtaBinA[i] = 
      new TH1F(nameT,nameT,kNbinsMultA,XminMultA,XmaxMultA);
    fHistMultCorrEtaBinA[i] = 
      new TH2F(nameCorr,nameCorr,kNbinsMultA,XminMultA,XmaxMultA,
	       kNbinsMultA,XminMultA,XmaxMultA);
    fHistMultCorrEtaBinA1[i] = 
      new TH2F(nameCorr1,nameCorr1,kNbinsMultA,XminMultA,XmaxMultA,
	       kNbinsMultA,XminMultA,XmaxMultA);
    fOutputList->Add(fHistMultMeasEtaBinA[i]);
    fOutputList->Add(fHistMultMeasEtaBinA1[i]);
    fOutputList->Add(fHistMultTrueEtaBinA[i]);
    fOutputList->Add(fHistMultCorrEtaBinA[i]);
    fOutputList->Add(fHistMultCorrEtaBinA1[i]);
  }//i loop
  //fOutputList->Add(fHistPt);
}

//________________________________________________________________________
void AliAnalysisTaskPMDSim::UserExec(Option_t *) 
{
  // Main loop
  // Called for each event
  Float_t MipCut1 = 432;//MPV=432=> 6*MPV=432
  Float_t MipCut2 = 648;//MPV=432=> 6*MPV=648 
  Float_t etacls=0., theta=0., rdist=0.;
  Int_t PhotonCls = 0;
  Int_t PhotonCls1 = 0;
  Int_t PhotonClsAEtaBin[10] = {0};//#of photon measured with diff Eta bin
  Int_t PhotonClsAEtaBin1[10] = {0};//#of photon measured with diff Eta bin
  Int_t PhotonTrueAEtaBin[10] = {0};//#of photon Incident with diff Eta bin
  // Post output data.
  fESD = dynamic_cast<AliESDEvent*>(InputEvent());
  if (!fESD) {
    printf("ERROR: fESD not available\n");
    return;
  }
  fHistTotEvent->Fill(5);
  //event selection
  Bool_t isSelected = (((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected() & AliVEvent::kMB);
  if (! isSelected) return;
  fHistTotEventAfterPhySel->Fill(5);
  //Vertex selection
  const AliESDVertex *vertex = fESD->GetPrimaryVertex();
  Float_t Vz = vertex->GetZ();    
  // Float_t Vx = vertex->GetX();    
  //Float_t Vy = vertex->GetY();
  Bool_t zVerStatus = vertex->GetStatus();
  if(zVerStatus){
    fVtxZ->Fill(Vz);
    if(TMath::Abs(Vz)<10){   
      fHistTotEventAfterVtx->Fill(5);   
      Int_t ptracks = fESD->GetNumberOfPmdTracks();
      for(Int_t kk=0;kk<ptracks;kk++){
	AliESDPmdTrack *pmdtr = fESD->GetPmdTrack(kk);
	Int_t   det   = pmdtr->GetDetector();
	Float_t clsX  = pmdtr->GetClusterX();
	Float_t clsY  = pmdtr->GetClusterY();
	Float_t clsZ  = pmdtr->GetClusterZ();
	clsZ -= Vz;
	Float_t ncell = pmdtr->GetClusterCells();
	Float_t adc   = pmdtr->GetClusterADC();
	//Float_t pid   = pmdtr->GetClusterPID();
	//Float_t isotag = pmdtr->GetClusterSigmaX();
	//Int_t trno = pmdtr->GetClusterTrackNo();
	//calculation of #eta
	rdist = TMath::Sqrt(clsX*clsX + clsY*clsY);
	if(clsZ!=0) theta = TMath::ATan2(rdist,clsZ);
	etacls   = -TMath::Log(TMath::Tan(0.5*theta));
	
	if(det==0 && adc>0)fHistXYPre->Fill(clsX,clsY);
	if(det==0 && adc>MipCut1 && ncell>2){
	  fHistEtaPhM->Fill(etacls);
	  if(etacls > 2.3 && etacls <= 3.9)  PhotonCls++;
	  if(etacls > 2.1 && etacls <= 2.3)  PhotonClsAEtaBin[0]++;
	  if(etacls > 2.3 && etacls <= 2.5)  PhotonClsAEtaBin[1]++;
	  if(etacls > 2.5 && etacls <= 2.7)  PhotonClsAEtaBin[2]++;
	  if(etacls > 2.7 && etacls <= 2.9)  PhotonClsAEtaBin[3]++;
	  if(etacls > 2.9 && etacls <= 3.1)  PhotonClsAEtaBin[4]++;
	  if(etacls > 3.1 && etacls <= 3.3)  PhotonClsAEtaBin[5]++;
	  if(etacls > 3.3 && etacls <= 3.5)  PhotonClsAEtaBin[6]++;
	  if(etacls > 3.5 && etacls <= 3.7)  PhotonClsAEtaBin[7]++;
	  if(etacls > 3.7 && etacls <= 3.9)  PhotonClsAEtaBin[8]++;
	  if(etacls > 3.9 && etacls <= 4.1)  PhotonClsAEtaBin[9]++;
	}//if MipCut1
	if( det==0 && adc>MipCut2 && ncell>2){
	  fHistEtaPhM1->Fill(etacls);
	  if(etacls > 2.3 && etacls <= 3.9)  PhotonCls1++;
	  if(etacls > 2.1 && etacls <= 2.3)  PhotonClsAEtaBin1[0]++;
	  if(etacls > 2.3 && etacls <= 2.5)  PhotonClsAEtaBin1[1]++;
	  if(etacls > 2.5 && etacls <= 2.7)  PhotonClsAEtaBin1[2]++;
	  if(etacls > 2.7 && etacls <= 2.9)  PhotonClsAEtaBin1[3]++;
	  if(etacls > 2.9 && etacls <= 3.1)  PhotonClsAEtaBin1[4]++;
	  if(etacls > 3.1 && etacls <= 3.3)  PhotonClsAEtaBin1[5]++;
	  if(etacls > 3.3 && etacls <= 3.5)  PhotonClsAEtaBin1[6]++;
	  if(etacls > 3.5 && etacls <= 3.7)  PhotonClsAEtaBin1[7]++;
	  if(etacls > 3.7 && etacls <= 3.9)  PhotonClsAEtaBin1[8]++;
	  if(etacls > 3.9 && etacls <= 4.1)  PhotonClsAEtaBin1[9]++;
	}//if MipCut2
      } //track loop 
      //reading MC info.
      AliMCEventHandler* eventHandler = dynamic_cast<AliMCEventHandler*>
	(AliAnalysisManager::GetAnalysisManager()->GetMCtruthEventHandler());
      if (!eventHandler) {
	Printf("ERROR: Could not retrieve MC event handler");
	return;
      }
      AliMCEvent* mcEvent = eventHandler->MCEvent();
      if (!mcEvent) {
	Printf("ERROR: Could not retrieve MC event");
	return;
      }
      AliStack* stack = mcEvent->Stack();
      if (!stack)
	{
	  AliDebug(AliLog::kError, "Stack not available");
	  return;
	}
      if(stack){
	Int_t nPrim  = stack->GetNprimary();
	Int_t PhotonTrue = 0;
	for (Int_t iMc = 0; iMc < nPrim; ++iMc)
	  {
	    TParticle *MPart = stack->Particle(iMc);
	    Int_t mpart  = MPart->GetPdgCode();
	    Float_t eta   = MPart->Eta();
	    if(mpart == 22){  
	      fHistEtaT->Fill(eta);
	      if(eta > 2.3 && eta <= 3.9)PhotonTrue++;
	      if(eta > 2.1 && eta <= 2.3)PhotonTrueAEtaBin[0]++;
	      if(eta > 2.3 && eta <= 2.5)PhotonTrueAEtaBin[1]++;
	      if(eta > 2.5 && eta <= 2.7)PhotonTrueAEtaBin[2]++;
	      if(eta > 2.7 && eta <= 2.9)PhotonTrueAEtaBin[3]++;
	      if(eta > 2.9 && eta <= 3.1)PhotonTrueAEtaBin[4]++;
	      if(eta > 3.1 && eta <= 3.3)PhotonTrueAEtaBin[5]++;
	      if(eta > 3.3 && eta <= 3.5)PhotonTrueAEtaBin[6]++;
	      if(eta > 3.5 && eta <= 3.7)PhotonTrueAEtaBin[7]++;
	      if(eta > 3.7 && eta <= 3.9)PhotonTrueAEtaBin[8]++;
	      if(eta > 3.9 && eta <= 4.1)PhotonTrueAEtaBin[9]++;
	    }//mpart
	  }//track loop
	for(Int_t i=0; i<10; i++){
	  fHistMultMeasEtaBinA[i]->Fill(PhotonClsAEtaBin[i]);
	  fHistMultMeasEtaBinA1[i]->Fill(PhotonClsAEtaBin1[i]);
	  fHistMultTrueEtaBinA[i]->Fill(PhotonTrueAEtaBin[i]);
	  fHistMultCorrEtaBinA[i]->Fill(PhotonTrueAEtaBin[i],PhotonClsAEtaBin[i]);
	  fHistMultCorrEtaBinA1[i]->Fill(PhotonTrueAEtaBin[i],PhotonClsAEtaBin1[i]);
	}//i loop
	fMultMeasured->Fill(PhotonCls);
	fMultMeasured1->Fill(PhotonCls1);
	fMultTrue->Fill(PhotonTrue);
	fMultCorr->Fill(PhotonTrue,PhotonCls);
	fMultCorr1->Fill(PhotonTrue,PhotonCls1);
      }//if stack
    }//if Vz!= 0
  }//Vz loop
  PostData(1, fOutputList);
}//UserExec()     

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