Provisions for AOD merging.
[u/mrichter/AliRoot.git] / ANALYSIS / AliAnalysisTaskSE.h
CommitLineData
5232d0de 1#ifndef ALIANALYSISTASKSE_H
2#define ALIANALYSISTASKSE_H
3
4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6
7/* $Id$ */
8
9#include "AliAnalysisTask.h"
10class AliVEvent;
11class AliAODEvent;
3f2431c4 12class AliAODHeader;
c185e0db 13class AliAODTracklets;
5232d0de 14class AliMCEvent;
80d13558 15class AliInputEventHandler;
5232d0de 16class TTree;
17
18
19
20class AliAnalysisTaskSE : public AliAnalysisTask
21{
22 public:
23 AliAnalysisTaskSE();
24 AliAnalysisTaskSE(const char* name);
26f071d8 25 AliAnalysisTaskSE(const AliAnalysisTaskSE& obj);
26 AliAnalysisTaskSE& operator=(const AliAnalysisTaskSE& other);
5232d0de 27 virtual ~AliAnalysisTaskSE() {;}
28 // Implementation of interface methods
29 virtual void ConnectInputData(Option_t *option = "");
30 virtual void CreateOutputObjects();
31 virtual void Exec(Option_t* option);
32 virtual void SetDebugLevel(Int_t level) {fDebug = level;}
33 virtual void Init() {;}
34 // To be implemented by user
35 virtual void UserCreateOutputObjects() {;}
26f071d8 36 virtual void UserExec(Option_t* /*option*/) {;}
164e94ff 37 // Helpers for adding branches to the AOD
3cee83d7 38 virtual void AddAODBranch(const char* cname, void* addobj, const char *fname="");
164e94ff 39// Getters
4d0a82af 40 virtual Int_t DebugLevel() {return fDebug; }
5232d0de 41 virtual AliVEvent* InputEvent() {return fInputEvent;}
4d0a82af 42 virtual AliAODEvent* AODEvent() {return fOutputAOD; }
43 virtual TTree* OutputTree() {return fTreeA; }
44 virtual AliMCEvent* MCEvent() {return fMCEvent; }
45 virtual Long64_t Entry() {return fEntry; }
46 virtual const char* CurrentFileName();
3cee83d7 47 virtual Bool_t IsStandardAOD() const;
80d13558 48 protected:
49 Int_t fDebug; // Debug flag
50 Int_t fEntry; // Current entry in the chain
51 AliVEvent* fInputEvent; //! VEvent Input
52 AliInputEventHandler* fInputHandler; //! Input Handler
53 AliAODEvent* fOutputAOD; //! AOD out
54 AliMCEvent* fMCEvent; //! MC
55 TTree* fTreeA; // AOD output Tree
c185e0db 56 static AliAODHeader* fgAODHeader; //! Header for replication
57 static TClonesArray* fgAODTracks; //! Tracks for replication
58 static TClonesArray* fgAODVertices; //! Vertices for replication
59 static TClonesArray* fgAODV0s; //! V0s for replication
60 static TClonesArray* fgAODPMDClusters; //! PMDClusters for replication
61 static TClonesArray* fgAODJets; //! Jets for replication
62 static TClonesArray* fgAODFMDClusters; //! FMDClusters for replication
63 static TClonesArray* fgAODCaloClusters; //! CaloClusters for replication
64 static AliAODTracklets* fgAODTracklets; //! Tracklets for replication
5232d0de 65 ClassDef(AliAnalysisTaskSE, 1); // Analysis task for standard jet analysis
66};
67
68#endif