]>
Commit | Line | Data |
---|---|---|
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" | |
10 | class AliVEvent; | |
11 | class AliAODEvent; | |
3f2431c4 | 12 | class AliAODHeader; |
c185e0db | 13 | class AliAODTracklets; |
5a922844 | 14 | class AliAODCaloCells; |
5232d0de | 15 | class AliMCEvent; |
80d13558 | 16 | class AliInputEventHandler; |
f0ee78b0 | 17 | class AliAnalysisCuts; |
5a922844 | 18 | |
5232d0de | 19 | class TTree; |
1ec2c8dc | 20 | class TList; |
5232d0de | 21 | |
22 | ||
23 | class AliAnalysisTaskSE : public AliAnalysisTask | |
24 | { | |
25 | public: | |
26 | AliAnalysisTaskSE(); | |
27 | AliAnalysisTaskSE(const char* name); | |
26f071d8 | 28 | AliAnalysisTaskSE(const AliAnalysisTaskSE& obj); |
29 | AliAnalysisTaskSE& operator=(const AliAnalysisTaskSE& other); | |
5232d0de | 30 | virtual ~AliAnalysisTaskSE() {;} |
31 | // Implementation of interface methods | |
f0ee78b0 | 32 | virtual void ConnectInputData(Option_t *option = ""); |
33 | virtual void CreateOutputObjects(); | |
34 | virtual void Exec(Option_t* option); | |
35 | virtual void SetDebugLevel(Int_t level) {fDebug = level;} | |
36 | virtual void Init() {;} | |
1ec2c8dc | 37 | virtual Bool_t Notify(); |
5232d0de | 38 | // To be implemented by user |
f0ee78b0 | 39 | virtual void UserCreateOutputObjects() {;} |
40 | virtual void UserExec(Option_t* /*option*/) {;} | |
1ec2c8dc | 41 | virtual Bool_t UserNotify() {return kTRUE;} |
42 | virtual void NotifyRun() {;} | |
f0ee78b0 | 43 | |
164e94ff | 44 | // Helpers for adding branches to the AOD |
f0ee78b0 | 45 | virtual void AddAODBranch(const char* cname, void* addobj, const char *fname=""); |
46 | // Event Selection | |
47 | virtual void SelectCollisionCandidates() {fSelectCollisions = kTRUE;} | |
90a9a634 | 48 | static void SetCollisionSelector(AliAnalysisCuts* selector) {fgCollisionSelector = selector;} |
164e94ff | 49 | // Getters |
4d0a82af | 50 | virtual Int_t DebugLevel() {return fDebug; } |
5232d0de | 51 | virtual AliVEvent* InputEvent() {return fInputEvent;} |
4d0a82af | 52 | virtual AliAODEvent* AODEvent() {return fOutputAOD; } |
53 | virtual TTree* OutputTree() {return fTreeA; } | |
54 | virtual AliMCEvent* MCEvent() {return fMCEvent; } | |
55 | virtual Long64_t Entry() {return fEntry; } | |
56 | virtual const char* CurrentFileName(); | |
3cee83d7 | 57 | virtual Bool_t IsStandardAOD() const; |
1ec2c8dc | 58 | virtual TList* GetQAHistos() const {return fHistosQA;} |
80d13558 | 59 | protected: |
60 | Int_t fDebug; // Debug flag | |
1ec2c8dc | 61 | // IO |
80d13558 | 62 | Int_t fEntry; // Current entry in the chain |
63 | AliVEvent* fInputEvent; //! VEvent Input | |
64 | AliInputEventHandler* fInputHandler; //! Input Handler | |
65 | AliAODEvent* fOutputAOD; //! AOD out | |
66 | AliMCEvent* fMCEvent; //! MC | |
67 | TTree* fTreeA; // AOD output Tree | |
1ec2c8dc | 68 | Int_t fCurrentRunNumber;//! Current run number |
69 | // Output histos for QA | |
70 | TList* fHistosQA; //! Output histos for QA | |
71 | // Provisions for replication | |
c185e0db | 72 | static AliAODHeader* fgAODHeader; //! Header for replication |
73 | static TClonesArray* fgAODTracks; //! Tracks for replication | |
74 | static TClonesArray* fgAODVertices; //! Vertices for replication | |
75 | static TClonesArray* fgAODV0s; //! V0s for replication | |
76 | static TClonesArray* fgAODPMDClusters; //! PMDClusters for replication | |
77 | static TClonesArray* fgAODJets; //! Jets for replication | |
78 | static TClonesArray* fgAODFMDClusters; //! FMDClusters for replication | |
79 | static TClonesArray* fgAODCaloClusters; //! CaloClusters for replication | |
113bc2bd | 80 | static TClonesArray* fgAODMCParticles; //! MC Particles for replicatio |
c185e0db | 81 | static AliAODTracklets* fgAODTracklets; //! Tracklets for replication |
5a922844 | 82 | static AliAODCaloCells* fgAODEmcalCells; //! Emcal Cell replication |
83 | static AliAODCaloCells* fgAODPhosCells; //! Phos Cell replication | |
f0ee78b0 | 84 | // Event selection |
85 | static AliAnalysisCuts* fgCollisionSelector; //! Cuts to select collision events | |
86 | static Bool_t fgIsCollision; //! Collision flag | |
87 | Bool_t fSelectCollisions; // Task processes collision candidates only | |
88 | ||
14a4bfca | 89 | ClassDef(AliAnalysisTaskSE, 2); // Analysis task for standard jet analysis |
5232d0de | 90 | }; |
91 | ||
92 | #endif |