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.                  *
 **************************************************************************/

// AliAnalysisTaskQAflow: some simple QA used in flow analysis

#include "TMath.h"
#include "TH1D.h"
#include "TH2D.h"
#include "TSeqCollection.h"
#include "TObjArray.h"
#include "TObjArray.h"
#include "TChain.h"
#include "TMCProcess.h"
#include "TLorentzVector.h"
#include "TDirectory.h"
#include "TROOT.h"
#include "TNtuple.h"

#include "AliLog.h"
#include "AliVParticle.h"
#include "AliMCParticle.h"
#include "AliStack.h"
#include "AliVEvent.h"
#include "AliESDEvent.h"
#include "AliMCEvent.h"
#include "AliESDVZERO.h"
#include "AliESDZDC.h"
#include "AliESDtrack.h"
#include "AliFlowTrackCuts.h"
#include "AliFlowEventCuts.h"
#include "AliMultiplicity.h"
#include "AliESDtrackCuts.h"
#include "AliVertex.h"
#include "AliFlowEventSimple.h"
#include "AliFlowEvent.h"
#include "AliFlowVector.h"

#include "AliAnalysisTaskSE.h"
#include "AliAnalysisManager.h"
#include "AliInputEventHandler.h"

#include "AliAnalysisTaskQAflow.h"

ClassImp(AliAnalysisTaskQAflow)

//________________________________________________________________________
AliAnalysisTaskQAflow::AliAnalysisTaskQAflow()
  : AliAnalysisTaskSE(),
    fOutput(NULL),
    fFillNtuple(kFALSE),
    fDoCorrelations(kFALSE),
    fNtuple(NULL),
    fEventCuts(NULL),
    fTrackCuts(NULL)
{
  // Default constructor
}

//________________________________________________________________________
AliAnalysisTaskQAflow::AliAnalysisTaskQAflow(const char* name)
  : AliAnalysisTaskSE(name),
    fOutput(NULL),
    fFillNtuple(kFALSE),
    fDoCorrelations(kFALSE),
    fNtuple(NULL),
    fEventCuts(NULL),
    fTrackCuts(NULL)
{
  // Constructor
  DefineInput(1, AliFlowEventSimple::Class());
  DefineOutput(1, TObjArray::Class());
  DefineOutput(2,TNtuple::Class());
}

//________________________________________________________________________
void AliAnalysisTaskQAflow::UserCreateOutputObjects()
{
  // Called once at the beginning
  fOutput=new TObjArray();
  fNtuple = new TNtuple("flowQAtree","flowQAtree","mpt:qx:qy:mul:rmul:phys:vtxtpcx:vtxtpcy:vtxtpcz:ntra:ntrc:mv0a:mv0c:zdcp1:zdcn1:zdcp2:zdcn2:zdcpart1:zdcpart2:t1:t2:t3:t4:t5:vtxspdx:vtxspdy:vtxspdz:vtxx:vtxy:vtxz:rawmeanpt:maxpt:qxp:qyp:qxn:qyn:qxa:qya:qxb:qyb:qm:qmp:qmn:qma:qmb");
  //TDirectory* before = gDirectory->mkdir("before cuts","before cuts");
  //TDirectory* after = gDirectory->mkdir("after cuts","after cuts");
  TObjArray* before = new TObjArray();
  TObjArray* after = new TObjArray();
  fOutput->Add(before);
  fOutput->Add(after);

  //define histograms

  TH1* hist;  
  hist = new TH1I("all_tracklet_multiplicity","all tracklets",5000,0,5000);
  before->Add(hist); after->Add(hist->Clone()); //0
  hist = new TH1I("rptrack_multiplicity", "RP selection track multiplicity",5000,0,5000);
  before->Add(hist); after->Add(hist->Clone()); //1
  hist = new TH1I("rprefmult","RP selection refmult",30000, 0,30000);
  before->Add(hist); after->Add(hist->Clone()); //2
  hist = new TH1I("SPD_clusters","SPD clusters",10000,0,10000);
  before->Add(hist); after->Add(hist->Clone()); //3
  hist = new TH1D("primary_vertexZ","primary vertex z",1000,-20,20);
  before->Add(hist); after->Add(hist->Clone()); //4
  hist = new TH1I("ITS_clusters_on_track", "ITS clusters on track", 8, 0, 8);
  before->Add(hist); after->Add(hist->Clone()); //5
  hist = new TH1I("TPC_clusters_on_track", "TPC clusters on track", 159, 1, 160);
  before->Add(hist); after->Add(hist->Clone()); //6
  hist = new TH1D("TPC_chi2_per_cluster","TPC #chi^{2}/cluster",1000,0.0,5.0);
  before->Add(hist); after->Add(hist->Clone()); //7
  hist = new TH1D("DCA_xy","DCA xy", 1000, -5.0, 5.0 );
  before->Add(hist); after->Add(hist->Clone()); //8
  hist = new TH1D("DCA_z","DCA z", 1000, -5.0, 5.0 );
  before->Add(hist); after->Add(hist->Clone()); //9
  hist = new TH1D("phi_tracklets","#phi tracklets", 1000, 0.0, TMath::TwoPi() );
  before->Add(hist); after->Add(hist->Clone()); //10
  hist = new TH1D("phi_tracks","#phi tracks", 1000, 0.0, TMath::TwoPi() );
  before->Add(hist); after->Add(hist->Clone()); //11
  hist = new TH1D("eta_tracklets","#eta tracklets", 1000, -2.0, 2.0 );
  before->Add(hist); after->Add(hist->Clone()); //12
  hist = new TH1D("eta_tracks","#eta tracks", 1000, -2.0, 2.0 );
  before->Add(hist); after->Add(hist->Clone()); //13
  hist = new TH1D("TPC_vertex_z", "TPC vertex z", 1000,-20.0,20.0);
  before->Add(hist); after->Add(hist->Clone()); //14
  hist = new TH1D("ptyield", "p_{t} spectrum", 10000,0.0,10.0);
  before->Add(hist); after->Add(hist->Clone()); //15
  hist = new TH1D("ptyieldplus", "p_{t} spectrum +", 10000,0.0,10.0);
  before->Add(hist); after->Add(hist->Clone()); //16
  hist = new TH1D("ptyieldneg", "p_{t} spectrum -", 10000,0.0,10.0);
  before->Add(hist); after->Add(hist->Clone()); //17
  hist = new TH1D("charges", "charge distribution", 5,-2.5,2.5);
  before->Add(hist); after->Add(hist->Clone()); //18
  hist = new TH1D("dphivsdeta", "#Delta#phi separation", 10000,-TMath::PiOver2(),TMath::Pi()+TMath::PiOver2());
  before->Add(hist); after->Add(hist->Clone()); //19
  hist = new TH1I("standardTPC_multiplicity", "standard TPC track multiplicity",10000,0,10000);
  before->Add(hist); after->Add(hist->Clone()); //20
  hist = new TH1I("standardV0_multiplicity", "standard V0 multiplicity",30000,0,30000);
  before->Add(hist); after->Add(hist->Clone()); //21
  hist = new TH1I("standardSPD1clusters_multiplicity", "standard SPD1 clusters multiplicity",30000,0,30000);
  before->Add(hist); after->Add(hist->Clone()); //22
  hist = new TH1I("standardSPDtracklets_multiplicity", "standard SPD tracklets multiplicity",30000,0,30000);
  before->Add(hist); after->Add(hist->Clone()); //23
  
  //post data here as it doesn't change anyway (the pointer to list anyway)

  PostData(1, fOutput);
  PostData(2, fNtuple);
}

