ROOT logo
/**************************************************************************
 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 *                                                                        *
 * Author: Offline.                                                       *
 * 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.                  *
 **************************************************************************/


//=========================================================================//
//             AliEbyE OnFLy QA Tasks for Charge and PID                   //
//                         For Testing Only                                //
//                   Satyajit Jena | sjena@cern.ch                         //
//=========================================================================//

#include "TChain.h"
#include "TList.h"
#include "TFile.h"
#include "TTree.h"
#include "TH1D.h"
#include "TH2F.h"
#include "TH3F.h"
#include "TProfile.h"

#include "AliAnalysisTask.h"
#include "AliAnalysisManager.h"

#include "AliVEvent.h"
#include "AliESDEvent.h"
#include "AliMCEvent.h"
#include "AliAODEvent.h"

#include "AliStack.h"
#include "AliGenEventHeader.h"
#include "AliGenPythiaEventHeader.h"
#include "AliGenHijingEventHeader.h"
#include "AliGenDPMjetEventHeader.h"
#include "TDatabasePDG.h"

#include "AliEbyEPidQATaskOnFlyKine.h"

ClassImp(AliEbyEPidQATaskOnFlyKine)

//-----------------------------------------------------------------------
AliEbyEPidQATaskOnFlyKine::AliEbyEPidQATaskOnFlyKine( const char *name )
: AliAnalysisTaskSE( name ),
  fThnList(0),fCentrality(-1), fEtaCut(0.5),fPtCut(5.),fVtxZ(30.),
  fHistImpNpart(NULL),  fHistImpMult(NULL),   
  fHistNpartMult(NULL),  fHistStat(NULL)  {
  for (Int_t i = 0; i < 4; ++i) {
    fHistPt[i][0]     = NULL;
    fHistPt[i][1]     = NULL;
    fHistEtaY[i]      = NULL;
    fHistPhi[i]       = NULL;
    fHistPhiPt[i]       = NULL;
    fHistMult[i][0]   = NULL;
    fHistMult[i][1]   = NULL;
    fHistMultTot[i][0]= NULL;
    fHistMultTot[i][1]= NULL;
  }
  DefineOutput(1, TList::Class()); 
}

AliEbyEPidQATaskOnFlyKine::~AliEbyEPidQATaskOnFlyKine() {
  if (fThnList) delete fThnList;
}

