1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
7 /// \class AliMUONCalibrationData
8 /// \brief Single entry point to access MUON calibration data.
10 // Author Laurent Aphecetche
12 #ifndef ALIMUONCALIBRATIONDATA_H
13 #define ALIMUONCALIBRATIONDATA_H
20 class AliMUONTriggerEfficiencyCells;
21 class AliMUONTriggerLut;
22 class AliMUONV1DStore;
23 class AliMUONV2DStore;
24 class AliMUONVCalibParam;
27 class AliMUONCalibrationData : public TObject
31 * @param runNumber is used as a key to the CDB
32 * @param deferredInitialization if kFALSE, all the calibrations are fetched
33 * regardless of whether you'll use them or not.
35 AliMUONCalibrationData(Int_t runNumber=-1, Bool_t deferredInitialization=kTRUE);
36 virtual ~AliMUONCalibrationData();
38 AliMUONV1DStore* Capacitances() const;
40 AliMUONV2DStore* Gains() const;
42 /// Get the Gain calibration object for channels within (detElemId,manuId).
43 AliMUONVCalibParam* Gains(Int_t detElemId, Int_t manuId) const;
45 /// Get the mask for the global trigger board.
46 AliMUONVCalibParam* GlobalTriggerBoardMasks() const;
48 /// Get the mask for a given local trigger board.
49 AliMUONVCalibParam* LocalTriggerBoardMasks(Int_t localBoardNumber) const;
54 /// Whether this object is valid or not (might be invalid if fetching from CDB failed).
55 Bool_t IsValid() const { return fIsValid; }
57 AliMUONV2DStore* Pedestals() const;
59 /// Get the Pedestal calibration object for channels within (detElemId,manuId).
60 AliMUONVCalibParam* Pedestals(Int_t detElemId, Int_t manuId) const;
63 virtual void Print(Option_t* opt="") const;
65 /// Get the mask for a given regional trigger board.
66 AliMUONVCalibParam* RegionalTriggerBoardMasks(Int_t index) const;
68 /// The runnumber used by this object.
69 Int_t RunNumber() const { return fRunNumber; }
71 /// Get the trigger Look Up Table.
72 AliMUONTriggerLut* TriggerLut() const;
74 /// Get the trigger efficiency map
75 AliMUONTriggerEfficiencyCells* TriggerEfficiency() const;
81 AliMUONCalibrationData(const AliMUONCalibrationData& other);
83 AliMUONCalibrationData& operator=(const AliMUONCalibrationData& other);
86 AliCDBEntry* GetEntry(const char* path) const;
87 AliMUONV1DStore* OnDemandCapacitances() const;
88 AliMUONV2DStore* OnDemandGains() const;
89 AliMUONV2DStore* OnDemandPedestals() const;
90 TMap* OnDemandHV() const;
91 AliMUONVCalibParam* OnDemandGlobalTriggerBoardMasks() const;
92 AliMUONV1DStore* OnDemandRegionalTriggerBoardMasks() const;
93 AliMUONV1DStore* OnDemandLocalTriggerBoardMasks() const;
94 AliMUONTriggerLut* OnDemandTriggerLut() const;
95 AliMUONTriggerEfficiencyCells* OnDemandTriggerEfficiency() const;
98 mutable Bool_t fIsValid; ///< Whether we were able to correctly initialize
99 Int_t fRunNumber; ///< The run number for which we hold calibrations
100 mutable AliMUONV2DStore* fGains; //!< Gains
101 mutable AliMUONV2DStore* fPedestals; //!< Pedestals
102 mutable TMap* fHV; //!< HV
103 mutable AliMUONV1DStore* fLocalTriggerBoardMasks; //!< Local trigger board maska
104 mutable AliMUONV1DStore* fRegionalTriggerBoardMasks; //!< Regional trigger board maska
105 mutable AliMUONVCalibParam* fGlobalTriggerBoardMasks; //!< Global trigger board maska
106 mutable AliMUONTriggerLut* fTriggerLut; //!< TRigger LUTs
107 mutable AliMUONTriggerEfficiencyCells* fTriggerEfficiency; //!< Trigger efficiency cells
108 mutable AliMUONV1DStore* fCapacitances; //!< Manu capacitances
110 ClassDef(AliMUONCalibrationData,5) // Storage for all MUON calibration data.