ROOT logo
#include "TH1.h"
#include "TH2.h"
#include "TH3.h"
#include "TF1.h"

#include "AliLog.h"

#include "AliVParticle.h"
#include "AliAnalysisTaskSE.h"
#include "AliESDtrackCuts.h"

#define ID(x) x, #x
#define LAB(x) x + 1, #x

class TList;
class TClonesArray;
class AliOADBContainer;
class AliTOFPIDParams;
class AliVTrack;
class AliPIDResponse;
class AliEventPoolManager;
class AliEventPool;
class AliEventplane;
class TSpline;

class AliAnalysisTaskJetProtonCorr :
  public AliAnalysisTaskSE
{
public:
  AliAnalysisTaskJetProtonCorr(const char *name = "jets_trg_trd");
  ~AliAnalysisTaskJetProtonCorr();

  // analysis operations
  virtual void   UserCreateOutputObjects();
  virtual Bool_t Notify();
  virtual void   UserExec(Option_t *option);
  virtual void   Terminate(const Option_t *option);

  void SetParamsTOF();

  // task configuration
  void SetJetBranchName(const char* branchName) { strncpy(fJetBranchName, branchName, fgkStringLength-1); }
  const char* GetJetBranchName() const { return fJetBranchName; }

  void SetPtThrPart(Float_t minPt, Float_t maxPt) { fTrgPartPtMin = minPt; fTrgPartPtMax = maxPt; }
  Float_t GetPtMinPart() const { return fTrgPartPtMin; }
  Float_t GetPtMaxPart() const { return fTrgPartPtMax; }
  void SetPtThrJet(Float_t minPt, Float_t maxPt) { fTrgJetPtMin = minPt; fTrgJetPtMax = maxPt; }
  Float_t GetPtMinJet() const { return fTrgJetPtMin; }
  Float_t GetPtMaxJet() const { return fTrgJetPtMax; }
  void SetPtThrAss(Float_t minPt, Float_t maxPt) { fAssPartPtMin = minPt; fAssPartPtMax = maxPt; }
  Float_t GetPtMinAss() const { return fAssPartPtMin; }
  Float_t GetPtMaxAss() const { return fAssPartPtMax; }

  void SetTwoTrackCut(Float_t cut) { fCutsTwoTrackEff = cut; }
  Float_t GetTwoTrackCut() const { return fCutsTwoTrackEff; }

  void SetTrackCutsAss(const AliESDtrackCuts &cuts) { *fCutsPrimAss = cuts; }
  void SetTrackCutsTrg(const AliESDtrackCuts &cuts) { *fCutsPrimTrg = cuts; }
  void SetTrackCutsTrgConstrain(const AliESDtrackCuts &cuts) { *fCutsPrimTrgConstrain = cuts; }

  void SetTrgJetEtaMax(Float_t etamax) { fTrgJetEtaMax = etamax; }
  Float_t GetTrgJetEtaMax() const { return fTrgJetEtaMax; }
  void SetHadEtaMax(Float_t etamax) { fHadEtaMax = etamax; }
  Float_t GetHadEtaMax() const { return fHadEtaMax; }

  void SetUseEvplaneV0(Bool_t usev0 = kTRUE) { fUseEvplaneV0 = usev0; }
  Bool_t GetUseEvplaneV0() const { return fUseEvplaneV0; }

  void SetJetV2(Float_t v2Cent, Float_t v2Semi) {
    fTrgJetPhiModCent->SetParameter(0, v2Cent);
    fTrgJetPhiModSemi->SetParameter(0, v2Semi);
  }
  void SetHadV2(Float_t v2Cent, Float_t v2Semi) {
    fTrgHadPhiModCent->SetParameter(0, v2Cent);
    fTrgHadPhiModSemi->SetParameter(0, v2Semi);
  }

  void SetLeadingTrackPtMin(Float_t pt) { fTrgJetLeadTrkPtMin = pt; }
  void SetLeadingTrackPtMax(Float_t pt) { fTrgJetLeadTrkPtMax = pt; }

  void SetJetAreaMin(Float_t area) { fTrgJetAreaMin = area; }
  Float_t GetJetAreaMin() const { return fTrgJetAreaMin; }

  void SetRequirePID(Bool_t req = kTRUE) { fRequirePID = req; }
  Bool_t GetRequirePID() const { return fRequirePID; }

  void SetFilterMask(Int_t mask) { fAssFilterMask = mask; }
  Int_t GetFilterMask() const { return fAssFilterMask; }

  void SetErrorCount(Int_t cnt) { fErrorMsg = cnt; }
  Int_t GetErrorCount() const { return fErrorMsg; }

  void SetTrgAngleToEvPlane(Float_t angle) { fTrgAngleToEvPlane = angle; }
  Float_t GetTrgAngleToEvPlane() const { return fTrgAngleToEvPlane; }

  void SetToyMeanNoPart(Float_t mean) { fToyMeanNoPart = mean; }
  Float_t GetToyMeanNoPart() const { return fToyMeanNoPart; }
  void SetToyRadius(Float_t radius) { fToyRadius = radius; }
  Float_t GetToyRadius() const { return fToyRadius; }
  void SetToySmearPhi(Float_t sigma) { fToySmearPhi = sigma; }
  Float_t GetToySmearPhi() const { return fToySmearPhi; }

  void SetEventPlaneResSpline(TSpline *spline) { fSplineEventPlaneRes = spline; }
  const TSpline *GetEventPlaneResSpline() const { return fSplineEventPlaneRes; }

  void PrintTask(Option_t *option, Int_t indent) const;

  static Double_t TOFsignal(Double_t *x, Double_t *par)
  {
    Double_t norm = par[0];
    Double_t mean = par[1];
    Double_t sigma = par[2];
    Double_t tail = par[3];

    if (x[0] <= (tail + mean))
      return norm * TMath::Gaus(x[0], mean, sigma);
    else
      return norm * TMath::Gaus(tail + mean, mean, sigma) * TMath::Exp(-tail * (x[0] - tail - mean) / (sigma * sigma));
  }

  // histograms
  enum Hist_t {
      kHistStat = 0,
      kHistVertexNctb,
      kHistVertexZ,
      kHistCentrality,
      kHistCentralityUsed,
      kHistCentralityCheck,
      kHistCentralityCheckUsed,
      kHistCentralityVsMult,
      kHistSignalTPC,
      kHistSignalTOF,
      kHistBetaTOF,
      kHistDeltaTPC,
      kHistDeltaTPCSemi,
      kHistDeltaTOF,
      kHistDeltaTOFSemi,
      // kHistExpSigmaTOFe,
      // kHistExpSigmaTOFmu,
      // kHistExpSigmaTOFpi,
      // kHistExpSigmaTOFk,
      // kHistExpSigmaTOFp,
      // kHistExpSigmaTOFd,
      // kHistExpSigmaTOFeSemi,
      // kHistExpSigmaTOFmuSemi,
      // kHistExpSigmaTOFpiSemi,
      // kHistExpSigmaTOFkSemi,
      // kHistExpSigmaTOFpSemi,
      // kHistExpSigmaTOFdSemi,
      // kHistCmpSigmaTOFe,
      // kHistCmpSigmaTOFmu,
      // kHistCmpSigmaTOFpi,
      // kHistCmpSigmaTOFk,
      // kHistCmpSigmaTOFp,
      // kHistCmpSigmaTOFd,
      // kHistCmpSigmaTOFeSemi,
      // kHistCmpSigmaTOFmuSemi,
      // kHistCmpSigmaTOFpiSemi,
      // kHistCmpSigmaTOFkSemi,
      // kHistCmpSigmaTOFpSemi,
      // kHistCmpSigmaTOFdSemi,
      kHistNsigmaTPCe,
      kHistNsigmaTPCmu,
      kHistNsigmaTPCpi,
      kHistNsigmaTPCk,
      kHistNsigmaTPCp,
      kHistNsigmaTPCd,
      kHistNsigmaTPCe_e,
      kHistNsigmaTOFe,
      kHistNsigmaTOFmu,
      kHistNsigmaTOFpi,
      kHistNsigmaTOFk,
      kHistNsigmaTOFp,
      kHistNsigmaTOFd,
      kHistNsigmaTOFmismatch,
      kHistDeltaTOFe,
      kHistDeltaTOFmu,
      kHistDeltaTOFpi,
      kHistDeltaTOFk,
      kHistDeltaTOFp,
      kHistDeltaTOFd,

      kHistNsigmaTPCeSemi,
      kHistNsigmaTPCmuSemi,
      kHistNsigmaTPCpiSemi,
      kHistNsigmaTPCkSemi,
      kHistNsigmaTPCpSemi,
      kHistNsigmaTPCdSemi,
      kHistNsigmaTPCe_eSemi,
      kHistNsigmaTOFeSemi,
      kHistNsigmaTOFmuSemi,
      kHistNsigmaTOFpiSemi,
      kHistNsigmaTOFkSemi,
      kHistNsigmaTOFpSemi,
      kHistNsigmaTOFdSemi,
      kHistNsigmaTOFmismatchSemi,
      kHistDeltaTOFeSemi,
      kHistDeltaTOFmuSemi,
      kHistDeltaTOFpiSemi,
      kHistDeltaTOFkSemi,
      kHistDeltaTOFpSemi,
      kHistDeltaTOFdSemi,

      kHistNsigmaTPCTOF,
      kHistNsigmaTPCTOFPt,
      kHistNsigmaTPCTOFUsed,
      kHistNsigmaTPCTOFUsedCentral,
      kHistNsigmaTPCTOFUsedSemiCentral,
      kHistNsigmaTPCTOFUsedPt,
      kHistNsigmaTPCTOFUsedPtCentral,
      kHistNsigmaTPCTOFUsedPtSemiCentral,

      kHistNsigmaTPCTOFUsedCentralMCe,
      kHistNsigmaTPCTOFUsedCentralMCmu,
      kHistNsigmaTPCTOFUsedCentralMCpi,
      kHistNsigmaTPCTOFUsedCentralMCk,
      kHistNsigmaTPCTOFUsedCentralMCp,
      kHistNsigmaTPCTOFUsedCentralMCd,

      kHistNsigmaTPCTOFUsedSemiCentralMCe,
      kHistNsigmaTPCTOFUsedSemiCentralMCmu,
      kHistNsigmaTPCTOFUsedSemiCentralMCpi,
      kHistNsigmaTPCTOFUsedSemiCentralMCk,
      kHistNsigmaTPCTOFUsedSemiCentralMCp,
      kHistNsigmaTPCTOFUsedSemiCentralMCd,

      kHistNevMix,

      kHistEvPlane,
      kHistEvPlaneRes,
      kHistEvPlaneUsed,
      kHistEvPlaneCheck,
      kHistEvPlaneCheckUsed,
      kHistEvPlane3,
      kHistEvPlaneCorr,
      kHistEvPlaneCross,
      kHistEvPlaneCorrNoTrgJets,
      kHistEvPlaneCorrNoTrgJetsTrgd,
      kHistJetPtCentral,
      kHistJetPtSemi,
      kHistEtaPhiTrgHad,
      kHistEtaPhiTrgJet,
      kHistEtaPhiAssHad,
      kHistEtaPhiAssProt,
      kHistPhiTrgJetEvPlane,
      kHistPhiTrgHadEvPlane,
      kHistPhiRndTrgJetEvPlane,
      kHistPhiRndTrgHadEvPlane,
      kHistPhiAssHadEvPlane,
      kHistPhiAssHadVsEvPlane,
      kHistPhiAssProtEvPlane,
      kHistPhiTrgJetEvPlane3,
      kHistPhiTrgHadEvPlane3,
      kHistPhiAssHadEvPlane3,
      kHistPhiAssProtEvPlane3,
      kHistLast
  };

  // statistics
  enum Stat_t {
      kStatSeen = 1,
      kStatTrg,
      kStatVtx,
      kStatCent,
      kStatEvPlane,
      kStatPID,
      kStatUsed,
      kStatEvCuts,
      kStatCentral,
      kStatSemiCentral,
      kStatLast
  };

  // trigger conditions
  enum Trigger_t {
      kTriggerMB = 0,
      kTriggerInt,
      kTriggerLast
  };

  // classification
  enum CorrType_t {
    kCorrHadHad = 0,
    kCorrHadProt,
    kCorrJetHad,
    kCorrJetProt,

    kCorrRndHadHad,
    kCorrRndHadProt,
    kCorrRndJetHad,
    kCorrRndJetProt,

    kCorrRndHadExcHad,
    kCorrRndHadExcProt,
    kCorrRndJetExcHad,
    kCorrRndJetExcProt,

    kCorrLast
  };

  enum Class_t {
    kClCentral = 0,
    kClSemiCentral,
    // kClDijet,
    kClLast
  };

  enum Trg_t {
    kTrgHad = 0,
    kTrgJet,
    kTrgHadRnd,
    kTrgJetRnd,
    kTrgLast
  };

  enum Ass_t {
    kAssHad = 0,
    kAssProt,
    kAssHadJetExc,
    kAssProtJetExc,
    kAssHadHadExc,
    kAssProtHadExc,
    kAssLast
  };

  enum Ev_t {
    kEvSame = 0,
    kEvMix,
    kEvLast
  };

  class AliPartCorr : public AliVParticle {
  public:
    AliPartCorr(Float_t eta = 0., Float_t phi = 0., Float_t pt = 0., Float_t charge = 0) :
      fPt(pt), fEta(eta), fPhi(phi), fCharge(charge) {}
    AliPartCorr(const AliVParticle &rhs) :
      fPt(rhs.Pt()), fEta(rhs.Eta()), fPhi(rhs.Phi()), fCharge(rhs.Charge()) {}
    virtual ~AliPartCorr() {}
    
    // kinematics
    virtual Double_t Px() const { AliFatal("not implemented"); return 0; }
    virtual Double_t Py() const { AliFatal("not implemented"); return 0; }
    virtual Double_t Pz() const { AliFatal("not implemented"); return 0; }
    virtual Double_t Pt() const { return fPt; }
    virtual Double_t P()  const { AliFatal("not implemented"); return 0; }
    virtual Bool_t   PxPyPz(Double_t[3]) const { AliFatal("not implemented"); return 0; }

    virtual Double_t Xv() const { AliFatal("not implemented"); return 0; }
    virtual Double_t Yv() const { AliFatal("not implemented"); return 0; }
    virtual Double_t Zv() const { AliFatal("not implemented"); return 0; }
    virtual Bool_t   XvYvZv(Double_t[3]) const { AliFatal("not implemented"); return 0; }

    virtual Double_t OneOverPt()  const { AliFatal("not implemented"); return 0; }
    virtual Double_t Phi()        const { return fPhi; }
    virtual Double_t Theta()      const { AliFatal("not implemented"); return 0; }

    virtual Double_t E()          const { AliFatal("not implemented"); return 0; }
    virtual Double_t M()          const { AliFatal("not implemented"); return 0; }

    virtual Double_t Eta()        const { return fEta; }
    virtual Double_t Y()          const { AliFatal("not implemented"); return 0; }

    virtual Short_t Charge()      const { return fCharge; }
    virtual Int_t   GetLabel()    const { AliFatal("not implemented"); return 0; }

    virtual Int_t   PdgCode()     const { AliFatal("not implemented"); return 0; }
    virtual const Double_t *PID() const { AliFatal("not implemented"); return 0; }

  protected:
    Float_t fPt;
    Float_t fEta;
    Float_t fPhi;
    Short_t fCharge;

    ClassDef(AliPartCorr, 1);
  };

  class AliHistCorr : public TNamed {
  public:
    AliHistCorr(TString name, TList *outputList = 0x0);
    ~AliHistCorr();

    void Trigger(Float_t phi, Float_t eta, Float_t qpt, Float_t weight) {
      fHistStat->Fill(1., weight);
      if (fHistCorrTrgEtaPhi)
	fHistCorrTrgEtaPhi->Fill(phi, eta, weight);
      if (fHistCorrTrgEtaPhiQpt)
	fHistCorrTrgEtaPhiQpt->Fill(phi, eta, qpt, weight);
    }
    void Ass(Float_t phi, Float_t eta, Float_t qpt, Float_t weight) {
      if (fHistCorrAssEtaPhi)
	fHistCorrAssEtaPhi->Fill(phi, eta, weight);
      if (fHistCorrAssEtaPhiQpt)
	fHistCorrAssEtaPhiQpt->Fill(phi, eta, qpt, weight);
    }
    void Fill(AliVParticle *trgPart, AliVParticle *assPart, Float_t weight = 1.);
    void Fill(TLorentzVector *trgPart, AliVParticle *assPart, Float_t weight = 1.);
    void Fill(TLorentzVector *trgPart, TLorentzVector *assPart, Float_t weight = 1.);

  protected:
    TList *fOutputList;

    TH1F *fHistStat;

    TH1F *fHistCorrPhi;
    TH2F *fHistCorrPhi2;
    TH2F *fHistCorrEtaPhi;
    TH2F *fHistCorrAvgEtaPhi;
    TH2F *fHistCorrTrgEtaPhi;
    TH2F *fHistCorrAssEtaPhi;
    TH3F *fHistCorrTrgEtaPhiQpt;
    TH3F *fHistCorrAssEtaPhiQpt;

    const Float_t fHistDphiLo;
    const Int_t   fHistDphiNbins;
    const Int_t   fHistDetaNbins;

    AliHistCorr(const AliHistCorr &rhs);
    AliHistCorr& operator=(const AliHistCorr &rhs);

    ClassDef(AliHistCorr, 1);
  };

  AliHistCorr*& GetHistCorr(CorrType_t corr, Class_t cl, Ev_t ev) { return fHistCorr[kEvLast*(kClLast*corr + cl) + ev]; }
  AliEventPoolManager*& GetPoolMgr(Ass_t ass) { return fPoolMgr[ass]; }
  AliEventPool*& GetPool(Ass_t ass) { return fPool[ass]; }

protected:
  AliMCEvent  *fMCEvent; //!
  AliESDEvent *fESDEvent; //!
  AliAODEvent *fAODEvent; //!

  Int_t fRunNumber; //! current run number
  AliOADBContainer *fOADBContainerTOF; //! container for OADB entry with TOF parameters
  AliTOFPIDParams *fParamsTOF; //! TOF parametrization

  AliEventplane *fEventplane; //! pointer to the event plane

  UInt_t fTriggerMask;		//! internal representation of trigger conditions
  UInt_t fClassMask;		//! internal representation of event classes
  Float_t fCentrality; //!
  Float_t fCentralityCheck; //!
  Float_t fZvtx; //!
  AliPIDResponse *fPIDResponse; //!
  Float_t fEventPlaneAngle; //!
  Float_t fEventPlaneRes; //!
  Float_t fEventPlaneAngleCheck; //!
  Float_t fEventPlaneAngle3; //!

  TObjArray *fPrimTrackArrayAss; //!
  TObjArray *fPrimTrackArrayTrg; //!
  TClonesArray *fPrimConstrainedTrackArray; //!
  TClonesArray *fJetArray; //!

  AliEventPoolManager *fPoolMgr[kAssProt + 1]; //!
  AliEventPool *fPool[kAssProt + 1]; //!

  AliHistCorr **fHistCorr; //! [kCorrLast*kEvLast*kClLast]; //!

  Int_t fErrorMsg; //! remaining number of error messages to be printed

  Bool_t DetectTriggers();
  void   MarkTrigger(Trigger_t trg) { fTriggerMask |= (1 << trg); }
  Bool_t IsTrigger(Trigger_t trg) const { return (fTriggerMask & (1 << trg)); }

  Bool_t DetectClasses();
  void   MarkClass(Class_t cl) { fClassMask |= (1 << cl); }
  Bool_t IsClass(Class_t cl) const { return (fClassMask & (1 << cl)); }

  Bool_t PrepareEvent();
  Bool_t CleanUpEvent();

  Float_t GetCentrality() const { return fCentrality; }
  Float_t GetEventPlaneAngle() const { return fEventPlaneAngle; }
  AliPIDResponse* GetPID() const { return fPIDResponse; }
  Bool_t IsCentral() const { return ((fCentrality >= 0.) && (fCentrality <= 10.)); }
  Bool_t IsSemiCentral() const { return ((fCentrality >= 30.) && (fCentrality <= 50.)); }

  AliVTrack* GetLeadingTrack(const AliAODJet *jet) const;

  Float_t GetDPhiStar(Float_t phi1, Float_t pt1, Float_t charge1,
		      Float_t phi2, Float_t pt2, Float_t charge2,
		      Float_t radius, Float_t bSign) const;

  Bool_t AcceptTrigger(AliVTrack *trg);
  Bool_t AcceptTrigger(AliAODJet *trg);
  Bool_t AcceptAssoc(const AliVTrack *trk) const;
  Bool_t IsProton(const AliVTrack *trk) const;
  Bool_t AcceptAngleToEvPlane(Float_t phi, Float_t psi) const;
  Bool_t AcceptTwoTracks(const AliVParticle *trgPart, const AliVParticle *assPart) const;

  Float_t GetPhiRel2(AliVParticle *part) const;

  TObjArray* CloneTracks(TObjArray *tracks) const;

  Bool_t GenerateRandom(TCollection *trgJetArray, TCollection *trgHadArray,
			TCollection *assHadJetArray, TCollection *assProtJetArray,
			TCollection *assHadHadArray, TCollection *assProtHadArray,
			Float_t pFraction = .5);

  Bool_t Correlate(CorrType_t corr, Class_t cl, Ev_t ev,
		   TCollection *trgArray, TCollection *assArray, Float_t weight = 1.);

  Bool_t Correlate(Trg_t trg, Ass_t ass, Class_t cl, Ev_t ev,
		   TCollection *trgArray, TCollection *assArray, Float_t weight = 1.);

  // output objects
  TList *fOutputList;		//! list of output objects

  // histogram management
  TH1  *fHist[kHistLast];	//! pointers to histogram
  const char *fShortTaskId;	//! short identifier for the task

  TH1*&  GetHistogram(Hist_t hist, const Int_t idx = 0) { return fHist[hist + idx]; }

  TH1*   AddHistogram(Hist_t hist, const char *hid, TString title,
                      Int_t xbins, Float_t xmin, Float_t xmax, Int_t binType = 1);
  TH2*   AddHistogram(Hist_t hist, const char *hid, TString title,
                      Int_t xbins, Float_t xmin, Float_t xmax,
                      Int_t ybins, Float_t ymin, Float_t ymax, Int_t binType = 1);
  TH3*   AddHistogram(Hist_t hist, const char *hid, TString title,
                      Int_t xbins, Float_t xmin, Float_t xmax,
                      Int_t ybins, Float_t ymin, Float_t ymax,
                      Int_t zbins, Float_t zmin, Float_t zmax, Int_t binType = 1);

  void    FillH1(Hist_t hist, Float_t x, Float_t weight = 1., Int_t idx = 0)
  { GetHistogram(hist, idx)->Fill(x, weight); }
  void    FillH2(Hist_t hist, Float_t x, Float_t y, Float_t weight = 1., Int_t idx = 0)
  { ((TH2*) GetHistogram(hist, idx))->Fill(x, y, weight); }
  void    FillH3(Hist_t hist, Float_t x, Float_t y, Float_t z, Float_t weight = 1., Int_t idx = 0)
  { ((TH3*) GetHistogram(hist, idx))->Fill(x, y, z, weight); }

  const char* fkCorrTypeName[kCorrLast]; //!
  const char* fkClassName[kClLast]; //!
  const char* fkEvName[kEvLast]; //!

  // task configuration
  static const Int_t fgkStringLength = 100; // max length for the jet branch name
  char fJetBranchName[fgkStringLength];     // jet branch name

  const Bool_t fUseStandardCuts;
  Bool_t fUseEvplaneV0;

  AliESDtrackCuts *fCutsPrimTrg;	// track cuts for primary particles (trigger)
  AliESDtrackCuts *fCutsPrimTrgConstrain;	// track cuts for primary particles (trigger)
  AliESDtrackCuts *fCutsPrimAss;	// track cuts for primary particles (associate)
  Float_t fCutsTwoTrackEff;

  UInt_t  fAssFilterMask;
  Bool_t  fRequirePID;
  Float_t fTrgJetEtaMax;
  Float_t fHadEtaMax;
  Float_t fTrgPartPtMin;
  Float_t fTrgPartPtMax;
  Float_t fTrgJetPtMin;
  Float_t fTrgJetPtMax;
  Float_t fTrgJetLeadTrkPtMin;
  Float_t fTrgJetLeadTrkPtMax;
  Float_t fTrgJetAreaMin;
  Float_t fAssPartPtMin;
  Float_t fAssPartPtMax;
  Float_t fTrgAngleToEvPlane;

  Float_t fToyMeanNoPart;
  Float_t fToyRadius;
  Float_t fToySmearPhi;

  TF1 *fTrgJetPhiModCent;
  TF1 *fTrgJetPhiModSemi;
  TF1 *fTrgHadPhiModCent;
  TF1 *fTrgHadPhiModSemi;

  Float_t fTrgJetV2Cent;
  Float_t fTrgJetV2Semi;
  Float_t fTrgHadV2Cent;
  Float_t fTrgHadV2Semi;

  TSpline *fSplineEventPlaneRes;

  // not implemented
  AliAnalysisTaskJetProtonCorr(const AliAnalysisTaskJetProtonCorr &rhs);
  AliAnalysisTaskJetProtonCorr& operator=(const AliAnalysisTaskJetProtonCorr &rhs);

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