//---------------------------------------------------------------------------------
void AliEbyEPidQATaskOnFlyKine::UserCreateOutputObjects() {
  fThnList = new TList();
  fThnList->SetOwner(kTRUE);

  fHistImpNpart  = new TH2F("HistImpNpart","Impart Parameter ~ N_{part};N_{part};#it{b}",420,-0.5,419.5,20,-0.5,19.5);
  fHistImpMult   = new TH2F("HistImpMult","Impart Parameter ~ N_{tot};#it{b};N_{part}",20,-0.5,19.5, 9000,0,90000);
  fHistNpartMult = new TH2F("HistNpartMult","N_{part} ~ N_{tot};N_{part};Multiplicity",420,-0.5,419.5, 9000,0,90000);
  fHistStat = new TH1F("HistEventStat","Event Statistics;#it{b};N_{evt}",20,-0.5,19.5);
  
 fThnList->Add(fHistImpNpart);
 fThnList->Add(fHistImpMult);
 fThnList->Add(fHistNpartMult);  
 fThnList->Add(fHistStat);

  TString charge[] = {"Munus","Plus"};
 
  Int_t nBin[] = {30000,20000,15000,6000};
  Double_t gBinUp[] = {29999.5,19999.5,14999.5,5999.5};

  for (Int_t iPid = 0; iPid < 4; ++iPid) {
    fHistPhi[iPid] = new TH2F(Form("HistPhi%s",fgkPidName[iPid]), Form("Impact Parameter vs #phi : (%s+%s);#it{b} (fm);#phi",fgkPidLatex[iPid][0],fgkPidLatex[iPid][1]),20,-0.5,19.5,80,-1,7);

    fHistPhiPt[iPid] = new TH2F(Form("HistPhiPt%s",fgkPidName[iPid]), Form("#phi vs p_{T}: (%s+%s);#it{b} (fm);#phi",fgkPidLatex[iPid][0],fgkPidLatex[iPid][1]),80,-1,7,1000,0,20);

    TString title = (iPid == 0) ? Form("Impact Parameter vs #eta : (%s+%s);b(fm);#eta",fgkPidLatex[iPid][0],fgkPidLatex[iPid][1]) : Form("Impact Parameter vs #it{y} : (%s+%s);#it{b} (fm);#it{y}",fgkPidLatex[iPid][0],fgkPidLatex[iPid][1]);
    fHistEtaY[iPid]  = new TH2F(Form("HistEtaY%s",fgkPidName[iPid]),title.Data(),20,-0.5,19.5,400,-20,20);

    fThnList->Add(fHistPhi[iPid]);
    fThnList->Add(fHistPhiPt[iPid]);
    fThnList->Add(fHistEtaY[iPid]);
    
    for (Int_t iSg = 0; iSg < 2; ++iSg) {
      fHistPt[iPid][iSg] = new TH2F(Form("HistPt%s%s",fgkPidName[iPid],charge[iSg].Data()), Form("Impact Parameter vs p_{T} : %s;#it{b} (fm);p_{T}",fgkPidLatex[iPid][iSg]), 20,-0.5,19.5,1000,0,20);
      fHistMult[iPid][iSg] = new TH2F(Form("HistMultiplicity%s%s",fgkPidName[iPid],charge[iSg].Data()), Form("Impact Parameter vs Multplicity : %s;#it{b} (fm);Multiplicity",fgkPidLatex[iPid][iSg]), 20,-0.5,19.5,nBin[iPid],0.5,gBinUp[iPid]);
      fHistMultTot[iPid][iSg] = new TH2F(Form("HistTotalMultiplicity%s%s",fgkPidName[iPid],charge[iSg].Data()), Form("Impact Parameter vs Multiplicity : %s;#it{b} (fm);Multiplicity",fgkPidLatex[iPid][iSg]), 20,-0.5,19.5,nBin[iPid],0.5,gBinUp[iPid]);
      fThnList->Add(fHistPt[iPid][iSg]);
      fThnList->Add(fHistMult[iPid][iSg]);
      fThnList->Add(fHistMultTot[iPid][iSg]);
    }
   
  }
  PostData(1, fThnList);
}