//________________________________________________________________________
void AliAnalysisTaskQAflow::UserExec(Option_t *)
{

  //get teh input data
  AliESDEvent* event = dynamic_cast<AliESDEvent*>(InputEvent());
  if (!event)
  {
    AliFatal("no ESD event");
    return;
  }
  fTrackCuts->SetEvent(event);

  //TObjArray* before = ((TDirectory*)fOutput->At(0))->GetList();
  //TObjArray* after = ((TDirectory*)fOutput->At(1))->GetList();
  TObjArray* before = (TObjArray*)fOutput->At(0);
  TObjArray* after = (TObjArray*)fOutput->At(1);
  TH1* htrackletmultB = static_cast<TH1*>(before->At(0));
  TH1* htrackletmultA = static_cast<TH1*>(after->At(0));
  TH1* htrackmultB = static_cast<TH1*>(before->At(1));
  TH1* htrackmultA = static_cast<TH1*>(after->At(1));
  TH1* hrefmultB = static_cast<TH1*>(before->At(2));
  TH1* hrefmultA = static_cast<TH1*>(after->At(2));
  TH1* hspdclustersB = static_cast<TH1*>(before->At(3));
  TH1* hspdclustersA = static_cast<TH1*>(after->At(3));
  TH1* hprimvtxzB = static_cast<TH1*>(before->At(4));
  TH1* hprimvtxzA = static_cast<TH1*>(after->At(4));

  TH1* hITSclsB = static_cast<TH1*>(before->At(5));
  TH1* hITSclsA = static_cast<TH1*>(after->At(5));
  TH1* hTPCclsB = static_cast<TH1*>(before->At(6));
  TH1* hTPCclsA = static_cast<TH1*>(after->At(6));
  TH1* hTPCchi2B = static_cast<TH1*>(before->At(7));
  TH1* hTPCchi2A = static_cast<TH1*>(after->At(7));
  TH1* hdcaxyB = static_cast<TH1*>(before->At(8));
  TH1* hdcaxyA = static_cast<TH1*>(after->At(8));
  TH1* hdcazB = static_cast<TH1*>(before->At(9));
  TH1* hdcazA = static_cast<TH1*>(after->At(9));
  TH1* hphitrackletsB = static_cast<TH1*>(before->At(10));
  TH1* hphitrackletsA = static_cast<TH1*>(after->At(10));
  TH1* hphitracksB = static_cast<TH1*>(before->At(11));
  TH1* hphitracksA = static_cast<TH1*>(after->At(11));
  TH1* hetatrackletsB = static_cast<TH1*>(before->At(12));
  TH1* hetatrackletsA = static_cast<TH1*>(after->At(12));
  TH1* hetatracksB = static_cast<TH1*>(before->At(13));
  TH1* hetatracksA = static_cast<TH1*>(after->At(13));
  TH1* hprimvtxzTPCB = static_cast<TH1*>(before->At(14));
  TH1* hprimvtxzTPCA = static_cast<TH1*>(after->At(14));
  TH1* hptyieldB = static_cast<TH1*>(before->At(15));
  TH1* hptyieldA = static_cast<TH1*>(after->At(15));
  TH1* hptyieldplusB = static_cast<TH1*>(before->At(16));
  TH1* hptyieldplusA = static_cast<TH1*>(after->At(16));
  TH1* hptyieldnegB = static_cast<TH1*>(before->At(17));
  TH1* hptyieldnegA = static_cast<TH1*>(after->At(17));
  TH1* hchargesB = static_cast<TH1*>(before->At(18));
  TH1* hchargesA = static_cast<TH1*>(after->At(18));
  TH1* hphisepB = static_cast<TH1*>(before->At(19));
  TH1* hphisepA = static_cast<TH1*>(after->At(19));
  TH1* hstdtpcmultB = static_cast<TH1*>(before->At(20));
  TH1* hstdtpcmultA = static_cast<TH1*>(after->At(20));
  TH1* hstdv0multB = static_cast<TH1*>(before->At(21));
  TH1* hstdv0multA = static_cast<TH1*>(after->At(21));
  TH1* hstdspd1clsmultB = static_cast<TH1*>(before->At(22));
  TH1* hstdspd1clsmultA = static_cast<TH1*>(after->At(22));
  TH1* hstdspdtrmultB = static_cast<TH1*>(before->At(23));
  TH1* hstdspdtrmultA = static_cast<TH1*>(after->At(23));

  Bool_t passevent = fEventCuts->IsSelected(event,0x0);
  Bool_t isSelectedEventSelection = (((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected() & AliVEvent::kMB);

  AliMultiplicity* tracklets = const_cast<AliMultiplicity*>(event->GetMultiplicity());
  Int_t ntracklets=0;
  Int_t nspdclusters=0;
  Int_t ntrackletsA=0;
  Int_t ntrackletsC=0;
  if (tracklets)
  {
    ntracklets = tracklets->GetNumberOfTracklets();
    nspdclusters = tracklets->GetNumberOfITSClusters(0,1);
    for (Int_t i=0; i<tracklets->GetNumberOfTracklets(); i++)
    {
      Bool_t pass=fTrackCuts->IsSelected(tracklets,i);
      Float_t phi=tracklets->GetPhi(i);
      Float_t eta=tracklets->GetEta(i);
      hphitrackletsB->Fill(phi); if (pass) hphitrackletsA->Fill(phi);
      hetatrackletsB->Fill(eta); if (pass) hetatrackletsA->Fill(eta); 
      if (eta>0) ntrackletsC++;
      else ntrackletsA++;
    }
  }

  AliFlowEventCuts stdtpcrefmultcuts;
  stdtpcrefmultcuts.SetRefMultMethod(AliFlowEventCuts::kTPConly);
  AliFlowEventCuts stdv0refmultcuts;
  stdv0refmultcuts.SetRefMultMethod(AliFlowEventCuts::kV0);
  AliFlowEventCuts stdspd1refmult;
  stdspd1refmult.SetRefMultMethod(AliFlowEventCuts::kSPD1clusters);
  AliFlowEventCuts stdspdrefmult;
  stdspdrefmult.SetRefMultMethod(AliFlowEventCuts::kSPDtracklets);

  AliFlowEventSimple* flowevent=NULL;
  AliFlowEventSimple* floweventin = dynamic_cast<AliFlowEventSimple*>(GetInputData(1));
  if (!floweventin) flowevent = new AliFlowEvent(fTrackCuts,fTrackCuts);
  else flowevent = new AliFlowEventSimple(*floweventin);

  Int_t rpmult = flowevent->GetReferenceMultiplicity();
  Int_t refmult = fEventCuts->RefMult(event);
  Int_t refmultv0 = stdv0refmultcuts.RefMult(event);
  Int_t refmulttpc = stdtpcrefmultcuts.RefMult(event);
  Int_t refmultspdtr = stdspdrefmult.RefMult(event);
  Int_t refmultspdcls = stdspd1refmult.RefMult(event);

  htrackletmultB->Fill(ntracklets); if (passevent) htrackletmultA->Fill(ntracklets); 
  htrackmultB->Fill(rpmult); if (passevent) htrackmultA->Fill(rpmult); 
  hrefmultB->Fill(refmult); if (passevent) hrefmultA->Fill( refmult); 
  hstdv0multB->Fill(refmultv0); if (passevent) hstdv0multA->Fill( refmultv0);
  hstdtpcmultB->Fill(refmulttpc); if (passevent) hstdtpcmultA->Fill( refmulttpc);
  hstdspd1clsmultB->Fill(refmultspdcls); if (passevent) hstdspd1clsmultA->Fill( refmultspdcls);
  hstdspdtrmultB->Fill(refmultspdtr); if (passevent) hstdspdtrmultA->Fill( refmultspdtr);

  hspdclustersB->Fill(nspdclusters); if (passevent) hspdclustersA->Fill( nspdclusters);
  const AliVertex* vertex = event->GetPrimaryVertex();
  Float_t vtxz=0.0;
  Float_t vtxx=0.0;
  Float_t vtxy=0.0;
  if (vertex)
  {
    vtxz = vertex->GetZ();
    vtxx = vertex->GetX();
    vtxy = vertex->GetY();
    hprimvtxzB->Fill(vtxz); if (passevent) hprimvtxzA->Fill(vtxz);
  }
  const AliVertex* vertextpc = event->GetPrimaryVertexTPC();
  Float_t vtxTPCx=0.0;
  Float_t vtxTPCy=0.0;
  Float_t vtxTPCz=0.0;
  if (vertextpc)
  {
    vtxTPCx = vertextpc->GetX();
    vtxTPCy = vertextpc->GetY();
    vtxTPCz = vertextpc->GetZ();
    hprimvtxzTPCB->Fill(vtxTPCz); if (passevent) hprimvtxzTPCA->Fill(vtxTPCz);
  }
  const AliVertex* vertexspd = event->GetPrimaryVertexSPD();
  Float_t vtxSPDx=0.0;
  Float_t vtxSPDy=0.0;
  Float_t vtxSPDz=0.0;
  if (vertexspd)
  {
    vtxSPDx = vertexspd->GetX();
    vtxSPDy = vertexspd->GetY();
    vtxSPDz = vertexspd->GetZ();
  }
  AliESDVZERO* vzero=event->GetVZEROData();
  AliESDZDC* zdc=event->GetESDZDC();
  Float_t mv0a=vzero->GetMTotV0A();
  Float_t mv0c=vzero->GetMTotV0C();
  Float_t zdcp1=zdc->GetZDCP1Energy();
  Float_t zdcn1=zdc->GetZDCN1Energy();
  Float_t zdcp2=zdc->GetZDCP2Energy();
  Float_t zdcn2=zdc->GetZDCN2Energy();
  Float_t zdcpart1=zdc->GetZDCPartSideA();
  Float_t zdcpart2=zdc->GetZDCPartSideC();
  Float_t meanpt=0.;
  Float_t rawmeanpt=0.;
  Float_t maxpt=0.0;
  Int_t ntracks=fTrackCuts->GetNumberOfInputObjects();
  Int_t nselected=0;
  for (Int_t i=0; i<ntracks; i++)
  {
    TObject* obj = fTrackCuts->GetInputObject(i);
    if (!obj) continue;
    Bool_t pass = fTrackCuts->IsSelected(obj,i);
    if (pass) nselected++;
    Float_t dcaxy=0.0;
    Float_t dcaz=0.0;
    Float_t tpcchi2=0.0;
    Float_t tpcchi2percls=0.0;
    Int_t ntpccls=0;
    Int_t nitscls=0;
    Float_t eta=0.0;
    Float_t phi=0.0;
    Float_t pt=0.0;
    Short_t charge=0;
    AliESDtrack* track = dynamic_cast<AliESDtrack*>(fTrackCuts->GetTrack());
    if (track)
    {
      track->GetImpactParameters(dcaxy,dcaz);
      tpcchi2=track->GetTPCchi2();
      ntpccls=track->GetTPCNcls();
      eta=track->Eta();
      phi=track->Phi();
      pt=track->Pt();
      if (pt>maxpt) maxpt=pt;
      charge=track->Charge();
      rawmeanpt+=pt;
      if (pass) meanpt+=pt;
      tpcchi2percls= (ntpccls==0)?0.0:tpcchi2/ntpccls;
      nitscls = track->GetNcls(0);
      hITSclsB->Fill(nitscls); if (pass) hITSclsA->Fill( nitscls);
      hTPCclsB->Fill(ntpccls); if (pass) hTPCclsA->Fill( ntpccls);
      hTPCchi2B->Fill(tpcchi2percls); if (pass) hTPCchi2A->Fill( tpcchi2percls);
      hdcaxyB->Fill(dcaxy); if (pass) hdcaxyA->Fill( dcaxy);
      hdcazB->Fill(dcaz); if (pass) hdcazA->Fill(dcaz);
      hetatracksB->Fill(eta); if (pass) hetatracksA->Fill(eta);
      hphitracksB->Fill(phi); if (pass) hphitracksA->Fill(phi);
      hptyieldB->Fill(pt); if (pass) hptyieldA->Fill(pt);
      if (charge>0) {hptyieldplusB->Fill(pt); if (pass) hptyieldplusA->Fill(pt);}
      if (charge<0) {hptyieldnegB->Fill(pt); if (pass) hptyieldnegA->Fill(pt);}
      hchargesB->Fill(charge); if (pass) hchargesA->Fill(charge);
      /////////////////////////////////////////////////////////////////////////////
      ////  correlation part   ///////////////////////
      /////////////////////////////////////////
      if (fDoCorrelations)
      {
        for (Int_t j=i+1; j<ntracks; j++)
        {
          TObject* obj2 = fTrackCuts->GetInputObject(j);
          if (!obj2) continue;
          Bool_t pass2 = fTrackCuts->IsSelected(obj2,j);
          AliESDtrack* track2 = dynamic_cast<AliESDtrack*>(fTrackCuts->GetTrack());
          if (track2)
          {
            Double_t dphi = phi-track2->Phi();
            hphisepB->Fill(dphi); if (pass&&pass2) hphisepA->Fill(dphi);
          }
        }
      }//correlations
    }
  }
  if (nselected!=0) meanpt = meanpt/nselected;
  if (ntracks!=0) rawmeanpt = rawmeanpt/ntracks;
  
  ///////////////////////////////////////////////////////////////////////
  if (fFillNtuple)
  {
    Double_t qx = 0.0;
    Double_t qy = 0.0;
    Double_t qm = 0.0;
    Double_t qxp = 0.0;
    Double_t qyp = 0.0;
    Double_t qmp = 0.0;
    Double_t qxn = 0.0;
    Double_t qyn = 0.0;
    Double_t qmn = 0.0;
    Double_t qxa = 0.0;
    Double_t qya = 0.0;
    Double_t qma = 0.0;
    Double_t qxb = 0.0;
    Double_t qyb = 0.0;
    Double_t qmb = 0.0;

    AliFlowVector qvec[2];

    qvec[0] = flowevent->GetQ(2);
    qx = qvec[0].X();
    qy = qvec[0].Y();
    qm = qvec[0].GetMult();
    flowevent->TagSubeventsByCharge();
    flowevent->Get2Qsub(qvec,2);
    qxp = qvec[0].X();
    qyp = qvec[0].Y();
    qmp = qvec[0].GetMult();
    qxn = qvec[1].X();
    qyn = qvec[1].Y();
    qmn = qvec[1].GetMult();
    flowevent->TagSubeventsInEta(-0.8,-0.1,0.1,0.8);
    flowevent->Get2Qsub(qvec,2);
    qxa = qvec[0].X();
    qya = qvec[0].Y();
    qma = qvec[0].GetMult();
    qxb = qvec[1].X();
    qyb = qvec[1].Y();
    qmb = qvec[1].GetMult();


    Float_t x[45];
    x[0]=meanpt; x[1]=qx; x[2]=qy; x[3]=rpmult; x[4]=refmult; x[5]=(isSelectedEventSelection)?1:0;
    x[6]=vtxTPCx; x[7]=vtxTPCy; x[8]=vtxTPCz; x[9]=ntrackletsA; x[10]=ntrackletsC;
    x[11]=mv0a; x[12]=mv0c; x[13]=zdcp1; x[14]=zdcn1; x[15]=zdcp2; x[16]=zdcn2;
    x[17]=zdcpart1; x[18]=zdcpart2;
    x[19]=0; if (event->IsTriggerClassFired("CMBAC-B-NOPF-ALL"))  x[19]=1;
    x[20]=0; if (event->IsTriggerClassFired("CMBS2C-B-NOPF-ALL")) x[20]=1;
    x[21]=0; if (event->IsTriggerClassFired("CMBS2A-B-NOPF-ALL")) x[21]=1;
    x[22]=0; if (event->IsTriggerClassFired("CMBAC-A-NOPF-ALL"))  x[22]=1;
    x[23]=0; if (event->IsTriggerClassFired("CMBAC-C-NOPF-ALL"))  x[23]=1;
    x[24]=vtxSPDx;
    x[25]=vtxSPDy;
    x[26]=vtxSPDz;
    x[27]=vtxx;
    x[28]=vtxy;
    x[29]=vtxz;
    x[30]=rawmeanpt;
    x[31]=maxpt;
    x[32]=qxp;
    x[33]=qyp;
    x[34]=qxn;
    x[35]=qyn;
    x[36]=qxa;
    x[37]=qya;
    x[38]=qxb;
    x[39]=qyb;
    x[40]=qm;
    x[41]=qmp;
    x[42]=qmn;
    x[43]=qma;
    x[44]=qmb;
    fNtuple->Fill(x);
  }//if flowevent

  delete flowevent;
}

//________________________________________________________________________
void AliAnalysisTaskQAflow::Terminate(Option_t *)
{
  
}

//________________________________________________________________________
AliAnalysisTaskQAflow::~AliAnalysisTaskQAflow()
{
  //dtor
  delete fTrackCuts;
  delete fEventCuts;
}
 AliAnalysisTaskQAflow.cxx:1
 AliAnalysisTaskQAflow.cxx:2
 AliAnalysisTaskQAflow.cxx:3
 AliAnalysisTaskQAflow.cxx:4
 AliAnalysisTaskQAflow.cxx:5
 AliAnalysisTaskQAflow.cxx:6
 AliAnalysisTaskQAflow.cxx:7
 AliAnalysisTaskQAflow.cxx:8
 AliAnalysisTaskQAflow.cxx:9
 AliAnalysisTaskQAflow.cxx:10
 AliAnalysisTaskQAflow.cxx:11
 AliAnalysisTaskQAflow.cxx:12
 AliAnalysisTaskQAflow.cxx:13
 AliAnalysisTaskQAflow.cxx:14
 AliAnalysisTaskQAflow.cxx:15
 AliAnalysisTaskQAflow.cxx:16
 AliAnalysisTaskQAflow.cxx:17
 AliAnalysisTaskQAflow.cxx:18
 AliAnalysisTaskQAflow.cxx:19
 AliAnalysisTaskQAflow.cxx:20
 AliAnalysisTaskQAflow.cxx:21
 AliAnalysisTaskQAflow.cxx:22
 AliAnalysisTaskQAflow.cxx:23
 AliAnalysisTaskQAflow.cxx:24
 AliAnalysisTaskQAflow.cxx:25
 AliAnalysisTaskQAflow.cxx:26
 AliAnalysisTaskQAflow.cxx:27
 AliAnalysisTaskQAflow.cxx:28
 AliAnalysisTaskQAflow.cxx:29
 AliAnalysisTaskQAflow.cxx:30
 AliAnalysisTaskQAflow.cxx:31
 AliAnalysisTaskQAflow.cxx:32
 AliAnalysisTaskQAflow.cxx:33
 AliAnalysisTaskQAflow.cxx:34
 AliAnalysisTaskQAflow.cxx:35
 AliAnalysisTaskQAflow.cxx:36
 AliAnalysisTaskQAflow.cxx:37
 AliAnalysisTaskQAflow.cxx:38
 AliAnalysisTaskQAflow.cxx:39
 AliAnalysisTaskQAflow.cxx:40
 AliAnalysisTaskQAflow.cxx:41
 AliAnalysisTaskQAflow.cxx:42
 AliAnalysisTaskQAflow.cxx:43
 AliAnalysisTaskQAflow.cxx:44
 AliAnalysisTaskQAflow.cxx:45
 AliAnalysisTaskQAflow.cxx:46
 AliAnalysisTaskQAflow.cxx:47
 AliAnalysisTaskQAflow.cxx:48
 AliAnalysisTaskQAflow.cxx:49
 AliAnalysisTaskQAflow.cxx:50
 AliAnalysisTaskQAflow.cxx:51
 AliAnalysisTaskQAflow.cxx:52
 AliAnalysisTaskQAflow.cxx:53
 AliAnalysisTaskQAflow.cxx:54
 AliAnalysisTaskQAflow.cxx:55
 AliAnalysisTaskQAflow.cxx:56
 AliAnalysisTaskQAflow.cxx:57
 AliAnalysisTaskQAflow.cxx:58
 AliAnalysisTaskQAflow.cxx:59
 AliAnalysisTaskQAflow.cxx:60
 AliAnalysisTaskQAflow.cxx:61
 AliAnalysisTaskQAflow.cxx:62
 AliAnalysisTaskQAflow.cxx:63
 AliAnalysisTaskQAflow.cxx:64
 AliAnalysisTaskQAflow.cxx:65
 AliAnalysisTaskQAflow.cxx:66
 AliAnalysisTaskQAflow.cxx:67
 AliAnalysisTaskQAflow.cxx:68
 AliAnalysisTaskQAflow.cxx:69
 AliAnalysisTaskQAflow.cxx:70
 AliAnalysisTaskQAflow.cxx:71
 AliAnalysisTaskQAflow.cxx:72
 AliAnalysisTaskQAflow.cxx:73
 AliAnalysisTaskQAflow.cxx:74
 AliAnalysisTaskQAflow.cxx:75
 AliAnalysisTaskQAflow.cxx:76
 AliAnalysisTaskQAflow.cxx:77
 AliAnalysisTaskQAflow.cxx:78
 AliAnalysisTaskQAflow.cxx:79
 AliAnalysisTaskQAflow.cxx:80
 AliAnalysisTaskQAflow.cxx:81
 AliAnalysisTaskQAflow.cxx:82
 AliAnalysisTaskQAflow.cxx:83
 AliAnalysisTaskQAflow.cxx:84
 AliAnalysisTaskQAflow.cxx:85
 AliAnalysisTaskQAflow.cxx:86
 AliAnalysisTaskQAflow.cxx:87
 AliAnalysisTaskQAflow.cxx:88
 AliAnalysisTaskQAflow.cxx:89
 AliAnalysisTaskQAflow.cxx:90
 AliAnalysisTaskQAflow.cxx:91
 AliAnalysisTaskQAflow.cxx:92
 AliAnalysisTaskQAflow.cxx:93
 AliAnalysisTaskQAflow.cxx:94
 AliAnalysisTaskQAflow.cxx:95
 AliAnalysisTaskQAflow.cxx:96
 AliAnalysisTaskQAflow.cxx:97
 AliAnalysisTaskQAflow.cxx:98
 AliAnalysisTaskQAflow.cxx:99
 AliAnalysisTaskQAflow.cxx:100
 AliAnalysisTaskQAflow.cxx:101
 AliAnalysisTaskQAflow.cxx:102
 AliAnalysisTaskQAflow.cxx:103
 AliAnalysisTaskQAflow.cxx:104
 AliAnalysisTaskQAflow.cxx:105
 AliAnalysisTaskQAflow.cxx:106
 AliAnalysisTaskQAflow.cxx:107
 AliAnalysisTaskQAflow.cxx:108
 AliAnalysisTaskQAflow.cxx:109
 AliAnalysisTaskQAflow.cxx:110
 AliAnalysisTaskQAflow.cxx:111
 AliAnalysisTaskQAflow.cxx:112
 AliAnalysisTaskQAflow.cxx:113
 AliAnalysisTaskQAflow.cxx:114
 AliAnalysisTaskQAflow.cxx:115
 AliAnalysisTaskQAflow.cxx:116
 AliAnalysisTaskQAflow.cxx:117
 AliAnalysisTaskQAflow.cxx:118
 AliAnalysisTaskQAflow.cxx:119
 AliAnalysisTaskQAflow.cxx:120
 AliAnalysisTaskQAflow.cxx:121
 AliAnalysisTaskQAflow.cxx:122
 AliAnalysisTaskQAflow.cxx:123
 AliAnalysisTaskQAflow.cxx:124
 AliAnalysisTaskQAflow.cxx:125
 AliAnalysisTaskQAflow.cxx:126
 AliAnalysisTaskQAflow.cxx:127
 AliAnalysisTaskQAflow.cxx:128
 AliAnalysisTaskQAflow.cxx:129
 AliAnalysisTaskQAflow.cxx:130
 AliAnalysisTaskQAflow.cxx:131
 AliAnalysisTaskQAflow.cxx:132
 AliAnalysisTaskQAflow.cxx:133
 AliAnalysisTaskQAflow.cxx:134
 AliAnalysisTaskQAflow.cxx:135
 AliAnalysisTaskQAflow.cxx:136
 AliAnalysisTaskQAflow.cxx:137
 AliAnalysisTaskQAflow.cxx:138
 AliAnalysisTaskQAflow.cxx:139
 AliAnalysisTaskQAflow.cxx:140
 AliAnalysisTaskQAflow.cxx:141
 AliAnalysisTaskQAflow.cxx:142
 AliAnalysisTaskQAflow.cxx:143
 AliAnalysisTaskQAflow.cxx:144
 AliAnalysisTaskQAflow.cxx:145
 AliAnalysisTaskQAflow.cxx:146
 AliAnalysisTaskQAflow.cxx:147
 AliAnalysisTaskQAflow.cxx:148
 AliAnalysisTaskQAflow.cxx:149
 AliAnalysisTaskQAflow.cxx:150
 AliAnalysisTaskQAflow.cxx:151
 AliAnalysisTaskQAflow.cxx:152
 AliAnalysisTaskQAflow.cxx:153
 AliAnalysisTaskQAflow.cxx:154
 AliAnalysisTaskQAflow.cxx:155
 AliAnalysisTaskQAflow.cxx:156
 AliAnalysisTaskQAflow.cxx:157
 AliAnalysisTaskQAflow.cxx:158
 AliAnalysisTaskQAflow.cxx:159
 AliAnalysisTaskQAflow.cxx:160
 AliAnalysisTaskQAflow.cxx:161
 AliAnalysisTaskQAflow.cxx:162
 AliAnalysisTaskQAflow.cxx:163
 AliAnalysisTaskQAflow.cxx:164
 AliAnalysisTaskQAflow.cxx:165
 AliAnalysisTaskQAflow.cxx:166
 AliAnalysisTaskQAflow.cxx:167
 AliAnalysisTaskQAflow.cxx:168
 AliAnalysisTaskQAflow.cxx:169
 AliAnalysisTaskQAflow.cxx:170
 AliAnalysisTaskQAflow.cxx:171
 AliAnalysisTaskQAflow.cxx:172
 AliAnalysisTaskQAflow.cxx:173
 AliAnalysisTaskQAflow.cxx:174
 AliAnalysisTaskQAflow.cxx:175
 AliAnalysisTaskQAflow.cxx:176
 AliAnalysisTaskQAflow.cxx:177
 AliAnalysisTaskQAflow.cxx:178
 AliAnalysisTaskQAflow.cxx:179
 AliAnalysisTaskQAflow.cxx:180
 AliAnalysisTaskQAflow.cxx:181
 AliAnalysisTaskQAflow.cxx:182
 AliAnalysisTaskQAflow.cxx:183
 AliAnalysisTaskQAflow.cxx:184
 AliAnalysisTaskQAflow.cxx:185
 AliAnalysisTaskQAflow.cxx:186
 AliAnalysisTaskQAflow.cxx:187
 AliAnalysisTaskQAflow.cxx:188
 AliAnalysisTaskQAflow.cxx:189
 AliAnalysisTaskQAflow.cxx:190
 AliAnalysisTaskQAflow.cxx:191
 AliAnalysisTaskQAflow.cxx:192
 AliAnalysisTaskQAflow.cxx:193
 AliAnalysisTaskQAflow.cxx:194
 AliAnalysisTaskQAflow.cxx:195
 AliAnalysisTaskQAflow.cxx:196
 AliAnalysisTaskQAflow.cxx:197
 AliAnalysisTaskQAflow.cxx:198
 AliAnalysisTaskQAflow.cxx:199
 AliAnalysisTaskQAflow.cxx:200
 AliAnalysisTaskQAflow.cxx:201
 AliAnalysisTaskQAflow.cxx:202
 AliAnalysisTaskQAflow.cxx:203
 AliAnalysisTaskQAflow.cxx:204
 AliAnalysisTaskQAflow.cxx:205
 AliAnalysisTaskQAflow.cxx:206
 AliAnalysisTaskQAflow.cxx:207
 AliAnalysisTaskQAflow.cxx:208
 AliAnalysisTaskQAflow.cxx:209
 AliAnalysisTaskQAflow.cxx:210
 AliAnalysisTaskQAflow.cxx:211
 AliAnalysisTaskQAflow.cxx:212
 AliAnalysisTaskQAflow.cxx:213
 AliAnalysisTaskQAflow.cxx:214
 AliAnalysisTaskQAflow.cxx:215
 AliAnalysisTaskQAflow.cxx:216
 AliAnalysisTaskQAflow.cxx:217
 AliAnalysisTaskQAflow.cxx:218
 AliAnalysisTaskQAflow.cxx:219
 AliAnalysisTaskQAflow.cxx:220
 AliAnalysisTaskQAflow.cxx:221
 AliAnalysisTaskQAflow.cxx:222
 AliAnalysisTaskQAflow.cxx:223
 AliAnalysisTaskQAflow.cxx:224
 AliAnalysisTaskQAflow.cxx:225
 AliAnalysisTaskQAflow.cxx:226
 AliAnalysisTaskQAflow.cxx:227
 AliAnalysisTaskQAflow.cxx:228
 AliAnalysisTaskQAflow.cxx:229
 AliAnalysisTaskQAflow.cxx:230
 AliAnalysisTaskQAflow.cxx:231
 AliAnalysisTaskQAflow.cxx:232
 AliAnalysisTaskQAflow.cxx:233
 AliAnalysisTaskQAflow.cxx:234
 AliAnalysisTaskQAflow.cxx:235
 AliAnalysisTaskQAflow.cxx:236
 AliAnalysisTaskQAflow.cxx:237
 AliAnalysisTaskQAflow.cxx:238
 AliAnalysisTaskQAflow.cxx:239
 AliAnalysisTaskQAflow.cxx:240
 AliAnalysisTaskQAflow.cxx:241
 AliAnalysisTaskQAflow.cxx:242
 AliAnalysisTaskQAflow.cxx:243
 AliAnalysisTaskQAflow.cxx:244
 AliAnalysisTaskQAflow.cxx:245
 AliAnalysisTaskQAflow.cxx:246
 AliAnalysisTaskQAflow.cxx:247
 AliAnalysisTaskQAflow.cxx:248
 AliAnalysisTaskQAflow.cxx:249
 AliAnalysisTaskQAflow.cxx:250
 AliAnalysisTaskQAflow.cxx:251
 AliAnalysisTaskQAflow.cxx:252
 AliAnalysisTaskQAflow.cxx:253
 AliAnalysisTaskQAflow.cxx:254
 AliAnalysisTaskQAflow.cxx:255
 AliAnalysisTaskQAflow.cxx:256
 AliAnalysisTaskQAflow.cxx:257
 AliAnalysisTaskQAflow.cxx:258
 AliAnalysisTaskQAflow.cxx:259
 AliAnalysisTaskQAflow.cxx:260
 AliAnalysisTaskQAflow.cxx:261
 AliAnalysisTaskQAflow.cxx:262
 AliAnalysisTaskQAflow.cxx:263
 AliAnalysisTaskQAflow.cxx:264
 AliAnalysisTaskQAflow.cxx:265
 AliAnalysisTaskQAflow.cxx:266
 AliAnalysisTaskQAflow.cxx:267
 AliAnalysisTaskQAflow.cxx:268
 AliAnalysisTaskQAflow.cxx:269
 AliAnalysisTaskQAflow.cxx:270
 AliAnalysisTaskQAflow.cxx:271
 AliAnalysisTaskQAflow.cxx:272
 AliAnalysisTaskQAflow.cxx:273
 AliAnalysisTaskQAflow.cxx:274
 AliAnalysisTaskQAflow.cxx:275
 AliAnalysisTaskQAflow.cxx:276
 AliAnalysisTaskQAflow.cxx:277
 AliAnalysisTaskQAflow.cxx:278
 AliAnalysisTaskQAflow.cxx:279
 AliAnalysisTaskQAflow.cxx:280
 AliAnalysisTaskQAflow.cxx:281
 AliAnalysisTaskQAflow.cxx:282
 AliAnalysisTaskQAflow.cxx:283
 AliAnalysisTaskQAflow.cxx:284
 AliAnalysisTaskQAflow.cxx:285
 AliAnalysisTaskQAflow.cxx:286
 AliAnalysisTaskQAflow.cxx:287
 AliAnalysisTaskQAflow.cxx:288
 AliAnalysisTaskQAflow.cxx:289
 AliAnalysisTaskQAflow.cxx:290
 AliAnalysisTaskQAflow.cxx:291
 AliAnalysisTaskQAflow.cxx:292
 AliAnalysisTaskQAflow.cxx:293
 AliAnalysisTaskQAflow.cxx:294
 AliAnalysisTaskQAflow.cxx:295
 AliAnalysisTaskQAflow.cxx:296
 AliAnalysisTaskQAflow.cxx:297
 AliAnalysisTaskQAflow.cxx:298
 AliAnalysisTaskQAflow.cxx:299
 AliAnalysisTaskQAflow.cxx:300
 AliAnalysisTaskQAflow.cxx:301
 AliAnalysisTaskQAflow.cxx:302
 AliAnalysisTaskQAflow.cxx:303
 AliAnalysisTaskQAflow.cxx:304
 AliAnalysisTaskQAflow.cxx:305
 AliAnalysisTaskQAflow.cxx:306
 AliAnalysisTaskQAflow.cxx:307
 AliAnalysisTaskQAflow.cxx:308
 AliAnalysisTaskQAflow.cxx:309
 AliAnalysisTaskQAflow.cxx:310
 AliAnalysisTaskQAflow.cxx:311
 AliAnalysisTaskQAflow.cxx:312
 AliAnalysisTaskQAflow.cxx:313
 AliAnalysisTaskQAflow.cxx:314
 AliAnalysisTaskQAflow.cxx:315
 AliAnalysisTaskQAflow.cxx:316
 AliAnalysisTaskQAflow.cxx:317
 AliAnalysisTaskQAflow.cxx:318
 AliAnalysisTaskQAflow.cxx:319
 AliAnalysisTaskQAflow.cxx:320
 AliAnalysisTaskQAflow.cxx:321
 AliAnalysisTaskQAflow.cxx:322
 AliAnalysisTaskQAflow.cxx:323
 AliAnalysisTaskQAflow.cxx:324
 AliAnalysisTaskQAflow.cxx:325
 AliAnalysisTaskQAflow.cxx:326
 AliAnalysisTaskQAflow.cxx:327
 AliAnalysisTaskQAflow.cxx:328
 AliAnalysisTaskQAflow.cxx:329
 AliAnalysisTaskQAflow.cxx:330
 AliAnalysisTaskQAflow.cxx:331
 AliAnalysisTaskQAflow.cxx:332
 AliAnalysisTaskQAflow.cxx:333
 AliAnalysisTaskQAflow.cxx:334
 AliAnalysisTaskQAflow.cxx:335
 AliAnalysisTaskQAflow.cxx:336
 AliAnalysisTaskQAflow.cxx:337
 AliAnalysisTaskQAflow.cxx:338
 AliAnalysisTaskQAflow.cxx:339
 AliAnalysisTaskQAflow.cxx:340
 AliAnalysisTaskQAflow.cxx:341
 AliAnalysisTaskQAflow.cxx:342
 AliAnalysisTaskQAflow.cxx:343
 AliAnalysisTaskQAflow.cxx:344
 AliAnalysisTaskQAflow.cxx:345
 AliAnalysisTaskQAflow.cxx:346
 AliAnalysisTaskQAflow.cxx:347
 AliAnalysisTaskQAflow.cxx:348
 AliAnalysisTaskQAflow.cxx:349
 AliAnalysisTaskQAflow.cxx:350
 AliAnalysisTaskQAflow.cxx:351
 AliAnalysisTaskQAflow.cxx:352
 AliAnalysisTaskQAflow.cxx:353
 AliAnalysisTaskQAflow.cxx:354
 AliAnalysisTaskQAflow.cxx:355
 AliAnalysisTaskQAflow.cxx:356
 AliAnalysisTaskQAflow.cxx:357
 AliAnalysisTaskQAflow.cxx:358
 AliAnalysisTaskQAflow.cxx:359
 AliAnalysisTaskQAflow.cxx:360
 AliAnalysisTaskQAflow.cxx:361
 AliAnalysisTaskQAflow.cxx:362
 AliAnalysisTaskQAflow.cxx:363
 AliAnalysisTaskQAflow.cxx:364
 AliAnalysisTaskQAflow.cxx:365
 AliAnalysisTaskQAflow.cxx:366
 AliAnalysisTaskQAflow.cxx:367
 AliAnalysisTaskQAflow.cxx:368
 AliAnalysisTaskQAflow.cxx:369
 AliAnalysisTaskQAflow.cxx:370
 AliAnalysisTaskQAflow.cxx:371
 AliAnalysisTaskQAflow.cxx:372
 AliAnalysisTaskQAflow.cxx:373
 AliAnalysisTaskQAflow.cxx:374
 AliAnalysisTaskQAflow.cxx:375
 AliAnalysisTaskQAflow.cxx:376
 AliAnalysisTaskQAflow.cxx:377
 AliAnalysisTaskQAflow.cxx:378
 AliAnalysisTaskQAflow.cxx:379
 AliAnalysisTaskQAflow.cxx:380
 AliAnalysisTaskQAflow.cxx:381
 AliAnalysisTaskQAflow.cxx:382
 AliAnalysisTaskQAflow.cxx:383
 AliAnalysisTaskQAflow.cxx:384
 AliAnalysisTaskQAflow.cxx:385
 AliAnalysisTaskQAflow.cxx:386
 AliAnalysisTaskQAflow.cxx:387
 AliAnalysisTaskQAflow.cxx:388
 AliAnalysisTaskQAflow.cxx:389
 AliAnalysisTaskQAflow.cxx:390
 AliAnalysisTaskQAflow.cxx:391
 AliAnalysisTaskQAflow.cxx:392
 AliAnalysisTaskQAflow.cxx:393
 AliAnalysisTaskQAflow.cxx:394
 AliAnalysisTaskQAflow.cxx:395
 AliAnalysisTaskQAflow.cxx:396
 AliAnalysisTaskQAflow.cxx:397
 AliAnalysisTaskQAflow.cxx:398
 AliAnalysisTaskQAflow.cxx:399
 AliAnalysisTaskQAflow.cxx:400
 AliAnalysisTaskQAflow.cxx:401
 AliAnalysisTaskQAflow.cxx:402
 AliAnalysisTaskQAflow.cxx:403
 AliAnalysisTaskQAflow.cxx:404
 AliAnalysisTaskQAflow.cxx:405
 AliAnalysisTaskQAflow.cxx:406
 AliAnalysisTaskQAflow.cxx:407
 AliAnalysisTaskQAflow.cxx:408
 AliAnalysisTaskQAflow.cxx:409
 AliAnalysisTaskQAflow.cxx:410
 AliAnalysisTaskQAflow.cxx:411
 AliAnalysisTaskQAflow.cxx:412
 AliAnalysisTaskQAflow.cxx:413
 AliAnalysisTaskQAflow.cxx:414
 AliAnalysisTaskQAflow.cxx:415
 AliAnalysisTaskQAflow.cxx:416
 AliAnalysisTaskQAflow.cxx:417
 AliAnalysisTaskQAflow.cxx:418
 AliAnalysisTaskQAflow.cxx:419
 AliAnalysisTaskQAflow.cxx:420
 AliAnalysisTaskQAflow.cxx:421
 AliAnalysisTaskQAflow.cxx:422
 AliAnalysisTaskQAflow.cxx:423
 AliAnalysisTaskQAflow.cxx:424
 AliAnalysisTaskQAflow.cxx:425
 AliAnalysisTaskQAflow.cxx:426
 AliAnalysisTaskQAflow.cxx:427
 AliAnalysisTaskQAflow.cxx:428
 AliAnalysisTaskQAflow.cxx:429
 AliAnalysisTaskQAflow.cxx:430
 AliAnalysisTaskQAflow.cxx:431
 AliAnalysisTaskQAflow.cxx:432
 AliAnalysisTaskQAflow.cxx:433
 AliAnalysisTaskQAflow.cxx:434
 AliAnalysisTaskQAflow.cxx:435
 AliAnalysisTaskQAflow.cxx:436
 AliAnalysisTaskQAflow.cxx:437
 AliAnalysisTaskQAflow.cxx:438
 AliAnalysisTaskQAflow.cxx:439
 AliAnalysisTaskQAflow.cxx:440
 AliAnalysisTaskQAflow.cxx:441
 AliAnalysisTaskQAflow.cxx:442
 AliAnalysisTaskQAflow.cxx:443
 AliAnalysisTaskQAflow.cxx:444
 AliAnalysisTaskQAflow.cxx:445
 AliAnalysisTaskQAflow.cxx:446
 AliAnalysisTaskQAflow.cxx:447
 AliAnalysisTaskQAflow.cxx:448
 AliAnalysisTaskQAflow.cxx:449
 AliAnalysisTaskQAflow.cxx:450
 AliAnalysisTaskQAflow.cxx:451
 AliAnalysisTaskQAflow.cxx:452
 AliAnalysisTaskQAflow.cxx:453
 AliAnalysisTaskQAflow.cxx:454
 AliAnalysisTaskQAflow.cxx:455
 AliAnalysisTaskQAflow.cxx:456
 AliAnalysisTaskQAflow.cxx:457
 AliAnalysisTaskQAflow.cxx:458
 AliAnalysisTaskQAflow.cxx:459
 AliAnalysisTaskQAflow.cxx:460
 AliAnalysisTaskQAflow.cxx:461
 AliAnalysisTaskQAflow.cxx:462
 AliAnalysisTaskQAflow.cxx:463
 AliAnalysisTaskQAflow.cxx:464
 AliAnalysisTaskQAflow.cxx:465
 AliAnalysisTaskQAflow.cxx:466
 AliAnalysisTaskQAflow.cxx:467
 AliAnalysisTaskQAflow.cxx:468
 AliAnalysisTaskQAflow.cxx:469
 AliAnalysisTaskQAflow.cxx:470
 AliAnalysisTaskQAflow.cxx:471
 AliAnalysisTaskQAflow.cxx:472
 AliAnalysisTaskQAflow.cxx:473
 AliAnalysisTaskQAflow.cxx:474
 AliAnalysisTaskQAflow.cxx:475
 AliAnalysisTaskQAflow.cxx:476
 AliAnalysisTaskQAflow.cxx:477
 AliAnalysisTaskQAflow.cxx:478
 AliAnalysisTaskQAflow.cxx:479
 AliAnalysisTaskQAflow.cxx:480
 AliAnalysisTaskQAflow.cxx:481
 AliAnalysisTaskQAflow.cxx:482
 AliAnalysisTaskQAflow.cxx:483