]>
Commit | Line | Data |
---|---|---|
f3d288ab | 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 AliMUONTriggerChamberEfficiency | |
8 | /// \brief Calculate, apply and possibly draw trigger chamber efficiency. | |
9 | /// | |
10 | // Author: Diego Stocco; Subatech, Nantes | |
11 | ||
9ee1d6ff | 12 | #ifndef ALIMUONTRIGGERCHAMBEREFFICIENCY_H |
13 | #define ALIMUONTRIGGERCHAMBEREFFICIENCY_H | |
f3d288ab | 14 | |
15 | #include "TObject.h" | |
16 | class TH1; | |
17 | class TList; | |
18 | class TObjArray; | |
19 | class TGraphAsymmErrors; | |
20 | class AliMUONTriggerEfficiencyCells; | |
21 | ||
22 | class AliMUONTriggerChamberEfficiency : public TObject | |
23 | { | |
24 | public: | |
25 | AliMUONTriggerChamberEfficiency(AliMUONTriggerEfficiencyCells* effMap); | |
26 | AliMUONTriggerChamberEfficiency(const Char_t* filename, | |
27 | const Char_t* listname="triggerChamberEff"); | |
28 | ||
29 | AliMUONTriggerChamberEfficiency(const AliMUONTriggerChamberEfficiency& other); // copy constructor | |
30 | AliMUONTriggerChamberEfficiency& operator=(const AliMUONTriggerChamberEfficiency& other); // assignment operator | |
31 | ||
32 | virtual ~AliMUONTriggerChamberEfficiency(); | |
33 | ||
34 | Float_t GetCellEfficiency(Int_t detElemId, Int_t localBoard, Int_t hType) const; | |
5bb523d1 | 35 | Float_t GetCellEfficiencyError(Int_t detElemId, Int_t localBoard, Int_t hType, Int_t errType) const; |
36 | TObject* GetEffObject(Int_t histoType, Int_t countType, Int_t chamber); | |
f3d288ab | 37 | |
38 | void IsTriggered(Int_t detElemId, Int_t localBoard, Bool_t &trigBend, Bool_t &trigNonBend) const; | |
39 | ||
40 | Bool_t LowStatisticsSettings(Bool_t useMeanValues=kTRUE); | |
41 | ||
42 | // Methods for display | |
43 | void DisplayEfficiency(Bool_t perSlat=kFALSE, Bool_t show2Dhisto = kTRUE); | |
44 | ||
45 | enum{ | |
46 | kHboardEff, ///< Efficiency per board index | |
47 | kHslatEff ///< Efficiency per slat index | |
48 | }; | |
49 | ||
50 | private: | |
51 | Int_t FindChamberIndex(Int_t detElemId) const; | |
52 | void FillFromList(Bool_t useMeanValues = kFALSE); | |
53 | ||
54 | Int_t GetIndex(Int_t histoType, Int_t countType, | |
55 | Int_t chamber = -1) const; | |
56 | ||
57 | TGraphAsymmErrors* GetEfficiencyGraph(TH1* histoNum, TH1* histoDen); | |
58 | ||
59 | Bool_t fIsOwner; ///< Owner of efficiency map | |
60 | AliMUONTriggerEfficiencyCells* fEfficiencyMap; ///< Efficiency map | |
61 | ||
62 | TObjArray* fEfficiencyObjects; ///< Collect all efficiency | |
63 | TList* fDisplayList; //!< List of objects for display | |
64 | ||
65 | ClassDef(AliMUONTriggerChamberEfficiency,0) // Trigger efficiency store | |
66 | }; | |
67 | #endif |