ROOT logo
/**************************************************************************
 * Author: Andrey Ivanov.                                           *
 * 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.                  *
 **************************************************************************/
// Analysis task for Long Range Correlation (LRC) analysis using TPC data
// This includes a TList of AliLRCBase objects that are processing LRC analysis
// for a given Eta window 
// This task is worcking with ESD data only

// Authors : Andrey Ivanov , Igor Altsybeev, St.Peterburg State University
// Email: Andrey.Ivanov@cern.ch, Igor.Altsybeev@cern.ch

#include <AliAnalysisManager.h>
#include <AliESDInputHandler.h>
#include "AliAnalysisTaskLRC.h"
#include <AliLRCBase.h>
//#include <AliLRCProcess.h>
#include <AliVEvent.h>
#include <AliMCEvent.h>
#include <AliESDEvent.h>     
#include "AliAODEvent.h"
#include "AliAODTrack.h"
#include "AliAODInputHandler.h"

#include "AliGenEventHeader.h"
#include "AliGenHijingEventHeader.h"

#include <AliPID.h>
#include <AliPIDCombined.h>
#include <AliPIDResponse.h>
#include <AliMultiplicity.h>
#include <AliESDv0.h>

#include <AliRunLoader.h>
#include <AliRun.h>
#include <AliStack.h>
#include <AliESDtrackCuts.h>
#include <AliKalmanTrack.h>
#include <AliPhysicsSelection.h>
#include <AliCentrality.h>
#include <AliESDZDC.h>
#include <AliESDFMD.h>

#include "AliEventplane.h"


#include <TParticle.h>
#include <TH1.h>
#include <TH2.h>
#include "TH1I.h"
#include "TRandom3.h"
#include <TComplex.h>

#include <TF1.h>

//#include "AliSimpleEvent.h"

//flag use my Event Tree
//#define fSetIncludeEventTreeInOutput 1


#include "TStopwatch.h"

using std::endl;
using std::cout;

ClassImp(AliAnalysisTaskLRC)

//________________________________________________________________________
AliAnalysisTaskLRC::AliAnalysisTaskLRC( const char *name, Bool_t runKine)
    : AliAnalysisTaskSE(name)
    ,fNumberOfPhiSectors(1)
    ,fFlagSuppressAddingSomeHistos(kTRUE)
    ,fAnalysisLevel("ESD")
    ,fEsdTrackCuts(0)
    ,fAODtrackCutBit(128)
    ,fArrTrackCuts(0x0)
    ,fHistCutsNamesBins(0)
    //    ,fNumberOfCutsToRemember(0)
    ,fSwitchToListingCuts(0)
    
    //    ,fAnalysisType(en_AnalysisType_ESD)
    ,fMinNumberOfSPDtracklets(0)
    ,fMaxPtLimit(100.0)
    ,fMinPtLimit(0.0)
    ,fKineLowPtCut(0.0)
    ,fMinAcceptedTracksCut(0)
    ,fMaxAcceptedTracksCut(0)
    ,fCheckForkVtx(kTRUE)
    ,fCheckForVtxPosition(kFALSE)
    ,fVxMax(0)
    ,fVyMax(0)
    ,fVzMax(0)
    ,fLRCproc(0)
    ,fOutList(0)
    ,fRunKine(0)
    ,fAnalyseMCESD(0)
    ,fShowEventStats(kFALSE)
    ,fShowPerTrackStats(kFALSE)
    ,fEtaRegionForTests(0.8)
    ,fMultCutInEtaRegion(0)
    ,fHistEventCutStats(0)
    ,fHistTrackCutStats(0)
    ,fHistAODTrackStats(0)
    ,fHistVx(0)
    ,fHistVy(0)
    ,fHistVz(0)
    ,fHistVxMCrecoDiff(0)
    ,fHistVyMCrecoDiff(0)
    ,fHistVzMCrecoDiff(0)
    ,fHistVertexNconributors(0)
    ,fHistNumberOfPileupVerticesTracks(0)
    ,fHistNumberOfPileupVerticesSPD(0)
    ,fHistEventPlane(0)
    ,fHistPt(0)
    ,fHistEta(0)
    ,fHistEtaAODpure(0)
    ,fHistPhi(0)
    ,fHistEtaPhi(0)
    ,fHistPhiLRCrotationsCheck(0)
    ,fHistPhiArtificialProfilingCheck(0)
    ,fHistPhiArtificialProfilingCheckWrtEvPlane(0)
    ,fHistPhiArtificialEvPlane(0)
    ,fHistEtaVsZvCoverage(0)
    ,fHistEtaVsZvCoverageAccepted(0)
    ,fHistMultBeforeCuts(0)
    ,fHistAcceptedMult(0)
    ,fHistAcceptedTracks(0)
    ,fHistMultiplicityInEtaRegion(0)
    ,fHistMultiplicityInEtaRegionAfterPtCuts(0)
    ,fHist2DMultiplicityMCESDInEtaRegion(0)
    ,fHistAcceptedTracksAfterPtCuts(0)
    ,fHistAcceptedTPCtracks(0)
    ,fHistClustersTPC(0)
    ,fHistClustersTPCafterCuts(0)
    ,fHistCrossedRowsTPC(0)
    ,fHistCrossedRowsTPCafterCuts(0)
    ,fHistClustersITS(0)
    ,fHistTrackletsITS(0)
    ,fHist2DClustersTPCvsPt(0)
    ,fHist2DClustersTPCvsEta(0)
    ,fHist2DAcceptedTracksPtvsEta(0)
    ,fHistMClabels(0)
    ,fHistRejectedTracksCharge(0)
    ,fHistTracksCharge(0)
    ,fHistPtPlus(0)
    ,fHistPtMinus(0)
    ,fHistNetChargeVsPt(0)
    ,fHistChargePlusVsPtTmp(0)
    ,fHistChargeMinusVsPtTmp(0)
    ,fHist2DNetChargeVsPt(0)
    ,fHist2DNetChargeVsPtCorrectedOnEventMean(0)
    ,fHist2DNetChargeVsPtCorrectedOnEventMeanNormOnNch(0)
    ,fHistProbabilitiesPID(0)
    ,fHistESDtrackMass(0)
    ,fHistProbabilityPion(0)
    ,fHistProbabilityKaon(0)
    ,fHistProbabilityProton(0)
    ,fHistParticlesDistr(0)
    ,fHistParticlesDistrBeforeCuts(0)
    //    ,fNumberOfSectors(1)
    ,fHistCentralityPercentile(0)
    ,fHistCentralityClass10(0)
    ,fHistCentralityClass5(0)
    //,fHistZDCenergy(0x0)
    ,fHistZDCparticipants(0)
    ,fHistV0multiplicity(0)
    ,fHistV0Amultiplicity(0)
    ,fHistV0Cmultiplicity(0)
    ,fHist2DV0ACmultiplicity(0)
    ,fHist2DTracksAcceptedVsV0multiplicity(0)
    //,fHistV0spectra(0)
    
    ,fHistV0cells    (0)
    ,fHistV0Acells   (0)
    ,fHistV0Ccells   (0)
    ,fHist2DV0ACcells(0)
    
    ,fThresholdOnV0mult(0)
    
    
    ,fMinCentralityClass(-0.01)
    ,fMaxCentralityClass(98)
    ,fIsIonsAnalysis(kFALSE)
    ,fEtInsteadOfPt(kFALSE)
    ,fUsePhiShufflingByHand(kFALSE)
    ,fUseToyEvents(kFALSE)
    ,fNumberOfToyEvents(1)
    ,fTmpCounter(0)
    ,fPIDResponse(0x0)
    ,fPIDCombined(0x0)
    
    ,fHistPidMaxProbability(0)
    ,fHistPidPureMaxProbability(0)
    ,fStrPIDforFwd("any")
    ,fStrPIDforBwd("any")

    ,fPIDsensingFlag(kFALSE)
    ,fArtificialInefficiency(-1.)
    ,fHistNumberOfDroppedByHandTracks(0)
    ,fRand(0)
    
    
    ,fPhiArtificialGapBegin(0)
    ,fPhiArtificialGapEnd(0)
    
    ,fFlagWatchZDC(0)
    ,fFlagWatchV0 (0)
    ,fFlagWatchFMD(0)
    
    ,fAnalysisTimer(0)
    
    //MC qa and studies
    //    ,fHistMCvertexRdeltaFromParent(0)
    //    ,fHistMCparentsStat(0)
    //,fHistMCparentsEta(0)
    //,fHistMCchildsEta(0)
    //,fHistMCdeltaEtaChildParent(0)
    //,fProbabilitiesPID(0)
    
    
    //    ,fSimpleEvent(0)
    //    ,fNsimpleEvents(0)
    //    ,fEventTree(0)
    //    ,fSetIncludeEventTreeInOutput(0)
{
    fAnalysisTimer = new TStopwatch;
    //Init
    fRunKine = runKine;
    for ( int i = 0; i < 5; i++ )
    {
        fHistZDCenergy[i] = 0x0;
    }
    for ( int i = 0; i < 4; i++ )
    {
        fHistV0AmultiplicityRing[i] = 0x0;
        fHistV0CmultiplicityRing[i] = 0x0;
        fHist2DV0ACmultiplicityRing[i] = 0x0;
        fHist2DTracksAcceptedVsV0AmultiplicityRing[i] = 0x0;
        fHist2DTracksAcceptedVsV0CmultiplicityRing[i] = 0x0;
    }
    //fProbabilitiesPID = new Double_t[AliPID::kSPECIES];
    // Output slot #1 writes into a TList container for common task data and QA
    DefineOutput(1, TList::Class());
    
    //Defining output slots for each LRC processor (required to avoid TList of TLists on merging)
    for(Int_t i=0; i < fLRCproc.GetEntries(); i++)
    {
        DefineOutput(Proc(i)->GetOutputSlotNumber(),TList::Class());
    }
}


// ---------------------------------------  Setters ------------------

void AliAnalysisTaskLRC::SetMaxPtLimit(Double_t MaxPtLimit)
{
    //Sets  Max Pt filter
    fMaxPtLimit = MaxPtLimit;
}
void AliAnalysisTaskLRC::SetMinPtLimit(Double_t MinPtLimit)
{
    //Sets  Min Pt filter
    fMinPtLimit = MinPtLimit;
}
void AliAnalysisTaskLRC::SetKineLowPtCut(Double_t kineLowPtCut)
{
    //Sets  Min Pt filter for Kine tracks
    fKineLowPtCut = kineLowPtCut;
}
AliLRCBase*  AliAnalysisTaskLRC::Proc(Int_t index)
{
    // Get Processor i
    return (dynamic_cast<AliLRCBase*> (fLRCproc.At(index)));
}

void AliAnalysisTaskLRC::SetMinNumberOfSPDtracklets( Int_t MinSPDtracklets )
{
    //Sets  Min SPD tracklets number
    fMinNumberOfSPDtracklets = MinSPDtracklets;
}

