]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ANALYSIS/AliAnalysisTaskSE.h
AliAnalysisTaskMuonTrackingEff: removal of warnings, passing the AliCheckDetElementRe...
[u/mrichter/AliRoot.git] / ANALYSIS / AliAnalysisTaskSE.h
index 4e5b31509ec8515063a93c305ae211e04bbe9c9d..c12c47d73e2e4dcc96f94fd4e3985d5294dd4043 100644 (file)
@@ -9,10 +9,14 @@
 #include "AliAnalysisTask.h"
 class AliVEvent;
 class AliAODEvent;
+class AliAODHeader;
+class AliAODTracklets;
+class AliAODCaloCells;
 class AliMCEvent;
 class AliInputEventHandler;
-class TTree;
 
+class TTree;
+class TList;
 
 
 class AliAnalysisTaskSE : public AliAnalysisTask
@@ -29,24 +33,51 @@ class AliAnalysisTaskSE : public AliAnalysisTask
     virtual void Exec(Option_t* option);
     virtual void SetDebugLevel(Int_t level) {fDebug = level;}
     virtual void Init() {;}
+    virtual Bool_t Notify();
     // To be implemented by user
     virtual void UserCreateOutputObjects()  {;}
     virtual void UserExec(Option_t* /*option*/) {;}
-    
-    // Getters
+    virtual Bool_t UserNotify() {return kTRUE;}
+    virtual void   NotifyRun()  {;}
+
+    // 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;}
-    virtual Long64_t     Entry()       {return fEntry;}
+    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;
+    virtual TList*       GetQAHistos()   const {return fHistosQA;}
   protected:
     Int_t                 fDebug;           //  Debug flag
+    // IO
     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
+    Int_t                 fCurrentRunNumber;//! Current run number
+    // Output histos for QA
+    TList*                fHistosQA;        //! Output histos for QA
+    // Provisions for replication
+    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 TClonesArray*    fgAODMCParticles;   //! MC Particles for replicatio
+    static AliAODTracklets* fgAODTracklets;     //! Tracklets for replication
+    static AliAODCaloCells* fgAODEmcalCells;    //! Emcal Cell replication
+    static AliAODCaloCells* fgAODPhosCells;     //! Phos  Cell replication
+       
     ClassDef(AliAnalysisTaskSE, 1); // Analysis task for standard jet analysis
 };