]>
Commit | Line | Data |
---|---|---|
d3dd3d14 | 1 | #ifndef ALIESDINPUTHANDLER_H |
2 | #define ALIESDINPUTHANDLER_H | |
3 | /* Copyright(c) 1998-2007, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | /* $Id$ */ | |
7 | ||
8 | //------------------------------------------------------------------------- | |
9 | // ESD Input Handler realisation of the AliVEventHandler interface | |
10 | // Author: Andreas Morsch, CERN | |
11 | //------------------------------------------------------------------------- | |
12 | ||
13 | #include "AliInputEventHandler.h" | |
fedd7a0d | 14 | #include "AliESDEvent.h" |
1aa09fd1 | 15 | class TChain; |
16 | class TTree; | |
17 | class AliRunTag; | |
18 | ||
d3dd3d14 | 19 | |
20 | class AliESDInputHandler : public AliInputEventHandler { | |
21 | ||
22 | public: | |
23 | AliESDInputHandler(); | |
24 | AliESDInputHandler(const char* name, const char* title); | |
25 | virtual ~AliESDInputHandler(); | |
300d5701 | 26 | virtual Bool_t Init(Option_t* /*opt*/) {return kTRUE;} |
27 | virtual Bool_t Init(TTree* tree, Option_t* opt); | |
ed97dc98 | 28 | virtual Bool_t BeginEvent(Long64_t entry); |
1aa09fd1 | 29 | virtual Bool_t Notify() { return AliVEventHandler::Notify(); }; |
30 | virtual Bool_t Notify(const char* path); | |
6989bff3 | 31 | virtual Bool_t FinishEvent(); |
1aa09fd1 | 32 | AliESDEvent *GetEvent() const {return fEvent;} |
33 | Option_t *GetAnalysisType() const {return fAnalysisType;} | |
c2b6979d | 34 | Option_t *GetDataType() const; |
300d5701 | 35 | // |
865d620a | 36 | void SetInactiveBranches(const char* branches) {fBranches = branches;} |
37 | void SetActiveBranches (const char* branches) {fBranchesOn = branches;} | |
1aa09fd1 | 38 | // Tag analysis |
39 | void SetReadTags() {fUseTags = kTRUE;} | |
40 | AliRunTag *GetRunTag() const {return fRunTag;} | |
41 | ||
300d5701 | 42 | private: |
43 | void SwitchOffBranches() const; | |
3858dd64 | 44 | void SwitchOnBranches() const; |
87d395bd | 45 | AliESDInputHandler(const AliESDInputHandler& handler); |
46 | AliESDInputHandler& operator=(const AliESDInputHandler& handler); | |
4d2a7370 | 47 | protected: |
1aa09fd1 | 48 | // ESD event |
49 | AliESDEvent *fEvent; //! Pointer to the event | |
50 | TString fBranches; // List of branches to be switched off (separated by space) | |
51 | TString fBranchesOn; // List of branches to be switched on (separated by space) | |
52 | Option_t *fAnalysisType; //! local, proof, grid | |
4d2a7370 | 53 | Int_t fNEvents; //! Number of events in the current tree |
1aa09fd1 | 54 | |
55 | // ESD Tags (optional) | |
56 | Bool_t fUseTags; // Flag to use tags | |
57 | TChain *fChainT; //! File with event tags | |
58 | TTree *fTreeT; //! Tree of tags | |
59 | AliRunTag *fRunTag; //! Pointer to the run tag | |
60 | ClassDef(AliESDInputHandler, 3); | |
d3dd3d14 | 61 | }; |
62 | ||
63 | #endif |