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;
26 class AliMUONCalibrationData : public TObject
30 * @param runNumber is used as a key to the CDB
31 * @param deferredInitialization if kFALSE, all the calibrations are fetched
32 * regardless of whether you'll use them or not.
34 AliMUONCalibrationData(Int_t runNumber=-1, Bool_t deferredInitialization=kTRUE);
35 virtual ~AliMUONCalibrationData();
37 /// Get the DeadChannel calibration object for channels within (detElemId,manuId).
38 AliMUONVCalibParam* DeadChannels(Int_t detElemId, Int_t manuId) const;
40 /// Get the Gain calibration object for channels within (detElemId,manuId).
41 AliMUONVCalibParam* Gains(Int_t detElemId, Int_t manuId) const;
43 /// Get the mask for the global trigger board.
44 AliMUONVCalibParam* GlobalTriggerBoardMasks() const;
46 /// Get the mask for a given local trigger board.
47 AliMUONVCalibParam* LocalTriggerBoardMasks(Int_t localBoardNumber) const;
49 /// Whether this object is valid or not (might be invalid if fetching from CDB failed).
50 Bool_t IsValid() const { return fIsValid; }
52 /// Get the Pedestal calibration object for channels within (detElemId,manuId).
53 AliMUONVCalibParam* Pedestals(Int_t detElemId, Int_t manuId) const;
56 virtual void Print(Option_t* opt="") const;
58 /// Get the mask for a given regional trigger board.
59 AliMUONVCalibParam* RegionalTriggerBoardMasks(Int_t index) const;
61 /// The runnumber used by this object.
62 Int_t RunNumber() const { return fRunNumber; }
64 /// Get the trigger Look Up Table.
65 AliMUONTriggerLut* TriggerLut() const;
67 /// Get the trigger efficiency map
68 AliMUONTriggerEfficiencyCells* TriggerEfficiency() const;
71 AliMUONCalibrationData(const AliMUONCalibrationData& other);
72 AliMUONCalibrationData& operator=(const AliMUONCalibrationData& other);
75 AliCDBEntry* GetEntry(const char* path) const;
76 AliMUONV2DStore* OnDemandGains() const;
77 AliMUONV2DStore* OnDemandPedestals() const;
78 AliMUONV2DStore* OnDemandDeadChannels() const;
79 AliMUONVCalibParam* OnDemandGlobalTriggerBoardMasks() const;
80 AliMUONV1DStore* OnDemandRegionalTriggerBoardMasks() const;
81 AliMUONV1DStore* OnDemandLocalTriggerBoardMasks() const;
82 AliMUONTriggerLut* OnDemandTriggerLut() const;
83 AliMUONTriggerEfficiencyCells* OnDemandTriggerEfficiency() const;
86 mutable Bool_t fIsValid; // Whether we were able to correctly initialize
87 Int_t fRunNumber; // The run number for which we hold calibrations
88 mutable AliMUONV2DStore* fGains; //!
89 mutable AliMUONV2DStore* fPedestals; //!
90 mutable AliMUONV2DStore* fDeadChannels; //!
91 mutable AliMUONV1DStore* fLocalTriggerBoardMasks; //!
92 mutable AliMUONV1DStore* fRegionalTriggerBoardMasks; //!
93 mutable AliMUONVCalibParam* fGlobalTriggerBoardMasks; //!
94 mutable AliMUONTriggerLut* fTriggerLut; //!
95 mutable AliMUONTriggerEfficiencyCells* fTriggerEfficiency; //!
97 ClassDef(AliMUONCalibrationData,3) // Storage for all MUON calibration data.