]>
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" | |
0c6c629b | 10 | #include "AliVEvent.h" |
11 | ||
5232d0de | 12 | class AliAODEvent; |
3f2431c4 | 13 | class AliAODHeader; |
c185e0db | 14 | class AliAODTracklets; |
5a922844 | 15 | class AliAODCaloCells; |
720f7306 | 16 | class AliAODCaloTrigger; |
5232d0de | 17 | class AliMCEvent; |
2da1d158 | 18 | class AliMCEventHandler; |
80d13558 | 19 | class AliInputEventHandler; |
2da1d158 | 20 | class AliMultiInputEventHandler; |
f0ee78b0 | 21 | class AliAnalysisCuts; |
620ad672 | 22 | class AliESDfriend; |
cec9e119 | 23 | class AliEventTag; |
5a922844 | 24 | |
5232d0de | 25 | class TTree; |
1ec2c8dc | 26 | class TList; |
5232d0de | 27 | |
28 | ||
29 | class AliAnalysisTaskSE : public AliAnalysisTask | |
30 | { | |
31 | public: | |
32 | AliAnalysisTaskSE(); | |
33 | AliAnalysisTaskSE(const char* name); | |
26f071d8 | 34 | AliAnalysisTaskSE(const AliAnalysisTaskSE& obj); |
35 | AliAnalysisTaskSE& operator=(const AliAnalysisTaskSE& other); | |
5232d0de | 36 | virtual ~AliAnalysisTaskSE() {;} |
37 | // Implementation of interface methods | |
f0ee78b0 | 38 | virtual void ConnectInputData(Option_t *option = ""); |
39 | virtual void CreateOutputObjects(); | |
40 | virtual void Exec(Option_t* option); | |
41 | virtual void SetDebugLevel(Int_t level) {fDebug = level;} | |
42 | virtual void Init() {;} | |
1ec2c8dc | 43 | virtual Bool_t Notify(); |
5232d0de | 44 | // To be implemented by user |
f0ee78b0 | 45 | virtual void UserCreateOutputObjects() {;} |
46 | virtual void UserExec(Option_t* /*option*/) {;} | |
b425275c | 47 | virtual void UserExecMix(Option_t */*option*/) {;} |
1ec2c8dc | 48 | virtual Bool_t UserNotify() {return kTRUE;} |
49 | virtual void NotifyRun() {;} | |
f0ee78b0 | 50 | |
164e94ff | 51 | // Helpers for adding branches to the AOD |
f0ee78b0 | 52 | virtual void AddAODBranch(const char* cname, void* addobj, const char *fname=""); |
53 | // Event Selection | |
0c6c629b | 54 | virtual void SelectCollisionCandidates(UInt_t offlineTriggerMask = AliVEvent::kMB) {fOfflineTriggerMask = offlineTriggerMask;} |
cec9e119 | 55 | // Loading the declared input branches |
56 | void LoadBranches() const; | |
bf666461 | 57 | // Getters |
620ad672 | 58 | virtual Int_t DebugLevel() {return fDebug; } |
59 | virtual AliVEvent* InputEvent() {return fInputEvent;} | |
60 | virtual AliESDfriend* ESDfriend() {return fESDfriend; } | |
61 | virtual AliAODEvent* AODEvent() {return fOutputAOD; } | |
62 | virtual TTree* OutputTree() {return fTreeA; } | |
63 | virtual AliMCEvent* MCEvent() {return fMCEvent; } | |
64 | virtual Long64_t Entry() {return fEntry; } | |
cec9e119 | 65 | virtual const AliEventTag *EventTag() const; |
620ad672 | 66 | virtual const char* CurrentFileName(); |
67 | virtual Bool_t IsStandardAOD() const; | |
68 | virtual TList* GetQAHistos() const {return fHistosQA;} | |
85c71ba7 | 69 | virtual Bool_t IsEventInBinZero() { return kFALSE;} |
58c55baf | 70 | virtual UInt_t GetCollisionCandidates() const { return fOfflineTriggerMask;} |
2da1d158 | 71 | protected: |
72 | void ConnectMultiHandler(); | |
73 | void DisconnectMultiHandler(); | |
85c71ba7 | 74 | |
80d13558 | 75 | protected: |
76 | Int_t fDebug; // Debug flag | |
1ec2c8dc | 77 | // IO |
80d13558 | 78 | Int_t fEntry; // Current entry in the chain |
79 | AliVEvent* fInputEvent; //! VEvent Input | |
620ad672 | 80 | AliESDfriend* fESDfriend; //! ESD friend |
80d13558 | 81 | AliInputEventHandler* fInputHandler; //! Input Handler |
82 | AliAODEvent* fOutputAOD; //! AOD out | |
83 | AliMCEvent* fMCEvent; //! MC | |
84 | TTree* fTreeA; // AOD output Tree | |
1ec2c8dc | 85 | Int_t fCurrentRunNumber;//! Current run number |
86 | // Output histos for QA | |
87 | TList* fHistosQA; //! Output histos for QA | |
88 | // Provisions for replication | |
c185e0db | 89 | static AliAODHeader* fgAODHeader; //! Header for replication |
90 | static TClonesArray* fgAODTracks; //! Tracks for replication | |
91 | static TClonesArray* fgAODVertices; //! Vertices for replication | |
92 | static TClonesArray* fgAODV0s; //! V0s for replication | |
93 | static TClonesArray* fgAODPMDClusters; //! PMDClusters for replication | |
94 | static TClonesArray* fgAODJets; //! Jets for replication | |
95 | static TClonesArray* fgAODFMDClusters; //! FMDClusters for replication | |
96 | static TClonesArray* fgAODCaloClusters; //! CaloClusters for replication | |
720f7306 | 97 | static AliAODCaloTrigger* fgAODEMCALTrigger; //! Emcal Trigger for replication |
98 | static AliAODCaloTrigger* fgAODPHOSTrigger; //! Phos Trigger for replication | |
113bc2bd | 99 | static TClonesArray* fgAODMCParticles; //! MC Particles for replicatio |
c185e0db | 100 | static AliAODTracklets* fgAODTracklets; //! Tracklets for replication |
5a922844 | 101 | static AliAODCaloCells* fgAODEmcalCells; //! Emcal Cell replication |
102 | static AliAODCaloCells* fgAODPhosCells; //! Phos Cell replication | |
720f7306 | 103 | static TClonesArray* fgAODDimuons; //! Dimuons replication |
bf666461 | 104 | // Event Selection |
0c6c629b | 105 | UInt_t fOfflineTriggerMask; // Task processes collision candidates only |
2da1d158 | 106 | // Event Mixing |
107 | AliMultiInputEventHandler *fMultiInputHandler; //! pointer to multihandler | |
108 | AliMCEventHandler *fMCEventHandler; //! pointer to MCEventHandler | |
0c6c629b | 109 | ClassDef(AliAnalysisTaskSE, 4); // Analysis task for standard jet analysis |
5232d0de | 110 | }; |
111 | ||
112 | #endif |