]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ANALYSIS/AliAnalysisTaskSE.h
Adding EMCALUtils
[u/mrichter/AliRoot.git] / ANALYSIS / AliAnalysisTaskSE.h
index a2681091e303d2b24e8948804750986da349ae08..8ebdb663d4b93ca47287d6ce944771a6837c7fd6 100644 (file)
@@ -9,7 +9,10 @@
 #include "AliAnalysisTask.h"
 class AliVEvent;
 class AliAODEvent;
+class AliAODHeader;
+class AliAODTracklets;
 class AliMCEvent;
+class AliInputEventHandler;
 class TTree;
 
 
@@ -19,6 +22,8 @@ class AliAnalysisTaskSE : public AliAnalysisTask
  public:
     AliAnalysisTaskSE();
     AliAnalysisTaskSE(const char* name);
+    AliAnalysisTaskSE(const AliAnalysisTaskSE& obj);
+    AliAnalysisTaskSE& operator=(const AliAnalysisTaskSE& other);
     virtual ~AliAnalysisTaskSE() {;}
     // Implementation of interface methods
     virtual void ConnectInputData(Option_t *option = "");
@@ -28,19 +33,35 @@ class AliAnalysisTaskSE : public AliAnalysisTask
     virtual void Init() {;}
     // To be implemented by user
     virtual void UserCreateOutputObjects()  {;}
-    virtual void UserExec(Option_t* option) {;}
-    
-    // Getters
+    virtual void UserExec(Option_t* /*option*/) {;}
+    // Helpers for adding branches to the AOD
+   virtual void AddAODBranch(const char* cname, void* addobj, const char *fname="");
+// Getters
+    virtual Int_t        DebugLevel()  {return fDebug;     }
     virtual AliVEvent*   InputEvent()  {return fInputEvent;}
-    virtual AliAODEvent* AODEvent()    {return fOutputAOD;}
-    virtual TTree*       OutputTree()  {return fTreeA;}
-    virtual AliMCEvent*  MCEvent()     {return fMCEvent;}
- protected:
-    Int_t         fDebug;        //  Debug flag
-    AliVEvent*    fInputEvent;   //! VEvent Input
-    AliAODEvent*  fOutputAOD;    //! AOD out 
-    AliMCEvent*   fMCEvent;      //! MC
-    TTree*        fTreeA;        //  AOD output Tree
+    virtual AliAODEvent* AODEvent()    {return fOutputAOD; }
+    virtual TTree*       OutputTree()  {return fTreeA;     }
+    virtual AliMCEvent*  MCEvent()     {return fMCEvent;   }
+    virtual Long64_t     Entry()       {return fEntry;     }
+    virtual const char*  CurrentFileName();
+    virtual Bool_t       IsStandardAOD() const;
+  protected:
+    Int_t                 fDebug;           //  Debug flag
+    Int_t                 fEntry;           //  Current entry in the chain
+    AliVEvent*            fInputEvent;      //! VEvent Input
+    AliInputEventHandler* fInputHandler;    //! Input Handler
+    AliAODEvent*          fOutputAOD;       //! AOD out 
+    AliMCEvent*           fMCEvent;         //! MC
+    TTree*                fTreeA;           //  AOD output Tree
+    static AliAODHeader*    fgAODHeader;        //! Header for replication
+    static TClonesArray*    fgAODTracks;        //! Tracks for replication
+    static TClonesArray*    fgAODVertices;      //! Vertices for replication
+    static TClonesArray*    fgAODV0s;           //! V0s for replication
+    static TClonesArray*    fgAODPMDClusters;   //! PMDClusters for replication
+    static TClonesArray*    fgAODJets;          //! Jets for replication
+    static TClonesArray*    fgAODFMDClusters;   //! FMDClusters for replication
+    static TClonesArray*    fgAODCaloClusters;  //! CaloClusters for replication
+    static AliAODTracklets* fgAODTracklets;     //! Tracklets for replication
     ClassDef(AliAnalysisTaskSE, 1); // Analysis task for standard jet analysis
 };