//----------------------------------------------------------------------------------
void AliEbyEPidQATaskOnFlyKine::UserExec( Option_t * ){
  AliMCEvent* mcEvent = MCEvent();
  if (!mcEvent) {
    Printf("ERROR: Could not retrieve MC event");
    return;
  }
 
  const AliVVertex *vtxMC = mcEvent->GetPrimaryVertex();
  if (vtxMC->GetZ() > fVtxZ) return;
 
  AliStack *stack = mcEvent->Stack();
 
  AliGenEventHeader* genHeader = mcEvent->GenEventHeader();
  if(!genHeader){
    printf("  Event generator header not available!!!\n");
    return;
  }
  
  Double_t imp   = 21;
  Double_t npart = 0;

  Double_t np = -1;
  Double_t nt = -1;  

  if(genHeader->InheritsFrom(AliGenHijingEventHeader::Class())){
    imp = ((AliGenHijingEventHeader*) genHeader)->ImpactParameter();
    nt  = ((AliGenHijingEventHeader*) genHeader)->TargetParticipants();
    np  = ((AliGenHijingEventHeader*) genHeader)->ProjectileParticipants();
  }  

 

  if (imp > -1 && imp < 20) fCentrality = Int_t(imp);
  else return;
  npart = nt + np;
  if (npart < 0 ||  npart > 419) return; 
  
  fHistStat->Fill(fCentrality);
  fHistImpNpart->Fill(npart,fCentrality);
  Int_t nParticles = stack->GetNtrack();
  
  fHistImpMult->Fill(fCentrality,nParticles);
  fHistNpartMult->Fill(npart,nParticles);

  Float_t multFull[4][2]; Float_t mult[4][2];
  for (Int_t i = 0; i < 4; ++i) {
    mult[i][0] = 0; mult[i][1] = 0;
    multFull[i][0] = 0; multFull[i][1] = 0;
  }

  for (Int_t iParticle = 0; iParticle < nParticles; iParticle++) {
    TParticle* part = stack->Particle(iParticle);
    if (!part) {
      Printf(" No Particle Available ");
      continue;
    }

    if(!part->GetPDG()) continue;
    if (part->GetPDG()->Charge() == 0.) continue;

    Int_t iCharge = part->GetPDG()->Charge() < 0 ? 0 : 1;
    
    Int_t iPid = -1;
    Int_t pid = part->GetPdgCode();
    if(pid == 211)         { iPid = 1; } 
    else if(pid ==  -211)  { iPid = 1; } 
    else if(pid ==   321)  { iPid = 2; } 
    else if(pid ==  -321)  { iPid = 2; } 
    else if(pid ==  2212)  { iPid = 3; } 
    else if(pid == -2212)  { iPid = 3; } 
    else    iPid = -1;   
    
    multFull[0][iCharge] += 1;
    if (iPid > 0 && iPid < 4)
      multFull[iPid][iCharge] += 1;

    Float_t pt = part->Pt();    
    if (pt > fPtCut) continue;
    
    mult[0][iCharge]     += 1;
    if (iPid < 1 || iPid > 3)   continue;   
    mult[iPid][iCharge] += 1;

    Float_t gEta = part->Eta();
    Float_t gY   = part->Y();

    fHistEtaY[0]->Fill(fCentrality,gEta);
    fHistEtaY[iPid]->Fill(fCentrality,gY);
    
    if (TMath::Abs(part->Eta()) > fEtaCut)  continue;
    Float_t phi = part->Phi();
    
    fHistPhiPt[0]->Fill(phi,pt);
    fHistPhiPt[iPid]->Fill(phi,pt);

    fHistPt[0][iCharge]->Fill(fCentrality,pt);
    fHistPt[iPid][iCharge]->Fill(fCentrality,pt);

    fHistPhi[0]->Fill(fCentrality,phi);
    fHistPhi[iPid]->Fill(fCentrality,phi);

  }
  
  for (Int_t i = 0; i < 4; ++i) {
    fHistMult[i][0]->Fill(fCentrality,mult[i][0]);
    fHistMult[i][1]->Fill(fCentrality,mult[i][1]);

    fHistMultTot[i][0]->Fill(fCentrality,multFull[i][0]);
    fHistMultTot[i][1]->Fill(fCentrality,multFull[i][1]);
    
  }
  
  PostData(1, fThnList);
}

