]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGGA/EMCALTasks/AliAnalysisTaskEmcal.h
changes from saiola
[u/mrichter/AliRoot.git] / PWGGA / EMCALTasks / AliAnalysisTaskEmcal.h
index 5eb88fa3dbc92788c54c065b82b7c48109c2714d..c4908a0d09f41659b1dbb3a3c2ec8d02589b6433 100644 (file)
@@ -19,6 +19,8 @@ class AliAnalysisTaskEmcal : public AliAnalysisTaskSE {
   enum EmcalAnaType {
     kTPC       = 0,     // TPC only analysis
     kEMCAL     = 1,     // EMCal + TPC analysis
+    kTPCSmall  = 2,     // TPC only in EMCal acceptance
+    kEMCALOnly = 3,     // EMCal only analysis
   };
 
   enum BeamType {
@@ -32,26 +34,27 @@ class AliAnalysisTaskEmcal : public AliAnalysisTaskSE {
   AliAnalysisTaskEmcal(const char *name, Bool_t histo=kFALSE); 
   virtual ~AliAnalysisTaskEmcal();
 
-  virtual void                Init();
-  virtual void                UserCreateOutputObjects();
-  virtual void                UserExec(Option_t *option);
-  virtual void                Terminate(Option_t *option);
+  void                        UserExec(Option_t *option);
 
   void                        SetAnaType(EmcalAnaType type)                        { fAnaType        = type       ; }
   void                        SetClusName(const char *n)                           { fCaloName       = n          ; }
+  void                        SetClusPtCut(Float_t cut)                            { fClusPtCut      = cut        ; }
   void                        SetHistoBins(Int_t nbins, Float_t min, Float_t max)  { fNbins = nbins; fMinBinPt = min; fMaxBinPt = max; }
-  void                        SetPtCut(Float_t cut)                                { fPtCut          = cut        ; }
+  void                        SetPtCut(Float_t cut)                                { SetClusPtCut(cut); SetTrackPtCut(cut); }
+  void                        SetTrackPtCut(Float_t cut)                           { fTrackPtCut     = cut        ; }
   void                        SetTracksName(const char *n)                         { fTracksName     = n          ; }
 
  protected:
+  virtual void                ExecOnce()                                                                    ;
   Bool_t                      AcceptCluster(AliVCluster        *clus,  Bool_t acceptMC = kFALSE)       const;
   Bool_t                      AcceptEmcalPart(AliEmcalParticle *part,  Bool_t acceptMC = kFALSE)       const;
   Bool_t                      AcceptTrack(AliVTrack            *track, Bool_t acceptMC = kFALSE)       const;
   BeamType                    GetBeamType()                                                                 ;
   virtual Bool_t              FillHistograms()                                     { return fCreateHisto; }
-  void                        SetInitialized(Bool_t ini = kTRUE)                   { fInitialized    = ini        ; }
+  TClonesArray               *GetArrayFromEvent(const char *name, const char *clname=0);
   virtual Bool_t              RetrieveEventObjects();
   virtual Bool_t              Run()                                                { return kTRUE                 ; }
+  void                        SetInitialized(Bool_t ini = kTRUE)                   { fInitialized    = ini        ; }
 
   EmcalAnaType                fAnaType;                    // analysis type
   Bool_t                      fInitialized;                // whether or not the task has been already initialized
@@ -61,7 +64,8 @@ class AliAnalysisTaskEmcal : public AliAnalysisTaskSE {
   Int_t                       fNbins;                      // no. of pt bins
   Float_t                     fMinBinPt;                   // min pt in histograms
   Float_t                     fMaxBinPt;                   // max pt in histograms
-  Float_t                     fPtCut;                      // cut on particle pt
+  Float_t                     fClusPtCut;                  // cut on cluster pt
+  Float_t                     fTrackPtCut;                 // cut on track pt
   TClonesArray               *fTracks;                     //!tracks
   TClonesArray               *fCaloClusters;               //!clusters
   Float_t                     fCent;                       //!event centrality