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