]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG0/AliSelector.h
moving header files to cxx
[u/mrichter/AliRoot.git] / PWG0 / AliSelector.h
1 /* $Id$ */
2
3 #ifndef ALISELECTOR_H
4 #define ALISELECTOR_H
5
6 // This selector is only dependent on the ESD library, if you need the whole of AliROOT use AliSelectorRL
7
8 #include <TSelector.h>
9
10 class TFile;
11 class TChain;
12 class TTree;
13 class TParticle;
14
15 class AliESD;
16 class AliHeader;
17
18 class AliSelector : public TSelector {
19   public:
20     AliSelector();
21     virtual ~AliSelector();
22
23     virtual Int_t   Version() const {return 1;}
24     virtual void    Begin(TTree *tree);
25     virtual void    SlaveBegin(TTree *tree);
26     virtual void    Init(TTree *tree);
27     virtual Bool_t  Notify();
28     virtual Bool_t  Process(Long64_t entry);
29     virtual void    SlaveTerminate();
30     virtual void    Terminate();
31
32  protected:
33     TTree*  GetKinematics();
34     AliHeader* GetHeader();
35     Bool_t IsPrimaryCharged(TParticle* aParticle, Int_t aTotalPrimaries) const;
36
37     TChain          *fChain;   //! pointer to the analyzed TTree or TChain
38
39     AliESD*          fESD;     //! "ESD" branch in fChain
40
41     Int_t fCountFiles;         // number of processed file
42
43  private:
44     void DeleteKinematicsFile();
45     void DeleteHeaderFile();
46
47     TFile*        fKineFile;   //! pointer to Kinematics.root if the file was opened
48
49     TFile*        fHeaderFile; //! pointer to galice.root, if the file was opened
50     TTree*        fHeaderTree; //! holds TE tree of current galice.root
51     AliHeader*    fHeader;     //! holds pointer to current header
52
53   ClassDef(AliSelector,0);
54 };
55
56 #endif