//________________________________________________________________________
void AliAnalysisTaskLRC::UserCreateOutputObjects()
{
    // --------- Output list
    fOutList = new TList();
    
    //### added 13.12.2011
    fOutList->SetOwner();  // IMPORTANT!
    
    fAnalysisTimer->Start();
    
    
    //##### PID stuff
    // ------- setup PIDCombined
    fPIDCombined=new AliPIDCombined;
    fPIDCombined->SetDefaultTPCPriors();
    fPIDCombined->SetDetectorMask(AliPIDResponse::kDetTPC+AliPIDResponse::kDetTOF);
    
    // no light nuclei
    fPIDCombined->SetSelectedSpecies(AliPID::kSPECIES);
    //Int_t lNumberOfPidSpecies = (Int_t)AliPID::kSPECIES;
    for (Int_t ispec=0; ispec<AliPID::kSPECIES; ++ispec)
    {
        fProbTPCTOF[ispec]=new TH2D(Form("prob%s_mom_TPCTOF",AliPID::ParticleName(ispec)),
                                    Form("%s probability vs. momentum;momentum;probability",AliPID::ParticleName(ispec)),
                                    100,0.,20.,50,0.,1.);
        fProbAllDets[ispec]=new TH2D(Form("prob%s_mom_AllDets",AliPID::ParticleName(ispec)),
                                     Form("%s probability vs. momentum;momentum;probability",AliPID::ParticleName(ispec)),
                                     100,0.,20.,50,0.,1.);
        if ( !fFlagSuppressAddingSomeHistos )
        {
            fOutList->Add(fProbTPCTOF[ispec]);
            fOutList->Add(fProbAllDets[ispec]);
        }
        
        
        // basic priors
        fPriors[ispec] = new TH1F(Form("%s_priors",AliPID::ParticleName(ispec)),
                                  Form("%s priors vs momentum",AliPID::ParticleName(ispec)),
                                  100,0.,20.);
        if ( !fFlagSuppressAddingSomeHistos )
            fOutList->Add(fPriors[ispec]);
        switch (ispec) {
        case AliPID::kElectron:
            for (Int_t ich=1;ich<=100;ich++) fPriors[ispec]->SetBinContent(ich,0.02);
            break;
        case AliPID::kMuon:
            for (Int_t ich=1;ich<=100;ich++) fPriors[ispec]->SetBinContent(ich,0.02);
            break;
        case AliPID::kPion:
            for (Int_t ich=1;ich<=100;ich++) fPriors[ispec]->SetBinContent(ich,0.56);
            break;
        case AliPID::kKaon:
            for (Int_t ich=1;ich<=100;ich++) fPriors[ispec]->SetBinContent(ich,0.20);
            break;
        case AliPID::kProton:
            for (Int_t ich=1;ich<=100;ich++) fPriors[ispec]->SetBinContent(ich,0.20);
            break;
        default:
            break;
        }
        fPIDCombined->SetPriorDistribution((AliPID::EParticleType)ispec,fPriors[ispec]);
        
        // priors used
        fPriorsUsed[ispec] = new TH2D(Form("%s_priorsUsed",AliPID::ParticleName(ispec)),
                                      Form("%s priors vs transverse momentum;p_{t} (GeV/c);priors",AliPID::ParticleName(ispec)),
                                      100,0.,20.,101,0,1.01);
        if ( !fFlagSuppressAddingSomeHistos )
            fOutList->Add(fPriorsUsed[ispec]);
    }
    
    fHistPidMaxProbability = new TH1D("fHistPidMaxProbability","HistPidMaxProbability;Probability;Entries",100,0,1);
    fOutList->Add(fHistPidMaxProbability);
    
    fHistPidPureMaxProbability = new TH1D("fHistPidPureMaxProbability","HistPidMaxProbability;Probability;Entries",100,0,1);
    fOutList->Add(fHistPidPureMaxProbability);
    
    // ##### end PID part
    Printf("UserCreateOutputObjects.........");
    //Disabling "replacing existing TH2D ...etc" warning
    
    Bool_t lTH1oldStatus = TH1::AddDirectoryStatus();
    TH1::AddDirectory(kFALSE);
    
    Bool_t lTH2oldStatus = TH2::AddDirectoryStatus();
    TH2::AddDirectory(kFALSE);
    
    
    
    //LRC processors init
    Int_t lLrcNum = fLRCproc.GetEntries();
    for(Int_t i = 0; i < lLrcNum; i++)
    {
        AliLRCBase *lrcBase = dynamic_cast<AliLRCBase*> (fLRCproc.At(i));
        if(lrcBase)
            lrcBase->InitDataMembers();
        else continue;
        //remember pointer to be used in the analysis
        //fLRCprocArrayPointers[i] = lrcBase;
    }
    
    
    //fOutList->Add( fEsdTrackCuts );
    
    
    //create here array with bin names
    //15.03.2013 - list with cuts to apply on tracks and remember decisions
    if ( fSwitchToListingCuts )
    {
        int lNumberOfCutsToRemember = fArrTrackCuts.GetEntries();
        fHistCutsNamesBins = new TH1I("fHistCutsNamesBins","Tracks in different cut conditions;;N_{tracks}", lNumberOfCutsToRemember,-0.5,lNumberOfCutsToRemember-0.5);
        for(Int_t i = 1; i <= lNumberOfCutsToRemember; i++)
        {
            //            TString cutsName = (TString*)fArrCutsNames[i-1];
            //            fHistCutsNamesBins->GetXaxis()->SetBinLabel(i,((TString*)fArrCutsNames[i-1])->Data());
            fHistCutsNamesBins->GetXaxis()->SetBinLabel(i,fArrCutsNames[i-1].Data());
            
        }
        fOutList->Add(fHistCutsNamesBins);
    }
    
    
    //Event level QA
    const Int_t nEventStatBins = 10;
    fHistEventCutStats = new TH1I("fHistEventCutStats","Event statistics;;N_{events}", nEventStatBins,-0.5,nEventStatBins-0.5);
    TString gEventCutBinNames[nEventStatBins] = {"Total","No trigger","Wrong centrality","No reco vertex","Bad vertex params", "Bad vertex position","Few SPD tracklets","HighMult cut","LowMult cut","Analyzed"};
    for(Int_t i = 1; i <= nEventStatBins; i++)fHistEventCutStats->GetXaxis()->SetBinLabel(i,gEventCutBinNames[i-1].Data());
    fOutList->Add(fHistEventCutStats);
    
    //Track level QA
    const Int_t nTracksStatBins = 6;
    fHistTrackCutStats = new TH1I("fHistTrackCutStats","Track statistics;;N_{tracks}", nTracksStatBins,-0.5,nTracksStatBins-0.5);
    TString gTrackCutBinNames[nTracksStatBins] = {"Total","QA track cuts","HighPt cut","LowPt cut","Good", "Not phys primary"};
    for(Int_t i = 1; i <= nTracksStatBins; i++)fHistTrackCutStats->GetXaxis()->SetBinLabel(i,gTrackCutBinNames[i-1].Data());
    fOutList->Add(fHistTrackCutStats);
    
    //AOD track cut bits stats
    const int nAODtrackStats = 16;
    fHistAODTrackStats = new TH1I("fHistAODTrackStats","AOD tracks statistics;TrackFilterBit;N_{tracks}",nAODtrackStats,-0.5,nAODtrackStats-0.5);
    if ( fAnalysisLevel == "AOD" )
        fOutList->Add(fHistAODTrackStats);
    
    
    //Vertex distributions
    fHistVx = new TH1D("fHistVx","Primary vertex distribution - x coordinate;V_{x} (cm);Entries",200,-0.4,0.4);
    fOutList->Add(fHistVx);
    fHistVy = new TH1D("fHistVy","Primary vertex distribution - y coordinate;V_{y} (cm);Entries",200,-0.4,0.4);
    fOutList->Add(fHistVy);
    fHistVz = new TH1D("fHistVz","Primary vertex distribution - z coordinate;V_{z} (cm);Entries",200,-20.,20.);
    fOutList->Add(fHistVz);
    
    if ( fRunKine )
    {
        fHistVxMCrecoDiff = new TH1D("fHistVxMCrecoDiff","Primary vertex mc-reco diff - x coordinate;V_{x} (cm);Entries",200,-0.2,0.2);
        fOutList->Add(fHistVxMCrecoDiff);
        fHistVyMCrecoDiff = new TH1D("fHistVyMCrecoDiff","Primary vertex mc-reco diff - y coordinate;V_{y} (cm);Entries",200,-0.2,0.2);
        fOutList->Add(fHistVyMCrecoDiff);
        fHistVzMCrecoDiff = new TH1D("fHistVMCrecoDiffz","Primary vertex mc-reco diff - z coordinate;V_{z} (cm);Entries",200,-10.,10.);
        fOutList->Add(fHistVzMCrecoDiff);
    }
    
    fHistVertexNconributors = new TH1I("fHistVertexNconributors","Primary vertex n contributors;N contributors;Entries",101,-0.5,100.5);
    fOutList->Add(fHistVertexNconributors);
    
    fHistNumberOfPileupVerticesTracks = new TH1I("fHistNumberOfPileupVerticesTracks","Number of pilup verteces (by tracks);N verteces;Entries",11,-0.5,10.5);
    fOutList->Add(fHistNumberOfPileupVerticesTracks);
    
    fHistNumberOfPileupVerticesSPD = new TH1I("fHistNumberOfPileupVerticesSPD","Number of pilup verteces (by SPD);N verteces;Entries",11,-0.5,10.5);
    fOutList->Add(fHistNumberOfPileupVerticesSPD);
    
    
    if ( fIsIonsAnalysis )
    {
        //Event plane
        fHistEventPlane = new TH2F("fHistEventPlane",";#Psi, rad.;Centrality percentile;Counts",80,0,TMath::Pi()/*0,360.*/,101,-0.5,100.5);
        fOutList->Add(fHistEventPlane);
    }
    //pt, eta, phi checkplots
    fHistPt = new TH1F("fHistPt", "p_{T} distribution", 120, 0.0, 6.0);
    fHistPt->GetXaxis()->SetTitle("p_{T} (GeV/c)");
    fHistPt->GetYaxis()->SetTitle("dN/dp_{T} (c/GeV)");
    fHistPt->SetMarkerStyle(kFullCircle);
    fOutList->Add(fHistPt);
    
    fHistEta = new TH1F("fHistEta", "#eta distribution", 200, -4, 4);
    fHistEta->GetXaxis()->SetTitle("#eta");
    fHistEta->GetYaxis()->SetTitle("dN/#eta");
    fHistEta->SetMarkerStyle(kFullCircle);
    fOutList->Add(fHistEta);
    
    fHistEtaAODpure = new TH1F("fHistEtaAODpure", "#eta distribution AOD before cuts;#eta;dN/d#eta", 200, -4, 4);
    fOutList->Add(fHistEtaAODpure);
    
    fHistPhi = new TH1F("fHistPhi", "#phi distribution", 200, 0, 2*TMath::Pi() );
    fHistPhi->GetXaxis()->SetTitle("#phi");
    fHistPhi->GetYaxis()->SetTitle("dN/#phi");
    fHistPhi->SetMarkerStyle(kFullCircle);
    fOutList->Add(fHistPhi);
    
    fHistEtaPhi = new TH2D("fHistEtaPhi","N tracks in (#eta, #phi);#eta;#phi",25,-0.8,0.8,25,0,2*TMath::Pi());
    fOutList->Add(fHistEtaPhi);
    
    fHistPhiLRCrotationsCheck = new TH1F("fHistPhiLRCrotationsCheck", "#phi distribution in LRC rotations;#phi;dN/#phi", 200, -4*TMath::Pi(), 4*TMath::Pi() );
    fOutList->Add(fHistPhiLRCrotationsCheck);
    
    //some histos for tracks manipulations by hand
    fHistPhiArtificialProfilingCheck = new TH1F("fHistPhiArtificialProfilingCheck", "#phi distribution tracks distr by hand;#phi;dN/#phi", 200, -4*TMath::Pi(), 4*TMath::Pi() );
    fHistPhiArtificialProfilingCheckWrtEvPlane = new TH1F("fHistPhiArtificialProfilingCheckWrtEvPlane", "#phi distribution by hand wrt event plane;#phi;dN/#phi", 200, -4*TMath::Pi(), 4*TMath::Pi() );
    fHistPhiArtificialEvPlane = new TH1F("fHistPhiArtificialEvPlane", "#phi distribution of event plane;#phi;dN/#phi", 200, -4*TMath::Pi(), 4*TMath::Pi() );
    if ( fUsePhiShufflingByHand )
    {
        fOutList->Add(fHistPhiArtificialProfilingCheck);
        fOutList->Add(fHistPhiArtificialProfilingCheckWrtEvPlane);
        fOutList->Add(fHistPhiArtificialEvPlane);
    }
    
    //Eta vs Zv
    fHistEtaVsZvCoverage = new TH2D("fHistEtaVsZvCoverage","TPC tracks #eta vs Zv;V_{z} (cm);#eta",100,-20,20,50,-2,2);
    fHistEtaVsZvCoverageAccepted = new TH2D("fHistEtaVsZvCoverageAccepted","Accepted TPC tracks #eta vs Zv;V_{z} (cm);#eta",100,-20,20,50,-2,2);
    fOutList->Add(fHistEtaVsZvCoverage);
    fOutList->Add(fHistEtaVsZvCoverageAccepted);
    
    int lMaxAcceptedTracksInHist = fIsIonsAnalysis ? 4001 : 101;
    fHistMultBeforeCuts = new TH1D("fHistMultBeforeCuts","N_{ch} - tracks;N_{ch} tracks;Entries"
                                   ,lMaxAcceptedTracksInHist,-0.5,lMaxAcceptedTracksInHist-0.5);
    fOutList->Add(fHistMultBeforeCuts);
    
    fHistAcceptedMult = new TH1D("fHistAcceptedMult","N_{ch} - accepted tracks;N_{ch} accepted;Entries"
                                 ,lMaxAcceptedTracksInHist,-0.5,lMaxAcceptedTracksInHist-0.5);
    fOutList->Add(fHistAcceptedMult);
    
    fHistAcceptedTracks = new TH1D("fHistAcceptedTracks","N_{ch} - accepted tracks for LRC;N_{ch} accepted;Entries"
                                   ,lMaxAcceptedTracksInHist,-0.5,lMaxAcceptedTracksInHist-0.5);
    fOutList->Add(fHistAcceptedTracks);
    
    fHistMultiplicityInEtaRegion = new TH1D("fHistMultiplicityInEtaRegion","N_{ch} in |#eta| region;N_{ch};Entries"
                                            ,lMaxAcceptedTracksInHist,-0.5,lMaxAcceptedTracksInHist-0.5);
    fOutList->Add(fHistMultiplicityInEtaRegion);
    
    fHistMultiplicityInEtaRegionAfterPtCuts = new TH1D("fHistMultiplicityInEtaRegionAfterPtCuts","N_{ch} in |#eta| region after p_{T} cuts;N_{ch};Entries"
                                                       ,lMaxAcceptedTracksInHist,-0.5,lMaxAcceptedTracksInHist-0.5);
    fOutList->Add(fHistMultiplicityInEtaRegionAfterPtCuts);
    
    if ( fAnalyseMCESD )
    {
        fHist2DMultiplicityMCESDInEtaRegion = new TH2D("fHist2DMultiplicityMCESDInEtaRegion","N_{ch} in |#eta| region;N_{ch} MC;N_{ch} ESD;Entries"
                                                       ,101,-0.5,100.5,101,-0.5,100.5);
        fOutList->Add(fHist2DMultiplicityMCESDInEtaRegion);
    }
    
    
    fHistAcceptedTracksAfterPtCuts = new TH1D("fHistAcceptedTracksAfterPtCuts","N_{ch} - accepted tracks for LRC after Pt cuts;N_{ch} accepted;Entries"
                                              ,lMaxAcceptedTracksInHist,-0.5,lMaxAcceptedTracksInHist-0.5);
    fOutList->Add(fHistAcceptedTracksAfterPtCuts);
    
    fHistAcceptedTPCtracks = new TH1D("fHistAcceptedTPCtracks","N_{ch} - accepted tracks with TPC inner param;N_{ch} accepted;Entries"
                                      ,lMaxAcceptedTracksInHist,-0.5,lMaxAcceptedTracksInHist-0.5);
    fOutList->Add(fHistAcceptedTPCtracks);
    
    fHistClustersTPC = new TH1D("fHistClustersTPC","N Clusters TPC;N_{TPC clusters};Entries",161,-0.5,160.5);
    fOutList->Add(fHistClustersTPC);
    
    fHistClustersTPCafterCuts = new TH1D("fHistClustersTPCafterCuts","N Clusters TPC after cuts;N_TPC_clusters_after_cuts;Entries",161,-0.5,160.5);
    fOutList->Add(fHistClustersTPCafterCuts);
    
    
    fHistCrossedRowsTPC = new TH1D("fHistCrossedRowsTPC","N Crossed Rows TPC;N_{TPC CrossedRows};Entries",161,-0.5,160.5);
    fOutList->Add(fHistCrossedRowsTPC);
    
    fHistCrossedRowsTPCafterCuts = new TH1D("fHistCrossedRowsTPCafterCuts","N CrossedRows TPC after cuts;N_TPC_clusters_after_cuts;Entries",161,-0.5,160.5);
    fOutList->Add(fHistCrossedRowsTPCafterCuts);
    
    
    
    fHistTrackletsITS = new TH1D("fHistTrackletsITS","N Tracklets ITS;N_ITS_tracklets;Entries",101,-0.5,100.5);
    fOutList->Add(fHistTrackletsITS);
    
    
    fHistClustersITS = new TH1D("fHistClustersITS","N Clusters ITS;N_ITS_clusters;Entries",11,-0.5,10.5);
    fOutList->Add(fHistClustersITS);
    
    
    fHist2DClustersTPCvsPt = new TH2D("fHist2DClustersTPCvsPt","Num TPC clusters vs Pt;P_t;N_clusters",50,0,2,161,-0.5,160.5);
    fOutList->Add(fHist2DClustersTPCvsPt);
    
    fHist2DClustersTPCvsEta = new TH2D("fHist2DClustersTPCvsEta","Num TPC clusters vs Eta;#eta;N_clusters",50,-1.5,1.5,161,-0.5,160.5);
    fOutList->Add(fHist2DClustersTPCvsEta);
    
    fHist2DAcceptedTracksPtvsEta = new TH2D("fHist2DAcceptedTracksPtvsEta","Accepted Tracks Pt vs Eta;pt;#eta",50,0,2,50,-1.5,1.5);
    fOutList->Add(fHist2DAcceptedTracksPtvsEta);
    
    fHistProbabilitiesPID = new TH1D("fHistProbabilitiesPID","PID Probabilities;pid;Entries",10,-0.5,9.5 );//AliPID::kSPECIES,-0.5,AliPID::kSPECIES-0.5);
    fOutList->Add(fHistProbabilitiesPID);
    
    fHistESDtrackMass = new TH1D("fHistESDtrackMass","ESD Mass;Mass;Entries",100,0,1);
    fOutList->Add(fHistESDtrackMass);
    
    fHistProbabilityPion = new TH1D("fHistProbabilityPion","Probability Pion;Probability;Entries",100,0,1);
    fOutList->Add(fHistProbabilityPion);
    
    fHistProbabilityKaon = new TH1D("fHistProbabilityKaon","Probability Kaon;Probability;Entries",100,0,1);
    fOutList->Add(fHistProbabilityKaon);
    
    fHistProbabilityProton = new TH1D("fHistProbabilityProton","Probability Proton;Probability;Entries",100,0,1);
    fOutList->Add(fHistProbabilityProton);
    
    
    
    fHistParticlesDistrBeforeCuts = new TH1D("fHistParticlesDistrBeforeCuts","Particles Distr;Particle;Entries",5,-0.5,4.5);
    TString gBinParticleNames[5] = {/*"Other",*/"Electron","Muon","Pion","Kaon", "Proton"};
    for(Int_t i = 1; i <= 5; i++)fHistParticlesDistrBeforeCuts->GetXaxis()->SetBinLabel(i,gBinParticleNames[i-1].Data());
    fOutList->Add(fHistParticlesDistrBeforeCuts);
    
    fHistParticlesDistr = new TH1D("fHistParticlesDistr","Particles Distr;Particle;Entries",5,-0.5,4.5);
    //TString gBinParticleNames[6] = {"Undefined","Electron","Muon","Pion","Kaon", "Proton"};
    for(Int_t i = 1; i <= 5; i++)fHistParticlesDistr->GetXaxis()->SetBinLabel(i,gBinParticleNames[i-1].Data());
    fOutList->Add(fHistParticlesDistr);
    
    fHistCentralityPercentile = new TH1D("fHistCentralityPercentile","Centrality Percentile;Centrality;Entries",101,-1.01,100.01);
    if ( fIsIonsAnalysis ) fOutList->Add(fHistCentralityPercentile);
    
    fHistCentralityClass10 = new TH1D("fHistCentralityClass10","Centrality Class 10;Centrality;Entries",10,-0.5,9.5);
    if ( fIsIonsAnalysis ) fOutList->Add(fHistCentralityClass10);
    
    fHistCentralityClass5 = new TH1D("fHistCentralityClass5","Centrality Class 5;Centrality;Entries",20,-0.5,19.5);
    if ( fIsIonsAnalysis ) fOutList->Add(fHistCentralityClass5);
    
    
    fRand = new TRandom3;
    //ZDC additional study
    
    fMultForZDCstudy[0] = 0;
    fMultForZDCstudy[1] = 200;
    fMultForZDCstudy[2] = 220;
    fMultForZDCstudy[3] = 240;
    fMultForZDCstudy[4] = 250;
    
    TString strZDCenergyName;
    TString strZDCenergyTitle;
    for ( int i = 0; i < 5; i++ )
    {
        strZDCenergyName = Form( "fHistZDCenergy%d", fMultForZDCstudy[i] );
        strZDCenergyTitle = Form(  "ZDC Energy, multThreshold %d;Energy;Entries", fMultForZDCstudy[i] );
        fHistZDCenergy[i] = new TH1D(strZDCenergyName, strZDCenergyTitle, 200, 0, 10000);
        if ( fFlagWatchZDC && fIsIonsAnalysis )
            fOutList->Add(fHistZDCenergy[i]);
    }
    
    
    fHistZDCparticipants = new TH1D("fHistZDCparticipants","ZDC Participants;Participants;Entries",800,0,800);
    if ( fFlagWatchZDC && fIsIonsAnalysis )
        fOutList->Add(fHistZDCparticipants);
    
    if ( fFlagWatchV0 )//fIsIonsAnalysis )
    {
        const int nBinsV0multForNonIons = 700;
        const int nBinsV0multForIons = 220;
        const int nMaxV0multForIons = 22000;
        fHistV0multiplicity = new TH1D("fHistV0multiplicity","V0 Multiplicity;Multiplicity;Entries",
                                       fIsIonsAnalysis ? nBinsV0multForIons : nBinsV0multForNonIons, 0, fIsIonsAnalysis ? nMaxV0multForIons : nBinsV0multForNonIons);
        fHistV0Amultiplicity = new TH1D("fHistV0Amultiplicity","V0-A Multiplicity;Multiplicity;Entries",
                                        fIsIonsAnalysis ? nBinsV0multForIons : nBinsV0multForNonIons, 0, fIsIonsAnalysis ? nMaxV0multForIons : nBinsV0multForNonIons);
        fHistV0Cmultiplicity = new TH1D("fHistV0Cmultiplicity","V0-C Multiplicity;Multiplicity;Entries",
                                        fIsIonsAnalysis ? nBinsV0multForIons : nBinsV0multForNonIons, 0, fIsIonsAnalysis ? nMaxV0multForIons : nBinsV0multForNonIons);
        fHist2DV0ACmultiplicity = new TH2D("fHist2DV0ACmultiplicity","V0 A-C Multiplicity;Multiplicity A;Multiplicity C;Entries"
                                           ,50, 0, fIsIonsAnalysis ? nMaxV0multForIons/2 : nBinsV0multForNonIons/2
                                                                     ,50, 0, fIsIonsAnalysis ? nMaxV0multForIons/2 : nBinsV0multForNonIons/2);
        
        fHist2DTracksAcceptedVsV0multiplicity = new TH2D("fHist2DTracksAcceptedVsV0multiplicity","V0 Multiplicity vs Accepted;N Accepted tracks;Multiplicity V0;Entries"
                                                         ,70, 0, fIsIonsAnalysis ? 3000 : 70
                                                                                   ,50, 0, fIsIonsAnalysis ? nMaxV0multForIons/2 : 100 );
        
        //number of fired cells
        const int nV0cells = 32;
        //fHistV0cells = new TH1D("fHistV0cells","V0 cells;N cells;Entries", nV0cells+1, -0.5, nV0cells + 0.5 );
        fHistV0Acells = new TH1D("fHistV0Acells","V0-A cells;N cells;Entries", nV0cells+1, -0.5, nV0cells + 0.5 );
        fHistV0Ccells = new TH1D("fHistV0Ccells","V0-C cells;N cells;Entries", nV0cells+1, -0.5, nV0cells + 0.5 );
        fHist2DV0ACcells = new TH2D("fHist2DV0ACcells","V0 A-C cells;N cells A;N cells C;Entries", nV0cells+1, -0.5, nV0cells + 0.5, nV0cells+1, -0.5, nV0cells + 0.5 );
        
        
        fOutList->Add(fHistV0multiplicity);
        fOutList->Add(fHistV0Amultiplicity);
        fOutList->Add(fHistV0Cmultiplicity);
        fOutList->Add(fHist2DV0ACmultiplicity);
        fOutList->Add(fHist2DTracksAcceptedVsV0multiplicity);
        //cells
        //fOutList->Add(fHistV0cells    );
        fOutList->Add(fHistV0Acells   );
        fOutList->Add(fHistV0Ccells   );
        fOutList->Add(fHist2DV0ACcells);
        
        //mult in rings
        //        char strV0ringName[200];
        //        char strV0ringTitle[200];
        TString strV0ringName;
        TString strV0ringTitle;
        for ( int i = 0; i < 4; i++ )
        {
            strV0ringName =  Form( "fHistV0AmultiplicityRing%d", i );
            strV0ringTitle = Form( strV0ringTitle, "V0-A Multiplicity Ring %d;Multiplicity;Entries", i );
            fHistV0AmultiplicityRing[i] = new TH1D( strV0ringName, strV0ringTitle,
                                                    fIsIonsAnalysis ? nBinsV0multForIons : nBinsV0multForNonIons, 0, fIsIonsAnalysis ? nMaxV0multForIons : nBinsV0multForNonIons);
            strV0ringName =  Form(  "fHistV0CmultiplicityRing%d", i );
            strV0ringTitle = Form( strV0ringTitle, "V0-C Multiplicity Ring %d;Multiplicity;Entries", i );
            fHistV0CmultiplicityRing[i] = new TH1D( strV0ringName, strV0ringTitle,
                                                    fIsIonsAnalysis ? nBinsV0multForIons : nBinsV0multForNonIons, 0, fIsIonsAnalysis ? nMaxV0multForIons : nBinsV0multForNonIons);
            strV0ringName =  Form( "fHist2DV0ACmultiplicityRing%d", i );
            strV0ringTitle = Form(  "V0-AC Multiplicity Ring %d;Multiplicity A;Multiplicity C;Entries", i );
            fHist2DV0ACmultiplicityRing[i] = new TH2D( strV0ringName, strV0ringTitle
                                                       , 100, 0, fIsIonsAnalysis ? nMaxV0multForIons/2 : 100
                                                                                   , 100, 0, fIsIonsAnalysis ? nMaxV0multForIons/2 : 100 );
            fOutList->Add(fHistV0AmultiplicityRing[i]);
            fOutList->Add(fHistV0CmultiplicityRing[i]);
            fOutList->Add(fHist2DV0ACmultiplicityRing[i]);
            
            //mult in barrel vs V0 rings
            strV0ringName =  Form( "fHist2DTracksAcceptedVsV0AmultiplicityRing%d", i );
            strV0ringTitle = Form(  "Accepted tracks vs V0-A Multiplicity in Ring %d;N Accepted tracks;Multiplicity V0A;Entries", i );
            fHist2DTracksAcceptedVsV0AmultiplicityRing[i] = new TH2D( strV0ringName, strV0ringTitle
                                                                      , 100, 0, fIsIonsAnalysis ? nMaxV0multForIons/2 : 100
                                                                                                  , 100, 0, fIsIonsAnalysis ? nMaxV0multForIons/2 : 100 );
            strV0ringName =  Form( "fHist2DTracksAcceptedVsV0CmultiplicityRing%d", i );
            strV0ringTitle = Form(  "Accepted tracks vs V0-C Multiplicity in Ring %d;N Accepted tracks;Multiplicity V0C;Entries", i );
            fHist2DTracksAcceptedVsV0CmultiplicityRing[i] = new TH2D( strV0ringName, strV0ringTitle
                                                                      , 100, 0, fIsIonsAnalysis ? nMaxV0multForIons/2 : 100
                                                                                                  , 100, 0, fIsIonsAnalysis ? nMaxV0multForIons/2 : 100 );
            
            fOutList->Add(fHist2DTracksAcceptedVsV0AmultiplicityRing[i]);
            fOutList->Add(fHist2DTracksAcceptedVsV0CmultiplicityRing[i]);
        }
        
    }
    
    
    
    
    //    fHistV0spectra = new TH1D("fHistV0spectra","V0 spectra;Mass, GeV;Entries",500,0,5000);
    //    fOutList->Add(fHistV0spectra);
    
    
    fHistMClabels = new TH1D("fHistMClabels","MC label;label;Entries",102,-100.5,100.5);
    fOutList->Add(fHistMClabels);
    
    fHistRejectedTracksCharge = new TH1D("fHistRejectedTracksCharge","Rejected tracks charge;charge;Entries",3,-1.5,1.5);
    fOutList->Add(fHistRejectedTracksCharge);
    
    fHistTracksCharge = new TH1D("fHistTracksCharge","Accepted tracks charge;charge;Entries",3,-1.5,1.5);
    fOutList->Add(fHistTracksCharge);

    // ##### net charge vs pt study
    const int kPtNetChargePtBins = 200;
    const double kPtNetChargePtMin = 0.1;
    const double kPtNetChargePtMax = 2.1;

    //pt plus
    fHistPtPlus = new TH1D("fHistPtPlus","p_{T} +;p_{T};dN/dpT"
                                  , kPtNetChargePtBins,  kPtNetChargePtMin, kPtNetChargePtMax
                                  );
    fOutList->Add(fHistPtPlus);

    //pt minus
    fHistPtMinus = new TH1D("fHistPtMinus","p_{T} -;p_{T};dN/dpT"
                                  , kPtNetChargePtBins,  kPtNetChargePtMin, kPtNetChargePtMax
                                  );
    fOutList->Add(fHistPtMinus);

    //net charge vs pT
    fHistNetChargeVsPt = new TH1D("fHistNetChargeVsPt","charge vs p_{T};p_{T};Q"
                                  , kPtNetChargePtBins,  kPtNetChargePtMin, kPtNetChargePtMax
                                  );
    fOutList->Add(fHistNetChargeVsPt);

    //plus
    fHistChargePlusVsPtTmp = new TH1D( "fHistChargePlusVsPtTmp","charge plus vs p_{T};p_{T};q plus"
                                       , kPtNetChargePtBins,  kPtNetChargePtMin, kPtNetChargePtMax
                                       );
    //    fOutList->Add(fHistChargePlusVsPtTmp);

    //minus
    fHistChargeMinusVsPtTmp = new TH1D( "fHistChargeMinusVsPtTmp","charge minus vs p_{T};p_{T};q minus"
                                        , kPtNetChargePtBins,  kPtNetChargePtMin, kPtNetChargePtMax
                                        );
    //    fOutList->Add(fHistChargeMinusVsPtTmp);

    //NetChargeVsPt
    fHist2DNetChargeVsPt = new TH2D( "fHist2DNetChargeVsPt","Net charge vs p_{T};p_{T};Q"
                                     , kPtNetChargePtBins,  kPtNetChargePtMin, kPtNetChargePtMax
                                     , 40,  -20, 20
                                     );
    fOutList->Add(fHist2DNetChargeVsPt);

    //NetChargeVsPt CorrectedOnEventMean
    fHist2DNetChargeVsPtCorrectedOnEventMean = new TH2D( "fHist2DNetChargeVsPtCorrectedOnEventMean","Net charge corrected on mean e-by-e vs p_{T};p_{T};Q"
                                                         , kPtNetChargePtBins,  kPtNetChargePtMin, kPtNetChargePtMax
                                                         , 40,  -20, 20
                                                         );
    fOutList->Add(fHist2DNetChargeVsPtCorrectedOnEventMean);

    //NetChargeVsPt CorrectedOnEventMean normalized on Nch
    fHist2DNetChargeVsPtCorrectedOnEventMeanNormOnNch = new TH2D( "fHist2DNetChargeVsPtCorrectedOnEventMeanNormOnNch","Net charge vs p_{T} corrected on mean e-by-e normalized on nCh;p_{T};Q"
                                                                  , kPtNetChargePtBins,  kPtNetChargePtMin, kPtNetChargePtMax
                                                                  , 40,  -20, 20
                                                                  );
    fOutList->Add(fHist2DNetChargeVsPtCorrectedOnEventMeanNormOnNch);



    if ( fArtificialInefficiency >= 0 ) //i.e. have this kind of analysis
    {
        fHistNumberOfDroppedByHandTracks = new TH2D("fHistNumberOfDroppedByHandTracks","Accepted tracks vs Dropped artificially;N_{ch} accepted;N_{ch} dropped;Entries", 71, -0.5, 70.5,   71, -0.5, 70.5);
        fOutList->Add(fHistNumberOfDroppedByHandTracks);
    }
    
    
    // Returning TH1,TH2 AddDirectory status
    TH1::AddDirectory(lTH1oldStatus);
    TH2::AddDirectory(lTH2oldStatus);
    
    //fHistProbabilitiesPID->Fill(1,fStrPIDforFwd);
    //fHistProbabilitiesPID->Fill(2,fStrPIDforBwd);
    Printf("UserCreateOutputObjects done.");
    
    // NEW HISTO added to fOutput here
    PostData(1, fOutList); // Post data for ALL output slots >0 here, to get at least an empty histogram
    
    for( Int_t i = 0; i < fLRCproc.GetEntries(); i++)
    {
        PostData( Proc(i)->GetOutputSlotNumber(),Proc(i)->CreateOutput() );
    }
    
    
    //if ( fSetIncludeEventTreeInOutput )
    //    PostData(2, fEventTree);
    //int a;
    //cin >> a;
    
    
}

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

//    //cout << "TEST in Task" << endl;
//    // ###### tuning phi

//    //rotate phi when N_phi_sectors > 1 and call UserExecLoop:
//    double phiStep = 2 * TMath::Pi();
//    if ( fNumberOfSectors > 1 )
//        phiStep /= fNumberOfSectors;

//    double lPhiRotatedExtra = 0; //additional phi rotation of all tracks
//    for ( Int_t sectorId = 0; sectorId < fNumberOfSectors; sectorId++ )
//    {
//        //cout << "loop " << sectorId << endl;
//        UserExecLoop( lPhiRotatedExtra );
//        lPhiRotatedExtra += phiStep; //rotate track
//    }


//}

