1 #ifndef ALIANALYSISTASKSE_H
2 #define ALIANALYSISTASKSE_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
9 #include "AliAnalysisTask.h"
13 class AliAODTracklets;
14 class AliAODCaloCells;
16 class AliInputEventHandler;
17 class AliAnalysisCuts;
24 class AliAnalysisTaskSE : public AliAnalysisTask
28 AliAnalysisTaskSE(const char* name);
29 AliAnalysisTaskSE(const AliAnalysisTaskSE& obj);
30 AliAnalysisTaskSE& operator=(const AliAnalysisTaskSE& other);
31 virtual ~AliAnalysisTaskSE() {;}
32 // Implementation of interface methods
33 virtual void ConnectInputData(Option_t *option = "");
34 virtual void CreateOutputObjects();
35 virtual void Exec(Option_t* option);
36 virtual void SetDebugLevel(Int_t level) {fDebug = level;}
37 virtual void Init() {;}
38 virtual Bool_t Notify();
39 // To be implemented by user
40 virtual void UserCreateOutputObjects() {;}
41 virtual void UserExec(Option_t* /*option*/) {;}
42 virtual Bool_t UserNotify() {return kTRUE;}
43 virtual void NotifyRun() {;}
45 // Helpers for adding branches to the AOD
46 virtual void AddAODBranch(const char* cname, void* addobj, const char *fname="");
48 virtual void SelectCollisionCandidates() {fSelectCollisions = kTRUE;}
50 virtual Int_t DebugLevel() {return fDebug; }
51 virtual AliVEvent* InputEvent() {return fInputEvent;}
52 virtual AliESDfriend* ESDfriend() {return fESDfriend; }
53 virtual AliAODEvent* AODEvent() {return fOutputAOD; }
54 virtual TTree* OutputTree() {return fTreeA; }
55 virtual AliMCEvent* MCEvent() {return fMCEvent; }
56 virtual Long64_t Entry() {return fEntry; }
57 virtual const char* CurrentFileName();
58 virtual Bool_t IsStandardAOD() const;
59 virtual TList* GetQAHistos() const {return fHistosQA;}
60 virtual Bool_t IsEventInBinZero() { return kFALSE;}
63 Int_t fDebug; // Debug flag
65 Int_t fEntry; // Current entry in the chain
66 AliVEvent* fInputEvent; //! VEvent Input
67 AliESDfriend* fESDfriend; //! ESD friend
68 AliInputEventHandler* fInputHandler; //! Input Handler
69 AliAODEvent* fOutputAOD; //! AOD out
70 AliMCEvent* fMCEvent; //! MC
71 TTree* fTreeA; // AOD output Tree
72 Int_t fCurrentRunNumber;//! Current run number
73 // Output histos for QA
74 TList* fHistosQA; //! Output histos for QA
75 // Provisions for replication
76 static AliAODHeader* fgAODHeader; //! Header for replication
77 static TClonesArray* fgAODTracks; //! Tracks for replication
78 static TClonesArray* fgAODVertices; //! Vertices for replication
79 static TClonesArray* fgAODV0s; //! V0s for replication
80 static TClonesArray* fgAODPMDClusters; //! PMDClusters for replication
81 static TClonesArray* fgAODJets; //! Jets for replication
82 static TClonesArray* fgAODFMDClusters; //! FMDClusters for replication
83 static TClonesArray* fgAODCaloClusters; //! CaloClusters for replication
84 static TClonesArray* fgAODMCParticles; //! MC Particles for replicatio
85 static AliAODTracklets* fgAODTracklets; //! Tracklets for replication
86 static AliAODCaloCells* fgAODEmcalCells; //! Emcal Cell replication
87 static AliAODCaloCells* fgAODPhosCells; //! Phos Cell replication
88 static TClonesArray* fgAODDimuons; //! Dimuons replication
90 Bool_t fSelectCollisions; // Task processes collision candidates only
92 ClassDef(AliAnalysisTaskSE, 3); // Analysis task for standard jet analysis