- Add information in the trigger chamber efficiency object in order to take into...
[u/mrichter/AliRoot.git] / MUON / AliMUONTriggerChamberEfficiency.h
CommitLineData
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
12#ifndef ALIMUONTRIGGEREFFICIENCY_H
13#define ALIMUONTRIGGEREFFICIENCY_H
14
15#include "TObject.h"
16class TH1;
17class TList;
18class TObjArray;
19class TGraphAsymmErrors;
20class AliMUONTriggerEfficiencyCells;
21
22class AliMUONTriggerChamberEfficiency : public TObject
23{
24public:
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
36 void IsTriggered(Int_t detElemId, Int_t localBoard, Bool_t &trigBend, Bool_t &trigNonBend) const;
37
38 Bool_t LowStatisticsSettings(Bool_t useMeanValues=kTRUE);
39
40 // Methods for display
41 void DisplayEfficiency(Bool_t perSlat=kFALSE, Bool_t show2Dhisto = kTRUE);
42
43 enum{
44 kHboardEff, ///< Efficiency per board index
45 kHslatEff ///< Efficiency per slat index
46 };
47
48private:
49 Int_t FindChamberIndex(Int_t detElemId) const;
50 void FillFromList(Bool_t useMeanValues = kFALSE);
51
52 Int_t GetIndex(Int_t histoType, Int_t countType,
53 Int_t chamber = -1) const;
54
55 TGraphAsymmErrors* GetEfficiencyGraph(TH1* histoNum, TH1* histoDen);
56
57 Bool_t fIsOwner; ///< Owner of efficiency map
58 AliMUONTriggerEfficiencyCells* fEfficiencyMap; ///< Efficiency map
59
60 TObjArray* fEfficiencyObjects; ///< Collect all efficiency
61 TList* fDisplayList; //!< List of objects for display
62
63 ClassDef(AliMUONTriggerChamberEfficiency,0) // Trigger efficiency store
64};
65#endif