new functions, mc analysis can be performed also for pi0 and k0. eta of seed can...
[u/mrichter/AliRoot.git] / PWG4 / JetTasks / AliAnalysisTaskMinijet.h
index 9029df9e8e1bc66408af47a796e056405d3f0c3b..7ad0bc4d909f8e4030ec858ebc2e39163764ca16 100644 (file)
@@ -23,26 +23,34 @@ class AliAnalysisTaskMinijet : public AliAnalysisTaskSE {
   virtual void   UserExec(Option_t* option);\r
   virtual void   Terminate(Option_t *);\r
   \r
-  Int_t LoopESD  (Float_t **pt, Float_t **eta, Float_t **phi, Int_t **numbers);\r
-  Int_t LoopESDMC(Float_t **pt, Float_t **eta, Float_t **phi);\r
-  Int_t LoopAOD  (Float_t **pt, Float_t **eta, Float_t **phi, Int_t **numbers);\r
-  Int_t LoopAODMC(Float_t **pt, Float_t **eta, Float_t **phi);\r
-  void  Analyse  (Float_t* pt, Float_t* eta, Float_t* phi, Int_t ntacks, Int_t ntacklets=0,Int_t mode=0);\r
-  void  CleanArrays(Float_t* pt, Float_t* eta, Float_t* phi, Int_t* numbers=0);\r
+  Int_t LoopESD  (Float_t **pt, Float_t **eta, Float_t **phi, Int_t **nTracksTracklets);\r
+  Int_t LoopESDMC(Float_t **pt, Float_t **eta, Float_t **phi, Int_t **nTracksTracklets);\r
+  Int_t LoopAOD  (Float_t **pt, Float_t **eta, Float_t **phi, Int_t **nTracksTracklets);\r
+  Int_t LoopAODMC(Float_t **pt, Float_t **eta, Float_t **phi, Int_t **nTracksTracklets);\r
+  void  Analyse  (Float_t* pt, Float_t* eta, Float_t* phi, Int_t ntacks, Int_t ntacklets=0,Int_t nAll=0, Int_t mode=0);\r
+  void  CleanArrays(Float_t* pt, Float_t* eta, Float_t* phi, Int_t* nTracksTracklets=0);\r
+  Bool_t SelectParticlePlusCharged(Int_t charge, Int_t pdg, Bool_t prim);\r
+  Bool_t SelectParticle(Int_t charge, Int_t pdg, Bool_t prim);\r
 \r
-  void UseMC(Bool_t useMC=kTRUE) { fUseMC = useMC;}\r
-  virtual void   SetCuts(AliESDtrackCuts* cuts)    {fCuts = cuts;}\r
+\r
+  void UseMC(Bool_t useMC=kTRUE, Bool_t mcOnly=kFALSE)    {fUseMC = useMC; fMcOnly=mcOnly;}\r
+\r
+  virtual void   SetCuts(AliESDtrackCuts* cuts)           {fCuts = cuts;}\r
 \r
   void   SetRadiusCut(Float_t radiusCut)           {fRadiusCut = radiusCut;}  \r
   void   SetTriggerPtCut(Float_t triggerPtCut)     {fTriggerPtCut = triggerPtCut;}  \r
   void   SetAssociatePtCut(Float_t associatePtCut) {fAssociatePtCut = associatePtCut;} \r
   void   SetEventAxis(Int_t leadingOrRandom)       {fLeadingOrRandom = leadingOrRandom;}  \r
-  void   SetMode(Int_t mode)                       {fMode=mode;}\r
-  void   SetMaxVertexZ(Float_t vertexZCut)         {fVertexZCut=vertexZCut;}\r
+  void   SetMode(Int_t mode)                       {fMode = mode;}\r
+  void   SetMaxVertexZ(Float_t vertexZCut)         {fVertexZCut = vertexZCut;}\r
+  void   SetMaxEta(Float_t etaCut)                 {fEtaCut = etaCut;}\r
+  void   SetMaxEtaSeed(Float_t etaCutSeed)         {fEtaCutSeed = etaCutSeed;}\r
 \r
+  void   SelectParticles(Int_t selectParticles)    {fSelectParticles = selectParticles;}\r
 \r
  private:\r
   Bool_t       fUseMC;\r
+  Bool_t       fMcOnly;\r
   AliESDtrackCuts* fCuts;                   // List of cuts for ESDs\r
   Float_t      fRadiusCut;                  // radius cut \r
   Float_t      fTriggerPtCut;               // cut on particle pt used as event axis\r
@@ -50,6 +58,9 @@ class AliAnalysisTaskMinijet : public AliAnalysisTaskSE {
   Int_t        fLeadingOrRandom;            // event axis:leading track or random track\r
   Int_t        fMode;                       // ESD(=0) of AOD(=1) reading \r
   Float_t      fVertexZCut;                 // vertex cut\r
+  Float_t      fEtaCut;                     // eta acceptance cut\r
+  Float_t      fEtaCutSeed;                 // eta acceptance cut for seed\r
+  Int_t        fSelectParticles;            // only in cas of MC: use also neutral particles or not \r
 \r
   AliESDEvent *fESDEvent;                   //! esd event\r
   AliAODEvent *fAODEvent;                   //! aod event\r
@@ -57,10 +68,18 @@ class AliAnalysisTaskMinijet : public AliAnalysisTaskSE {
   TList              *fHists;                      // output list\r
   TH1F        *fHistPt;                     // Pt spectrum ESD\r
   TH1F        *fHistPtMC;                   // Pt spectrum MC\r
+  TH2F        *fChargedPi0;                 // charged versus charged+Pi0\r
   TH1F       * fVertexZ[4];                 // z of vertex\r
+\r
   TH1F       * fPt[4];                      // pt\r
-  TH1F       * fEta[4];                     // eta\r
+  TH1F       * fEta[4];                     // et\r
   TH1F       * fPhi[4];                     // phi\r
+\r
+  TH1F       * fPtSeed[4];                  // pt of seed (event axis)\r
+  TH1F       * fEtaSeed[4];                 // eta of seed \r
+  TH1F       * fPhiSeed[4];                 // phi of seed\r
+\r
+  TH2F       * fPhiEta[4];                  // eta - phi\r
   TH2F       * fDPhiDEtaEventAxis[4];       // correlation dEta-dPhi towards event axis\r
   TH1F       * fTriggerNch[4];              // number of triggers with accepted-track number\r
   TH1F       * fTriggerTracklet[4];         // number of triggers with accepted-tracklet number\r