X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=MUON%2FAliMUONCalibrationData.h;h=5541af3ac986c4ee332fab2acd6e0f3eb680a30f;hb=94c539aeb9dd7c022947abeff15338e753684c70;hp=58547b2042577d900c8cd3ce9063b9e0a9a73c08;hpb=884a73f1d555fcad7e1d027ae330127d1ff97565;p=u%2Fmrichter%2FAliRoot.git diff --git a/MUON/AliMUONCalibrationData.h b/MUON/AliMUONCalibrationData.h index 58547b20425..5541af3ac98 100644 --- a/MUON/AliMUONCalibrationData.h +++ b/MUON/AliMUONCalibrationData.h @@ -3,14 +3,11 @@ // $Id$ -/// \ingroup base +/// \ingroup calib /// \class AliMUONCalibrationData /// \brief Single entry point to access MUON calibration data. -/// -/// For the moment, this class stores pedestals, gains and deadchannels -/// that are fetched from the CDB. /// -/// \author Laurent Aphecetche +// Author Laurent Aphecetche #ifndef ALIMUONCALIBRATIONDATA_H #define ALIMUONCALIBRATIONDATA_H @@ -20,8 +17,15 @@ #endif class AliCDBEntry; +class AliMUONGlobalCrateConfig; +class AliMUONRegionalTriggerConfig; +class AliMUONRejectList; +class AliMUONTriggerEfficiencyCells; +class AliMUONTriggerLut; class AliMUONVCalibParam; -class AliMUONV2DStore; +class AliMUONVStore; +class AliMUONVStore; +class TMap; class AliMUONCalibrationData : public TObject { @@ -34,42 +38,144 @@ public: AliMUONCalibrationData(Int_t runNumber=-1, Bool_t deferredInitialization=kTRUE); virtual ~AliMUONCalibrationData(); - /// Get the DeadChannel calibration object for channels within (detElemId,manuId). - AliMUONVCalibParam* DeadChannel(Int_t detElemId, Int_t manuId) const; + AliMUONVStore* Capacitances() const; + + /// Create a capa store (which must be deleted) from OCDB for the given run + static AliMUONVStore* CreateCapacitances(Int_t runNumber, Int_t* startOfValidity=0); + + /// Create a gain store (which must be deleted) from OCDB for the given run + static AliMUONVStore* CreateGains(Int_t runNumber, Int_t* startOfValidity=0); + + /// Create a global trigger mask (which must be deleted) from OCDB for the given run + static AliMUONGlobalCrateConfig* CreateGlobalTriggerCrateConfig(Int_t runNumber, Int_t* startOfValidity=0); + + /// Create a hv map (which must be deleted) from OCDB for the given run + static TMap* CreateHV(Int_t runNumber, Int_t* startOfValidity=0); + + /// Create a Trigger HV and current map (which must be deleted) from OCDB for the given run + static TMap* CreateTriggerDCS(Int_t runNumber, Int_t* startOfValidity=0); + + /// Create a neighbours store (which must be deleted) from OCDB for the given run + static AliMUONVStore* CreateNeighbours(Int_t runNumber, Int_t* startOfValidity=0); + + /// Create a local trigger mask store (which must be deleted) for a given run + static AliMUONVStore* CreateLocalTriggerBoardMasks(Int_t runNumber, Int_t* startOfValidity=0); + + /// Create an occupancy map store (which must be deleted) from OCDB for the given run + static AliMUONVStore* CreateOccupancyMap(Int_t runNumber, Int_t* startOfValidity=0); + + /// Create a rejectlist store (which must be deleted) from OCDB for the given run + static AliMUONRejectList* CreateRejectList(Int_t runNumber, Int_t* startOfValidity=0); + + /// Create a pedestal store (which must be deleted) from OCDB for the given run + static AliMUONVStore* CreatePedestals(Int_t runNumber, Int_t* startOfValidity=0); + + /// Create a configuration store (which must be deleted) from OCDB for the given run + static AliMUONVStore* CreateConfig(Int_t runNumber, Int_t* startOfValidity=0); + + /// Create a regional trigger mask store (which must be deleted) for a given run + static AliMUONRegionalTriggerConfig* CreateRegionalTriggerConfig(Int_t runNumber, Int_t* startOfValidity=0); + + /// Create a trigger Look Up Table (which must be deleted) for a given run + static AliMUONTriggerLut* CreateTriggerLut(Int_t runNumber, Int_t* startOfValidity=0); + /// Create a trigger efficiency map (which must be deleted) for a given run + static AliMUONTriggerEfficiencyCells* CreateTriggerEfficiency(Int_t runNumber, Int_t* startOfValidity=0); + /// Get all the gains + AliMUONVStore* Gains() const; + + /// Get the configuration for the global trigger board. + AliMUONGlobalCrateConfig* GlobalTriggerCrateConfig() const; + /// Get the Gain calibration object for channels within (detElemId,manuId). - AliMUONVCalibParam* Gain(Int_t detElemId, Int_t manuId) const; + AliMUONVCalibParam* Gains(Int_t detElemId, Int_t manuId) const; + + /// Get the HV values + TMap* HV() const; + /// Get the Trigger HV and current values + TMap* TriggerDCS() const; + /// Whether this object is valid or not (might be invalid if fetching from CDB failed). Bool_t IsValid() const { return fIsValid; } + + /// Get the mask for a given local trigger board. + AliMUONVCalibParam* LocalTriggerBoardMasks(Int_t localBoardNumber) const; + + /// Get the neighbours store + AliMUONVStore* Neighbours() const; + /// Get the pedestal store + AliMUONVStore* Pedestals() const; + + /// Get the config store + AliMUONVStore* Config() const; + + /// Get the occupancy map store + AliMUONVStore* OccupancyMap() const; + + /// Get the reject list store + AliMUONRejectList* RejectList() const; + /// Get the Pedestal calibration object for channels within (detElemId,manuId). - AliMUONVCalibParam* Pedestal(Int_t detElemId, Int_t manuId) const; + AliMUONVCalibParam* Pedestals(Int_t detElemId, Int_t manuId) const; /// Dump to screen. virtual void Print(Option_t* opt="") const; - + + /// Get the config for regional trigger. + AliMUONRegionalTriggerConfig* RegionalTriggerConfig() const; + + /// The runnumber used by this object. Int_t RunNumber() const { return fRunNumber; } + /// Get the trigger Look Up Table. + AliMUONTriggerLut* TriggerLut() const; + + /// Get the trigger efficiency map + AliMUONTriggerEfficiencyCells* TriggerEfficiency() const; + + void Reset(); + + static TObject* CreateObject(Int_t runNumber, const char* path, Int_t* startOfValidity=0x0); + + static void Check(Int_t runNumber); + + static void BypassStores(AliMUONVStore* ped, AliMUONVStore* gain); + protected: - AliMUONCalibrationData(const AliMUONCalibrationData& right); - AliMUONCalibrationData& operator = (const AliMUONCalibrationData& right); - + /// Not implemented + AliMUONCalibrationData(const AliMUONCalibrationData& other); + /// Not implemented + AliMUONCalibrationData& operator=(const AliMUONCalibrationData& other); + private: - AliCDBEntry* GetEntry(const char* path) const; - AliMUONV2DStore* Gains() const; - AliMUONV2DStore* Pedestals() const; - AliMUONV2DStore* DeadChannels() const; - -private: - mutable Bool_t fIsValid; - Int_t fRunNumber; - mutable AliMUONV2DStore* fGains; //! - mutable AliMUONV2DStore* fPedestals; //! - mutable AliMUONV2DStore* fDeadChannels; //! - - ClassDef(AliMUONCalibrationData,2) // Storage for all MUON calibration data. + mutable Bool_t fIsValid; ///< Whether we were able to correctly initialize + Int_t fRunNumber; ///< The run number for which we hold calibrations + mutable AliMUONVStore* fGains; //!< Gains + mutable AliMUONVStore* fPedestals; //!< Pedestals + mutable TMap* fHV; //!< HV + mutable TMap* fTriggerDCS; //!< Trigger HV and Currents + mutable AliMUONVStore* fLocalTriggerBoardMasks; //!< Local trigger board maska + mutable AliMUONRegionalTriggerConfig* fRegionalTriggerConfig; //!< Regional trigger config + mutable AliMUONGlobalCrateConfig* fGlobalTriggerCrateConfig; //!< Global trigger crate config + + mutable AliMUONTriggerLut* fTriggerLut; //!< TRigger LUTs + mutable AliMUONTriggerEfficiencyCells* fTriggerEfficiency; //!< Trigger efficiency cells + mutable AliMUONVStore* fCapacitances; //!< Manu capacitances + mutable AliMUONVStore* fNeighbours; //!< list of neighbours for all channels + + mutable AliMUONVStore* fOccupancyMap; //!< occupancy map + + mutable AliMUONRejectList* fRejectList; //!< reject list + + static AliMUONVStore* fBypassPedestals; + static AliMUONVStore* fBypassGains; + + mutable AliMUONVStore* fConfig; //!< configuration of the tracker + + ClassDef(AliMUONCalibrationData,13) // Storage for all MUON calibration data. }; #endif