- Disentangle masks effect from trigger chamber efficiency estimation.
[u/mrichter/AliRoot.git] / MUON / AliMUONTreeManager.h
1 #ifndef ALIMUONTREEMANAGER_H
2 #define ALIMUONTREEMANAGER_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 /// \ingroup core
10 /// \class AliMUONTreeManager
11 /// \brief Helper class to ease TTree (MUON) branches manipulations
12 /// 
13 // Author Laurent Aphecetche, Subatech
14
15 #ifndef ROOT_TObject
16 #  include "TObject.h"
17 #endif
18
19 class AliMUONVStore;
20 class TTree;
21 class TBranch;
22
23 class AliMUONTreeManager : public TObject
24 {
25 public:
26
27   AliMUONTreeManager();
28   virtual ~AliMUONTreeManager();
29
30   void AddClassName(TTree& tree, const char* pattern, 
31                     const char* className) const;
32     
33   Bool_t MakeBranch(TTree& tree, const char* storeClassName,
34                     const char* branchClassName, const char* branchName, 
35                     void* address,
36                     Int_t bufferSize = 4000, Int_t splitLevel = 99) const;
37   
38   Bool_t SetAddress(TTree& tree, const char* branchName, void* address) const;
39   
40   TObject* CreateObject(const TTree& tree, const char* detail) const;
41   
42   void UpdateBranchStatuses(TTree& tree, const char* pattern) const;
43   
44   /** Debug method to get an event, but checking beforehand that all selected
45     branches do have a non-zero address set (otherwise we leak memory). 
46     */
47   void GetEvent(TTree& tree, Int_t event) const;
48   
49   /// Debug method to show the tree branch statuses and addresses.
50   void ShowStatus(TTree& tree) const;
51
52 private:
53
54   TString GetClassName(const TTree& tree, const char* pattern,
55                        Bool_t makeDefault) const;
56     
57   TString DefaultClassName(const char* treename, const char* pattern) const;
58   
59   ClassDef(AliMUONTreeManager,0) // Helper class to handle MUON TTrees
60 };
61
62 #endif