ROOT logo
/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */

// $Id$

/// \ingroup calib
/// \class AliMUONTriggerEfficiencyCells
/// \brief Store and give access to the trigger chamber efficiency.
///
//  Author: Diego Stocco; INFN Torino

#ifndef ALIMUONTRIGGEREFFICIENCYCELLS_H
#define ALIMUONTRIGGEREFFICIENCYCELLS_H

#include "TObject.h"
class TH1F;
class TList;

class AliMUONTriggerEfficiencyCells : public TObject
{
public:
  AliMUONTriggerEfficiencyCells();
  AliMUONTriggerEfficiencyCells(const Char_t* filename, const Char_t* listname="triggerChamberEff");
  AliMUONTriggerEfficiencyCells(TList *countHistoList);

  AliMUONTriggerEfficiencyCells(const AliMUONTriggerEfficiencyCells& other); // copy constructor
  AliMUONTriggerEfficiencyCells& operator=(const AliMUONTriggerEfficiencyCells& other); // assignment operator

  virtual ~AliMUONTriggerEfficiencyCells();

  enum {
    kBendingEff,     ///< Bending plane fired
    kNonBendingEff,  ///< Non-bending plane fired
    kBothPlanesEff,  ///< Both planes fired
    kAllTracks,      ///< tracks used for calculation
    kNcounts         ///< Number of count type
  };

  enum {
    kHboardCount,   ///< Counts per board index 
    kHslatCount,    ///< Counts per slat index
    kHchamberCount  ///< Counts per chamber index
  };

  const Char_t* GetHistoName(Int_t histoType, Int_t countType, 
			     Int_t chamber = -1);

  /// Get list of histograms
  TList* GetHistoList() { return fCountHistoList; }

  TH1F* GetOldEffHisto(Int_t hType, Int_t ich, Int_t icath) const; // obsolete

protected:
    void ResetHistos(Bool_t deleteObjects = kFALSE);

    void ReadFile(const Char_t* filename, 
		  const Char_t* listname);

private:
    void CheckConstants() const;

    static const Int_t fgkNcathodes=2; ///<Number of cathodes
    static const Int_t fgkNchambers=4; ///<Number of chambers
    static const Int_t fgkNplanes=8;   ///<Number of planes
    
    TH1F *fBoardEfficiency[fgkNplanes];///< the boards content (obsolete)
    TH1F *fSlatEfficiency[fgkNplanes];///< the slats content (obsolete)

    TList *fCountHistoList; ///< list of histograms for efficiency calculation
    TList *fNoCountHistoList; ///<list of efficiency denominators (obsolete)
    TList *fFiredStrips; ///<list of fired strips for efficiency check (obsolete)

    ClassDef(AliMUONTriggerEfficiencyCells,6) // Trigger efficiency store
};
#endif
 AliMUONTriggerEfficiencyCells.h:1
 AliMUONTriggerEfficiencyCells.h:2
 AliMUONTriggerEfficiencyCells.h:3
 AliMUONTriggerEfficiencyCells.h:4
 AliMUONTriggerEfficiencyCells.h:5
 AliMUONTriggerEfficiencyCells.h:6
 AliMUONTriggerEfficiencyCells.h:7
 AliMUONTriggerEfficiencyCells.h:8
 AliMUONTriggerEfficiencyCells.h:9
 AliMUONTriggerEfficiencyCells.h:10
 AliMUONTriggerEfficiencyCells.h:11
 AliMUONTriggerEfficiencyCells.h:12
 AliMUONTriggerEfficiencyCells.h:13
 AliMUONTriggerEfficiencyCells.h:14
 AliMUONTriggerEfficiencyCells.h:15
 AliMUONTriggerEfficiencyCells.h:16
 AliMUONTriggerEfficiencyCells.h:17
 AliMUONTriggerEfficiencyCells.h:18
 AliMUONTriggerEfficiencyCells.h:19
 AliMUONTriggerEfficiencyCells.h:20
 AliMUONTriggerEfficiencyCells.h:21
 AliMUONTriggerEfficiencyCells.h:22
 AliMUONTriggerEfficiencyCells.h:23
 AliMUONTriggerEfficiencyCells.h:24
 AliMUONTriggerEfficiencyCells.h:25
 AliMUONTriggerEfficiencyCells.h:26
 AliMUONTriggerEfficiencyCells.h:27
 AliMUONTriggerEfficiencyCells.h:28
 AliMUONTriggerEfficiencyCells.h:29
 AliMUONTriggerEfficiencyCells.h:30
 AliMUONTriggerEfficiencyCells.h:31
 AliMUONTriggerEfficiencyCells.h:32
 AliMUONTriggerEfficiencyCells.h:33
 AliMUONTriggerEfficiencyCells.h:34
 AliMUONTriggerEfficiencyCells.h:35
 AliMUONTriggerEfficiencyCells.h:36
 AliMUONTriggerEfficiencyCells.h:37
 AliMUONTriggerEfficiencyCells.h:38
 AliMUONTriggerEfficiencyCells.h:39
 AliMUONTriggerEfficiencyCells.h:40
 AliMUONTriggerEfficiencyCells.h:41
 AliMUONTriggerEfficiencyCells.h:42
 AliMUONTriggerEfficiencyCells.h:43
 AliMUONTriggerEfficiencyCells.h:44
 AliMUONTriggerEfficiencyCells.h:45
 AliMUONTriggerEfficiencyCells.h:46
 AliMUONTriggerEfficiencyCells.h:47
 AliMUONTriggerEfficiencyCells.h:48
 AliMUONTriggerEfficiencyCells.h:49
 AliMUONTriggerEfficiencyCells.h:50
 AliMUONTriggerEfficiencyCells.h:51
 AliMUONTriggerEfficiencyCells.h:52
 AliMUONTriggerEfficiencyCells.h:53
 AliMUONTriggerEfficiencyCells.h:54
 AliMUONTriggerEfficiencyCells.h:55
 AliMUONTriggerEfficiencyCells.h:56
 AliMUONTriggerEfficiencyCells.h:57
 AliMUONTriggerEfficiencyCells.h:58
 AliMUONTriggerEfficiencyCells.h:59
 AliMUONTriggerEfficiencyCells.h:60
 AliMUONTriggerEfficiencyCells.h:61
 AliMUONTriggerEfficiencyCells.h:62
 AliMUONTriggerEfficiencyCells.h:63
 AliMUONTriggerEfficiencyCells.h:64
 AliMUONTriggerEfficiencyCells.h:65
 AliMUONTriggerEfficiencyCells.h:66
 AliMUONTriggerEfficiencyCells.h:67
 AliMUONTriggerEfficiencyCells.h:68
 AliMUONTriggerEfficiencyCells.h:69
 AliMUONTriggerEfficiencyCells.h:70
 AliMUONTriggerEfficiencyCells.h:71
 AliMUONTriggerEfficiencyCells.h:72
 AliMUONTriggerEfficiencyCells.h:73
 AliMUONTriggerEfficiencyCells.h:74
 AliMUONTriggerEfficiencyCells.h:75