Line data Source code
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 :
12 : #ifndef ALIMUONTRIGGERCHAMBEREFFICIENCY_H
13 : #define ALIMUONTRIGGERCHAMBEREFFICIENCY_H
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;
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);
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 152 : ClassDef(AliMUONTriggerChamberEfficiency,0) // Trigger efficiency store
66 : };
67 : #endif
|