X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=ANALYSIS%2FAliAnalysisTaskSE.h;h=c732202702642b6b9b6a919cb4a93558293d62e8;hb=bd5190fc936ef0760b17e8540fcbd69d70c79738;hp=84068a642ab2b7cf14e070e7e65b4fe2c38d0625;hpb=4d0a82afc033766ad51d44f533c561f352a579a8;p=u%2Fmrichter%2FAliRoot.git diff --git a/ANALYSIS/AliAnalysisTaskSE.h b/ANALYSIS/AliAnalysisTaskSE.h index 84068a642ab..c7322027026 100644 --- a/ANALYSIS/AliAnalysisTaskSE.h +++ b/ANALYSIS/AliAnalysisTaskSE.h @@ -7,12 +7,22 @@ /* $Id$ */ #include "AliAnalysisTask.h" -class AliVEvent; +#include "AliVEvent.h" + class AliAODEvent; +class AliAODHeader; +class AliAODTracklets; +class AliAODCaloCells; class AliMCEvent; +class AliMCEventHandler; class AliInputEventHandler; -class TTree; +class AliMultiInputEventHandler; +class AliAnalysisCuts; +class AliESDfriend; +class AliEventTag; +class TTree; +class TList; class AliAnalysisTaskSE : public AliAnalysisTask @@ -24,32 +34,75 @@ class AliAnalysisTaskSE : public AliAnalysisTask AliAnalysisTaskSE& operator=(const AliAnalysisTaskSE& other); virtual ~AliAnalysisTaskSE() {;} // Implementation of interface methods - virtual void ConnectInputData(Option_t *option = ""); - virtual void CreateOutputObjects(); - virtual void Exec(Option_t* option); - virtual void SetDebugLevel(Int_t level) {fDebug = level;} - virtual void Init() {;} + virtual void ConnectInputData(Option_t *option = ""); + virtual void CreateOutputObjects(); + virtual void Exec(Option_t* option); + virtual void SetDebugLevel(Int_t level) {fDebug = level;} + virtual void Init() {;} + virtual Bool_t Notify(); // To be implemented by user - virtual void UserCreateOutputObjects() {;} - virtual void UserExec(Option_t* /*option*/) {;} + virtual void UserCreateOutputObjects() {;} + virtual void UserExec(Option_t* /*option*/) {;} + virtual void UserExecMix(Option_t *option = "") {;} + virtual Bool_t UserNotify() {return kTRUE;} + virtual void NotifyRun() {;} - // Getters - virtual Int_t DebugLevel() {return fDebug; } - virtual AliVEvent* InputEvent() {return fInputEvent;} - virtual AliAODEvent* AODEvent() {return fOutputAOD; } - virtual TTree* OutputTree() {return fTreeA; } - virtual AliMCEvent* MCEvent() {return fMCEvent; } - virtual Long64_t Entry() {return fEntry; } - virtual const char* CurrentFileName(); + // Helpers for adding branches to the AOD + virtual void AddAODBranch(const char* cname, void* addobj, const char *fname=""); + // Event Selection + virtual void SelectCollisionCandidates(UInt_t offlineTriggerMask = AliVEvent::kMB) {fOfflineTriggerMask = offlineTriggerMask;} + // Loading the declared input branches + void LoadBranches() const; + // Getters + virtual Int_t DebugLevel() {return fDebug; } + virtual AliVEvent* InputEvent() {return fInputEvent;} + virtual AliESDfriend* ESDfriend() {return fESDfriend; } + virtual AliAODEvent* AODEvent() {return fOutputAOD; } + virtual TTree* OutputTree() {return fTreeA; } + virtual AliMCEvent* MCEvent() {return fMCEvent; } + virtual Long64_t Entry() {return fEntry; } + virtual const AliEventTag *EventTag() const; + virtual const char* CurrentFileName(); + virtual Bool_t IsStandardAOD() const; + virtual TList* GetQAHistos() const {return fHistosQA;} + virtual Bool_t IsEventInBinZero() { return kFALSE;} + protected: + void ConnectMultiHandler(); + void DisconnectMultiHandler(); + protected: Int_t fDebug; // Debug flag + // IO Int_t fEntry; // Current entry in the chain AliVEvent* fInputEvent; //! VEvent Input + AliESDfriend* fESDfriend; //! ESD friend AliInputEventHandler* fInputHandler; //! Input Handler AliAODEvent* fOutputAOD; //! AOD out AliMCEvent* fMCEvent; //! MC TTree* fTreeA; // AOD output Tree - ClassDef(AliAnalysisTaskSE, 1); // Analysis task for standard jet analysis + Int_t fCurrentRunNumber;//! Current run number + // Output histos for QA + TList* fHistosQA; //! Output histos for QA + // Provisions for replication + static AliAODHeader* fgAODHeader; //! Header for replication + static TClonesArray* fgAODTracks; //! Tracks for replication + static TClonesArray* fgAODVertices; //! Vertices for replication + static TClonesArray* fgAODV0s; //! V0s for replication + static TClonesArray* fgAODPMDClusters; //! PMDClusters for replication + static TClonesArray* fgAODJets; //! Jets for replication + static TClonesArray* fgAODFMDClusters; //! FMDClusters for replication + static TClonesArray* fgAODCaloClusters; //! CaloClusters for replication + static TClonesArray* fgAODMCParticles; //! MC Particles for replicatio + static AliAODTracklets* fgAODTracklets; //! Tracklets for replication + static AliAODCaloCells* fgAODEmcalCells; //! Emcal Cell replication + static AliAODCaloCells* fgAODPhosCells; //! Phos Cell replication + static TClonesArray* fgAODDimuons; //! Dimuons replication + // Event Selection + UInt_t fOfflineTriggerMask; // Task processes collision candidates only + // Event Mixing + AliMultiInputEventHandler *fMultiInputHandler; //! pointer to multihandler + AliMCEventHandler *fMCEventHandler; //! pointer to MCEventHandler + ClassDef(AliAnalysisTaskSE, 4); // Analysis task for standard jet analysis }; #endif