Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[u/mrichter/AliRoot.git] / MUON / AliMUONTriggerEfficiencyCells.h
1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2  * See cxx source for full Copyright notice                               */
3
4 // $Id$
5
6 /// \ingroup calib
7 /// \class AliMUONTriggerEfficiencyCells
8 /// \brief Store and give access to the trigger chamber efficiency.
9 ///
10 //  Author: Diego Stocco; INFN Torino
11
12 #ifndef ALIMUONTRIGGEREFFICIENCYCELLS_H
13 #define ALIMUONTRIGGEREFFICIENCYCELLS_H
14
15 #include "TObject.h"
16 class TH1F;
17 class TList;
18
19 class AliMUONTriggerEfficiencyCells : public TObject
20 {
21 public:
22   AliMUONTriggerEfficiencyCells();
23   AliMUONTriggerEfficiencyCells(const Char_t* filename, const Char_t* listname="triggerChamberEff");
24   AliMUONTriggerEfficiencyCells(TList *countHistoList);
25
26   AliMUONTriggerEfficiencyCells(const AliMUONTriggerEfficiencyCells& other); // copy constructor
27   AliMUONTriggerEfficiencyCells& operator=(const AliMUONTriggerEfficiencyCells& other); // assignment operator
28
29   virtual ~AliMUONTriggerEfficiencyCells();
30
31   enum {
32     kBendingEff,     ///< Bending plane fired
33     kNonBendingEff,  ///< Non-bending plane fired
34     kBothPlanesEff,  ///< Both planes fired
35     kAllTracks,      ///< tracks used for calculation
36     kNcounts         ///< Number of count type
37   };
38
39   enum {
40     kHboardCount,   ///< Counts per board index 
41     kHslatCount,    ///< Counts per slat index
42     kHchamberCount  ///< Counts per chamber index
43   };
44
45   const Char_t* GetHistoName(Int_t histoType, Int_t countType, 
46                              Int_t chamber = -1);
47
48   /// Get list of histograms
49   TList* GetHistoList() { return fCountHistoList; }
50
51   TH1F* GetOldEffHisto(Int_t hType, Int_t ich, Int_t icath) const; // obsolete
52
53 protected:
54     void ResetHistos(Bool_t deleteObjects = kFALSE);
55
56     void ReadFile(const Char_t* filename, 
57                   const Char_t* listname);
58
59 private:
60     void CheckConstants() const;
61
62     static const Int_t fgkNcathodes=2; ///<Number of cathodes
63     static const Int_t fgkNchambers=4; ///<Number of chambers
64     static const Int_t fgkNplanes=8;   ///<Number of planes
65     
66     TH1F *fBoardEfficiency[fgkNplanes];///< the boards content (obsolete)
67     TH1F *fSlatEfficiency[fgkNplanes];///< the slats content (obsolete)
68
69     TList *fCountHistoList; ///< list of histograms for efficiency calculation
70     TList *fNoCountHistoList; ///<list of efficiency denominators (obsolete)
71     TList *fFiredStrips; ///<list of fired strips for efficiency check (obsolete)
72
73     ClassDef(AliMUONTriggerEfficiencyCells,6) // Trigger efficiency store
74 };
75 #endif