]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ANALYSIS/AliAnalysisTaskSE.h
Possibility for event selection in input event handler.
[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"
10class AliVEvent;
11class AliAODEvent;
3f2431c4 12class AliAODHeader;
c185e0db 13class AliAODTracklets;
5a922844 14class AliAODCaloCells;
5232d0de 15class AliMCEvent;
80d13558 16class AliInputEventHandler;
f0ee78b0 17class AliAnalysisCuts;
5a922844 18
5232d0de 19class TTree;
1ec2c8dc 20class TList;
5232d0de 21
22
23class 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