void AliEbyEPidQATaskOnFlyKine::Terminate( Option_t * ){
  Info("AliEbyEPidQATaskOnFlyKine"," Task Successfully finished");
}
//________________________________________________________________________
const Char_t* AliEbyEPidQATaskOnFlyKine::fgkPidName[4]      = {"Nch","Npi","Nka","Npr"};
//________________________________________________________________________
const Char_t* AliEbyEPidQATaskOnFlyKine::fgkPidLatex[4][2]  = {{"N_{-}","N_{+}"}, {"N_{#pi^{-}}","N_{#pi^{+}}"},{"N_{K^{-}}","N_{K^{+}}"}, {"N_{#bar{p}}","N_{p}"}};
//________________________________________________________________________

 AliEbyEPidQATaskOnFlyKine.cxx:1
 AliEbyEPidQATaskOnFlyKine.cxx:2
 AliEbyEPidQATaskOnFlyKine.cxx:3
 AliEbyEPidQATaskOnFlyKine.cxx:4
 AliEbyEPidQATaskOnFlyKine.cxx:5
 AliEbyEPidQATaskOnFlyKine.cxx:6
 AliEbyEPidQATaskOnFlyKine.cxx:7
 AliEbyEPidQATaskOnFlyKine.cxx:8
 AliEbyEPidQATaskOnFlyKine.cxx:9
 AliEbyEPidQATaskOnFlyKine.cxx:10
 AliEbyEPidQATaskOnFlyKine.cxx:11
 AliEbyEPidQATaskOnFlyKine.cxx:12
 AliEbyEPidQATaskOnFlyKine.cxx:13
 AliEbyEPidQATaskOnFlyKine.cxx:14
 AliEbyEPidQATaskOnFlyKine.cxx:15
 AliEbyEPidQATaskOnFlyKine.cxx:16
 AliEbyEPidQATaskOnFlyKine.cxx:17
 AliEbyEPidQATaskOnFlyKine.cxx:18
 AliEbyEPidQATaskOnFlyKine.cxx:19
 AliEbyEPidQATaskOnFlyKine.cxx:20
 AliEbyEPidQATaskOnFlyKine.cxx:21
 AliEbyEPidQATaskOnFlyKine.cxx:22
 AliEbyEPidQATaskOnFlyKine.cxx:23
 AliEbyEPidQATaskOnFlyKine.cxx:24
 AliEbyEPidQATaskOnFlyKine.cxx:25
 AliEbyEPidQATaskOnFlyKine.cxx:26
 AliEbyEPidQATaskOnFlyKine.cxx:27
 AliEbyEPidQATaskOnFlyKine.cxx:28
 AliEbyEPidQATaskOnFlyKine.cxx:29
 AliEbyEPidQATaskOnFlyKine.cxx:30
 AliEbyEPidQATaskOnFlyKine.cxx:31
 AliEbyEPidQATaskOnFlyKine.cxx:32
 AliEbyEPidQATaskOnFlyKine.cxx:33
 AliEbyEPidQATaskOnFlyKine.cxx:34
 AliEbyEPidQATaskOnFlyKine.cxx:35
 AliEbyEPidQATaskOnFlyKine.cxx:36
 AliEbyEPidQATaskOnFlyKine.cxx:37
 AliEbyEPidQATaskOnFlyKine.cxx:38
 AliEbyEPidQATaskOnFlyKine.cxx:39
 AliEbyEPidQATaskOnFlyKine.cxx:40
 AliEbyEPidQATaskOnFlyKine.cxx:41
 AliEbyEPidQATaskOnFlyKine.cxx:42
 AliEbyEPidQATaskOnFlyKine.cxx:43
 AliEbyEPidQATaskOnFlyKine.cxx:44
 AliEbyEPidQATaskOnFlyKine.cxx:45
 AliEbyEPidQATaskOnFlyKine.cxx:46
 AliEbyEPidQATaskOnFlyKine.cxx:47
 AliEbyEPidQATaskOnFlyKine.cxx:48
 AliEbyEPidQATaskOnFlyKine.cxx:49
 AliEbyEPidQATaskOnFlyKine.cxx:50
 AliEbyEPidQATaskOnFlyKine.cxx:51
 AliEbyEPidQATaskOnFlyKine.cxx:52
 AliEbyEPidQATaskOnFlyKine.cxx:53
 AliEbyEPidQATaskOnFlyKine.cxx:54
 AliEbyEPidQATaskOnFlyKine.cxx:55
 AliEbyEPidQATaskOnFlyKine.cxx:56
 AliEbyEPidQATaskOnFlyKine.cxx:57
 AliEbyEPidQATaskOnFlyKine.cxx:58
 AliEbyEPidQATaskOnFlyKine.cxx:59
 AliEbyEPidQATaskOnFlyKine.cxx:60
 AliEbyEPidQATaskOnFlyKine.cxx:61
 AliEbyEPidQATaskOnFlyKine.cxx:62
 AliEbyEPidQATaskOnFlyKine.cxx:63
 AliEbyEPidQATaskOnFlyKine.cxx:64
 AliEbyEPidQATaskOnFlyKine.cxx:65
 AliEbyEPidQATaskOnFlyKine.cxx:66
 AliEbyEPidQATaskOnFlyKine.cxx:67
 AliEbyEPidQATaskOnFlyKine.cxx:68
 AliEbyEPidQATaskOnFlyKine.cxx:69
 AliEbyEPidQATaskOnFlyKine.cxx:70
 AliEbyEPidQATaskOnFlyKine.cxx:71
 AliEbyEPidQATaskOnFlyKine.cxx:72
 AliEbyEPidQATaskOnFlyKine.cxx:73
 AliEbyEPidQATaskOnFlyKine.cxx:74
 AliEbyEPidQATaskOnFlyKine.cxx:75
 AliEbyEPidQATaskOnFlyKine.cxx:76
 AliEbyEPidQATaskOnFlyKine.cxx:77
 AliEbyEPidQATaskOnFlyKine.cxx:78
 AliEbyEPidQATaskOnFlyKine.cxx:79
 AliEbyEPidQATaskOnFlyKine.cxx:80
 AliEbyEPidQATaskOnFlyKine.cxx:81
 AliEbyEPidQATaskOnFlyKine.cxx:82
 AliEbyEPidQATaskOnFlyKine.cxx:83
 AliEbyEPidQATaskOnFlyKine.cxx:84
 AliEbyEPidQATaskOnFlyKine.cxx:85
 AliEbyEPidQATaskOnFlyKine.cxx:86
 AliEbyEPidQATaskOnFlyKine.cxx:87
 AliEbyEPidQATaskOnFlyKine.cxx:88
 AliEbyEPidQATaskOnFlyKine.cxx:89
 AliEbyEPidQATaskOnFlyKine.cxx:90
 AliEbyEPidQATaskOnFlyKine.cxx:91
 AliEbyEPidQATaskOnFlyKine.cxx:92
 AliEbyEPidQATaskOnFlyKine.cxx:93
 AliEbyEPidQATaskOnFlyKine.cxx:94
 AliEbyEPidQATaskOnFlyKine.cxx:95
 AliEbyEPidQATaskOnFlyKine.cxx:96
 AliEbyEPidQATaskOnFlyKine.cxx:97
 AliEbyEPidQATaskOnFlyKine.cxx:98
 AliEbyEPidQATaskOnFlyKine.cxx:99
 AliEbyEPidQATaskOnFlyKine.cxx:100
 AliEbyEPidQATaskOnFlyKine.cxx:101
 AliEbyEPidQATaskOnFlyKine.cxx:102
 AliEbyEPidQATaskOnFlyKine.cxx:103
 AliEbyEPidQATaskOnFlyKine.cxx:104
 AliEbyEPidQATaskOnFlyKine.cxx:105
 AliEbyEPidQATaskOnFlyKine.cxx:106
 AliEbyEPidQATaskOnFlyKine.cxx:107
 AliEbyEPidQATaskOnFlyKine.cxx:108
 AliEbyEPidQATaskOnFlyKine.cxx:109
 AliEbyEPidQATaskOnFlyKine.cxx:110
 AliEbyEPidQATaskOnFlyKine.cxx:111
 AliEbyEPidQATaskOnFlyKine.cxx:112
 AliEbyEPidQATaskOnFlyKine.cxx:113
 AliEbyEPidQATaskOnFlyKine.cxx:114
 AliEbyEPidQATaskOnFlyKine.cxx:115
 AliEbyEPidQATaskOnFlyKine.cxx:116
 AliEbyEPidQATaskOnFlyKine.cxx:117
 AliEbyEPidQATaskOnFlyKine.cxx:118
 AliEbyEPidQATaskOnFlyKine.cxx:119
 AliEbyEPidQATaskOnFlyKine.cxx:120
 AliEbyEPidQATaskOnFlyKine.cxx:121
 AliEbyEPidQATaskOnFlyKine.cxx:122
 AliEbyEPidQATaskOnFlyKine.cxx:123
 AliEbyEPidQATaskOnFlyKine.cxx:124
 AliEbyEPidQATaskOnFlyKine.cxx:125
 AliEbyEPidQATaskOnFlyKine.cxx:126
 AliEbyEPidQATaskOnFlyKine.cxx:127
 AliEbyEPidQATaskOnFlyKine.cxx:128
 AliEbyEPidQATaskOnFlyKine.cxx:129
 AliEbyEPidQATaskOnFlyKine.cxx:130
 AliEbyEPidQATaskOnFlyKine.cxx:131
 AliEbyEPidQATaskOnFlyKine.cxx:132
 AliEbyEPidQATaskOnFlyKine.cxx:133
 AliEbyEPidQATaskOnFlyKine.cxx:134
 AliEbyEPidQATaskOnFlyKine.cxx:135
 AliEbyEPidQATaskOnFlyKine.cxx:136
 AliEbyEPidQATaskOnFlyKine.cxx:137
 AliEbyEPidQATaskOnFlyKine.cxx:138
 AliEbyEPidQATaskOnFlyKine.cxx:139
 AliEbyEPidQATaskOnFlyKine.cxx:140
 AliEbyEPidQATaskOnFlyKine.cxx:141
 AliEbyEPidQATaskOnFlyKine.cxx:142
 AliEbyEPidQATaskOnFlyKine.cxx:143
 AliEbyEPidQATaskOnFlyKine.cxx:144
 AliEbyEPidQATaskOnFlyKine.cxx:145
 AliEbyEPidQATaskOnFlyKine.cxx:146
 AliEbyEPidQATaskOnFlyKine.cxx:147
 AliEbyEPidQATaskOnFlyKine.cxx:148
 AliEbyEPidQATaskOnFlyKine.cxx:149
 AliEbyEPidQATaskOnFlyKine.cxx:150
 AliEbyEPidQATaskOnFlyKine.cxx:151
 AliEbyEPidQATaskOnFlyKine.cxx:152
 AliEbyEPidQATaskOnFlyKine.cxx:153
 AliEbyEPidQATaskOnFlyKine.cxx:154
 AliEbyEPidQATaskOnFlyKine.cxx:155
 AliEbyEPidQATaskOnFlyKine.cxx:156
 AliEbyEPidQATaskOnFlyKine.cxx:157
 AliEbyEPidQATaskOnFlyKine.cxx:158
 AliEbyEPidQATaskOnFlyKine.cxx:159
 AliEbyEPidQATaskOnFlyKine.cxx:160
 AliEbyEPidQATaskOnFlyKine.cxx:161
 AliEbyEPidQATaskOnFlyKine.cxx:162
 AliEbyEPidQATaskOnFlyKine.cxx:163
 AliEbyEPidQATaskOnFlyKine.cxx:164
 AliEbyEPidQATaskOnFlyKine.cxx:165
 AliEbyEPidQATaskOnFlyKine.cxx:166
 AliEbyEPidQATaskOnFlyKine.cxx:167
 AliEbyEPidQATaskOnFlyKine.cxx:168
 AliEbyEPidQATaskOnFlyKine.cxx:169
 AliEbyEPidQATaskOnFlyKine.cxx:170
 AliEbyEPidQATaskOnFlyKine.cxx:171
 AliEbyEPidQATaskOnFlyKine.cxx:172
 AliEbyEPidQATaskOnFlyKine.cxx:173
 AliEbyEPidQATaskOnFlyKine.cxx:174
 AliEbyEPidQATaskOnFlyKine.cxx:175
 AliEbyEPidQATaskOnFlyKine.cxx:176
 AliEbyEPidQATaskOnFlyKine.cxx:177
 AliEbyEPidQATaskOnFlyKine.cxx:178
 AliEbyEPidQATaskOnFlyKine.cxx:179
 AliEbyEPidQATaskOnFlyKine.cxx:180
 AliEbyEPidQATaskOnFlyKine.cxx:181
 AliEbyEPidQATaskOnFlyKine.cxx:182
 AliEbyEPidQATaskOnFlyKine.cxx:183
 AliEbyEPidQATaskOnFlyKine.cxx:184
 AliEbyEPidQATaskOnFlyKine.cxx:185
 AliEbyEPidQATaskOnFlyKine.cxx:186
 AliEbyEPidQATaskOnFlyKine.cxx:187
 AliEbyEPidQATaskOnFlyKine.cxx:188
 AliEbyEPidQATaskOnFlyKine.cxx:189
 AliEbyEPidQATaskOnFlyKine.cxx:190
 AliEbyEPidQATaskOnFlyKine.cxx:191
 AliEbyEPidQATaskOnFlyKine.cxx:192
 AliEbyEPidQATaskOnFlyKine.cxx:193
 AliEbyEPidQATaskOnFlyKine.cxx:194
 AliEbyEPidQATaskOnFlyKine.cxx:195
 AliEbyEPidQATaskOnFlyKine.cxx:196
 AliEbyEPidQATaskOnFlyKine.cxx:197
 AliEbyEPidQATaskOnFlyKine.cxx:198
 AliEbyEPidQATaskOnFlyKine.cxx:199
 AliEbyEPidQATaskOnFlyKine.cxx:200
 AliEbyEPidQATaskOnFlyKine.cxx:201
 AliEbyEPidQATaskOnFlyKine.cxx:202
 AliEbyEPidQATaskOnFlyKine.cxx:203
 AliEbyEPidQATaskOnFlyKine.cxx:204
 AliEbyEPidQATaskOnFlyKine.cxx:205
 AliEbyEPidQATaskOnFlyKine.cxx:206
 AliEbyEPidQATaskOnFlyKine.cxx:207
 AliEbyEPidQATaskOnFlyKine.cxx:208
 AliEbyEPidQATaskOnFlyKine.cxx:209
 AliEbyEPidQATaskOnFlyKine.cxx:210
 AliEbyEPidQATaskOnFlyKine.cxx:211
 AliEbyEPidQATaskOnFlyKine.cxx:212
 AliEbyEPidQATaskOnFlyKine.cxx:213
 AliEbyEPidQATaskOnFlyKine.cxx:214
 AliEbyEPidQATaskOnFlyKine.cxx:215
 AliEbyEPidQATaskOnFlyKine.cxx:216
 AliEbyEPidQATaskOnFlyKine.cxx:217
 AliEbyEPidQATaskOnFlyKine.cxx:218
 AliEbyEPidQATaskOnFlyKine.cxx:219
 AliEbyEPidQATaskOnFlyKine.cxx:220
 AliEbyEPidQATaskOnFlyKine.cxx:221
 AliEbyEPidQATaskOnFlyKine.cxx:222
 AliEbyEPidQATaskOnFlyKine.cxx:223
 AliEbyEPidQATaskOnFlyKine.cxx:224
 AliEbyEPidQATaskOnFlyKine.cxx:225
 AliEbyEPidQATaskOnFlyKine.cxx:226
 AliEbyEPidQATaskOnFlyKine.cxx:227
 AliEbyEPidQATaskOnFlyKine.cxx:228
 AliEbyEPidQATaskOnFlyKine.cxx:229
 AliEbyEPidQATaskOnFlyKine.cxx:230
 AliEbyEPidQATaskOnFlyKine.cxx:231
 AliEbyEPidQATaskOnFlyKine.cxx:232
 AliEbyEPidQATaskOnFlyKine.cxx:233
 AliEbyEPidQATaskOnFlyKine.cxx:234
 AliEbyEPidQATaskOnFlyKine.cxx:235
 AliEbyEPidQATaskOnFlyKine.cxx:236
 AliEbyEPidQATaskOnFlyKine.cxx:237
 AliEbyEPidQATaskOnFlyKine.cxx:238
 AliEbyEPidQATaskOnFlyKine.cxx:239
 AliEbyEPidQATaskOnFlyKine.cxx:240
 AliEbyEPidQATaskOnFlyKine.cxx:241
 AliEbyEPidQATaskOnFlyKine.cxx:242
 AliEbyEPidQATaskOnFlyKine.cxx:243
 AliEbyEPidQATaskOnFlyKine.cxx:244
 AliEbyEPidQATaskOnFlyKine.cxx:245