//________________________________________________________________________
void AliAnalysisTaskLRC::UserExec(Option_t *)   //UserExecLoop( Double_t phiAdditional )//Option_t *)
{
    // ########### if use toy events
    if ( fUseToyEvents )
    {
        //generate all events here and fill LRC processors
        UseToyEvents();

        //just return
        return;
    }
    
    // Main loop
    // Called for each event
    //printf( "starting UserExec...\n" );
    //Pid setting
    if ( fPIDsensingFlag )
    {
        SetParticleTypeToProcessors( 0 /*fwd*/, fStrPIDforFwd );
        SetParticleTypeToProcessors( 1 /*backward*/, fStrPIDforBwd );
        fPIDsensingFlag = kFALSE;
    }
    
    //printf( "starting event...\n" );
    //The common PID object can then be retrieved from the input handler:
    AliAnalysisManager *man = AliAnalysisManager::GetAnalysisManager();
    AliInputEventHandler* inputHandler = (AliInputEventHandler*) (man->GetInputEventHandler());
    fPIDResponse = inputHandler->GetPIDResponse();
    //if (!fPIDResponse) !!!!!!!!!!!!
    //	AliFatal("This Task needs the PID response attached to the inputHandler");
    
    
    AliVEvent *event = InputEvent();
    AliESDEvent *lESD = 0x0;
    AliAODEvent *lAOD = 0x0;
    
    AliStack *stack = 0x0;
    AliMCEvent *eventMC = 0x0;
    
    
    if ( fAnalysisLevel == "ESD" ) //fAnalysisType == en_AnalysisType_AOD )
    {
        lESD = dynamic_cast<AliESDEvent*> (event) ;
        //printf( "cast to ESD is Ok\n." );
    }
    else if ( fAnalysisLevel == "AOD" ) //fAnalysisType == en_AnalysisType_AOD )
    {
        //cout << "test AOD analysis... " << endl;
        lAOD = dynamic_cast<AliAODEvent*>(event); // from TaskSE
        //Int_t bMagneticFieldSign = (lAOD->GetMagneticField() > 0) ? 1 : -1;
        //printf( "Number of AOD tracks = %d, magnetic field = %f\n", lAOD->GetNumberOfTracks(), lAOD->GetMagneticField() );
        //return;
        
    }
    
    if( fRunKine ) //|| fAnalyseMCESD )
    {
        eventMC = MCEvent();
        stack = eventMC->Stack();
        //Printf("Number of primaries: %d",stack->GetNprimary());
    }
    
    if (!event)
    {
        //Printf("ERROR: Could not retrieve event");
        return;
    }
    //cout << "test start Event!" << endl;
    
    if( (lESD ) && ( !fEsdTrackCuts ) )
    {
        AliDebug(AliLog::kError, "No ESD track cuts avalible");
        return;
    }
    
    //make combined flag for esd selection during MC kine analysis
    Bool_t lRunKine = ( fRunKine && !fAnalyseMCESD );
    
    // Processing event selection
    fHistEventCutStats->Fill( "Total", 1 );
    
    
    
    //cout << "test: nOfTracks = " << event->GetNumberOfTracks() << endl;
    
    //Trigger
    Bool_t lTrigger = kTRUE;
    if( lESD && !lRunKine ) //just for tests; usually it is done before UserExecLoop in PhysSel task
    {
        if(fShowEventStats)
            Printf("Trigger classes: %s:", lESD->GetFiredTriggerClasses().Data());
        
        lTrigger = ((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected();
        
        //8 TeV runs: TEST triggers! (29.12.2012)
        //        Bool_t lTrigger1 = (lESD->IsTriggerClassFired("CINT7-B-NOPF-ALLNOTRD")) ? 1 : 0;
        //        Bool_t lTrigger2 = (lESD->IsTriggerClassFired("CINT7WU-B-NOPF-ALL")) ? 1 : 0;
        //        lTrigger = lTrigger1 && lTrigger2;
        
        if( !lTrigger )
        {
            if( fShowEventStats )
                Printf("Rejected!");
            fHistEventCutStats->Fill( "No trigger", 1 );
            PostData(1, fOutList);
            return;
        }
    }
    //Centrality      //https://twiki.cern.ch/twiki/bin/viewauth/ALICE/CentStudies
    Double_t lCentralityPercentile 	= 0.;
    Int_t lCentralityClass10 		= 0;
    Int_t lCentralityClass5 		= 0;
    Float_t lReactionPlane       = -1.;
    
    
    if( !lRunKine && fIsIonsAnalysis )
    {
        AliCentrality *centrality = 0x0;
        
        if ( lESD )
            centrality = lESD->GetCentrality();
        else if ( lAOD )
            centrality = lAOD->GetCentrality();
        
        if ( centrality )
        {
            lCentralityPercentile 	= centrality->GetCentralityPercentile("V0M"); 	// returns the centrality percentile, a float from 0 to 100 (or to the trigger efficiency)
            lCentralityClass10 		= centrality->GetCentralityClass10("V0M");//"FMD"); 		// returns centrality class for 10% width (a integer from 0 to 10)
            lCentralityClass5 		= centrality->GetCentralityClass5("V0M");//"TKL"); 		// returns centrality class for 5% width (a integer from 0 to 20)
            Bool_t lCentralityInClass = centrality->IsEventInCentralityClass(fMinCentralityClass,fMaxCentralityClass,"V0M"); // returns kTRUE if the centrality of the event is between a and b, otherwise kFALSE
            //cout << lCentralityPercentile << " "
            //<< fMinCentralityClass << " "
            //<< fMaxCentralityClass << " "
            //<< lCentralityInClass << endl;
            
            if ( !lCentralityInClass )
            {
                //cout << "outside of centrality class!" << endl;
                fHistEventCutStats->Fill("Wrong centrality", 1);
                PostData(1, fOutList);
                return;
            }
            
            fHistCentralityPercentile->Fill( lCentralityPercentile );
            fHistCentralityClass10->Fill( lCentralityClass10 );
            fHistCentralityClass5->Fill( lCentralityClass5 );
            
            // get the reaction plane
            lReactionPlane = GetEventPlane( event );
            fHistEventPlane->Fill( lReactionPlane, lCentralityPercentile );
        }
    }
    
    //number of verteces in ESD (pileup)
    if ( lESD )
    {
        int lNumberOfPileUpVerteces = 0;
        TClonesArray *lPileupVertecesTracks = lESD->GetPileupVerticesTracks();
        lNumberOfPileUpVerteces = lPileupVertecesTracks->GetSize();
        fHistNumberOfPileupVerticesTracks->Fill( lNumberOfPileUpVerteces );
        
        TClonesArray *lPileupVertecesSPD = lESD->GetPileupVerticesSPD();
        lNumberOfPileUpVerteces = lPileupVertecesSPD->GetSize();
        fHistNumberOfPileupVerticesSPD->Fill( lNumberOfPileUpVerteces );
    }
    else if ( lAOD ) //number of verteces in AOD (pileup)
    {
        int lNumberOfPileUpVerteces = 0;
        lNumberOfPileUpVerteces = lAOD->GetNumberOfPileupVerticesTracks();
        fHistNumberOfPileupVerticesTracks->Fill( lNumberOfPileUpVerteces );
        lNumberOfPileUpVerteces = lAOD->GetNumberOfPileupVerticesSPD();
        fHistNumberOfPileupVerticesSPD->Fill( lNumberOfPileUpVerteces );
    }
    
    
    // Vertex present
    //    const AliESDVertex *vertex = lESD->GetPrimaryVertex();
    Double_t lVertexX = -1000;
    Double_t lVertexY = -1000;
    Double_t lVertexZ = -1000;
    Double_t lMCVertexX = -1000;
    Double_t lMCVertexY = -1000;
    Double_t lMCVertexZ = -1000;
    
    Bool_t lReconstructedVertexPresent = kFALSE;
    Bool_t lVertexAcceptable = kFALSE;
    
    if ( fAnalysisLevel == "ESD" ||  fAnalysisLevel == "AOD" )
    {
        const AliVVertex *vertex = event->GetPrimaryVertex();
        fHistVertexNconributors->Fill( vertex->GetNContributors() );
        
        Double32_t lCov[6];
        vertex->GetCovarianceMatrix(lCov);
        
        //check nContributors and z*z>0
        lReconstructedVertexPresent = ( ( vertex->GetNContributors() > 0 ) && ( lCov[5] != 0 ) );
        //        if ( (vertex) && (vertex->GetNContributors() > 0 ) && ( vertex->GetZRes() == 0 ) )
        //        {
        //            int aa;
        //            cout << "stop with nContributors = " << vertex->GetNContributors() << endl;
        //            cin >> aa;
        //        }
        lVertexX = vertex->GetX();
        lVertexY = vertex->GetY();
        lVertexZ = vertex->GetZ();
    }
    
    if ( fRunKine ) //take MC vertex params and rewrite position
    {
        AliGenEventHeader *header = eventMC->GenEventHeader();
        if(!header) return;
        
        TArrayF gVertexArray;
        header->PrimaryVertex(gVertexArray);
        lMCVertexX = gVertexArray.At(0);
        lMCVertexY = gVertexArray.At(1);
        lMCVertexZ = gVertexArray.At(2);
        
        //fill mc-reco diff
        if ( lReconstructedVertexPresent )
        {
            fHistVxMCrecoDiff->Fill( lMCVertexX - lVertexX );
            fHistVyMCrecoDiff->Fill( lMCVertexY - lVertexY );
            fHistVzMCrecoDiff->Fill( lMCVertexZ - lVertexZ );
        }
        
    }
    
    //cut on reco vertex params
    if ( !lRunKine )
    {
        if( ( !lReconstructedVertexPresent ) && fCheckForkVtx )
        {
            if( fShowEventStats )
                Printf("Bad vertex params");
            fHistEventCutStats->Fill("Bad vertex params",1);
            PostData(1, fOutList);
            return;
        }
    }
    else
    {
        //rewrite vert x,y,z into mc values
        lVertexX = lMCVertexX;
        lVertexY = lMCVertexY;
        lVertexZ = lMCVertexZ;
    }
    
    
    // Vertex in range
    lVertexAcceptable = (TMath::Abs(lVertexX) < fVxMax) && (TMath::Abs(lVertexY) < fVyMax);
    if( lVertexAcceptable )
    {
        if( fVzMax > 0 )   //   fVzMax < 0 -> select Zv outside selected range
            lVertexAcceptable = (TMath::Abs(lVertexZ) < fVzMax);
        else
            lVertexAcceptable = (TMath::Abs(lVertexZ) > -fVzMax);
    }
    
    if( (!lVertexAcceptable) && fCheckForVtxPosition && !lRunKine )
    {
        if(fShowEventStats)
            Printf("Vertex out of range");
        fHistEventCutStats->Fill("Bad vertex position",1);
        PostData(1, fOutList);
        return;
    }
    
    //fill bin if no reco vertex in MC analysis
    if ( lRunKine && !lReconstructedVertexPresent )
        fHistEventCutStats->Fill( "No reco vertex", 1 );
    
    fHistVx->Fill(lVertexX);
    fHistVy->Fill(lVertexY);
    fHistVz->Fill(lVertexZ);
    //end with vertex
    
    
    
    
    //cut on number of SPD tracklets (25.03.2012)
    if( lESD && !lRunKine )
    {
        //How to get tracklets
        const AliMultiplicity *tracklets = lESD->GetMultiplicity();
        Int_t multSPD = tracklets->GetNumberOfTracklets();
        //Int_t nITStracklets = kalmanTrack->GetNumberOfTracklets();
        fHistTrackletsITS->Fill( multSPD );
        if ( multSPD < fMinNumberOfSPDtracklets )
        {
            if(fShowEventStats)
                Printf("Too few SPD tracklets");
            fHistEventCutStats->Fill( "Few SPD tracklets", 1 );
            PostData(1, fOutList);
            return;
        }
    }
    
    
    //tmp eta ranges (for ZDC respond study)
    double etaBmin = -0.8;
    double etaBmax = -0.6;
    double etaFmin = 0.6;
    double etaFmax = 0.8;
    int countTracksEtaB = 0;
    int countTracksEtaF = 0;
    
    //n accepted tracks
    int lNchTrigger = 0;
    int lTPCtracks  = 0; // added 25.03.2012
    fHistMultBeforeCuts->Fill( event->GetNumberOfTracks() );
    
    // Pre event loop
    if( !lRunKine )
    {
        for ( Int_t iTracks = 0; iTracks < event->GetNumberOfTracks(); iTracks++)
        {
            if ( fAnalysisLevel == "ESD" )
            {
                AliESDtrack *track = lESD->GetTrack(iTracks);
                if ( fEsdTrackCuts->AcceptTrack(track) )
                {
                    lNchTrigger++;
                    //todo: try to implement pt cuts here?....
                    //How to get TPC standalone tracks
                    AliExternalTrackParam *tpcTrack
                            = (AliExternalTrackParam *)track->GetTPCInnerParam();
                    if ( tpcTrack )
                        lTPCtracks++;
                }
                else
                {
                    fHistRejectedTracksCharge->Fill( track->Charge() );
                }
            }
            else if ( fAnalysisLevel == "AOD" )
            {
                AliAODTrack* aodTrack = dynamic_cast<AliAODTrack *>(event->GetTrack(iTracks));
                if( aodTrack->TestFilterBit( fAODtrackCutBit ) )
                    lNchTrigger++;
            }
        }
    }
    fHistAcceptedTPCtracks->Fill( lTPCtracks );
    
    
    
    
    //if(lRunKine)lNchTrigger=eventMC->GetNumberOfPrimaries();
    
    // Nch bins cut
    if( ( lNchTrigger > fMaxAcceptedTracksCut ) && ( fMaxAcceptedTracksCut != 0 ) )
    {
        fHistEventCutStats->Fill( "HighMult cut", 1 );
        PostData(1, fOutList);
        return;
    }
    
    if( lNchTrigger < fMinAcceptedTracksCut )
    {
        fHistEventCutStats->Fill( "LowMult cut", 1 );
        PostData(1, fOutList);
        return;
    }
    fHistAcceptedMult->Fill(lNchTrigger);
    fHistEventCutStats->Fill("Analyzed",1);
    
    if ( lESD && fFlagWatchV0 ) // cut on V0 multiplicity "radius" in 2D-hist for both A and C sides
    {
        const AliESDVZERO* vzrData = lESD->GetVZEROData(); //aod the same
        
        //        const int lThresholdMultV0RingId = 3; //which ring is considered
        //        Double_t lThisEventV0MultSumRing3 = vzrData->GetMRingV0A(2) + vzrData->GetMRingV0C(2);
        //        Double_t lThisEventV0MultSumRing4 = vzrData->GetMRingV0A(3) + vzrData->GetMRingV0C(3);
        //        Double_t lThisEventV0MultSum = lThisEventV0MultSumRing3 + lThisEventV0MultSumRing4;
        double sumV0Amult = vzrData->GetMTotV0A();
        double sumV0Cmult = vzrData->GetMTotV0C();

        Double_t lThisEventV0MultSum = sumV0Amult + sumV0Cmult;

        //sqrt ( pow ( vzrData->GetMRingV0A(lThresholdMultV0RingId), 2 ) + pow ( vzrData->GetMRingV0C(lThresholdMultV0RingId), 2 ) );
        if ( lThisEventV0MultSum < fThresholdOnV0mult
             || sumV0Amult < fThresholdOnV0mult / 5 //additionally, to "exclude" diffraction
             || sumV0Cmult < fThresholdOnV0mult / 5 //additionally, to "exclude" diffraction
             )
        {
            PostData(1, fOutList);
            return;
        }
    }
    
    //    if ( fAnalysisLevel == "AOD" )
    //        return;
    

    //reset tmp histos
    fHistChargePlusVsPtTmp->Reset();
    fHistChargeMinusVsPtTmp->Reset();

    //Track selection counters
    int lNaccept=0;
    int lNacceptEtaInRegion=0;
    int lNacceptAfterPtCuts=0;
    int lNacceptEtaInRegionAfterPtCuts=0;
    //    int lNacceptPlusEtaInRegion=0;
    //    int lNacceptMinusEtaInRegion=0;
    int lPtOver=0;
    int lPtUnder=0;
    int lNoCharge=0;
    int lCutfail=0;
    int lDecay=0;
    //AliLRCBase::LRCparticleType lParticleType = AliLRCBase::kLRCany;
    
    int lNumberOfDropByHandTracks = 0; //number of artificially dropped tracks
    
    //Double_t probTPC[AliPID::kSPECIES]={0.};
    Double_t probTOF[AliPID::kSPECIES]={0.};
    Double_t probTPCTOF[AliPID::kSPECIES]={0.};
    
    Int_t nTracksInEvent = ( !lRunKine )
            ? event->GetNumberOfTracks()
            : eventMC->GetNumberOfPrimaries();//GetNumberOfTracks();
    
    //        if ( fSetIncludeEventTreeInOutput )
    //        {
    //            fSimpleEvent->SetHeader( fNsimpleEvents, -1, -1, lCentralityPercentile, lReactionPlane );
    //            fSimpleEvent->SetVertexPos( vertex->GetX(), vertex->GetY(), vertex->GetZ() );
    //            fNsimpleEvents++;
    //            fSimpleEvent->StartEventFilling();
    //        }
    //if ( !lRunKine )
    int lNumberOfAcceptedTracksForLRC = 0;
    // Track loop -----------------------------------------------------------------
    for (Int_t iTracks = 0; iTracks < nTracksInEvent/*event->GetNumberOfTracks()*/; iTracks++)
    {
        
        //Track variables
        double lPt = 0;   // Temp Pt
        double lEta = -100;	  // Temp ETA
        double lPhi = -100;    // Temp Phi
        double lMass = 0;    // Temp Mass
        double lEt = 0;
        Short_t lCharge = 0;
        
        AliVParticle* track = ( !lRunKine )
                ? event->GetTrack(iTracks)
                : eventMC->GetTrack(iTracks);
        
        
        if ( !track ) {
            Printf("ERROR: Could not receive track %d", iTracks);
            continue;
        }
        
        fHistTrackCutStats->Fill("Total",1);
        fHistEtaVsZvCoverage->Fill(lVertexZ,track->Eta());
        
        lPt = track->Pt();
        //if ( iTracks == 0 ) cout << "pt of 1st track is " << lPt << endl;
        lEta = track->Eta();
        lPhi = track->Phi();
        
        if ( !lRunKine && fAnalysisLevel == "AOD" )
        {
            AliAODTrack* aodTrack = dynamic_cast<AliAODTrack *>(event->GetTrack(iTracks));
            if ( aodTrack->TestFilterBit( fAODtrackCutBit ) )
                fHistEtaAODpure->Fill( lEta );
        }
        
        //1.10.2012 - "inefficiency" in phi-acceptance "by hand"
        if ( lPhi > fPhiArtificialGapBegin &&
             lPhi < fPhiArtificialGapEnd )
            continue; // drop track in this "ineffective" area
        
        
        //lPhi += phiAdditional; // add here extra phi angle! (when applying tracks rotation by hand)
        
        
        //        if ( lPhi > 2 * TMath::Pi() )
        //            lPhi -= 2 * TMath::Pi();
        //cout << "track pt = " <<  lPt << endl;
        lCharge = track->Charge();
        
        Int_t lTriggerMask = -1; //for manual event tree extraction
        
        // ESD or AOD track cuts
        if( !lRunKine )
        {
            if ( fAnalysisLevel == "ESD" )
            {
                AliESDtrack* lESDtrack = lESD->GetTrack(iTracks);
                if( fShowPerTrackStats )
                    Printf("ESD Track N%d , Eta=%f, Pt=%f , TPC Nclusters =%d Sigma=%f ",  iTracks , lEta , lPt, lESDtrack-> GetTPCNcls(),fEsdTrackCuts->GetSigmaToVertex( lESDtrack) );
                //cluster histograms (for watching)
                fHistClustersTPC->Fill( lESDtrack->GetTPCNcls() );
                fHistCrossedRowsTPC->Fill( lESDtrack->GetTPCCrossedRows() );
                Int_t nITSclusters = lESDtrack->GetITSclusters(0);
                fHistClustersITS->Fill( nITSclusters );//kalmanTrack->GetNumberOfClusters()  );
                //Printf( " after \n" );
                
                fHist2DClustersTPCvsPt->Fill( lPt, lESDtrack->GetTPCNcls() );
                fHist2DClustersTPCvsEta->Fill( lEta, lESDtrack->GetTPCNcls() );
                
                //now check track cuts: either look at fEsdTrackCuts or take cuts from array and look
                if ( !fSwitchToListingCuts )
                {
                    if( !fEsdTrackCuts->AcceptTrack(lESDtrack) )
                    {
                        lCutfail++;
                        if( fShowPerTrackStats )
                            Printf("Rejected by cuts");
                        fHistTrackCutStats->Fill( "QA track cuts", 1 );
                        continue;
                    }
                    else
                    {
                        if(fShowPerTrackStats)
                            Printf("OK");
                    }
                }
                else
                {
                    lTriggerMask = 0;
                    //                    cout << "cuts: " << endl;
                    for( Int_t cutsId = 0; cutsId < fArrTrackCuts.GetEntries()/*fNumberOfCutsToRemember*/; cutsId++ )
                    {
                        //                        if ( !fArrTrackCuts[cutsId] )
                        //                            continue;
                        int cutsPassed = ( ((AliESDtrackCuts*)fArrTrackCuts[cutsId])->AcceptTrack( lESDtrack ) );
                        if ( cutsPassed )
                        {
                            fHistCutsNamesBins->Fill( cutsId );
                            Int_t cutMask = 1;
                            for( int iPow = 0; iPow < cutsId; iPow++ )
                                cutMask *= 2;
                            lTriggerMask ^=  cutMask;//(cutsId+1);
                        }
                        //                        cout << cutsPassed;
                    }
                }
                
                //fHist2DRejectedTracksPtvsEta->Fill( lPt, lEta );
                fHistClustersTPCafterCuts->Fill( lESDtrack->GetTPCNcls() );
                fHistCrossedRowsTPCafterCuts->Fill( lESDtrack->GetTPCCrossedRows() );
            }
            else if ( fAnalysisLevel == "AOD" )
            {
                AliAODTrack* aodTrack = dynamic_cast<AliAODTrack *>(event->GetTrack(iTracks));
                if (!aodTrack)
                {
                    AliError(Form("Could not receive track %d", iTracks));
                    continue;
                }
                
                for(Int_t iTrackBit = 0; iTrackBit < 16; iTrackBit++){
                    fHistAODTrackStats->Fill(iTrackBit,aodTrack->TestFilterBit(1<<iTrackBit));
                    //                    cout << aodTrack->TestFilterBit(1<<iTrackBit) << " ";
                }
                //                cout << endl;
                if( !aodTrack->TestFilterBit( fAODtrackCutBit ) )
                {
                    //                    cout << "fAODtrackCutBit=" << fAODtrackCutBit << endl;
                    fHistTrackCutStats->Fill( "QA track cuts", 1 );
                    continue;
                }
                //                int a;
                //                cin >> a;
            }
            
            fHistTracksCharge->Fill(lCharge);

        }
        //        lEta = fRand->Uniform(-1,1); //!!!!!!!!!!!!!!!!!!!!!!! TEST!!!!!!
        // end of ESD or AOD track cuts
        
        
        //MC truth
        //Int_t label = -1000;
        TParticle * part = 0x0;
        if( lRunKine )   // Dropping undetectable particles in Kine
        {
            //            if ( fAnalyseMCESD ) //run MC+ESD
            //            {
            //                label = track->GetLabel();//TMath::Abs(track->GetLabel()); //abs!!!!
            //                fHistMClabels->Fill( label );
            //                if ( label < 0 ) //by Peter Hristov - it's ghost tracks
            //                    continue;
            //                part = stack->Particle(label);
            //            }
            //            else
            {
                AliMCParticle* trackMC = dynamic_cast<AliMCParticle *>(eventMC->GetTrack(iTracks));
                if(!trackMC)
                    continue;
                part = trackMC->Particle();
                if( !part ) continue;
            }
            
            Int_t lNoD = part->GetNDaughters();
            if(fShowPerTrackStats)
            {
                printf("Track %d, Mother %d, track Pt=%f, MC Pt=%f, PDG=%d  Nof Dothers=%d  ETA=%f   ## ",  iTracks , part->GetFirstMother() ,lPt,      part->Pt() ,part->GetPdgCode(),lNoD,lEta);
                printf("%s", part->GetName());
                printf(" ");
                printf("%s", part->GetPDG()->ParticleClass());
            }
            
            if( !stack->IsPhysicalPrimary(iTracks) )//label))
            {
                fHistTrackCutStats->Fill( "Not phys primary", 1 );
                continue;
            }
            
            //charge in TParticlePDG is in units of |e|/3
            fHistTracksCharge->Fill( part->GetPDG()->Charge() / 3 ); // 0-charge bin fills only for MC truth events
            //cout << " charge = " << part->GetPDG()->Charge();
            if ( part->GetPDG()->Charge() == 0 )
            {
                if(fShowPerTrackStats)
                    Printf(" ChargeReject");
                lNoCharge++;
                continue;
            }
            
            //cut on low-pt kine particles
            if ( lPt < fKineLowPtCut )
                continue;
        }    //End of  Kine particle filter
        
        //now decide that we have a good track
        lNaccept++;
        
        if( fabs(lEta) < fEtaRegionForTests ) //look at eta region
        {
            lNacceptEtaInRegion++;
            //net charge fillings
            fHistNetChargeVsPt->Fill( lPt, lCharge );
            if ( lCharge > 0 )
            {
                fHistChargePlusVsPtTmp->Fill( lPt );
                fHistPtPlus->Fill( lPt );
            }
            else if ( lCharge < 0 )
            {
                fHistChargeMinusVsPtTmp->Fill( lPt );
                fHistPtMinus->Fill( lPt );
            }
        }
        
        if( lPt > fMaxPtLimit )
        {
            lPtOver++;
            fHistTrackCutStats->Fill(2);
            continue;
        } // Dropping tracks with hi Pt
        
        if( lPt < fMinPtLimit )
        {
            lPtUnder++;
            fHistTrackCutStats->Fill(3);
            continue;
        } // Dropping tracks with low Pt
        lNacceptAfterPtCuts++;
        fHistTrackCutStats->Fill(4);
        fHistPt->Fill( lPt );
        fHistEta->Fill( lEta );
        fHistPhi->Fill( lPhi );
        
        if( fabs(lEta) < fEtaRegionForTests ) //look at eta region
            lNacceptEtaInRegionAfterPtCuts++;
        
        //fill counters for ZDC-comparing with a 'shelve'
        if ( lEta > etaBmin && lEta < etaBmax )
            countTracksEtaB++;
        if ( lEta > etaFmin && lEta < etaFmax )
            countTracksEtaF++;
        
        if ( fabs( lEta ) < 0.8 ) //eta-phi for tracks in "ALICE barrel acceptance"
            fHistEtaPhi->Fill(lEta, lPhi);
        
        
        // ###### New PID
        Int_t lMostProbablePIDPure = -1;
        Int_t lMostProbablePIDdirty = -1;
        if ( (lESD || lAOD) && !lRunKine && fPIDResponse )
        {
            AliVTrack *trackV = (AliVTrack*)event->GetTrack(iTracks);
            //##### from Pid Combined Task
            // compute priors for TPC+TOF, even if we ask just TOF for PID
            fPIDCombined->SetDetectorMask(AliPIDResponse::kDetTOF);
            UInt_t detUsed = fPIDCombined->ComputeProbabilities(trackV, fPIDResponse, probTOF);
            Double_t priors[5]; 	// check priors used for TOF
            fPIDCombined->GetPriors(trackV,priors,fPIDResponse,detUsed);
            for(Int_t ispec=0;ispec<5;ispec++) fPriorsUsed[ispec]->Fill(TMath::Abs(trackV->Pt()),priors[ispec]);
            
            fPIDCombined->SetDetectorMask(AliPIDResponse::kDetTOF|AliPIDResponse::kDetTPC);
            detUsed = fPIDCombined->ComputeProbabilities(trackV, fPIDResponse, probTPCTOF);
            fHistProbabilityPion->Fill( probTPCTOF[AliPID::kPion] );////probDensity[iParticle] );
            fHistProbabilityKaon->Fill( probTPCTOF[AliPID::kKaon] );
            fHistProbabilityProton->Fill( probTPCTOF[AliPID::kProton] );////probDensity[iParticle] );
            //cout << "chto-to s detId: " << detUsed << endl;
//            for ( Int_t ispec=0; ispec < (int)(AliPID::kSPECIES); ++ispec ) {
//                //cout << probTPCTOF[ispec] << "  " << endl;
//            }
            //cout << endl;
            if ( detUsed == (UInt_t)fPIDCombined->GetDetectorMask() )
            {
                Double_t lMaxProb = 0;
                for ( Int_t ispec=0; ispec < (int)(AliPID::kSPECIES); ++ispec )
                {
                    //Double_t nSigmaTPC = fPIDResponse->NumberOfSigmasTPC(trackV,(AliPID::EParticleType)ispec);
                    fProbTPCTOF[ispec]->Fill( lPt, probTPCTOF[ispec] );
                    //fProbTPCTOFnSigmaTPC[ispec]->Fill(nSigmaTPC,probTPCTOF[ispec]);
                    //fProbTPCTOFnSigTPCMom[ibin][ispec]->Fill(nSigmaTPC,probTPCTOF[ispec]);
                    
                    if ( probTPCTOF[ispec] > lMaxProb )
                    {
                        lMaxProb = probTPCTOF[ispec];
                        lMostProbablePIDPure = ispec;
                    }
                }
                //fill for watching at max prob-s in pid species arrays
                fHistPidPureMaxProbability->Fill( lMaxProb );
            }
            
            const bool useDirtyPID = true;
            if ( useDirtyPID )
            {
                //Int_t lMostProbablePIDdirty = -1;
                
                Double_t lMaxProb = 0;
                for ( Int_t ispec=0; ispec < (int)(AliPID::kSPECIES); ++ispec )
                {
                    fProbAllDets[ispec]->Fill( lPt, probTPCTOF[ispec] );
                    if ( probTPCTOF[ispec] > lMaxProb )
                    {
                        lMaxProb = probTPCTOF[ispec];
                        lMostProbablePIDdirty = ispec;	// define most probable particle!!!
                    }
                }
                //fill for watching at max prob-s in pid species arrays
                fHistPidMaxProbability->Fill( lMaxProb );
                fHistParticlesDistr->Fill( lMostProbablePIDdirty );
            }
            
            
        }
        // end of new PID filling
        
        fHist2DAcceptedTracksPtvsEta->Fill( lPt, lEta );
        
        //get particle mass and Et
        if ( lMostProbablePIDPure >= 0 )
        {
            lMass = AliPID::ParticleMass( lMostProbablePIDPure );
            fHistESDtrackMass->Fill( lMass );
            lEt = sqrt( lPt*lPt + lMass*lMass );
            //cout << lEt << " " << lMass << " " << lPt << endl;
        }
        
        //eta vs vertex z coverage
        fHistEtaVsZvCoverageAccepted->Fill(lVertexZ,track->Eta());
        
        //artificial inefficiency (27.09.12) - check, what if we drop some fraction of tracks randomly
        Bool_t lDropDecision = ( ( 1.0 - fArtificialInefficiency ) < fRand->Uniform(0,1) );
        
        if ( lDropDecision )
        {
            lNumberOfDropByHandTracks++;
            continue;
        }
        
        if ( lNumberOfAcceptedTracksForLRC >= kMaxParticlesNumber )
        {
            AliDebug(AliLog::kError, "lNumberOfAcceptedTracksForLRC is too large...");
            break;
        }
        
        //fill arrays with track data for LRC
        fArrayTracksPt[lNumberOfAcceptedTracksForLRC]       = (fEtInsteadOfPt ? lEt : lPt);
        fArrayTracksEta[lNumberOfAcceptedTracksForLRC]      = lEta;
        fArrayTracksPhi[lNumberOfAcceptedTracksForLRC]      = lPhi;
        fArrayTracksCharge[lNumberOfAcceptedTracksForLRC]   = lCharge;
        fArrayTracksPID[lNumberOfAcceptedTracksForLRC]      = lMostProbablePIDPure;
        
        lNumberOfAcceptedTracksForLRC++;
        
    } //end of track loop
    
    //net charge vs pt
//    if ( lNacceptEtaInRegion > 20 )
//    {
//        fHistChargePlusVsPtTmp->DrawClone();
//        fHistChargeMinusVsPtTmp->SetLineColor( kBlue );
//        fHistChargeMinusVsPtTmp->DrawClone("same");
//    }


    //final actions for net-charge
    double integralPlus     = fHistChargePlusVsPtTmp->ComputeIntegral();
    double integralMinus    = fHistChargeMinusVsPtTmp->ComputeIntegral();
    double xAxisLowEdge     = fHistChargePlusVsPtTmp->GetBinLowEdge(1);
    double xAxisHighEdge    = fHistChargePlusVsPtTmp->GetBinLowEdge(fHistChargePlusVsPtTmp->GetNbinsX()) + fHistChargePlusVsPtTmp->GetBinWidth(fHistChargePlusVsPtTmp->GetNbinsX());
    double ptRange =  xAxisHighEdge - xAxisLowEdge;
//    cout << "integralPlus=" << integralPlus << ", integralMinus=" << integralMinus << ", ptRange=" << ptRange << endl;

    for ( int bin = 0; bin < fHistChargePlusVsPtTmp->GetNbinsX(); bin++)
    {
        double binCenter = fHistChargePlusVsPtTmp->GetBinCenter(bin+1);
        double binContentPlus = fHistChargePlusVsPtTmp->GetBinContent(bin+1);
        double binContentMinus = fHistChargeMinusVsPtTmp->GetBinContent(bin+1);



        double lNetCharge = binContentPlus-binContentMinus;
        fHist2DNetChargeVsPt->Fill( binCenter, lNetCharge );
        if ( ptRange>0 )
            fHist2DNetChargeVsPtCorrectedOnEventMean->Fill( binCenter, lNetCharge - (integralPlus-integralMinus)/ptRange );
        //        fHist2DNetChargeVsPtCorrectedOnEventMeanNormOnNch->Fill( );

    }

    //############ MC ESD QA
    if ( fRunKine && fAnalyseMCESD ) //run MC+ESD
    {
        Double_t lEta;
        Double_t lPt;
//        Double_t lY;
        Int_t lMCtracksAcceptedEtaInRegionAfterPtCuts = 0;
        for (Int_t iMCtracks = 0; iMCtracks < eventMC->GetNumberOfPrimaries(); iMCtracks++)
        {
            AliMCParticle* track = dynamic_cast<AliMCParticle *>(eventMC->GetTrack(iMCtracks));
            if (!track) {
                Printf("ERROR: Could not receive particle %d", iMCtracks);
                continue;
            }
            
            //exclude non stable particles
            if(!eventMC->IsPhysicalPrimary(iMCtracks)) continue;
            
            if ( track->Particle()->GetPDG()->Charge() == 0 )
                continue;
            
            lEta    = track->Eta();
            lPt     = track->Pt();
//            lY      = track->Y();
            
            if( fabs(lEta) > fEtaRegionForTests ) //look at eta region
                continue;
            
            if( lPt > fMaxPtLimit || lPt < fMinPtLimit )
                continue;
            
            
            lMCtracksAcceptedEtaInRegionAfterPtCuts++;
        }
        fHist2DMultiplicityMCESDInEtaRegion->Fill( lMCtracksAcceptedEtaInRegionAfterPtCuts, lNacceptEtaInRegionAfterPtCuts );
    }
    
    
    
    
    //profiling tracks in phi BY HAND if requested
    //    if ( fUsePhiShufflingByHand )
    //    {
    //        double lFictionEventPlanePhi = fRand->Uniform(0,2*TMath::Pi());
    //        fHistPhiArtificialEvPlane->Fill( lFictionEventPlanePhi );
    //        TF1 lFictionEventPlaneFunc( "fictionEventPlane", "0.75 + 0.25*TMath::Cos(x)", 0, 2*TMath::Pi() );
    //        for ( Int_t trackId = 0; trackId < lNumberOfAcceptedTracksForLRC; trackId++ )
    //        {
    //            //check phi wrt event plane
    //            Double_t lProfiledPhiWrtEvPlane = lFictionEventPlaneFunc.GetRandom();
    //            //FixAngleInTwoPi( lProfiledPhiWrtEvPlane );
    //            fHistPhiArtificialProfilingCheckWrtEvPlane->Fill( lProfiledPhiWrtEvPlane );
    
    //            //  double lOppositePhi = ( ( fRand->Uniform(0,1) > 0.5 ) ? -TMath::Pi() : 0 );
    //            //  double lRandomConeAngleEta = fRand->Gaus(0,0.5);
    //            //  double lRandomConeAnglePhi = fRand->Gaus(0,TMath::PiOver2());
    
    //            //double lFictionPhi = fRand->Uniform(0,2*TMath::Pi());
    //            //double lPhiSign = ( ( fRand->Uniform(0,1) > 0.5 ) ? TMath::Pi() : 0 );
    
    //            //add event plane phi angle
    //            Double_t lProfiledPhi = lProfiledPhiWrtEvPlane + lFictionEventPlanePhi;
    //            FixAngleInTwoPi( lProfiledPhi );
    //            fHistPhiArtificialProfilingCheck->Fill( lProfiledPhi );
    
    //            fArrayTracksPhi[trackId] = lProfiledPhi; //lPhi + lRandomConeAnglePhi; //lPhi;
    
    //            //        fArrayTracksPhi[lNumberOfAcceptedTracksForLRC]      = lPhi - lRandomConeAnglePhi; //lPhi;
    //            //        if ( fArrayTracksPhi[lNumberOfAcceptedTracksForLRC] > 2 * TMath::Pi() )
    //            //            fArrayTracksPhi[lNumberOfAcceptedTracksForLRC] -= 2 * TMath::Pi();
    //        }
    //    }
    
    
    // ######### fill some QA plots
    fHistAcceptedTracks->Fill(lNaccept);
    fHistMultiplicityInEtaRegion->Fill( lNacceptEtaInRegion );
    fHistMultiplicityInEtaRegionAfterPtCuts->Fill( lNacceptEtaInRegionAfterPtCuts );
    fHistAcceptedTracksAfterPtCuts->Fill(lNacceptAfterPtCuts);
    if ( fArtificialInefficiency >= 0 ) //i.e. have ineff analysis ON
        fHistNumberOfDroppedByHandTracks->Fill( lNacceptAfterPtCuts, lNumberOfDropByHandTracks );
    
    // ########### ProfilePhiByHand
    if ( fUsePhiShufflingByHand )
        ProfilePhiByHand( lNumberOfAcceptedTracksForLRC);
    
    // ########### LRC processors filling
    Bool_t lFlagAcceptEventForLRC = ( lNacceptEtaInRegion >= fMultCutInEtaRegion );
    if ( lFlagAcceptEventForLRC )
        FillLRCProcessors( lNumberOfAcceptedTracksForLRC, lCentralityPercentile );
    
    // ##### ZDC, VZERO, etc
    if ( fFlagWatchZDC && fIsIonsAnalysis )
    {
        AliESDZDC *zdcData = lESD->GetESDZDC();
        //fHistZDCenergy->Fill( zdcData->GetZDCEMEnergy(0) );
        fHistZDCparticipants->Fill( zdcData->GetZDCParticipants ());
        for ( int i = 0; i < 5; i++ )
        {
            //if multiplicity in eta windows above threshold - fill ZDC energy hist
            if ( countTracksEtaB >= fMultForZDCstudy[i] && countTracksEtaF >= fMultForZDCstudy[i] )
                fHistZDCenergy[i]->Fill( zdcData->GetZDCEMEnergy(0) );
        }
    }
    if ( fFlagWatchV0 )
    {
        const AliESDVZERO* vzrData = lESD->GetVZEROData(); //aod the same

        
        //V0 multiplicity
        float lV0mult[64];
        //float lV0Amult[64];
        //float lV0Cmult[64];
        double sumV0mult = 0;
        double sumV0Amult = 0;
        double sumV0Cmult = 0;
        
        for (int i = 0; i < 64; i++ )
        {
            lV0mult[i] = (float)(vzrData->GetMultiplicity(i));
            sumV0mult += lV0mult[i];
        }
        fHistV0multiplicity->Fill( sumV0mult );
        
        //            for (int i=0; i<32; i++)
        //            {
        //                lV0Cmult[i] = (float)(vzrData->GetMultiplicityV0C(i));
        //                sumV0Cmult += lV0Cmult[i];
        //                lV0Amult[i] = (float)(vzrData->GetMultiplicityV0A(i));
        //                sumV0Amult += lV0Amult[i];
        //            }
        sumV0Amult = vzrData->GetMTotV0A();
        sumV0Cmult = vzrData->GetMTotV0C();
        fHistV0Amultiplicity->Fill( sumV0Amult );
        fHistV0Cmultiplicity->Fill( sumV0Cmult );
        fHist2DV0ACmultiplicity->Fill( sumV0Amult, sumV0Cmult );
        
        fHist2DTracksAcceptedVsV0multiplicity->Fill( lNaccept, sumV0Amult );
        
        //cells
        //fHistV0cells->Fill(  );
        fHistV0Acells->Fill( vzrData->GetNbPMV0A() );
        fHistV0Ccells->Fill( vzrData->GetNbPMV0C() );
        fHist2DV0ACcells->Fill( vzrData->GetNbPMV0A(), vzrData->GetNbPMV0C() );
        
        //rings
        for ( int i = 0; i < 4; i++ )
        {
            int lMultRingV0A = vzrData->GetMRingV0A(i);
            int lMultRingV0C = vzrData->GetMRingV0C(i);
            fHistV0AmultiplicityRing[i]->Fill( lMultRingV0A );
            fHistV0CmultiplicityRing[i]->Fill( lMultRingV0C );
            fHist2DV0ACmultiplicityRing[i]->Fill( lMultRingV0A, lMultRingV0C );
            
            fHist2DTracksAcceptedVsV0AmultiplicityRing[i]->Fill( lNaccept, lMultRingV0A );
            fHist2DTracksAcceptedVsV0CmultiplicityRing[i]->Fill( lNaccept, lMultRingV0C );
        }
        
    }
    if ( fFlagWatchFMD )
    {
        // multiplicity
        //const AliESDFMD *lFMDdata = lESD->GetFMDData();
        
        
    }
    
    //        //look at V0s
    //        AliESDv0 *lV0 = 0x0;
    //        //cout << ">>>> showing v0's:" << endl;
    //        for ( int iV0 = 0; iV0 < lESD->GetNumberOfV0s(); iV0++ )
    //        {
    //            lV0 = lESD->GetV0( iV0 );
    
    //            int lV0pdgCode = lV0->GetPdgCode();
    //            double lMassV0 = lV0->GetEffMass();//ChangeMassHypothesis( lV0pdgCode );  //GetEffMass();
    //            //if ( abs(lV0pdgCode) > 10 )//== 3122 )
    //            {
    //                //cout << ">>>>>>>>>>>>>>>>>>>>>>>>> " << lV0pdgCode << ": mass = " << lMassV0 << endl;
    //                fHistV0spectra->Fill(lV0pdgCode);//lMassV0);
    //            }
    
    //            if ( lMassV0 > 1. )// abs(lPdgCode) == 3122 || abs(lPdgCode) == 421 ) //abs(lPdgCode) % 1000 == 122 )
    //            {
    //                //cout << ">>>>>>>>>>>>>>>>>>>>>>>>> " << lV0pdgCode << ": mass = " << lMassV0 << endl;
    //            }
    //        }
    
    
    
    
    
    
    //Debuging output of track filter
    if( fShowPerTrackStats )
        Printf("NofTracks= %d , accepted %d , LowPt %d, HighPt %d, LowCharge %d,  ESD cut fail %d , Decay Filer %d", event->GetNumberOfTracks(), lNaccept, lPtUnder, lPtOver ,lNoCharge , lCutfail  , lDecay);
    
    // Post output data
    PostData(1, fOutList);
    
    for( Int_t i = 0; i < fLRCproc.GetEntries(); i++)
    {
        PostData( Proc(i)->GetOutputSlotNumber(),Proc(i)->CreateOutput() );
    }
    
}


void AliAnalysisTaskLRC::SetParticleTypeToProcessors( int windowId, TString strPid ) //char* strPid )//AliLRCBase::LRCparticleType whichParticleToFill )
{
    //dummy actions
    windowId+=1;
    if(0) printf("%s", strPid.Data());

    //Set pid types for LRC processors (windowId = 0 - fwd window, =1 - backward window)
    //    Int_t lLrcNum=fLRCproc.GetEntries();
    
    //    for(Int_t i=0; i < lLrcNum; i++)
    //    {
    //        AliLRCBase *lrcProc = dynamic_cast<AliLRCBase*> (fLRCproc.At(i));
    //        if(lrcProc)
    //        {
    //            //tmp lines!
    //            windowId++;
    //            if (0)
    //                printf("%s",strPid);
    //            //commented for this commit
    //            //            if ( windowId == 0 )
    //            //                lrcProc->SetParticleType( "fwd", strPid );
    //            //            else if ( windowId == 1 )
    //            //                lrcProc->SetParticleType( "bkwd", strPid );
    
    //            //fTmpCounter++;
    //        }
    //        else continue;
    //        //fTmpCounter++;
    //    }
    
}

void AliAnalysisTaskLRC::SetParticleTypeForTask( TString strF, TString strB ) //char* strF, char* strB )
{
    // Set PID sensitivity to 'true' and write pids for windows
    fPIDsensingFlag = kTRUE;
    fStrPIDforFwd = strF;
    fStrPIDforBwd = strB;

    //    sprintf ( fStrPIDforFwd, "%s", strF );
    //    sprintf ( fStrPIDforBwd, "%s", strB );
    //cout << "we just set fwd win to " << fStrPIDforFwd << " and bwd win to " << fStrPIDforBwd << endl;
}



//________________________________________________________________________
void AliAnalysisTaskLRC::Terminate(Option_t *)
{
    // Draw result to the screen
    // Called once at the end of the query
    //fOutList = dynamic_cast<TList*> (GetOutputData(0));
    
    //lESDTrackCuts->DrawHistograms();
    
    
    fAnalysisTimer->Stop();
    Double_t rtime = fAnalysisTimer->RealTime();
    Double_t ctime = fAnalysisTimer->CpuTime();
    
    printf("RealTime=%f seconds, CpuTime=%f seconds\n",rtime,ctime);
    
}


void AliAnalysisTaskLRC::AddLRCProcess(AliLRCBase *newProc)
{
    // Add new AliLRCBase (Main LRC processor per ETA window) to the processing list
    // Used to add new ETA window to AnalysisTask
    if(!newProc)
    {
        Printf("ERROR:No AliLRCBase object -  NULL pointer!");
        return;
    }
    
    fLRCproc.Add(newProc);
    newProc->SetOutputSlotNumber(fLRCproc.GetEntries() + 1 );//( fSetIncludeEventTreeInOutput ? 2 : 1 ) );
    DefineOutput(newProc->GetOutputSlotNumber(),TList::Class());
    return ;
}


Double_t AliAnalysisTaskLRC::GetEventPlane(AliVEvent *event)
{
    // Get the event plane
    
    if ( !event )
        return -1;
    //TString gAnalysisLevel = fBalance->GetAnalysisLevel();
    
    Float_t lVZEROEventPlane    = -10.;
    Float_t lReactionPlane      = -10.;
    Double_t qxTot = 0.0, qyTot = 0.0;
    
    //MC: from reaction plane
    if( fRunKine )//gAnalysisLevel == "MC"){
    {
        AliGenHijingEventHeader* headerH = dynamic_cast<AliGenHijingEventHeader*>(dynamic_cast<AliMCEvent*>(event)->GenEventHeader());
        if (headerH)
        {
            lReactionPlane = headerH->ReactionPlaneAngle();
            //lReactionPlane *= TMath::RadToDeg();
        }
    }//MC
    
    // AOD,ESD,ESDMC: from VZERO Event Plane
    else
    {
        AliEventplane *ep = event->GetEventplane();
        if( ep )
        {
            lVZEROEventPlane = ep->CalculateVZEROEventPlane( event, 10, 2, qxTot, qyTot);
            if( lVZEROEventPlane < 0. )
                lVZEROEventPlane += TMath::Pi();
            //lReactionPlane = lVZEROEventPlane*TMath::RadToDeg();
            lReactionPlane = lVZEROEventPlane;
            //            cout << "lReactionPlane: " << lReactionPlane << endl;
            //            int aa;
            //            cin >> aa;
        }
    }//AOD,ESD,ESDMC
    
    return lReactionPlane;
}


void AliAnalysisTaskLRC::AddTrackCutForBits(AliESDtrackCuts*  const cuts, TString cutsName )
{
    //TString *strPtrCutsName = new TString(cutsName.Data());
//    cout << "ADDING CUTS " << cutsName << endl;
    //    fArrTrackCuts[fNumberOfCutsToRemember] = cuts;
    int lNumberOfCutsToRemember = fArrTrackCuts.GetEntries();
    
    fArrCutsNames[lNumberOfCutsToRemember] = cutsName;
    fArrTrackCuts.Add( cuts );// = cuts;
    //    fArrCutsNames.Add( strPtrCutsName );
    //    fNumberOfCutsToRemember++;
}

void AliAnalysisTaskLRC::UseToyEvents()
{
    //generate all events here and fill LRC processors
    for ( Int_t toyEventId = 0; toyEventId < fNumberOfToyEvents; toyEventId++ )
    {
        if ( toyEventId % 10000 == 0 )
            printf("Processing %d event...\n", toyEventId );

        //        cout << "toyEventId=" << toyEventId << endl;
        int nToyTracks =  0;
        const double kExpParam = 0.42;
        const double kEtaGausSigma = 0.3;
        const double kPhiGausSigma = TMath::PiOver4();

        //try to do "jets" with some particles
        const int nJets = 2;

        //jets eta angles
        double lJets_Eta[nJets];
        lJets_Eta[0] = fRand->Uniform(0, 0.8);
        lJets_Eta[1] = -lJets_Eta[0];

        //jets phi angles
        double lJets_Phi[nJets];
        lJets_Phi[0] = fRand->Uniform(0, 2*TMath::Pi());
        lJets_Phi[1] = lJets_Phi[0] + TMath::Pi();
        FixAngleInTwoPi( lJets_Phi[1] );


        //jets loop
        for ( Int_t jetId = 0; jetId < nJets; jetId++ )
        {
            int nPartInJet = fRand->Gaus(4,1);
            //jet tracks params
            for ( Int_t toyTrackId = 0; toyTrackId < nPartInJet; toyTrackId++ )
            {
                fArrayTracksPt[nToyTracks] = fRand->Exp( kExpParam );
                fArrayTracksEta[nToyTracks] = fRand->Gaus( lJets_Eta[jetId], kEtaGausSigma );
                fArrayTracksPhi[nToyTracks] = fRand->Gaus( lJets_Phi[jetId], kPhiGausSigma );
                FixAngleInTwoPi( fArrayTracksPhi[nToyTracks] );

                nToyTracks++;
            }
        }

        FillLRCProcessors( nToyTracks, 0 );

        //        for ( Int_t toyTrackId = 0; toyTrackId < nToyTracks; toyTrackId++ )
        //        {
        //            // ########### ProfilePhiByHand
        //            ProfilePhiByHand( nToyTracks);
        //        }

    }
}


void AliAnalysisTaskLRC::FillLRCProcessors( int numberOfAcceptedTracksForLRC, Double_t eventCentrality )
{
    //pass signal to LRC-based analysis to start event
    Int_t lLrcNum = fLRCproc.GetEntries(); // Number of processors attached
    
    //prepare phi rotation step
    Double_t phiStep = 2 * TMath::Pi();
    if ( fNumberOfPhiSectors > 1 )
        phiStep /= fNumberOfPhiSectors;
    Double_t lPhiRotatedExtra = 0; //additional phi rotation of all tracks in case
    
    
    //start LRC filling
    for ( Int_t sectorId = 0; sectorId < fNumberOfPhiSectors; sectorId++ )
    {
        if ( lLrcNum > kMaxParticlesNumber )
        {
            AliDebug(AliLog::kError, "lLrcNum is too large... Mistake???");
            break;
        }
        
        //pass signal to LRC-based analysis to start event
        for( Int_t lrcProcessorId = 0; lrcProcessorId < lLrcNum; lrcProcessorId++ )
        {
            AliLRCBase *lrcBase = dynamic_cast<AliLRCBase*> (fLRCproc.At(lrcProcessorId));
            if (!lrcBase)
            {
                AliDebug(AliLog::kError, "can't cast lrcBase to AliLRCBase!" );
                break;
            }
            lrcBase->StartEvent();
            //pass the centrality
            lrcBase->SetEventCentrality( eventCentrality );
            //        }
            
            //pass track data to LRC-based analysis
            for ( Int_t trackId = 0; trackId < numberOfAcceptedTracksForLRC; trackId++ )
            {
                if ( fEtInsteadOfPt && (fArrayTracksPt[trackId]  == 0 ) ) //in Et-mode we didn't get Et! exit
                {
                    AliDebug(AliLog::kError, "pT=0 Mistake???" );
                    break;
                }               //if ( fEtInsteadOfPt && lMostProbablePIDPure == -1 ) //don't have pure PID
                //	continue;
                
                //rotate track phi
                Double_t lPhi = fArrayTracksPhi[trackId] + lPhiRotatedExtra;
                FixAngleInTwoPi( lPhi );
                
                fHistPhiLRCrotationsCheck->Fill( lPhi );
                
                //            for(Int_t i = 0; i < lLrcNum; i++ )
                //            {
                lrcBase->AddTrackPtEta(
                            fArrayTracksPt[trackId]
                            , fArrayTracksEta[trackId]
                            , lPhi
                            , fArrayTracksCharge[trackId]
                            , fArrayTracksPID[trackId]
                            );
                //            }
                
            }
            
            //take event only if at least 1 track in this event fulfill the requirements! //21.11.11
            Bool_t lDontTakeEventDecision =  kFALSE; //lNaccept > 0 ? kFALSE : kTRUE;
            //pass signal to LRC-based analysis to finish the event
            //        for( Int_t i = 0; i < lLrcNum; i++ )
            //        {
            lrcBase->FinishEvent( lDontTakeEventDecision );
        }
        
        lPhiRotatedExtra += phiStep; //increase phi step to rotate tracks
    }
}

void AliAnalysisTaskLRC::ProfilePhiByHand( int numberOfAcceptedTracksForLRC )
{
    //profiling tracks in phi BY HAND if requested
    
    double lFictionEventPlanePhi = fRand->Uniform(0,2*TMath::Pi());
    fHistPhiArtificialEvPlane->Fill( lFictionEventPlanePhi );
    TF1 lFictionEventPlaneFunc( "fictionEventPlane", "0.75 + 0.25*TMath::Cos(x)", 0, 2*TMath::Pi() );
    for ( Int_t trackId = 0; trackId < numberOfAcceptedTracksForLRC; trackId++ )
    {
        //check phi wrt event plane
        Double_t lProfiledPhiWrtEvPlane = lFictionEventPlaneFunc.GetRandom();
        //FixAngleInTwoPi( lProfiledPhiWrtEvPlane );
        fHistPhiArtificialProfilingCheckWrtEvPlane->Fill( lProfiledPhiWrtEvPlane );
        
        //  double lOppositePhi = ( ( fRand->Uniform(0,1) > 0.5 ) ? -TMath::Pi() : 0 );
        //  double lRandomConeAngleEta = fRand->Gaus(0,0.5);
        //  double lRandomConeAnglePhi = fRand->Gaus(0,TMath::PiOver2());
        
        //double lFictionPhi = fRand->Uniform(0,2*TMath::Pi());
        //double lPhiSign = ( ( fRand->Uniform(0,1) > 0.5 ) ? TMath::Pi() : 0 );
        
        //add event plane phi angle
        Double_t lProfiledPhi = lProfiledPhiWrtEvPlane + lFictionEventPlanePhi;
        FixAngleInTwoPi( lProfiledPhi );
        fHistPhiArtificialProfilingCheck->Fill( lProfiledPhi );
        
        fArrayTracksPhi[trackId] = lProfiledPhi; //lPhi + lRandomConeAnglePhi; //lPhi;
        
        //        fArrayTracksPhi[lNumberOfAcceptedTracksForLRC]      = lPhi - lRandomConeAnglePhi; //lPhi;
        //        if ( fArrayTracksPhi[lNumberOfAcceptedTracksForLRC] > 2 * TMath::Pi() )
        //            fArrayTracksPhi[lNumberOfAcceptedTracksForLRC] -= 2 * TMath::Pi();
    }
}
 AliAnalysisTaskLRC.cxx:1
 AliAnalysisTaskLRC.cxx:2
 AliAnalysisTaskLRC.cxx:3
 AliAnalysisTaskLRC.cxx:4
 AliAnalysisTaskLRC.cxx:5
 AliAnalysisTaskLRC.cxx:6
 AliAnalysisTaskLRC.cxx:7
 AliAnalysisTaskLRC.cxx:8
 AliAnalysisTaskLRC.cxx:9
 AliAnalysisTaskLRC.cxx:10
 AliAnalysisTaskLRC.cxx:11
 AliAnalysisTaskLRC.cxx:12
 AliAnalysisTaskLRC.cxx:13
 AliAnalysisTaskLRC.cxx:14
 AliAnalysisTaskLRC.cxx:15
 AliAnalysisTaskLRC.cxx:16
 AliAnalysisTaskLRC.cxx:17
 AliAnalysisTaskLRC.cxx:18
 AliAnalysisTaskLRC.cxx:19
 AliAnalysisTaskLRC.cxx:20
 AliAnalysisTaskLRC.cxx:21
 AliAnalysisTaskLRC.cxx:22
 AliAnalysisTaskLRC.cxx:23
 AliAnalysisTaskLRC.cxx:24
 AliAnalysisTaskLRC.cxx:25
 AliAnalysisTaskLRC.cxx:26
 AliAnalysisTaskLRC.cxx:27
 AliAnalysisTaskLRC.cxx:28
 AliAnalysisTaskLRC.cxx:29
 AliAnalysisTaskLRC.cxx:30
 AliAnalysisTaskLRC.cxx:31
 AliAnalysisTaskLRC.cxx:32
 AliAnalysisTaskLRC.cxx:33
 AliAnalysisTaskLRC.cxx:34
 AliAnalysisTaskLRC.cxx:35
 AliAnalysisTaskLRC.cxx:36
 AliAnalysisTaskLRC.cxx:37
 AliAnalysisTaskLRC.cxx:38
 AliAnalysisTaskLRC.cxx:39
 AliAnalysisTaskLRC.cxx:40
 AliAnalysisTaskLRC.cxx:41
 AliAnalysisTaskLRC.cxx:42
 AliAnalysisTaskLRC.cxx:43
 AliAnalysisTaskLRC.cxx:44
 AliAnalysisTaskLRC.cxx:45
 AliAnalysisTaskLRC.cxx:46
 AliAnalysisTaskLRC.cxx:47
 AliAnalysisTaskLRC.cxx:48
 AliAnalysisTaskLRC.cxx:49
 AliAnalysisTaskLRC.cxx:50
 AliAnalysisTaskLRC.cxx:51
 AliAnalysisTaskLRC.cxx:52
 AliAnalysisTaskLRC.cxx:53
 AliAnalysisTaskLRC.cxx:54
 AliAnalysisTaskLRC.cxx:55
 AliAnalysisTaskLRC.cxx:56
 AliAnalysisTaskLRC.cxx:57
 AliAnalysisTaskLRC.cxx:58
 AliAnalysisTaskLRC.cxx:59
 AliAnalysisTaskLRC.cxx:60
 AliAnalysisTaskLRC.cxx:61
 AliAnalysisTaskLRC.cxx:62
 AliAnalysisTaskLRC.cxx:63
 AliAnalysisTaskLRC.cxx:64
 AliAnalysisTaskLRC.cxx:65
 AliAnalysisTaskLRC.cxx:66
 AliAnalysisTaskLRC.cxx:67
 AliAnalysisTaskLRC.cxx:68
 AliAnalysisTaskLRC.cxx:69
 AliAnalysisTaskLRC.cxx:70
 AliAnalysisTaskLRC.cxx:71
 AliAnalysisTaskLRC.cxx:72
 AliAnalysisTaskLRC.cxx:73
 AliAnalysisTaskLRC.cxx:74
 AliAnalysisTaskLRC.cxx:75
 AliAnalysisTaskLRC.cxx:76
 AliAnalysisTaskLRC.cxx:77
 AliAnalysisTaskLRC.cxx:78
 AliAnalysisTaskLRC.cxx:79
 AliAnalysisTaskLRC.cxx:80
 AliAnalysisTaskLRC.cxx:81
 AliAnalysisTaskLRC.cxx:82
 AliAnalysisTaskLRC.cxx:83
 AliAnalysisTaskLRC.cxx:84
 AliAnalysisTaskLRC.cxx:85
 AliAnalysisTaskLRC.cxx:86
 AliAnalysisTaskLRC.cxx:87
 AliAnalysisTaskLRC.cxx:88
 AliAnalysisTaskLRC.cxx:89
 AliAnalysisTaskLRC.cxx:90
 AliAnalysisTaskLRC.cxx:91
 AliAnalysisTaskLRC.cxx:92
 AliAnalysisTaskLRC.cxx:93
 AliAnalysisTaskLRC.cxx:94
 AliAnalysisTaskLRC.cxx:95
 AliAnalysisTaskLRC.cxx:96
 AliAnalysisTaskLRC.cxx:97
 AliAnalysisTaskLRC.cxx:98
 AliAnalysisTaskLRC.cxx:99
 AliAnalysisTaskLRC.cxx:100
 AliAnalysisTaskLRC.cxx:101
 AliAnalysisTaskLRC.cxx:102
 AliAnalysisTaskLRC.cxx:103
 AliAnalysisTaskLRC.cxx:104
 AliAnalysisTaskLRC.cxx:105
 AliAnalysisTaskLRC.cxx:106
 AliAnalysisTaskLRC.cxx:107
 AliAnalysisTaskLRC.cxx:108
 AliAnalysisTaskLRC.cxx:109
 AliAnalysisTaskLRC.cxx:110
 AliAnalysisTaskLRC.cxx:111
 AliAnalysisTaskLRC.cxx:112
 AliAnalysisTaskLRC.cxx:113
 AliAnalysisTaskLRC.cxx:114
 AliAnalysisTaskLRC.cxx:115
 AliAnalysisTaskLRC.cxx:116
 AliAnalysisTaskLRC.cxx:117
 AliAnalysisTaskLRC.cxx:118
 AliAnalysisTaskLRC.cxx:119
 AliAnalysisTaskLRC.cxx:120
 AliAnalysisTaskLRC.cxx:121
 AliAnalysisTaskLRC.cxx:122
 AliAnalysisTaskLRC.cxx:123
 AliAnalysisTaskLRC.cxx:124
 AliAnalysisTaskLRC.cxx:125
 AliAnalysisTaskLRC.cxx:126
 AliAnalysisTaskLRC.cxx:127
 AliAnalysisTaskLRC.cxx:128
 AliAnalysisTaskLRC.cxx:129
 AliAnalysisTaskLRC.cxx:130
 AliAnalysisTaskLRC.cxx:131
 AliAnalysisTaskLRC.cxx:132
 AliAnalysisTaskLRC.cxx:133
 AliAnalysisTaskLRC.cxx:134
 AliAnalysisTaskLRC.cxx:135
 AliAnalysisTaskLRC.cxx:136
 AliAnalysisTaskLRC.cxx:137
 AliAnalysisTaskLRC.cxx:138
 AliAnalysisTaskLRC.cxx:139
 AliAnalysisTaskLRC.cxx:140
 AliAnalysisTaskLRC.cxx:141
 AliAnalysisTaskLRC.cxx:142
 AliAnalysisTaskLRC.cxx:143
 AliAnalysisTaskLRC.cxx:144
 AliAnalysisTaskLRC.cxx:145
 AliAnalysisTaskLRC.cxx:146
 AliAnalysisTaskLRC.cxx:147
 AliAnalysisTaskLRC.cxx:148
 AliAnalysisTaskLRC.cxx:149
 AliAnalysisTaskLRC.cxx:150
 AliAnalysisTaskLRC.cxx:151
 AliAnalysisTaskLRC.cxx:152
 AliAnalysisTaskLRC.cxx:153
 AliAnalysisTaskLRC.cxx:154
 AliAnalysisTaskLRC.cxx:155
 AliAnalysisTaskLRC.cxx:156
 AliAnalysisTaskLRC.cxx:157
 AliAnalysisTaskLRC.cxx:158
 AliAnalysisTaskLRC.cxx:159
 AliAnalysisTaskLRC.cxx:160
 AliAnalysisTaskLRC.cxx:161
 AliAnalysisTaskLRC.cxx:162
 AliAnalysisTaskLRC.cxx:163
 AliAnalysisTaskLRC.cxx:164
 AliAnalysisTaskLRC.cxx:165
 AliAnalysisTaskLRC.cxx:166
 AliAnalysisTaskLRC.cxx:167
 AliAnalysisTaskLRC.cxx:168
 AliAnalysisTaskLRC.cxx:169
 AliAnalysisTaskLRC.cxx:170
 AliAnalysisTaskLRC.cxx:171
 AliAnalysisTaskLRC.cxx:172
 AliAnalysisTaskLRC.cxx:173
 AliAnalysisTaskLRC.cxx:174
 AliAnalysisTaskLRC.cxx:175
 AliAnalysisTaskLRC.cxx:176
 AliAnalysisTaskLRC.cxx:177
 AliAnalysisTaskLRC.cxx:178
 AliAnalysisTaskLRC.cxx:179
 AliAnalysisTaskLRC.cxx:180
 AliAnalysisTaskLRC.cxx:181
 AliAnalysisTaskLRC.cxx:182
 AliAnalysisTaskLRC.cxx:183
 AliAnalysisTaskLRC.cxx:184
 AliAnalysisTaskLRC.cxx:185
 AliAnalysisTaskLRC.cxx:186
 AliAnalysisTaskLRC.cxx:187
 AliAnalysisTaskLRC.cxx:188
 AliAnalysisTaskLRC.cxx:189
 AliAnalysisTaskLRC.cxx:190
 AliAnalysisTaskLRC.cxx:191
 AliAnalysisTaskLRC.cxx:192
 AliAnalysisTaskLRC.cxx:193
 AliAnalysisTaskLRC.cxx:194
 AliAnalysisTaskLRC.cxx:195
 AliAnalysisTaskLRC.cxx:196
 AliAnalysisTaskLRC.cxx:197
 AliAnalysisTaskLRC.cxx:198
 AliAnalysisTaskLRC.cxx:199
 AliAnalysisTaskLRC.cxx:200
 AliAnalysisTaskLRC.cxx:201
 AliAnalysisTaskLRC.cxx:202
 AliAnalysisTaskLRC.cxx:203
 AliAnalysisTaskLRC.cxx:204
 AliAnalysisTaskLRC.cxx:205
 AliAnalysisTaskLRC.cxx:206
 AliAnalysisTaskLRC.cxx:207
 AliAnalysisTaskLRC.cxx:208
 AliAnalysisTaskLRC.cxx:209
 AliAnalysisTaskLRC.cxx:210
 AliAnalysisTaskLRC.cxx:211
 AliAnalysisTaskLRC.cxx:212
 AliAnalysisTaskLRC.cxx:213
 AliAnalysisTaskLRC.cxx:214
 AliAnalysisTaskLRC.cxx:215
 AliAnalysisTaskLRC.cxx:216
 AliAnalysisTaskLRC.cxx:217
 AliAnalysisTaskLRC.cxx:218
 AliAnalysisTaskLRC.cxx:219
 AliAnalysisTaskLRC.cxx:220
 AliAnalysisTaskLRC.cxx:221
 AliAnalysisTaskLRC.cxx:222
 AliAnalysisTaskLRC.cxx:223
 AliAnalysisTaskLRC.cxx:224
 AliAnalysisTaskLRC.cxx:225
 AliAnalysisTaskLRC.cxx:226
 AliAnalysisTaskLRC.cxx:227
 AliAnalysisTaskLRC.cxx:228
 AliAnalysisTaskLRC.cxx:229
 AliAnalysisTaskLRC.cxx:230
 AliAnalysisTaskLRC.cxx:231
 AliAnalysisTaskLRC.cxx:232
 AliAnalysisTaskLRC.cxx:233
 AliAnalysisTaskLRC.cxx:234
 AliAnalysisTaskLRC.cxx:235
 AliAnalysisTaskLRC.cxx:236
 AliAnalysisTaskLRC.cxx:237
 AliAnalysisTaskLRC.cxx:238
 AliAnalysisTaskLRC.cxx:239
 AliAnalysisTaskLRC.cxx:240
 AliAnalysisTaskLRC.cxx:241
 AliAnalysisTaskLRC.cxx:242
 AliAnalysisTaskLRC.cxx:243
 AliAnalysisTaskLRC.cxx:244
 AliAnalysisTaskLRC.cxx:245
 AliAnalysisTaskLRC.cxx:246
 AliAnalysisTaskLRC.cxx:247
 AliAnalysisTaskLRC.cxx:248
 AliAnalysisTaskLRC.cxx:249
 AliAnalysisTaskLRC.cxx:250
 AliAnalysisTaskLRC.cxx:251
 AliAnalysisTaskLRC.cxx:252
 AliAnalysisTaskLRC.cxx:253
 AliAnalysisTaskLRC.cxx:254
 AliAnalysisTaskLRC.cxx:255
 AliAnalysisTaskLRC.cxx:256
 AliAnalysisTaskLRC.cxx:257
 AliAnalysisTaskLRC.cxx:258
 AliAnalysisTaskLRC.cxx:259
 AliAnalysisTaskLRC.cxx:260
 AliAnalysisTaskLRC.cxx:261
 AliAnalysisTaskLRC.cxx:262
 AliAnalysisTaskLRC.cxx:263
 AliAnalysisTaskLRC.cxx:264
 AliAnalysisTaskLRC.cxx:265
 AliAnalysisTaskLRC.cxx:266
 AliAnalysisTaskLRC.cxx:267
 AliAnalysisTaskLRC.cxx:268
 AliAnalysisTaskLRC.cxx:269
 AliAnalysisTaskLRC.cxx:270
 AliAnalysisTaskLRC.cxx:271
 AliAnalysisTaskLRC.cxx:272
 AliAnalysisTaskLRC.cxx:273
 AliAnalysisTaskLRC.cxx:274
 AliAnalysisTaskLRC.cxx:275
 AliAnalysisTaskLRC.cxx:276
 AliAnalysisTaskLRC.cxx:277
 AliAnalysisTaskLRC.cxx:278
 AliAnalysisTaskLRC.cxx:279
 AliAnalysisTaskLRC.cxx:280
 AliAnalysisTaskLRC.cxx:281
 AliAnalysisTaskLRC.cxx:282
 AliAnalysisTaskLRC.cxx:283
 AliAnalysisTaskLRC.cxx:284
 AliAnalysisTaskLRC.cxx:285
 AliAnalysisTaskLRC.cxx:286
 AliAnalysisTaskLRC.cxx:287
 AliAnalysisTaskLRC.cxx:288
 AliAnalysisTaskLRC.cxx:289
 AliAnalysisTaskLRC.cxx:290
 AliAnalysisTaskLRC.cxx:291
 AliAnalysisTaskLRC.cxx:292
 AliAnalysisTaskLRC.cxx:293
 AliAnalysisTaskLRC.cxx:294
 AliAnalysisTaskLRC.cxx:295
 AliAnalysisTaskLRC.cxx:296
 AliAnalysisTaskLRC.cxx:297
 AliAnalysisTaskLRC.cxx:298
 AliAnalysisTaskLRC.cxx:299
 AliAnalysisTaskLRC.cxx:300
 AliAnalysisTaskLRC.cxx:301
 AliAnalysisTaskLRC.cxx:302
 AliAnalysisTaskLRC.cxx:303
 AliAnalysisTaskLRC.cxx:304
 AliAnalysisTaskLRC.cxx:305
 AliAnalysisTaskLRC.cxx:306
 AliAnalysisTaskLRC.cxx:307
 AliAnalysisTaskLRC.cxx:308
 AliAnalysisTaskLRC.cxx:309
 AliAnalysisTaskLRC.cxx:310
 AliAnalysisTaskLRC.cxx:311
 AliAnalysisTaskLRC.cxx:312
 AliAnalysisTaskLRC.cxx:313
 AliAnalysisTaskLRC.cxx:314
 AliAnalysisTaskLRC.cxx:315
 AliAnalysisTaskLRC.cxx:316
 AliAnalysisTaskLRC.cxx:317
 AliAnalysisTaskLRC.cxx:318
 AliAnalysisTaskLRC.cxx:319
 AliAnalysisTaskLRC.cxx:320
 AliAnalysisTaskLRC.cxx:321
 AliAnalysisTaskLRC.cxx:322
 AliAnalysisTaskLRC.cxx:323
 AliAnalysisTaskLRC.cxx:324
 AliAnalysisTaskLRC.cxx:325
 AliAnalysisTaskLRC.cxx:326
 AliAnalysisTaskLRC.cxx:327
 AliAnalysisTaskLRC.cxx:328
 AliAnalysisTaskLRC.cxx:329
 AliAnalysisTaskLRC.cxx:330
 AliAnalysisTaskLRC.cxx:331
 AliAnalysisTaskLRC.cxx:332
 AliAnalysisTaskLRC.cxx:333
 AliAnalysisTaskLRC.cxx:334
 AliAnalysisTaskLRC.cxx:335
 AliAnalysisTaskLRC.cxx:336
 AliAnalysisTaskLRC.cxx:337
 AliAnalysisTaskLRC.cxx:338
 AliAnalysisTaskLRC.cxx:339
 AliAnalysisTaskLRC.cxx:340
 AliAnalysisTaskLRC.cxx:341
 AliAnalysisTaskLRC.cxx:342
 AliAnalysisTaskLRC.cxx:343
 AliAnalysisTaskLRC.cxx:344
 AliAnalysisTaskLRC.cxx:345
 AliAnalysisTaskLRC.cxx:346
 AliAnalysisTaskLRC.cxx:347
 AliAnalysisTaskLRC.cxx:348
 AliAnalysisTaskLRC.cxx:349
 AliAnalysisTaskLRC.cxx:350
 AliAnalysisTaskLRC.cxx:351
 AliAnalysisTaskLRC.cxx:352
 AliAnalysisTaskLRC.cxx:353
 AliAnalysisTaskLRC.cxx:354
 AliAnalysisTaskLRC.cxx:355
 AliAnalysisTaskLRC.cxx:356
 AliAnalysisTaskLRC.cxx:357
 AliAnalysisTaskLRC.cxx:358
 AliAnalysisTaskLRC.cxx:359
 AliAnalysisTaskLRC.cxx:360
 AliAnalysisTaskLRC.cxx:361
 AliAnalysisTaskLRC.cxx:362
 AliAnalysisTaskLRC.cxx:363
 AliAnalysisTaskLRC.cxx:364
 AliAnalysisTaskLRC.cxx:365
 AliAnalysisTaskLRC.cxx:366
 AliAnalysisTaskLRC.cxx:367
 AliAnalysisTaskLRC.cxx:368
 AliAnalysisTaskLRC.cxx:369
 AliAnalysisTaskLRC.cxx:370
 AliAnalysisTaskLRC.cxx:371
 AliAnalysisTaskLRC.cxx:372
 AliAnalysisTaskLRC.cxx:373
 AliAnalysisTaskLRC.cxx:374
 AliAnalysisTaskLRC.cxx:375
 AliAnalysisTaskLRC.cxx:376
 AliAnalysisTaskLRC.cxx:377
 AliAnalysisTaskLRC.cxx:378
 AliAnalysisTaskLRC.cxx:379
 AliAnalysisTaskLRC.cxx:380
 AliAnalysisTaskLRC.cxx:381
 AliAnalysisTaskLRC.cxx:382
 AliAnalysisTaskLRC.cxx:383
 AliAnalysisTaskLRC.cxx:384
 AliAnalysisTaskLRC.cxx:385
 AliAnalysisTaskLRC.cxx:386
 AliAnalysisTaskLRC.cxx:387
 AliAnalysisTaskLRC.cxx:388
 AliAnalysisTaskLRC.cxx:389
 AliAnalysisTaskLRC.cxx:390
 AliAnalysisTaskLRC.cxx:391
 AliAnalysisTaskLRC.cxx:392
 AliAnalysisTaskLRC.cxx:393
 AliAnalysisTaskLRC.cxx:394
 AliAnalysisTaskLRC.cxx:395
 AliAnalysisTaskLRC.cxx:396
 AliAnalysisTaskLRC.cxx:397
 AliAnalysisTaskLRC.cxx:398
 AliAnalysisTaskLRC.cxx:399
 AliAnalysisTaskLRC.cxx:400
 AliAnalysisTaskLRC.cxx:401
 AliAnalysisTaskLRC.cxx:402
 AliAnalysisTaskLRC.cxx:403
 AliAnalysisTaskLRC.cxx:404
 AliAnalysisTaskLRC.cxx:405
 AliAnalysisTaskLRC.cxx:406
 AliAnalysisTaskLRC.cxx:407
 AliAnalysisTaskLRC.cxx:408
 AliAnalysisTaskLRC.cxx:409
 AliAnalysisTaskLRC.cxx:410
 AliAnalysisTaskLRC.cxx:411
 AliAnalysisTaskLRC.cxx:412
 AliAnalysisTaskLRC.cxx:413
 AliAnalysisTaskLRC.cxx:414
 AliAnalysisTaskLRC.cxx:415
 AliAnalysisTaskLRC.cxx:416
 AliAnalysisTaskLRC.cxx:417
 AliAnalysisTaskLRC.cxx:418
 AliAnalysisTaskLRC.cxx:419
 AliAnalysisTaskLRC.cxx:420
 AliAnalysisTaskLRC.cxx:421
 AliAnalysisTaskLRC.cxx:422
 AliAnalysisTaskLRC.cxx:423
 AliAnalysisTaskLRC.cxx:424
 AliAnalysisTaskLRC.cxx:425
 AliAnalysisTaskLRC.cxx:426
 AliAnalysisTaskLRC.cxx:427
 AliAnalysisTaskLRC.cxx:428
 AliAnalysisTaskLRC.cxx:429
 AliAnalysisTaskLRC.cxx:430
 AliAnalysisTaskLRC.cxx:431
 AliAnalysisTaskLRC.cxx:432
 AliAnalysisTaskLRC.cxx:433
 AliAnalysisTaskLRC.cxx:434
 AliAnalysisTaskLRC.cxx:435
 AliAnalysisTaskLRC.cxx:436
 AliAnalysisTaskLRC.cxx:437
 AliAnalysisTaskLRC.cxx:438
 AliAnalysisTaskLRC.cxx:439
 AliAnalysisTaskLRC.cxx:440
 AliAnalysisTaskLRC.cxx:441
 AliAnalysisTaskLRC.cxx:442
 AliAnalysisTaskLRC.cxx:443
 AliAnalysisTaskLRC.cxx:444
 AliAnalysisTaskLRC.cxx:445
 AliAnalysisTaskLRC.cxx:446
 AliAnalysisTaskLRC.cxx:447
 AliAnalysisTaskLRC.cxx:448
 AliAnalysisTaskLRC.cxx:449
 AliAnalysisTaskLRC.cxx:450
 AliAnalysisTaskLRC.cxx:451
 AliAnalysisTaskLRC.cxx:452
 AliAnalysisTaskLRC.cxx:453
 AliAnalysisTaskLRC.cxx:454
 AliAnalysisTaskLRC.cxx:455
 AliAnalysisTaskLRC.cxx:456
 AliAnalysisTaskLRC.cxx:457
 AliAnalysisTaskLRC.cxx:458
 AliAnalysisTaskLRC.cxx:459
 AliAnalysisTaskLRC.cxx:460
 AliAnalysisTaskLRC.cxx:461
 AliAnalysisTaskLRC.cxx:462
 AliAnalysisTaskLRC.cxx:463
 AliAnalysisTaskLRC.cxx:464
 AliAnalysisTaskLRC.cxx:465
 AliAnalysisTaskLRC.cxx:466
 AliAnalysisTaskLRC.cxx:467
 AliAnalysisTaskLRC.cxx:468
 AliAnalysisTaskLRC.cxx:469
 AliAnalysisTaskLRC.cxx:470
 AliAnalysisTaskLRC.cxx:471
 AliAnalysisTaskLRC.cxx:472
 AliAnalysisTaskLRC.cxx:473
 AliAnalysisTaskLRC.cxx:474
 AliAnalysisTaskLRC.cxx:475
 AliAnalysisTaskLRC.cxx:476
 AliAnalysisTaskLRC.cxx:477
 AliAnalysisTaskLRC.cxx:478
 AliAnalysisTaskLRC.cxx:479
 AliAnalysisTaskLRC.cxx:480
 AliAnalysisTaskLRC.cxx:481
 AliAnalysisTaskLRC.cxx:482
 AliAnalysisTaskLRC.cxx:483
 AliAnalysisTaskLRC.cxx:484
 AliAnalysisTaskLRC.cxx:485
 AliAnalysisTaskLRC.cxx:486
 AliAnalysisTaskLRC.cxx:487
 AliAnalysisTaskLRC.cxx:488
 AliAnalysisTaskLRC.cxx:489
 AliAnalysisTaskLRC.cxx:490
 AliAnalysisTaskLRC.cxx:491
 AliAnalysisTaskLRC.cxx:492
 AliAnalysisTaskLRC.cxx:493
 AliAnalysisTaskLRC.cxx:494
 AliAnalysisTaskLRC.cxx:495
 AliAnalysisTaskLRC.cxx:496
 AliAnalysisTaskLRC.cxx:497
 AliAnalysisTaskLRC.cxx:498
 AliAnalysisTaskLRC.cxx:499
 AliAnalysisTaskLRC.cxx:500
 AliAnalysisTaskLRC.cxx:501
 AliAnalysisTaskLRC.cxx:502
 AliAnalysisTaskLRC.cxx:503
 AliAnalysisTaskLRC.cxx:504
 AliAnalysisTaskLRC.cxx:505
 AliAnalysisTaskLRC.cxx:506
 AliAnalysisTaskLRC.cxx:507
 AliAnalysisTaskLRC.cxx:508
 AliAnalysisTaskLRC.cxx:509
 AliAnalysisTaskLRC.cxx:510
 AliAnalysisTaskLRC.cxx:511
 AliAnalysisTaskLRC.cxx:512
 AliAnalysisTaskLRC.cxx:513
 AliAnalysisTaskLRC.cxx:514
 AliAnalysisTaskLRC.cxx:515
 AliAnalysisTaskLRC.cxx:516
 AliAnalysisTaskLRC.cxx:517
 AliAnalysisTaskLRC.cxx:518
 AliAnalysisTaskLRC.cxx:519
 AliAnalysisTaskLRC.cxx:520
 AliAnalysisTaskLRC.cxx:521
 AliAnalysisTaskLRC.cxx:522
 AliAnalysisTaskLRC.cxx:523
 AliAnalysisTaskLRC.cxx:524
 AliAnalysisTaskLRC.cxx:525
 AliAnalysisTaskLRC.cxx:526
 AliAnalysisTaskLRC.cxx:527
 AliAnalysisTaskLRC.cxx:528
 AliAnalysisTaskLRC.cxx:529
 AliAnalysisTaskLRC.cxx:530
 AliAnalysisTaskLRC.cxx:531
 AliAnalysisTaskLRC.cxx:532
 AliAnalysisTaskLRC.cxx:533
 AliAnalysisTaskLRC.cxx:534
 AliAnalysisTaskLRC.cxx:535
 AliAnalysisTaskLRC.cxx:536
 AliAnalysisTaskLRC.cxx:537
 AliAnalysisTaskLRC.cxx:538
 AliAnalysisTaskLRC.cxx:539
 AliAnalysisTaskLRC.cxx:540
 AliAnalysisTaskLRC.cxx:541
 AliAnalysisTaskLRC.cxx:542
 AliAnalysisTaskLRC.cxx:543
 AliAnalysisTaskLRC.cxx:544
 AliAnalysisTaskLRC.cxx:545
 AliAnalysisTaskLRC.cxx:546
 AliAnalysisTaskLRC.cxx:547
 AliAnalysisTaskLRC.cxx:548
 AliAnalysisTaskLRC.cxx:549
 AliAnalysisTaskLRC.cxx:550
 AliAnalysisTaskLRC.cxx:551
 AliAnalysisTaskLRC.cxx:552
 AliAnalysisTaskLRC.cxx:553
 AliAnalysisTaskLRC.cxx:554
 AliAnalysisTaskLRC.cxx:555
 AliAnalysisTaskLRC.cxx:556
 AliAnalysisTaskLRC.cxx:557
 AliAnalysisTaskLRC.cxx:558
 AliAnalysisTaskLRC.cxx:559
 AliAnalysisTaskLRC.cxx:560
 AliAnalysisTaskLRC.cxx:561
 AliAnalysisTaskLRC.cxx:562
 AliAnalysisTaskLRC.cxx:563
 AliAnalysisTaskLRC.cxx:564
 AliAnalysisTaskLRC.cxx:565
 AliAnalysisTaskLRC.cxx:566
 AliAnalysisTaskLRC.cxx:567
 AliAnalysisTaskLRC.cxx:568
 AliAnalysisTaskLRC.cxx:569
 AliAnalysisTaskLRC.cxx:570
 AliAnalysisTaskLRC.cxx:571
 AliAnalysisTaskLRC.cxx:572
 AliAnalysisTaskLRC.cxx:573
 AliAnalysisTaskLRC.cxx:574
 AliAnalysisTaskLRC.cxx:575
 AliAnalysisTaskLRC.cxx:576
 AliAnalysisTaskLRC.cxx:577
 AliAnalysisTaskLRC.cxx:578
 AliAnalysisTaskLRC.cxx:579
 AliAnalysisTaskLRC.cxx:580
 AliAnalysisTaskLRC.cxx:581
 AliAnalysisTaskLRC.cxx:582
 AliAnalysisTaskLRC.cxx:583
 AliAnalysisTaskLRC.cxx:584
 AliAnalysisTaskLRC.cxx:585
 AliAnalysisTaskLRC.cxx:586
 AliAnalysisTaskLRC.cxx:587
 AliAnalysisTaskLRC.cxx:588
 AliAnalysisTaskLRC.cxx:589
 AliAnalysisTaskLRC.cxx:590
 AliAnalysisTaskLRC.cxx:591
 AliAnalysisTaskLRC.cxx:592
 AliAnalysisTaskLRC.cxx:593
 AliAnalysisTaskLRC.cxx:594
 AliAnalysisTaskLRC.cxx:595
 AliAnalysisTaskLRC.cxx:596
 AliAnalysisTaskLRC.cxx:597
 AliAnalysisTaskLRC.cxx:598
 AliAnalysisTaskLRC.cxx:599
 AliAnalysisTaskLRC.cxx:600
 AliAnalysisTaskLRC.cxx:601
 AliAnalysisTaskLRC.cxx:602
 AliAnalysisTaskLRC.cxx:603
 AliAnalysisTaskLRC.cxx:604
 AliAnalysisTaskLRC.cxx:605
 AliAnalysisTaskLRC.cxx:606
 AliAnalysisTaskLRC.cxx:607
 AliAnalysisTaskLRC.cxx:608
 AliAnalysisTaskLRC.cxx:609
 AliAnalysisTaskLRC.cxx:610
 AliAnalysisTaskLRC.cxx:611
 AliAnalysisTaskLRC.cxx:612
 AliAnalysisTaskLRC.cxx:613
 AliAnalysisTaskLRC.cxx:614
 AliAnalysisTaskLRC.cxx:615
 AliAnalysisTaskLRC.cxx:616
 AliAnalysisTaskLRC.cxx:617
 AliAnalysisTaskLRC.cxx:618
 AliAnalysisTaskLRC.cxx:619
 AliAnalysisTaskLRC.cxx:620
 AliAnalysisTaskLRC.cxx:621
 AliAnalysisTaskLRC.cxx:622
 AliAnalysisTaskLRC.cxx:623
 AliAnalysisTaskLRC.cxx:624
 AliAnalysisTaskLRC.cxx:625
 AliAnalysisTaskLRC.cxx:626
 AliAnalysisTaskLRC.cxx:627
 AliAnalysisTaskLRC.cxx:628
 AliAnalysisTaskLRC.cxx:629
 AliAnalysisTaskLRC.cxx:630
 AliAnalysisTaskLRC.cxx:631
 AliAnalysisTaskLRC.cxx:632
 AliAnalysisTaskLRC.cxx:633
 AliAnalysisTaskLRC.cxx:634
 AliAnalysisTaskLRC.cxx:635
 AliAnalysisTaskLRC.cxx:636
 AliAnalysisTaskLRC.cxx:637
 AliAnalysisTaskLRC.cxx:638
 AliAnalysisTaskLRC.cxx:639
 AliAnalysisTaskLRC.cxx:640
 AliAnalysisTaskLRC.cxx:641
 AliAnalysisTaskLRC.cxx:642
 AliAnalysisTaskLRC.cxx:643
 AliAnalysisTaskLRC.cxx:644
 AliAnalysisTaskLRC.cxx:645
 AliAnalysisTaskLRC.cxx:646
 AliAnalysisTaskLRC.cxx:647
 AliAnalysisTaskLRC.cxx:648
 AliAnalysisTaskLRC.cxx:649
 AliAnalysisTaskLRC.cxx:650
 AliAnalysisTaskLRC.cxx:651
 AliAnalysisTaskLRC.cxx:652
 AliAnalysisTaskLRC.cxx:653
 AliAnalysisTaskLRC.cxx:654
 AliAnalysisTaskLRC.cxx:655
 AliAnalysisTaskLRC.cxx:656
 AliAnalysisTaskLRC.cxx:657
 AliAnalysisTaskLRC.cxx:658
 AliAnalysisTaskLRC.cxx:659
 AliAnalysisTaskLRC.cxx:660
 AliAnalysisTaskLRC.cxx:661
 AliAnalysisTaskLRC.cxx:662
 AliAnalysisTaskLRC.cxx:663
 AliAnalysisTaskLRC.cxx:664
 AliAnalysisTaskLRC.cxx:665
 AliAnalysisTaskLRC.cxx:666
 AliAnalysisTaskLRC.cxx:667
 AliAnalysisTaskLRC.cxx:668
 AliAnalysisTaskLRC.cxx:669
 AliAnalysisTaskLRC.cxx:670
 AliAnalysisTaskLRC.cxx:671
 AliAnalysisTaskLRC.cxx:672
 AliAnalysisTaskLRC.cxx:673
 AliAnalysisTaskLRC.cxx:674
 AliAnalysisTaskLRC.cxx:675
 AliAnalysisTaskLRC.cxx:676
 AliAnalysisTaskLRC.cxx:677
 AliAnalysisTaskLRC.cxx:678
 AliAnalysisTaskLRC.cxx:679
 AliAnalysisTaskLRC.cxx:680
 AliAnalysisTaskLRC.cxx:681
 AliAnalysisTaskLRC.cxx:682
 AliAnalysisTaskLRC.cxx:683
 AliAnalysisTaskLRC.cxx:684
 AliAnalysisTaskLRC.cxx:685
 AliAnalysisTaskLRC.cxx:686
 AliAnalysisTaskLRC.cxx:687
 AliAnalysisTaskLRC.cxx:688
 AliAnalysisTaskLRC.cxx:689
 AliAnalysisTaskLRC.cxx:690
 AliAnalysisTaskLRC.cxx:691
 AliAnalysisTaskLRC.cxx:692
 AliAnalysisTaskLRC.cxx:693
 AliAnalysisTaskLRC.cxx:694
 AliAnalysisTaskLRC.cxx:695
 AliAnalysisTaskLRC.cxx:696
 AliAnalysisTaskLRC.cxx:697
 AliAnalysisTaskLRC.cxx:698
 AliAnalysisTaskLRC.cxx:699
 AliAnalysisTaskLRC.cxx:700
 AliAnalysisTaskLRC.cxx:701
 AliAnalysisTaskLRC.cxx:702
 AliAnalysisTaskLRC.cxx:703
 AliAnalysisTaskLRC.cxx:704
 AliAnalysisTaskLRC.cxx:705
 AliAnalysisTaskLRC.cxx:706
 AliAnalysisTaskLRC.cxx:707
 AliAnalysisTaskLRC.cxx:708
 AliAnalysisTaskLRC.cxx:709
 AliAnalysisTaskLRC.cxx:710
 AliAnalysisTaskLRC.cxx:711
 AliAnalysisTaskLRC.cxx:712
 AliAnalysisTaskLRC.cxx:713
 AliAnalysisTaskLRC.cxx:714
 AliAnalysisTaskLRC.cxx:715
 AliAnalysisTaskLRC.cxx:716
 AliAnalysisTaskLRC.cxx:717
 AliAnalysisTaskLRC.cxx:718
 AliAnalysisTaskLRC.cxx:719
 AliAnalysisTaskLRC.cxx:720
 AliAnalysisTaskLRC.cxx:721
 AliAnalysisTaskLRC.cxx:722
 AliAnalysisTaskLRC.cxx:723
 AliAnalysisTaskLRC.cxx:724
 AliAnalysisTaskLRC.cxx:725
 AliAnalysisTaskLRC.cxx:726
 AliAnalysisTaskLRC.cxx:727
 AliAnalysisTaskLRC.cxx:728
 AliAnalysisTaskLRC.cxx:729
 AliAnalysisTaskLRC.cxx:730
 AliAnalysisTaskLRC.cxx:731
 AliAnalysisTaskLRC.cxx:732
 AliAnalysisTaskLRC.cxx:733
 AliAnalysisTaskLRC.cxx:734
 AliAnalysisTaskLRC.cxx:735
 AliAnalysisTaskLRC.cxx:736
 AliAnalysisTaskLRC.cxx:737
 AliAnalysisTaskLRC.cxx:738
 AliAnalysisTaskLRC.cxx:739
 AliAnalysisTaskLRC.cxx:740
 AliAnalysisTaskLRC.cxx:741
 AliAnalysisTaskLRC.cxx:742
 AliAnalysisTaskLRC.cxx:743
 AliAnalysisTaskLRC.cxx:744
 AliAnalysisTaskLRC.cxx:745
 AliAnalysisTaskLRC.cxx:746
 AliAnalysisTaskLRC.cxx:747
 AliAnalysisTaskLRC.cxx:748
 AliAnalysisTaskLRC.cxx:749
 AliAnalysisTaskLRC.cxx:750
 AliAnalysisTaskLRC.cxx:751
 AliAnalysisTaskLRC.cxx:752
 AliAnalysisTaskLRC.cxx:753
 AliAnalysisTaskLRC.cxx:754
 AliAnalysisTaskLRC.cxx:755
 AliAnalysisTaskLRC.cxx:756
 AliAnalysisTaskLRC.cxx:757
 AliAnalysisTaskLRC.cxx:758
 AliAnalysisTaskLRC.cxx:759
 AliAnalysisTaskLRC.cxx:760
 AliAnalysisTaskLRC.cxx:761
 AliAnalysisTaskLRC.cxx:762
 AliAnalysisTaskLRC.cxx:763
 AliAnalysisTaskLRC.cxx:764
 AliAnalysisTaskLRC.cxx:765
 AliAnalysisTaskLRC.cxx:766
 AliAnalysisTaskLRC.cxx:767
 AliAnalysisTaskLRC.cxx:768
 AliAnalysisTaskLRC.cxx:769
 AliAnalysisTaskLRC.cxx:770
 AliAnalysisTaskLRC.cxx:771
 AliAnalysisTaskLRC.cxx:772
 AliAnalysisTaskLRC.cxx:773
 AliAnalysisTaskLRC.cxx:774
 AliAnalysisTaskLRC.cxx:775
 AliAnalysisTaskLRC.cxx:776
 AliAnalysisTaskLRC.cxx:777
 AliAnalysisTaskLRC.cxx:778
 AliAnalysisTaskLRC.cxx:779
 AliAnalysisTaskLRC.cxx:780
 AliAnalysisTaskLRC.cxx:781
 AliAnalysisTaskLRC.cxx:782
 AliAnalysisTaskLRC.cxx:783
 AliAnalysisTaskLRC.cxx:784
 AliAnalysisTaskLRC.cxx:785
 AliAnalysisTaskLRC.cxx:786
 AliAnalysisTaskLRC.cxx:787
 AliAnalysisTaskLRC.cxx:788
 AliAnalysisTaskLRC.cxx:789
 AliAnalysisTaskLRC.cxx:790
 AliAnalysisTaskLRC.cxx:791
 AliAnalysisTaskLRC.cxx:792
 AliAnalysisTaskLRC.cxx:793
 AliAnalysisTaskLRC.cxx:794
 AliAnalysisTaskLRC.cxx:795
 AliAnalysisTaskLRC.cxx:796
 AliAnalysisTaskLRC.cxx:797
 AliAnalysisTaskLRC.cxx:798
 AliAnalysisTaskLRC.cxx:799
 AliAnalysisTaskLRC.cxx:800
 AliAnalysisTaskLRC.cxx:801
 AliAnalysisTaskLRC.cxx:802
 AliAnalysisTaskLRC.cxx:803
 AliAnalysisTaskLRC.cxx:804
 AliAnalysisTaskLRC.cxx:805
 AliAnalysisTaskLRC.cxx:806
 AliAnalysisTaskLRC.cxx:807
 AliAnalysisTaskLRC.cxx:808
 AliAnalysisTaskLRC.cxx:809
 AliAnalysisTaskLRC.cxx:810
 AliAnalysisTaskLRC.cxx:811
 AliAnalysisTaskLRC.cxx:812
 AliAnalysisTaskLRC.cxx:813
 AliAnalysisTaskLRC.cxx:814
 AliAnalysisTaskLRC.cxx:815
 AliAnalysisTaskLRC.cxx:816
 AliAnalysisTaskLRC.cxx:817
 AliAnalysisTaskLRC.cxx:818
 AliAnalysisTaskLRC.cxx:819
 AliAnalysisTaskLRC.cxx:820
 AliAnalysisTaskLRC.cxx:821
 AliAnalysisTaskLRC.cxx:822
 AliAnalysisTaskLRC.cxx:823
 AliAnalysisTaskLRC.cxx:824
 AliAnalysisTaskLRC.cxx:825
 AliAnalysisTaskLRC.cxx:826
 AliAnalysisTaskLRC.cxx:827
 AliAnalysisTaskLRC.cxx:828
 AliAnalysisTaskLRC.cxx:829
 AliAnalysisTaskLRC.cxx:830
 AliAnalysisTaskLRC.cxx:831
 AliAnalysisTaskLRC.cxx:832
 AliAnalysisTaskLRC.cxx:833
 AliAnalysisTaskLRC.cxx:834
 AliAnalysisTaskLRC.cxx:835
 AliAnalysisTaskLRC.cxx:836
 AliAnalysisTaskLRC.cxx:837
 AliAnalysisTaskLRC.cxx:838
 AliAnalysisTaskLRC.cxx:839
 AliAnalysisTaskLRC.cxx:840
 AliAnalysisTaskLRC.cxx:841
 AliAnalysisTaskLRC.cxx:842
 AliAnalysisTaskLRC.cxx:843
 AliAnalysisTaskLRC.cxx:844
 AliAnalysisTaskLRC.cxx:845
 AliAnalysisTaskLRC.cxx:846
 AliAnalysisTaskLRC.cxx:847
 AliAnalysisTaskLRC.cxx:848
 AliAnalysisTaskLRC.cxx:849
 AliAnalysisTaskLRC.cxx:850
 AliAnalysisTaskLRC.cxx:851
 AliAnalysisTaskLRC.cxx:852
 AliAnalysisTaskLRC.cxx:853
 AliAnalysisTaskLRC.cxx:854
 AliAnalysisTaskLRC.cxx:855
 AliAnalysisTaskLRC.cxx:856
 AliAnalysisTaskLRC.cxx:857
 AliAnalysisTaskLRC.cxx:858
 AliAnalysisTaskLRC.cxx:859
 AliAnalysisTaskLRC.cxx:860
 AliAnalysisTaskLRC.cxx:861
 AliAnalysisTaskLRC.cxx:862
 AliAnalysisTaskLRC.cxx:863
 AliAnalysisTaskLRC.cxx:864
 AliAnalysisTaskLRC.cxx:865
 AliAnalysisTaskLRC.cxx:866
 AliAnalysisTaskLRC.cxx:867
 AliAnalysisTaskLRC.cxx:868
 AliAnalysisTaskLRC.cxx:869
 AliAnalysisTaskLRC.cxx:870
 AliAnalysisTaskLRC.cxx:871
 AliAnalysisTaskLRC.cxx:872
 AliAnalysisTaskLRC.cxx:873
 AliAnalysisTaskLRC.cxx:874
 AliAnalysisTaskLRC.cxx:875
 AliAnalysisTaskLRC.cxx:876
 AliAnalysisTaskLRC.cxx:877
 AliAnalysisTaskLRC.cxx:878
 AliAnalysisTaskLRC.cxx:879
 AliAnalysisTaskLRC.cxx:880
 AliAnalysisTaskLRC.cxx:881
 AliAnalysisTaskLRC.cxx:882
 AliAnalysisTaskLRC.cxx:883
 AliAnalysisTaskLRC.cxx:884
 AliAnalysisTaskLRC.cxx:885
 AliAnalysisTaskLRC.cxx:886
 AliAnalysisTaskLRC.cxx:887
 AliAnalysisTaskLRC.cxx:888
 AliAnalysisTaskLRC.cxx:889
 AliAnalysisTaskLRC.cxx:890
 AliAnalysisTaskLRC.cxx:891
 AliAnalysisTaskLRC.cxx:892
 AliAnalysisTaskLRC.cxx:893
 AliAnalysisTaskLRC.cxx:894
 AliAnalysisTaskLRC.cxx:895
 AliAnalysisTaskLRC.cxx:896
 AliAnalysisTaskLRC.cxx:897
 AliAnalysisTaskLRC.cxx:898
 AliAnalysisTaskLRC.cxx:899
 AliAnalysisTaskLRC.cxx:900
 AliAnalysisTaskLRC.cxx:901
 AliAnalysisTaskLRC.cxx:902
 AliAnalysisTaskLRC.cxx:903
 AliAnalysisTaskLRC.cxx:904
 AliAnalysisTaskLRC.cxx:905
 AliAnalysisTaskLRC.cxx:906
 AliAnalysisTaskLRC.cxx:907
 AliAnalysisTaskLRC.cxx:908
 AliAnalysisTaskLRC.cxx:909
 AliAnalysisTaskLRC.cxx:910
 AliAnalysisTaskLRC.cxx:911
 AliAnalysisTaskLRC.cxx:912
 AliAnalysisTaskLRC.cxx:913
 AliAnalysisTaskLRC.cxx:914
 AliAnalysisTaskLRC.cxx:915
 AliAnalysisTaskLRC.cxx:916
 AliAnalysisTaskLRC.cxx:917
 AliAnalysisTaskLRC.cxx:918
 AliAnalysisTaskLRC.cxx:919
 AliAnalysisTaskLRC.cxx:920
 AliAnalysisTaskLRC.cxx:921
 AliAnalysisTaskLRC.cxx:922
 AliAnalysisTaskLRC.cxx:923
 AliAnalysisTaskLRC.cxx:924
 AliAnalysisTaskLRC.cxx:925
 AliAnalysisTaskLRC.cxx:926
 AliAnalysisTaskLRC.cxx:927
 AliAnalysisTaskLRC.cxx:928
 AliAnalysisTaskLRC.cxx:929
 AliAnalysisTaskLRC.cxx:930
 AliAnalysisTaskLRC.cxx:931
 AliAnalysisTaskLRC.cxx:932
 AliAnalysisTaskLRC.cxx:933
 AliAnalysisTaskLRC.cxx:934
 AliAnalysisTaskLRC.cxx:935
 AliAnalysisTaskLRC.cxx:936
 AliAnalysisTaskLRC.cxx:937
 AliAnalysisTaskLRC.cxx:938
 AliAnalysisTaskLRC.cxx:939
 AliAnalysisTaskLRC.cxx:940
 AliAnalysisTaskLRC.cxx:941
 AliAnalysisTaskLRC.cxx:942
 AliAnalysisTaskLRC.cxx:943
 AliAnalysisTaskLRC.cxx:944
 AliAnalysisTaskLRC.cxx:945
 AliAnalysisTaskLRC.cxx:946
 AliAnalysisTaskLRC.cxx:947
 AliAnalysisTaskLRC.cxx:948
 AliAnalysisTaskLRC.cxx:949
 AliAnalysisTaskLRC.cxx:950
 AliAnalysisTaskLRC.cxx:951
 AliAnalysisTaskLRC.cxx:952
 AliAnalysisTaskLRC.cxx:953
 AliAnalysisTaskLRC.cxx:954
 AliAnalysisTaskLRC.cxx:955
 AliAnalysisTaskLRC.cxx:956
 AliAnalysisTaskLRC.cxx:957
 AliAnalysisTaskLRC.cxx:958
 AliAnalysisTaskLRC.cxx:959
 AliAnalysisTaskLRC.cxx:960
 AliAnalysisTaskLRC.cxx:961
 AliAnalysisTaskLRC.cxx:962
 AliAnalysisTaskLRC.cxx:963
 AliAnalysisTaskLRC.cxx:964
 AliAnalysisTaskLRC.cxx:965
 AliAnalysisTaskLRC.cxx:966
 AliAnalysisTaskLRC.cxx:967
 AliAnalysisTaskLRC.cxx:968
 AliAnalysisTaskLRC.cxx:969
 AliAnalysisTaskLRC.cxx:970
 AliAnalysisTaskLRC.cxx:971
 AliAnalysisTaskLRC.cxx:972
 AliAnalysisTaskLRC.cxx:973
 AliAnalysisTaskLRC.cxx:974
 AliAnalysisTaskLRC.cxx:975
 AliAnalysisTaskLRC.cxx:976
 AliAnalysisTaskLRC.cxx:977
 AliAnalysisTaskLRC.cxx:978
 AliAnalysisTaskLRC.cxx:979
 AliAnalysisTaskLRC.cxx:980
 AliAnalysisTaskLRC.cxx:981
 AliAnalysisTaskLRC.cxx:982
 AliAnalysisTaskLRC.cxx:983
 AliAnalysisTaskLRC.cxx:984
 AliAnalysisTaskLRC.cxx:985
 AliAnalysisTaskLRC.cxx:986
 AliAnalysisTaskLRC.cxx:987
 AliAnalysisTaskLRC.cxx:988
 AliAnalysisTaskLRC.cxx:989
 AliAnalysisTaskLRC.cxx:990
 AliAnalysisTaskLRC.cxx:991
 AliAnalysisTaskLRC.cxx:992
 AliAnalysisTaskLRC.cxx:993
 AliAnalysisTaskLRC.cxx:994
 AliAnalysisTaskLRC.cxx:995
 AliAnalysisTaskLRC.cxx:996
 AliAnalysisTaskLRC.cxx:997
 AliAnalysisTaskLRC.cxx:998
 AliAnalysisTaskLRC.cxx:999
 AliAnalysisTaskLRC.cxx:1000
 AliAnalysisTaskLRC.cxx:1001
 AliAnalysisTaskLRC.cxx:1002
 AliAnalysisTaskLRC.cxx:1003
 AliAnalysisTaskLRC.cxx:1004
 AliAnalysisTaskLRC.cxx:1005
 AliAnalysisTaskLRC.cxx:1006
 AliAnalysisTaskLRC.cxx:1007
 AliAnalysisTaskLRC.cxx:1008
 AliAnalysisTaskLRC.cxx:1009
 AliAnalysisTaskLRC.cxx:1010
 AliAnalysisTaskLRC.cxx:1011
 AliAnalysisTaskLRC.cxx:1012
 AliAnalysisTaskLRC.cxx:1013
 AliAnalysisTaskLRC.cxx:1014
 AliAnalysisTaskLRC.cxx:1015
 AliAnalysisTaskLRC.cxx:1016
 AliAnalysisTaskLRC.cxx:1017
 AliAnalysisTaskLRC.cxx:1018
 AliAnalysisTaskLRC.cxx:1019
 AliAnalysisTaskLRC.cxx:1020
 AliAnalysisTaskLRC.cxx:1021
 AliAnalysisTaskLRC.cxx:1022
 AliAnalysisTaskLRC.cxx:1023
 AliAnalysisTaskLRC.cxx:1024
 AliAnalysisTaskLRC.cxx:1025
 AliAnalysisTaskLRC.cxx:1026
 AliAnalysisTaskLRC.cxx:1027
 AliAnalysisTaskLRC.cxx:1028
 AliAnalysisTaskLRC.cxx:1029
 AliAnalysisTaskLRC.cxx:1030
 AliAnalysisTaskLRC.cxx:1031
 AliAnalysisTaskLRC.cxx:1032
 AliAnalysisTaskLRC.cxx:1033
 AliAnalysisTaskLRC.cxx:1034
 AliAnalysisTaskLRC.cxx:1035
 AliAnalysisTaskLRC.cxx:1036
 AliAnalysisTaskLRC.cxx:1037
 AliAnalysisTaskLRC.cxx:1038
 AliAnalysisTaskLRC.cxx:1039
 AliAnalysisTaskLRC.cxx:1040
 AliAnalysisTaskLRC.cxx:1041
 AliAnalysisTaskLRC.cxx:1042
 AliAnalysisTaskLRC.cxx:1043
 AliAnalysisTaskLRC.cxx:1044
 AliAnalysisTaskLRC.cxx:1045
 AliAnalysisTaskLRC.cxx:1046
 AliAnalysisTaskLRC.cxx:1047
 AliAnalysisTaskLRC.cxx:1048
 AliAnalysisTaskLRC.cxx:1049
 AliAnalysisTaskLRC.cxx:1050
 AliAnalysisTaskLRC.cxx:1051
 AliAnalysisTaskLRC.cxx:1052
 AliAnalysisTaskLRC.cxx:1053
 AliAnalysisTaskLRC.cxx:1054
 AliAnalysisTaskLRC.cxx:1055
 AliAnalysisTaskLRC.cxx:1056
 AliAnalysisTaskLRC.cxx:1057
 AliAnalysisTaskLRC.cxx:1058
 AliAnalysisTaskLRC.cxx:1059
 AliAnalysisTaskLRC.cxx:1060
 AliAnalysisTaskLRC.cxx:1061
 AliAnalysisTaskLRC.cxx:1062
 AliAnalysisTaskLRC.cxx:1063
 AliAnalysisTaskLRC.cxx:1064
 AliAnalysisTaskLRC.cxx:1065
 AliAnalysisTaskLRC.cxx:1066
 AliAnalysisTaskLRC.cxx:1067
 AliAnalysisTaskLRC.cxx:1068
 AliAnalysisTaskLRC.cxx:1069
 AliAnalysisTaskLRC.cxx:1070
 AliAnalysisTaskLRC.cxx:1071
 AliAnalysisTaskLRC.cxx:1072
 AliAnalysisTaskLRC.cxx:1073
 AliAnalysisTaskLRC.cxx:1074
 AliAnalysisTaskLRC.cxx:1075
 AliAnalysisTaskLRC.cxx:1076
 AliAnalysisTaskLRC.cxx:1077
 AliAnalysisTaskLRC.cxx:1078
 AliAnalysisTaskLRC.cxx:1079
 AliAnalysisTaskLRC.cxx:1080
 AliAnalysisTaskLRC.cxx:1081
 AliAnalysisTaskLRC.cxx:1082
 AliAnalysisTaskLRC.cxx:1083
 AliAnalysisTaskLRC.cxx:1084
 AliAnalysisTaskLRC.cxx:1085
 AliAnalysisTaskLRC.cxx:1086
 AliAnalysisTaskLRC.cxx:1087
 AliAnalysisTaskLRC.cxx:1088
 AliAnalysisTaskLRC.cxx:1089
 AliAnalysisTaskLRC.cxx:1090
 AliAnalysisTaskLRC.cxx:1091
 AliAnalysisTaskLRC.cxx:1092
 AliAnalysisTaskLRC.cxx:1093
 AliAnalysisTaskLRC.cxx:1094
 AliAnalysisTaskLRC.cxx:1095
 AliAnalysisTaskLRC.cxx:1096
 AliAnalysisTaskLRC.cxx:1097
 AliAnalysisTaskLRC.cxx:1098
 AliAnalysisTaskLRC.cxx:1099
 AliAnalysisTaskLRC.cxx:1100
 AliAnalysisTaskLRC.cxx:1101
 AliAnalysisTaskLRC.cxx:1102
 AliAnalysisTaskLRC.cxx:1103
 AliAnalysisTaskLRC.cxx:1104
 AliAnalysisTaskLRC.cxx:1105
 AliAnalysisTaskLRC.cxx:1106
 AliAnalysisTaskLRC.cxx:1107
 AliAnalysisTaskLRC.cxx:1108
 AliAnalysisTaskLRC.cxx:1109
 AliAnalysisTaskLRC.cxx:1110
 AliAnalysisTaskLRC.cxx:1111
 AliAnalysisTaskLRC.cxx:1112
 AliAnalysisTaskLRC.cxx:1113
 AliAnalysisTaskLRC.cxx:1114
 AliAnalysisTaskLRC.cxx:1115
 AliAnalysisTaskLRC.cxx:1116
 AliAnalysisTaskLRC.cxx:1117
 AliAnalysisTaskLRC.cxx:1118
 AliAnalysisTaskLRC.cxx:1119
 AliAnalysisTaskLRC.cxx:1120
 AliAnalysisTaskLRC.cxx:1121
 AliAnalysisTaskLRC.cxx:1122
 AliAnalysisTaskLRC.cxx:1123
 AliAnalysisTaskLRC.cxx:1124
 AliAnalysisTaskLRC.cxx:1125
 AliAnalysisTaskLRC.cxx:1126
 AliAnalysisTaskLRC.cxx:1127
 AliAnalysisTaskLRC.cxx:1128
 AliAnalysisTaskLRC.cxx:1129
 AliAnalysisTaskLRC.cxx:1130
 AliAnalysisTaskLRC.cxx:1131
 AliAnalysisTaskLRC.cxx:1132
 AliAnalysisTaskLRC.cxx:1133
 AliAnalysisTaskLRC.cxx:1134
 AliAnalysisTaskLRC.cxx:1135
 AliAnalysisTaskLRC.cxx:1136
 AliAnalysisTaskLRC.cxx:1137
 AliAnalysisTaskLRC.cxx:1138
 AliAnalysisTaskLRC.cxx:1139
 AliAnalysisTaskLRC.cxx:1140
 AliAnalysisTaskLRC.cxx:1141
 AliAnalysisTaskLRC.cxx:1142
 AliAnalysisTaskLRC.cxx:1143
 AliAnalysisTaskLRC.cxx:1144
 AliAnalysisTaskLRC.cxx:1145
 AliAnalysisTaskLRC.cxx:1146
 AliAnalysisTaskLRC.cxx:1147
 AliAnalysisTaskLRC.cxx:1148
 AliAnalysisTaskLRC.cxx:1149
 AliAnalysisTaskLRC.cxx:1150
 AliAnalysisTaskLRC.cxx:1151
 AliAnalysisTaskLRC.cxx:1152
 AliAnalysisTaskLRC.cxx:1153
 AliAnalysisTaskLRC.cxx:1154
 AliAnalysisTaskLRC.cxx:1155
 AliAnalysisTaskLRC.cxx:1156
 AliAnalysisTaskLRC.cxx:1157
 AliAnalysisTaskLRC.cxx:1158
 AliAnalysisTaskLRC.cxx:1159
 AliAnalysisTaskLRC.cxx:1160
 AliAnalysisTaskLRC.cxx:1161
 AliAnalysisTaskLRC.cxx:1162
 AliAnalysisTaskLRC.cxx:1163
 AliAnalysisTaskLRC.cxx:1164
 AliAnalysisTaskLRC.cxx:1165
 AliAnalysisTaskLRC.cxx:1166
 AliAnalysisTaskLRC.cxx:1167
 AliAnalysisTaskLRC.cxx:1168
 AliAnalysisTaskLRC.cxx:1169
 AliAnalysisTaskLRC.cxx:1170
 AliAnalysisTaskLRC.cxx:1171
 AliAnalysisTaskLRC.cxx:1172
 AliAnalysisTaskLRC.cxx:1173
 AliAnalysisTaskLRC.cxx:1174
 AliAnalysisTaskLRC.cxx:1175
 AliAnalysisTaskLRC.cxx:1176
 AliAnalysisTaskLRC.cxx:1177
 AliAnalysisTaskLRC.cxx:1178
 AliAnalysisTaskLRC.cxx:1179
 AliAnalysisTaskLRC.cxx:1180
 AliAnalysisTaskLRC.cxx:1181
 AliAnalysisTaskLRC.cxx:1182
 AliAnalysisTaskLRC.cxx:1183
 AliAnalysisTaskLRC.cxx:1184
 AliAnalysisTaskLRC.cxx:1185
 AliAnalysisTaskLRC.cxx:1186
 AliAnalysisTaskLRC.cxx:1187
 AliAnalysisTaskLRC.cxx:1188
 AliAnalysisTaskLRC.cxx:1189
 AliAnalysisTaskLRC.cxx:1190
 AliAnalysisTaskLRC.cxx:1191
 AliAnalysisTaskLRC.cxx:1192
 AliAnalysisTaskLRC.cxx:1193
 AliAnalysisTaskLRC.cxx:1194
 AliAnalysisTaskLRC.cxx:1195
 AliAnalysisTaskLRC.cxx:1196
 AliAnalysisTaskLRC.cxx:1197
 AliAnalysisTaskLRC.cxx:1198
 AliAnalysisTaskLRC.cxx:1199
 AliAnalysisTaskLRC.cxx:1200
 AliAnalysisTaskLRC.cxx:1201
 AliAnalysisTaskLRC.cxx:1202
 AliAnalysisTaskLRC.cxx:1203
 AliAnalysisTaskLRC.cxx:1204
 AliAnalysisTaskLRC.cxx:1205
 AliAnalysisTaskLRC.cxx:1206
 AliAnalysisTaskLRC.cxx:1207
 AliAnalysisTaskLRC.cxx:1208
 AliAnalysisTaskLRC.cxx:1209
 AliAnalysisTaskLRC.cxx:1210
 AliAnalysisTaskLRC.cxx:1211
 AliAnalysisTaskLRC.cxx:1212
 AliAnalysisTaskLRC.cxx:1213
 AliAnalysisTaskLRC.cxx:1214
 AliAnalysisTaskLRC.cxx:1215
 AliAnalysisTaskLRC.cxx:1216
 AliAnalysisTaskLRC.cxx:1217
 AliAnalysisTaskLRC.cxx:1218
 AliAnalysisTaskLRC.cxx:1219
 AliAnalysisTaskLRC.cxx:1220
 AliAnalysisTaskLRC.cxx:1221
 AliAnalysisTaskLRC.cxx:1222
 AliAnalysisTaskLRC.cxx:1223
 AliAnalysisTaskLRC.cxx:1224
 AliAnalysisTaskLRC.cxx:1225
 AliAnalysisTaskLRC.cxx:1226
 AliAnalysisTaskLRC.cxx:1227
 AliAnalysisTaskLRC.cxx:1228
 AliAnalysisTaskLRC.cxx:1229
 AliAnalysisTaskLRC.cxx:1230
 AliAnalysisTaskLRC.cxx:1231
 AliAnalysisTaskLRC.cxx:1232
 AliAnalysisTaskLRC.cxx:1233
 AliAnalysisTaskLRC.cxx:1234
 AliAnalysisTaskLRC.cxx:1235
 AliAnalysisTaskLRC.cxx:1236
 AliAnalysisTaskLRC.cxx:1237
 AliAnalysisTaskLRC.cxx:1238
 AliAnalysisTaskLRC.cxx:1239
 AliAnalysisTaskLRC.cxx:1240
 AliAnalysisTaskLRC.cxx:1241
 AliAnalysisTaskLRC.cxx:1242
 AliAnalysisTaskLRC.cxx:1243
 AliAnalysisTaskLRC.cxx:1244
 AliAnalysisTaskLRC.cxx:1245
 AliAnalysisTaskLRC.cxx:1246
 AliAnalysisTaskLRC.cxx:1247
 AliAnalysisTaskLRC.cxx:1248
 AliAnalysisTaskLRC.cxx:1249
 AliAnalysisTaskLRC.cxx:1250
 AliAnalysisTaskLRC.cxx:1251
 AliAnalysisTaskLRC.cxx:1252
 AliAnalysisTaskLRC.cxx:1253
 AliAnalysisTaskLRC.cxx:1254
 AliAnalysisTaskLRC.cxx:1255
 AliAnalysisTaskLRC.cxx:1256
 AliAnalysisTaskLRC.cxx:1257
 AliAnalysisTaskLRC.cxx:1258
 AliAnalysisTaskLRC.cxx:1259
 AliAnalysisTaskLRC.cxx:1260
 AliAnalysisTaskLRC.cxx:1261
 AliAnalysisTaskLRC.cxx:1262
 AliAnalysisTaskLRC.cxx:1263
 AliAnalysisTaskLRC.cxx:1264
 AliAnalysisTaskLRC.cxx:1265
 AliAnalysisTaskLRC.cxx:1266
 AliAnalysisTaskLRC.cxx:1267
 AliAnalysisTaskLRC.cxx:1268
 AliAnalysisTaskLRC.cxx:1269
 AliAnalysisTaskLRC.cxx:1270
 AliAnalysisTaskLRC.cxx:1271
 AliAnalysisTaskLRC.cxx:1272
 AliAnalysisTaskLRC.cxx:1273
 AliAnalysisTaskLRC.cxx:1274
 AliAnalysisTaskLRC.cxx:1275
 AliAnalysisTaskLRC.cxx:1276
 AliAnalysisTaskLRC.cxx:1277
 AliAnalysisTaskLRC.cxx:1278
 AliAnalysisTaskLRC.cxx:1279
 AliAnalysisTaskLRC.cxx:1280
 AliAnalysisTaskLRC.cxx:1281
 AliAnalysisTaskLRC.cxx:1282
 AliAnalysisTaskLRC.cxx:1283
 AliAnalysisTaskLRC.cxx:1284
 AliAnalysisTaskLRC.cxx:1285
 AliAnalysisTaskLRC.cxx:1286
 AliAnalysisTaskLRC.cxx:1287
 AliAnalysisTaskLRC.cxx:1288
 AliAnalysisTaskLRC.cxx:1289
 AliAnalysisTaskLRC.cxx:1290
 AliAnalysisTaskLRC.cxx:1291
 AliAnalysisTaskLRC.cxx:1292
 AliAnalysisTaskLRC.cxx:1293
 AliAnalysisTaskLRC.cxx:1294
 AliAnalysisTaskLRC.cxx:1295
 AliAnalysisTaskLRC.cxx:1296
 AliAnalysisTaskLRC.cxx:1297
 AliAnalysisTaskLRC.cxx:1298
 AliAnalysisTaskLRC.cxx:1299
 AliAnalysisTaskLRC.cxx:1300
 AliAnalysisTaskLRC.cxx:1301
 AliAnalysisTaskLRC.cxx:1302
 AliAnalysisTaskLRC.cxx:1303
 AliAnalysisTaskLRC.cxx:1304
 AliAnalysisTaskLRC.cxx:1305
 AliAnalysisTaskLRC.cxx:1306
 AliAnalysisTaskLRC.cxx:1307
 AliAnalysisTaskLRC.cxx:1308
 AliAnalysisTaskLRC.cxx:1309
 AliAnalysisTaskLRC.cxx:1310
 AliAnalysisTaskLRC.cxx:1311
 AliAnalysisTaskLRC.cxx:1312
 AliAnalysisTaskLRC.cxx:1313
 AliAnalysisTaskLRC.cxx:1314
 AliAnalysisTaskLRC.cxx:1315
 AliAnalysisTaskLRC.cxx:1316
 AliAnalysisTaskLRC.cxx:1317
 AliAnalysisTaskLRC.cxx:1318
 AliAnalysisTaskLRC.cxx:1319
 AliAnalysisTaskLRC.cxx:1320
 AliAnalysisTaskLRC.cxx:1321
 AliAnalysisTaskLRC.cxx:1322
 AliAnalysisTaskLRC.cxx:1323
 AliAnalysisTaskLRC.cxx:1324
 AliAnalysisTaskLRC.cxx:1325
 AliAnalysisTaskLRC.cxx:1326
 AliAnalysisTaskLRC.cxx:1327
 AliAnalysisTaskLRC.cxx:1328
 AliAnalysisTaskLRC.cxx:1329
 AliAnalysisTaskLRC.cxx:1330
 AliAnalysisTaskLRC.cxx:1331
 AliAnalysisTaskLRC.cxx:1332
 AliAnalysisTaskLRC.cxx:1333
 AliAnalysisTaskLRC.cxx:1334
 AliAnalysisTaskLRC.cxx:1335
 AliAnalysisTaskLRC.cxx:1336
 AliAnalysisTaskLRC.cxx:1337
 AliAnalysisTaskLRC.cxx:1338
 AliAnalysisTaskLRC.cxx:1339
 AliAnalysisTaskLRC.cxx:1340
 AliAnalysisTaskLRC.cxx:1341
 AliAnalysisTaskLRC.cxx:1342
 AliAnalysisTaskLRC.cxx:1343
 AliAnalysisTaskLRC.cxx:1344
 AliAnalysisTaskLRC.cxx:1345
 AliAnalysisTaskLRC.cxx:1346
 AliAnalysisTaskLRC.cxx:1347
 AliAnalysisTaskLRC.cxx:1348
 AliAnalysisTaskLRC.cxx:1349
 AliAnalysisTaskLRC.cxx:1350
 AliAnalysisTaskLRC.cxx:1351
 AliAnalysisTaskLRC.cxx:1352
 AliAnalysisTaskLRC.cxx:1353
 AliAnalysisTaskLRC.cxx:1354
 AliAnalysisTaskLRC.cxx:1355
 AliAnalysisTaskLRC.cxx:1356
 AliAnalysisTaskLRC.cxx:1357
 AliAnalysisTaskLRC.cxx:1358
 AliAnalysisTaskLRC.cxx:1359
 AliAnalysisTaskLRC.cxx:1360
 AliAnalysisTaskLRC.cxx:1361
 AliAnalysisTaskLRC.cxx:1362
 AliAnalysisTaskLRC.cxx:1363
 AliAnalysisTaskLRC.cxx:1364
 AliAnalysisTaskLRC.cxx:1365
 AliAnalysisTaskLRC.cxx:1366
 AliAnalysisTaskLRC.cxx:1367
 AliAnalysisTaskLRC.cxx:1368
 AliAnalysisTaskLRC.cxx:1369
 AliAnalysisTaskLRC.cxx:1370
 AliAnalysisTaskLRC.cxx:1371
 AliAnalysisTaskLRC.cxx:1372
 AliAnalysisTaskLRC.cxx:1373
 AliAnalysisTaskLRC.cxx:1374
 AliAnalysisTaskLRC.cxx:1375
 AliAnalysisTaskLRC.cxx:1376
 AliAnalysisTaskLRC.cxx:1377
 AliAnalysisTaskLRC.cxx:1378
 AliAnalysisTaskLRC.cxx:1379
 AliAnalysisTaskLRC.cxx:1380
 AliAnalysisTaskLRC.cxx:1381
 AliAnalysisTaskLRC.cxx:1382
 AliAnalysisTaskLRC.cxx:1383
 AliAnalysisTaskLRC.cxx:1384
 AliAnalysisTaskLRC.cxx:1385
 AliAnalysisTaskLRC.cxx:1386
 AliAnalysisTaskLRC.cxx:1387
 AliAnalysisTaskLRC.cxx:1388
 AliAnalysisTaskLRC.cxx:1389
 AliAnalysisTaskLRC.cxx:1390
 AliAnalysisTaskLRC.cxx:1391
 AliAnalysisTaskLRC.cxx:1392
 AliAnalysisTaskLRC.cxx:1393
 AliAnalysisTaskLRC.cxx:1394
 AliAnalysisTaskLRC.cxx:1395
 AliAnalysisTaskLRC.cxx:1396
 AliAnalysisTaskLRC.cxx:1397
 AliAnalysisTaskLRC.cxx:1398
 AliAnalysisTaskLRC.cxx:1399
 AliAnalysisTaskLRC.cxx:1400
 AliAnalysisTaskLRC.cxx:1401
 AliAnalysisTaskLRC.cxx:1402
 AliAnalysisTaskLRC.cxx:1403
 AliAnalysisTaskLRC.cxx:1404
 AliAnalysisTaskLRC.cxx:1405
 AliAnalysisTaskLRC.cxx:1406
 AliAnalysisTaskLRC.cxx:1407
 AliAnalysisTaskLRC.cxx:1408
 AliAnalysisTaskLRC.cxx:1409
 AliAnalysisTaskLRC.cxx:1410
 AliAnalysisTaskLRC.cxx:1411
 AliAnalysisTaskLRC.cxx:1412
 AliAnalysisTaskLRC.cxx:1413
 AliAnalysisTaskLRC.cxx:1414
 AliAnalysisTaskLRC.cxx:1415
 AliAnalysisTaskLRC.cxx:1416
 AliAnalysisTaskLRC.cxx:1417
 AliAnalysisTaskLRC.cxx:1418
 AliAnalysisTaskLRC.cxx:1419
 AliAnalysisTaskLRC.cxx:1420
 AliAnalysisTaskLRC.cxx:1421
 AliAnalysisTaskLRC.cxx:1422
 AliAnalysisTaskLRC.cxx:1423
 AliAnalysisTaskLRC.cxx:1424
 AliAnalysisTaskLRC.cxx:1425
 AliAnalysisTaskLRC.cxx:1426
 AliAnalysisTaskLRC.cxx:1427
 AliAnalysisTaskLRC.cxx:1428
 AliAnalysisTaskLRC.cxx:1429
 AliAnalysisTaskLRC.cxx:1430
 AliAnalysisTaskLRC.cxx:1431
 AliAnalysisTaskLRC.cxx:1432
 AliAnalysisTaskLRC.cxx:1433
 AliAnalysisTaskLRC.cxx:1434
 AliAnalysisTaskLRC.cxx:1435
 AliAnalysisTaskLRC.cxx:1436
 AliAnalysisTaskLRC.cxx:1437
 AliAnalysisTaskLRC.cxx:1438
 AliAnalysisTaskLRC.cxx:1439
 AliAnalysisTaskLRC.cxx:1440
 AliAnalysisTaskLRC.cxx:1441
 AliAnalysisTaskLRC.cxx:1442
 AliAnalysisTaskLRC.cxx:1443
 AliAnalysisTaskLRC.cxx:1444
 AliAnalysisTaskLRC.cxx:1445
 AliAnalysisTaskLRC.cxx:1446
 AliAnalysisTaskLRC.cxx:1447
 AliAnalysisTaskLRC.cxx:1448
 AliAnalysisTaskLRC.cxx:1449
 AliAnalysisTaskLRC.cxx:1450
 AliAnalysisTaskLRC.cxx:1451
 AliAnalysisTaskLRC.cxx:1452
 AliAnalysisTaskLRC.cxx:1453
 AliAnalysisTaskLRC.cxx:1454
 AliAnalysisTaskLRC.cxx:1455
 AliAnalysisTaskLRC.cxx:1456
 AliAnalysisTaskLRC.cxx:1457
 AliAnalysisTaskLRC.cxx:1458
 AliAnalysisTaskLRC.cxx:1459
 AliAnalysisTaskLRC.cxx:1460
 AliAnalysisTaskLRC.cxx:1461
 AliAnalysisTaskLRC.cxx:1462
 AliAnalysisTaskLRC.cxx:1463
 AliAnalysisTaskLRC.cxx:1464
 AliAnalysisTaskLRC.cxx:1465
 AliAnalysisTaskLRC.cxx:1466
 AliAnalysisTaskLRC.cxx:1467
 AliAnalysisTaskLRC.cxx:1468
 AliAnalysisTaskLRC.cxx:1469
 AliAnalysisTaskLRC.cxx:1470
 AliAnalysisTaskLRC.cxx:1471
 AliAnalysisTaskLRC.cxx:1472
 AliAnalysisTaskLRC.cxx:1473
 AliAnalysisTaskLRC.cxx:1474
 AliAnalysisTaskLRC.cxx:1475
 AliAnalysisTaskLRC.cxx:1476
 AliAnalysisTaskLRC.cxx:1477
 AliAnalysisTaskLRC.cxx:1478
 AliAnalysisTaskLRC.cxx:1479
 AliAnalysisTaskLRC.cxx:1480
 AliAnalysisTaskLRC.cxx:1481
 AliAnalysisTaskLRC.cxx:1482
 AliAnalysisTaskLRC.cxx:1483
 AliAnalysisTaskLRC.cxx:1484
 AliAnalysisTaskLRC.cxx:1485
 AliAnalysisTaskLRC.cxx:1486
 AliAnalysisTaskLRC.cxx:1487
 AliAnalysisTaskLRC.cxx:1488
 AliAnalysisTaskLRC.cxx:1489
 AliAnalysisTaskLRC.cxx:1490
 AliAnalysisTaskLRC.cxx:1491
 AliAnalysisTaskLRC.cxx:1492
 AliAnalysisTaskLRC.cxx:1493
 AliAnalysisTaskLRC.cxx:1494
 AliAnalysisTaskLRC.cxx:1495
 AliAnalysisTaskLRC.cxx:1496
 AliAnalysisTaskLRC.cxx:1497
 AliAnalysisTaskLRC.cxx:1498
 AliAnalysisTaskLRC.cxx:1499
 AliAnalysisTaskLRC.cxx:1500
 AliAnalysisTaskLRC.cxx:1501
 AliAnalysisTaskLRC.cxx:1502
 AliAnalysisTaskLRC.cxx:1503
 AliAnalysisTaskLRC.cxx:1504
 AliAnalysisTaskLRC.cxx:1505
 AliAnalysisTaskLRC.cxx:1506
 AliAnalysisTaskLRC.cxx:1507
 AliAnalysisTaskLRC.cxx:1508
 AliAnalysisTaskLRC.cxx:1509
 AliAnalysisTaskLRC.cxx:1510
 AliAnalysisTaskLRC.cxx:1511
 AliAnalysisTaskLRC.cxx:1512
 AliAnalysisTaskLRC.cxx:1513
 AliAnalysisTaskLRC.cxx:1514
 AliAnalysisTaskLRC.cxx:1515
 AliAnalysisTaskLRC.cxx:1516
 AliAnalysisTaskLRC.cxx:1517
 AliAnalysisTaskLRC.cxx:1518
 AliAnalysisTaskLRC.cxx:1519
 AliAnalysisTaskLRC.cxx:1520
 AliAnalysisTaskLRC.cxx:1521
 AliAnalysisTaskLRC.cxx:1522
 AliAnalysisTaskLRC.cxx:1523
 AliAnalysisTaskLRC.cxx:1524
 AliAnalysisTaskLRC.cxx:1525
 AliAnalysisTaskLRC.cxx:1526
 AliAnalysisTaskLRC.cxx:1527
 AliAnalysisTaskLRC.cxx:1528
 AliAnalysisTaskLRC.cxx:1529
 AliAnalysisTaskLRC.cxx:1530
 AliAnalysisTaskLRC.cxx:1531
 AliAnalysisTaskLRC.cxx:1532
 AliAnalysisTaskLRC.cxx:1533
 AliAnalysisTaskLRC.cxx:1534
 AliAnalysisTaskLRC.cxx:1535
 AliAnalysisTaskLRC.cxx:1536
 AliAnalysisTaskLRC.cxx:1537
 AliAnalysisTaskLRC.cxx:1538
 AliAnalysisTaskLRC.cxx:1539
 AliAnalysisTaskLRC.cxx:1540
 AliAnalysisTaskLRC.cxx:1541
 AliAnalysisTaskLRC.cxx:1542
 AliAnalysisTaskLRC.cxx:1543
 AliAnalysisTaskLRC.cxx:1544
 AliAnalysisTaskLRC.cxx:1545
 AliAnalysisTaskLRC.cxx:1546
 AliAnalysisTaskLRC.cxx:1547
 AliAnalysisTaskLRC.cxx:1548
 AliAnalysisTaskLRC.cxx:1549
 AliAnalysisTaskLRC.cxx:1550
 AliAnalysisTaskLRC.cxx:1551
 AliAnalysisTaskLRC.cxx:1552
 AliAnalysisTaskLRC.cxx:1553
 AliAnalysisTaskLRC.cxx:1554
 AliAnalysisTaskLRC.cxx:1555
 AliAnalysisTaskLRC.cxx:1556
 AliAnalysisTaskLRC.cxx:1557
 AliAnalysisTaskLRC.cxx:1558
 AliAnalysisTaskLRC.cxx:1559
 AliAnalysisTaskLRC.cxx:1560
 AliAnalysisTaskLRC.cxx:1561
 AliAnalysisTaskLRC.cxx:1562
 AliAnalysisTaskLRC.cxx:1563
 AliAnalysisTaskLRC.cxx:1564
 AliAnalysisTaskLRC.cxx:1565
 AliAnalysisTaskLRC.cxx:1566
 AliAnalysisTaskLRC.cxx:1567
 AliAnalysisTaskLRC.cxx:1568
 AliAnalysisTaskLRC.cxx:1569
 AliAnalysisTaskLRC.cxx:1570
 AliAnalysisTaskLRC.cxx:1571
 AliAnalysisTaskLRC.cxx:1572
 AliAnalysisTaskLRC.cxx:1573
 AliAnalysisTaskLRC.cxx:1574
 AliAnalysisTaskLRC.cxx:1575
 AliAnalysisTaskLRC.cxx:1576
 AliAnalysisTaskLRC.cxx:1577
 AliAnalysisTaskLRC.cxx:1578
 AliAnalysisTaskLRC.cxx:1579
 AliAnalysisTaskLRC.cxx:1580
 AliAnalysisTaskLRC.cxx:1581
 AliAnalysisTaskLRC.cxx:1582
 AliAnalysisTaskLRC.cxx:1583
 AliAnalysisTaskLRC.cxx:1584
 AliAnalysisTaskLRC.cxx:1585
 AliAnalysisTaskLRC.cxx:1586
 AliAnalysisTaskLRC.cxx:1587
 AliAnalysisTaskLRC.cxx:1588
 AliAnalysisTaskLRC.cxx:1589
 AliAnalysisTaskLRC.cxx:1590
 AliAnalysisTaskLRC.cxx:1591
 AliAnalysisTaskLRC.cxx:1592
 AliAnalysisTaskLRC.cxx:1593
 AliAnalysisTaskLRC.cxx:1594
 AliAnalysisTaskLRC.cxx:1595
 AliAnalysisTaskLRC.cxx:1596
 AliAnalysisTaskLRC.cxx:1597
 AliAnalysisTaskLRC.cxx:1598
 AliAnalysisTaskLRC.cxx:1599
 AliAnalysisTaskLRC.cxx:1600
 AliAnalysisTaskLRC.cxx:1601
 AliAnalysisTaskLRC.cxx:1602
 AliAnalysisTaskLRC.cxx:1603
 AliAnalysisTaskLRC.cxx:1604
 AliAnalysisTaskLRC.cxx:1605
 AliAnalysisTaskLRC.cxx:1606
 AliAnalysisTaskLRC.cxx:1607
 AliAnalysisTaskLRC.cxx:1608
 AliAnalysisTaskLRC.cxx:1609
 AliAnalysisTaskLRC.cxx:1610
 AliAnalysisTaskLRC.cxx:1611
 AliAnalysisTaskLRC.cxx:1612
 AliAnalysisTaskLRC.cxx:1613
 AliAnalysisTaskLRC.cxx:1614
 AliAnalysisTaskLRC.cxx:1615
 AliAnalysisTaskLRC.cxx:1616
 AliAnalysisTaskLRC.cxx:1617
 AliAnalysisTaskLRC.cxx:1618
 AliAnalysisTaskLRC.cxx:1619
 AliAnalysisTaskLRC.cxx:1620
 AliAnalysisTaskLRC.cxx:1621
 AliAnalysisTaskLRC.cxx:1622
 AliAnalysisTaskLRC.cxx:1623
 AliAnalysisTaskLRC.cxx:1624
 AliAnalysisTaskLRC.cxx:1625
 AliAnalysisTaskLRC.cxx:1626
 AliAnalysisTaskLRC.cxx:1627
 AliAnalysisTaskLRC.cxx:1628
 AliAnalysisTaskLRC.cxx:1629
 AliAnalysisTaskLRC.cxx:1630
 AliAnalysisTaskLRC.cxx:1631
 AliAnalysisTaskLRC.cxx:1632
 AliAnalysisTaskLRC.cxx:1633
 AliAnalysisTaskLRC.cxx:1634
 AliAnalysisTaskLRC.cxx:1635
 AliAnalysisTaskLRC.cxx:1636
 AliAnalysisTaskLRC.cxx:1637
 AliAnalysisTaskLRC.cxx:1638
 AliAnalysisTaskLRC.cxx:1639
 AliAnalysisTaskLRC.cxx:1640
 AliAnalysisTaskLRC.cxx:1641
 AliAnalysisTaskLRC.cxx:1642
 AliAnalysisTaskLRC.cxx:1643
 AliAnalysisTaskLRC.cxx:1644
 AliAnalysisTaskLRC.cxx:1645
 AliAnalysisTaskLRC.cxx:1646
 AliAnalysisTaskLRC.cxx:1647
 AliAnalysisTaskLRC.cxx:1648
 AliAnalysisTaskLRC.cxx:1649
 AliAnalysisTaskLRC.cxx:1650
 AliAnalysisTaskLRC.cxx:1651
 AliAnalysisTaskLRC.cxx:1652
 AliAnalysisTaskLRC.cxx:1653
 AliAnalysisTaskLRC.cxx:1654
 AliAnalysisTaskLRC.cxx:1655
 AliAnalysisTaskLRC.cxx:1656
 AliAnalysisTaskLRC.cxx:1657
 AliAnalysisTaskLRC.cxx:1658
 AliAnalysisTaskLRC.cxx:1659
 AliAnalysisTaskLRC.cxx:1660
 AliAnalysisTaskLRC.cxx:1661
 AliAnalysisTaskLRC.cxx:1662
 AliAnalysisTaskLRC.cxx:1663
 AliAnalysisTaskLRC.cxx:1664
 AliAnalysisTaskLRC.cxx:1665
 AliAnalysisTaskLRC.cxx:1666
 AliAnalysisTaskLRC.cxx:1667
 AliAnalysisTaskLRC.cxx:1668
 AliAnalysisTaskLRC.cxx:1669
 AliAnalysisTaskLRC.cxx:1670
 AliAnalysisTaskLRC.cxx:1671
 AliAnalysisTaskLRC.cxx:1672
 AliAnalysisTaskLRC.cxx:1673
 AliAnalysisTaskLRC.cxx:1674
 AliAnalysisTaskLRC.cxx:1675
 AliAnalysisTaskLRC.cxx:1676
 AliAnalysisTaskLRC.cxx:1677
 AliAnalysisTaskLRC.cxx:1678
 AliAnalysisTaskLRC.cxx:1679
 AliAnalysisTaskLRC.cxx:1680
 AliAnalysisTaskLRC.cxx:1681
 AliAnalysisTaskLRC.cxx:1682
 AliAnalysisTaskLRC.cxx:1683
 AliAnalysisTaskLRC.cxx:1684
 AliAnalysisTaskLRC.cxx:1685
 AliAnalysisTaskLRC.cxx:1686
 AliAnalysisTaskLRC.cxx:1687
 AliAnalysisTaskLRC.cxx:1688
 AliAnalysisTaskLRC.cxx:1689
 AliAnalysisTaskLRC.cxx:1690
 AliAnalysisTaskLRC.cxx:1691
 AliAnalysisTaskLRC.cxx:1692
 AliAnalysisTaskLRC.cxx:1693
 AliAnalysisTaskLRC.cxx:1694
 AliAnalysisTaskLRC.cxx:1695
 AliAnalysisTaskLRC.cxx:1696
 AliAnalysisTaskLRC.cxx:1697
 AliAnalysisTaskLRC.cxx:1698
 AliAnalysisTaskLRC.cxx:1699
 AliAnalysisTaskLRC.cxx:1700
 AliAnalysisTaskLRC.cxx:1701
 AliAnalysisTaskLRC.cxx:1702
 AliAnalysisTaskLRC.cxx:1703
 AliAnalysisTaskLRC.cxx:1704
 AliAnalysisTaskLRC.cxx:1705
 AliAnalysisTaskLRC.cxx:1706
 AliAnalysisTaskLRC.cxx:1707
 AliAnalysisTaskLRC.cxx:1708
 AliAnalysisTaskLRC.cxx:1709
 AliAnalysisTaskLRC.cxx:1710
 AliAnalysisTaskLRC.cxx:1711
 AliAnalysisTaskLRC.cxx:1712
 AliAnalysisTaskLRC.cxx:1713
 AliAnalysisTaskLRC.cxx:1714
 AliAnalysisTaskLRC.cxx:1715
 AliAnalysisTaskLRC.cxx:1716
 AliAnalysisTaskLRC.cxx:1717
 AliAnalysisTaskLRC.cxx:1718
 AliAnalysisTaskLRC.cxx:1719
 AliAnalysisTaskLRC.cxx:1720
 AliAnalysisTaskLRC.cxx:1721
 AliAnalysisTaskLRC.cxx:1722
 AliAnalysisTaskLRC.cxx:1723
 AliAnalysisTaskLRC.cxx:1724
 AliAnalysisTaskLRC.cxx:1725
 AliAnalysisTaskLRC.cxx:1726
 AliAnalysisTaskLRC.cxx:1727
 AliAnalysisTaskLRC.cxx:1728
 AliAnalysisTaskLRC.cxx:1729
 AliAnalysisTaskLRC.cxx:1730
 AliAnalysisTaskLRC.cxx:1731
 AliAnalysisTaskLRC.cxx:1732
 AliAnalysisTaskLRC.cxx:1733
 AliAnalysisTaskLRC.cxx:1734
 AliAnalysisTaskLRC.cxx:1735
 AliAnalysisTaskLRC.cxx:1736
 AliAnalysisTaskLRC.cxx:1737
 AliAnalysisTaskLRC.cxx:1738
 AliAnalysisTaskLRC.cxx:1739
 AliAnalysisTaskLRC.cxx:1740
 AliAnalysisTaskLRC.cxx:1741
 AliAnalysisTaskLRC.cxx:1742
 AliAnalysisTaskLRC.cxx:1743
 AliAnalysisTaskLRC.cxx:1744
 AliAnalysisTaskLRC.cxx:1745
 AliAnalysisTaskLRC.cxx:1746
 AliAnalysisTaskLRC.cxx:1747
 AliAnalysisTaskLRC.cxx:1748
 AliAnalysisTaskLRC.cxx:1749
 AliAnalysisTaskLRC.cxx:1750
 AliAnalysisTaskLRC.cxx:1751
 AliAnalysisTaskLRC.cxx:1752
 AliAnalysisTaskLRC.cxx:1753
 AliAnalysisTaskLRC.cxx:1754
 AliAnalysisTaskLRC.cxx:1755
 AliAnalysisTaskLRC.cxx:1756
 AliAnalysisTaskLRC.cxx:1757
 AliAnalysisTaskLRC.cxx:1758
 AliAnalysisTaskLRC.cxx:1759
 AliAnalysisTaskLRC.cxx:1760
 AliAnalysisTaskLRC.cxx:1761
 AliAnalysisTaskLRC.cxx:1762
 AliAnalysisTaskLRC.cxx:1763
 AliAnalysisTaskLRC.cxx:1764
 AliAnalysisTaskLRC.cxx:1765
 AliAnalysisTaskLRC.cxx:1766
 AliAnalysisTaskLRC.cxx:1767
 AliAnalysisTaskLRC.cxx:1768
 AliAnalysisTaskLRC.cxx:1769
 AliAnalysisTaskLRC.cxx:1770
 AliAnalysisTaskLRC.cxx:1771
 AliAnalysisTaskLRC.cxx:1772
 AliAnalysisTaskLRC.cxx:1773
 AliAnalysisTaskLRC.cxx:1774
 AliAnalysisTaskLRC.cxx:1775
 AliAnalysisTaskLRC.cxx:1776
 AliAnalysisTaskLRC.cxx:1777
 AliAnalysisTaskLRC.cxx:1778
 AliAnalysisTaskLRC.cxx:1779
 AliAnalysisTaskLRC.cxx:1780
 AliAnalysisTaskLRC.cxx:1781
 AliAnalysisTaskLRC.cxx:1782
 AliAnalysisTaskLRC.cxx:1783
 AliAnalysisTaskLRC.cxx:1784
 AliAnalysisTaskLRC.cxx:1785
 AliAnalysisTaskLRC.cxx:1786
 AliAnalysisTaskLRC.cxx:1787
 AliAnalysisTaskLRC.cxx:1788
 AliAnalysisTaskLRC.cxx:1789
 AliAnalysisTaskLRC.cxx:1790
 AliAnalysisTaskLRC.cxx:1791
 AliAnalysisTaskLRC.cxx:1792
 AliAnalysisTaskLRC.cxx:1793
 AliAnalysisTaskLRC.cxx:1794
 AliAnalysisTaskLRC.cxx:1795
 AliAnalysisTaskLRC.cxx:1796
 AliAnalysisTaskLRC.cxx:1797
 AliAnalysisTaskLRC.cxx:1798
 AliAnalysisTaskLRC.cxx:1799
 AliAnalysisTaskLRC.cxx:1800
 AliAnalysisTaskLRC.cxx:1801
 AliAnalysisTaskLRC.cxx:1802
 AliAnalysisTaskLRC.cxx:1803
 AliAnalysisTaskLRC.cxx:1804
 AliAnalysisTaskLRC.cxx:1805
 AliAnalysisTaskLRC.cxx:1806
 AliAnalysisTaskLRC.cxx:1807
 AliAnalysisTaskLRC.cxx:1808
 AliAnalysisTaskLRC.cxx:1809
 AliAnalysisTaskLRC.cxx:1810
 AliAnalysisTaskLRC.cxx:1811
 AliAnalysisTaskLRC.cxx:1812
 AliAnalysisTaskLRC.cxx:1813
 AliAnalysisTaskLRC.cxx:1814
 AliAnalysisTaskLRC.cxx:1815
 AliAnalysisTaskLRC.cxx:1816
 AliAnalysisTaskLRC.cxx:1817
 AliAnalysisTaskLRC.cxx:1818
 AliAnalysisTaskLRC.cxx:1819
 AliAnalysisTaskLRC.cxx:1820
 AliAnalysisTaskLRC.cxx:1821
 AliAnalysisTaskLRC.cxx:1822
 AliAnalysisTaskLRC.cxx:1823
 AliAnalysisTaskLRC.cxx:1824
 AliAnalysisTaskLRC.cxx:1825
 AliAnalysisTaskLRC.cxx:1826
 AliAnalysisTaskLRC.cxx:1827
 AliAnalysisTaskLRC.cxx:1828
 AliAnalysisTaskLRC.cxx:1829
 AliAnalysisTaskLRC.cxx:1830
 AliAnalysisTaskLRC.cxx:1831
 AliAnalysisTaskLRC.cxx:1832
 AliAnalysisTaskLRC.cxx:1833
 AliAnalysisTaskLRC.cxx:1834
 AliAnalysisTaskLRC.cxx:1835
 AliAnalysisTaskLRC.cxx:1836
 AliAnalysisTaskLRC.cxx:1837
 AliAnalysisTaskLRC.cxx:1838
 AliAnalysisTaskLRC.cxx:1839
 AliAnalysisTaskLRC.cxx:1840
 AliAnalysisTaskLRC.cxx:1841
 AliAnalysisTaskLRC.cxx:1842
 AliAnalysisTaskLRC.cxx:1843
 AliAnalysisTaskLRC.cxx:1844
 AliAnalysisTaskLRC.cxx:1845
 AliAnalysisTaskLRC.cxx:1846
 AliAnalysisTaskLRC.cxx:1847
 AliAnalysisTaskLRC.cxx:1848
 AliAnalysisTaskLRC.cxx:1849
 AliAnalysisTaskLRC.cxx:1850
 AliAnalysisTaskLRC.cxx:1851
 AliAnalysisTaskLRC.cxx:1852
 AliAnalysisTaskLRC.cxx:1853
 AliAnalysisTaskLRC.cxx:1854
 AliAnalysisTaskLRC.cxx:1855
 AliAnalysisTaskLRC.cxx:1856
 AliAnalysisTaskLRC.cxx:1857
 AliAnalysisTaskLRC.cxx:1858
 AliAnalysisTaskLRC.cxx:1859
 AliAnalysisTaskLRC.cxx:1860
 AliAnalysisTaskLRC.cxx:1861
 AliAnalysisTaskLRC.cxx:1862
 AliAnalysisTaskLRC.cxx:1863
 AliAnalysisTaskLRC.cxx:1864
 AliAnalysisTaskLRC.cxx:1865
 AliAnalysisTaskLRC.cxx:1866
 AliAnalysisTaskLRC.cxx:1867
 AliAnalysisTaskLRC.cxx:1868
 AliAnalysisTaskLRC.cxx:1869
 AliAnalysisTaskLRC.cxx:1870
 AliAnalysisTaskLRC.cxx:1871
 AliAnalysisTaskLRC.cxx:1872
 AliAnalysisTaskLRC.cxx:1873
 AliAnalysisTaskLRC.cxx:1874
 AliAnalysisTaskLRC.cxx:1875
 AliAnalysisTaskLRC.cxx:1876
 AliAnalysisTaskLRC.cxx:1877
 AliAnalysisTaskLRC.cxx:1878
 AliAnalysisTaskLRC.cxx:1879
 AliAnalysisTaskLRC.cxx:1880
 AliAnalysisTaskLRC.cxx:1881
 AliAnalysisTaskLRC.cxx:1882
 AliAnalysisTaskLRC.cxx:1883
 AliAnalysisTaskLRC.cxx:1884
 AliAnalysisTaskLRC.cxx:1885
 AliAnalysisTaskLRC.cxx:1886
 AliAnalysisTaskLRC.cxx:1887
 AliAnalysisTaskLRC.cxx:1888
 AliAnalysisTaskLRC.cxx:1889
 AliAnalysisTaskLRC.cxx:1890
 AliAnalysisTaskLRC.cxx:1891
 AliAnalysisTaskLRC.cxx:1892
 AliAnalysisTaskLRC.cxx:1893
 AliAnalysisTaskLRC.cxx:1894
 AliAnalysisTaskLRC.cxx:1895
 AliAnalysisTaskLRC.cxx:1896
 AliAnalysisTaskLRC.cxx:1897
 AliAnalysisTaskLRC.cxx:1898
 AliAnalysisTaskLRC.cxx:1899
 AliAnalysisTaskLRC.cxx:1900
 AliAnalysisTaskLRC.cxx:1901
 AliAnalysisTaskLRC.cxx:1902
 AliAnalysisTaskLRC.cxx:1903
 AliAnalysisTaskLRC.cxx:1904
 AliAnalysisTaskLRC.cxx:1905
 AliAnalysisTaskLRC.cxx:1906
 AliAnalysisTaskLRC.cxx:1907
 AliAnalysisTaskLRC.cxx:1908
 AliAnalysisTaskLRC.cxx:1909
 AliAnalysisTaskLRC.cxx:1910
 AliAnalysisTaskLRC.cxx:1911
 AliAnalysisTaskLRC.cxx:1912
 AliAnalysisTaskLRC.cxx:1913
 AliAnalysisTaskLRC.cxx:1914
 AliAnalysisTaskLRC.cxx:1915
 AliAnalysisTaskLRC.cxx:1916
 AliAnalysisTaskLRC.cxx:1917
 AliAnalysisTaskLRC.cxx:1918
 AliAnalysisTaskLRC.cxx:1919
 AliAnalysisTaskLRC.cxx:1920
 AliAnalysisTaskLRC.cxx:1921
 AliAnalysisTaskLRC.cxx:1922
 AliAnalysisTaskLRC.cxx:1923
 AliAnalysisTaskLRC.cxx:1924
 AliAnalysisTaskLRC.cxx:1925
 AliAnalysisTaskLRC.cxx:1926
 AliAnalysisTaskLRC.cxx:1927
 AliAnalysisTaskLRC.cxx:1928
 AliAnalysisTaskLRC.cxx:1929
 AliAnalysisTaskLRC.cxx:1930
 AliAnalysisTaskLRC.cxx:1931
 AliAnalysisTaskLRC.cxx:1932
 AliAnalysisTaskLRC.cxx:1933
 AliAnalysisTaskLRC.cxx:1934
 AliAnalysisTaskLRC.cxx:1935
 AliAnalysisTaskLRC.cxx:1936
 AliAnalysisTaskLRC.cxx:1937
 AliAnalysisTaskLRC.cxx:1938
 AliAnalysisTaskLRC.cxx:1939
 AliAnalysisTaskLRC.cxx:1940
 AliAnalysisTaskLRC.cxx:1941
 AliAnalysisTaskLRC.cxx:1942
 AliAnalysisTaskLRC.cxx:1943
 AliAnalysisTaskLRC.cxx:1944
 AliAnalysisTaskLRC.cxx:1945
 AliAnalysisTaskLRC.cxx:1946
 AliAnalysisTaskLRC.cxx:1947
 AliAnalysisTaskLRC.cxx:1948
 AliAnalysisTaskLRC.cxx:1949
 AliAnalysisTaskLRC.cxx:1950
 AliAnalysisTaskLRC.cxx:1951
 AliAnalysisTaskLRC.cxx:1952
 AliAnalysisTaskLRC.cxx:1953
 AliAnalysisTaskLRC.cxx:1954
 AliAnalysisTaskLRC.cxx:1955
 AliAnalysisTaskLRC.cxx:1956
 AliAnalysisTaskLRC.cxx:1957
 AliAnalysisTaskLRC.cxx:1958
 AliAnalysisTaskLRC.cxx:1959
 AliAnalysisTaskLRC.cxx:1960
 AliAnalysisTaskLRC.cxx:1961
 AliAnalysisTaskLRC.cxx:1962
 AliAnalysisTaskLRC.cxx:1963
 AliAnalysisTaskLRC.cxx:1964
 AliAnalysisTaskLRC.cxx:1965
 AliAnalysisTaskLRC.cxx:1966
 AliAnalysisTaskLRC.cxx:1967
 AliAnalysisTaskLRC.cxx:1968
 AliAnalysisTaskLRC.cxx:1969
 AliAnalysisTaskLRC.cxx:1970
 AliAnalysisTaskLRC.cxx:1971
 AliAnalysisTaskLRC.cxx:1972
 AliAnalysisTaskLRC.cxx:1973
 AliAnalysisTaskLRC.cxx:1974
 AliAnalysisTaskLRC.cxx:1975
 AliAnalysisTaskLRC.cxx:1976
 AliAnalysisTaskLRC.cxx:1977
 AliAnalysisTaskLRC.cxx:1978
 AliAnalysisTaskLRC.cxx:1979
 AliAnalysisTaskLRC.cxx:1980
 AliAnalysisTaskLRC.cxx:1981
 AliAnalysisTaskLRC.cxx:1982
 AliAnalysisTaskLRC.cxx:1983
 AliAnalysisTaskLRC.cxx:1984
 AliAnalysisTaskLRC.cxx:1985
 AliAnalysisTaskLRC.cxx:1986
 AliAnalysisTaskLRC.cxx:1987
 AliAnalysisTaskLRC.cxx:1988
 AliAnalysisTaskLRC.cxx:1989
 AliAnalysisTaskLRC.cxx:1990
 AliAnalysisTaskLRC.cxx:1991
 AliAnalysisTaskLRC.cxx:1992
 AliAnalysisTaskLRC.cxx:1993
 AliAnalysisTaskLRC.cxx:1994
 AliAnalysisTaskLRC.cxx:1995
 AliAnalysisTaskLRC.cxx:1996
 AliAnalysisTaskLRC.cxx:1997
 AliAnalysisTaskLRC.cxx:1998
 AliAnalysisTaskLRC.cxx:1999
 AliAnalysisTaskLRC.cxx:2000
 AliAnalysisTaskLRC.cxx:2001
 AliAnalysisTaskLRC.cxx:2002
 AliAnalysisTaskLRC.cxx:2003
 AliAnalysisTaskLRC.cxx:2004
 AliAnalysisTaskLRC.cxx:2005
 AliAnalysisTaskLRC.cxx:2006
 AliAnalysisTaskLRC.cxx:2007
 AliAnalysisTaskLRC.cxx:2008
 AliAnalysisTaskLRC.cxx:2009
 AliAnalysisTaskLRC.cxx:2010
 AliAnalysisTaskLRC.cxx:2011
 AliAnalysisTaskLRC.cxx:2012
 AliAnalysisTaskLRC.cxx:2013
 AliAnalysisTaskLRC.cxx:2014
 AliAnalysisTaskLRC.cxx:2015
 AliAnalysisTaskLRC.cxx:2016
 AliAnalysisTaskLRC.cxx:2017
 AliAnalysisTaskLRC.cxx:2018
 AliAnalysisTaskLRC.cxx:2019
 AliAnalysisTaskLRC.cxx:2020
 AliAnalysisTaskLRC.cxx:2021
 AliAnalysisTaskLRC.cxx:2022
 AliAnalysisTaskLRC.cxx:2023
 AliAnalysisTaskLRC.cxx:2024
 AliAnalysisTaskLRC.cxx:2025
 AliAnalysisTaskLRC.cxx:2026
 AliAnalysisTaskLRC.cxx:2027
 AliAnalysisTaskLRC.cxx:2028
 AliAnalysisTaskLRC.cxx:2029
 AliAnalysisTaskLRC.cxx:2030
 AliAnalysisTaskLRC.cxx:2031
 AliAnalysisTaskLRC.cxx:2032
 AliAnalysisTaskLRC.cxx:2033
 AliAnalysisTaskLRC.cxx:2034
 AliAnalysisTaskLRC.cxx:2035
 AliAnalysisTaskLRC.cxx:2036
 AliAnalysisTaskLRC.cxx:2037
 AliAnalysisTaskLRC.cxx:2038
 AliAnalysisTaskLRC.cxx:2039
 AliAnalysisTaskLRC.cxx:2040
 AliAnalysisTaskLRC.cxx:2041
 AliAnalysisTaskLRC.cxx:2042
 AliAnalysisTaskLRC.cxx:2043
 AliAnalysisTaskLRC.cxx:2044
 AliAnalysisTaskLRC.cxx:2045
 AliAnalysisTaskLRC.cxx:2046
 AliAnalysisTaskLRC.cxx:2047
 AliAnalysisTaskLRC.cxx:2048
 AliAnalysisTaskLRC.cxx:2049
 AliAnalysisTaskLRC.cxx:2050
 AliAnalysisTaskLRC.cxx:2051
 AliAnalysisTaskLRC.cxx:2052
 AliAnalysisTaskLRC.cxx:2053
 AliAnalysisTaskLRC.cxx:2054
 AliAnalysisTaskLRC.cxx:2055
 AliAnalysisTaskLRC.cxx:2056
 AliAnalysisTaskLRC.cxx:2057
 AliAnalysisTaskLRC.cxx:2058
 AliAnalysisTaskLRC.cxx:2059
 AliAnalysisTaskLRC.cxx:2060
 AliAnalysisTaskLRC.cxx:2061
 AliAnalysisTaskLRC.cxx:2062
 AliAnalysisTaskLRC.cxx:2063
 AliAnalysisTaskLRC.cxx:2064
 AliAnalysisTaskLRC.cxx:2065
 AliAnalysisTaskLRC.cxx:2066
 AliAnalysisTaskLRC.cxx:2067
 AliAnalysisTaskLRC.cxx:2068
 AliAnalysisTaskLRC.cxx:2069
 AliAnalysisTaskLRC.cxx:2070
 AliAnalysisTaskLRC.cxx:2071
 AliAnalysisTaskLRC.cxx:2072
 AliAnalysisTaskLRC.cxx:2073
 AliAnalysisTaskLRC.cxx:2074
 AliAnalysisTaskLRC.cxx:2075
 AliAnalysisTaskLRC.cxx:2076
 AliAnalysisTaskLRC.cxx:2077
 AliAnalysisTaskLRC.cxx:2078
 AliAnalysisTaskLRC.cxx:2079
 AliAnalysisTaskLRC.cxx:2080
 AliAnalysisTaskLRC.cxx:2081
 AliAnalysisTaskLRC.cxx:2082
 AliAnalysisTaskLRC.cxx:2083
 AliAnalysisTaskLRC.cxx:2084
 AliAnalysisTaskLRC.cxx:2085
 AliAnalysisTaskLRC.cxx:2086
 AliAnalysisTaskLRC.cxx:2087
 AliAnalysisTaskLRC.cxx:2088
 AliAnalysisTaskLRC.cxx:2089
 AliAnalysisTaskLRC.cxx:2090
 AliAnalysisTaskLRC.cxx:2091
 AliAnalysisTaskLRC.cxx:2092
 AliAnalysisTaskLRC.cxx:2093
 AliAnalysisTaskLRC.cxx:2094
 AliAnalysisTaskLRC.cxx:2095
 AliAnalysisTaskLRC.cxx:2096
 AliAnalysisTaskLRC.cxx:2097
 AliAnalysisTaskLRC.cxx:2098
 AliAnalysisTaskLRC.cxx:2099
 AliAnalysisTaskLRC.cxx:2100
 AliAnalysisTaskLRC.cxx:2101
 AliAnalysisTaskLRC.cxx:2102
 AliAnalysisTaskLRC.cxx:2103
 AliAnalysisTaskLRC.cxx:2104
 AliAnalysisTaskLRC.cxx:2105
 AliAnalysisTaskLRC.cxx:2106
 AliAnalysisTaskLRC.cxx:2107
 AliAnalysisTaskLRC.cxx:2108
 AliAnalysisTaskLRC.cxx:2109
 AliAnalysisTaskLRC.cxx:2110
 AliAnalysisTaskLRC.cxx:2111
 AliAnalysisTaskLRC.cxx:2112
 AliAnalysisTaskLRC.cxx:2113
 AliAnalysisTaskLRC.cxx:2114
 AliAnalysisTaskLRC.cxx:2115
 AliAnalysisTaskLRC.cxx:2116
 AliAnalysisTaskLRC.cxx:2117
 AliAnalysisTaskLRC.cxx:2118
 AliAnalysisTaskLRC.cxx:2119
 AliAnalysisTaskLRC.cxx:2120
 AliAnalysisTaskLRC.cxx:2121
 AliAnalysisTaskLRC.cxx:2122
 AliAnalysisTaskLRC.cxx:2123
 AliAnalysisTaskLRC.cxx:2124
 AliAnalysisTaskLRC.cxx:2125
 AliAnalysisTaskLRC.cxx:2126
 AliAnalysisTaskLRC.cxx:2127
 AliAnalysisTaskLRC.cxx:2128
 AliAnalysisTaskLRC.cxx:2129
 AliAnalysisTaskLRC.cxx:2130
 AliAnalysisTaskLRC.cxx:2131
 AliAnalysisTaskLRC.cxx:2132
 AliAnalysisTaskLRC.cxx:2133
 AliAnalysisTaskLRC.cxx:2134
 AliAnalysisTaskLRC.cxx:2135
 AliAnalysisTaskLRC.cxx:2136
 AliAnalysisTaskLRC.cxx:2137
 AliAnalysisTaskLRC.cxx:2138
 AliAnalysisTaskLRC.cxx:2139
 AliAnalysisTaskLRC.cxx:2140
 AliAnalysisTaskLRC.cxx:2141
 AliAnalysisTaskLRC.cxx:2142
 AliAnalysisTaskLRC.cxx:2143
 AliAnalysisTaskLRC.cxx:2144
 AliAnalysisTaskLRC.cxx:2145
 AliAnalysisTaskLRC.cxx:2146
 AliAnalysisTaskLRC.cxx:2147
 AliAnalysisTaskLRC.cxx:2148
 AliAnalysisTaskLRC.cxx:2149
 AliAnalysisTaskLRC.cxx:2150
 AliAnalysisTaskLRC.cxx:2151
 AliAnalysisTaskLRC.cxx:2152
 AliAnalysisTaskLRC.cxx:2153
 AliAnalysisTaskLRC.cxx:2154
 AliAnalysisTaskLRC.cxx:2155
 AliAnalysisTaskLRC.cxx:2156
 AliAnalysisTaskLRC.cxx:2157
 AliAnalysisTaskLRC.cxx:2158
 AliAnalysisTaskLRC.cxx:2159
 AliAnalysisTaskLRC.cxx:2160
 AliAnalysisTaskLRC.cxx:2161
 AliAnalysisTaskLRC.cxx:2162
 AliAnalysisTaskLRC.cxx:2163
 AliAnalysisTaskLRC.cxx:2164
 AliAnalysisTaskLRC.cxx:2165
 AliAnalysisTaskLRC.cxx:2166
 AliAnalysisTaskLRC.cxx:2167
 AliAnalysisTaskLRC.cxx:2168
 AliAnalysisTaskLRC.cxx:2169
 AliAnalysisTaskLRC.cxx:2170
 AliAnalysisTaskLRC.cxx:2171
 AliAnalysisTaskLRC.cxx:2172
 AliAnalysisTaskLRC.cxx:2173
 AliAnalysisTaskLRC.cxx:2174
 AliAnalysisTaskLRC.cxx:2175
 AliAnalysisTaskLRC.cxx:2176
 AliAnalysisTaskLRC.cxx:2177
 AliAnalysisTaskLRC.cxx:2178
 AliAnalysisTaskLRC.cxx:2179
 AliAnalysisTaskLRC.cxx:2180
 AliAnalysisTaskLRC.cxx:2181
 AliAnalysisTaskLRC.cxx:2182
 AliAnalysisTaskLRC.cxx:2183
 AliAnalysisTaskLRC.cxx:2184
 AliAnalysisTaskLRC.cxx:2185
 AliAnalysisTaskLRC.cxx:2186
 AliAnalysisTaskLRC.cxx:2187
 AliAnalysisTaskLRC.cxx:2188
 AliAnalysisTaskLRC.cxx:2189