X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=MUON%2FAliMUONCalibrationData.h;h=23e98dad371f964c9e44a375b6ae60cced06df86;hb=68eea34845af8d6af36b43ad6a5cc0a1d8f9295f;hp=43013a9775eea1ad3d144656988c7c09402b1aef;hpb=e41c38cfb6bec3e9c03e9cbad9727a88e39e1a6b;p=u%2Fmrichter%2FAliRoot.git diff --git a/MUON/AliMUONCalibrationData.h b/MUON/AliMUONCalibrationData.h index 43013a9775e..23e98dad371 100644 --- a/MUON/AliMUONCalibrationData.h +++ b/MUON/AliMUONCalibrationData.h @@ -1,7 +1,7 @@ /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * * See cxx source for full Copyright notice */ -// $Id$ +// $Id: AliMUONCalibrationData.h 59457 2012-11-06 12:36:48Z laphecet $ /// \ingroup calib /// \class AliMUONCalibrationData @@ -17,13 +17,14 @@ #endif class AliCDBEntry; +class AliMUONGlobalCrateConfig; +class AliMUONRegionalTriggerConfig; +class AliMUONRejectList; class AliMUONTriggerEfficiencyCells; class AliMUONTriggerLut; +class AliMUONVCalibParam; class AliMUONVStore; class AliMUONVStore; -class AliMUONVCalibParam; -class AliMUONGlobalCrateConfig; -class AliMUONRegionalTriggerConfig; class TMap; class AliMUONCalibrationData : public TObject @@ -40,34 +41,45 @@ public: AliMUONVStore* Capacitances() const; /// Create a capa store (which must be deleted) from OCDB for the given run - static AliMUONVStore* CreateCapacitances(Int_t runNumber); + 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); + 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); + 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); + static TMap* CreateHV(Int_t runNumber, Int_t* startOfValidity=0, Bool_t patched=kTRUE, TList* messages=0x0, Bool_t dryRun=kFALSE); + + /// 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); + 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); + 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); + 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); + 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); - + 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); + static AliMUONTriggerEfficiencyCells* CreateTriggerEfficiency(Int_t runNumber, Int_t* startOfValidity=0); /// Get all the gains AliMUONVStore* Gains() const; @@ -78,8 +90,11 @@ public: /// Get the Gain calibration object for channels within (detElemId,manuId). AliMUONVCalibParam* Gains(Int_t detElemId, Int_t manuId) const; - /// Get the HV values - TMap* HV() const; + /// Get the HV values. Use patched=kFALSE to get unprocessed (i.e. "raw") values as they are in the OCDB + TMap* HV(Bool_t patched=kTRUE) 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; } @@ -92,7 +107,16 @@ public: /// 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* Pedestals(Int_t detElemId, Int_t manuId) const; @@ -114,20 +138,38 @@ public: void Reset(); - static TObject* CreateObject(Int_t runNumber, const char* path); + 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: /// Not implemented AliMUONCalibrationData(const AliMUONCalibrationData& other); /// Not implemented AliMUONCalibrationData& operator=(const AliMUONCalibrationData& other); + + static Bool_t PatchHVValues(TObjArray& values, TString* msg=0x0, Bool_t dryRun=kFALSE); + static Bool_t CheckHVGroup(TObjArray& values, Int_t first, Int_t last, Double_t& value, + Int_t& slope, TString* msg); + + static void PatchSt1DCSAliases(TMap& hvMap); + + static void AddToMap(const TMap& sourceMap, + TMap& destMap, + const TString& key, + const char* source, + const char* dest); + private: 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 @@ -137,7 +179,18 @@ private: mutable AliMUONVStore* fCapacitances; //!< Manu capacitances mutable AliMUONVStore* fNeighbours; //!< list of neighbours for all channels - ClassDef(AliMUONCalibrationData,7) // Storage for all MUON calibration data. + mutable AliMUONVStore* fOccupancyMap; //!< occupancy map + + mutable AliMUONRejectList* fRejectList; //!< reject list + + static AliMUONVStore* fgBypassPedestals; + static AliMUONVStore* fgBypassGains; + + mutable AliMUONVStore* fConfig; //!< configuration of the tracker + + static UInt_t fgkDCSSt1Flag; //!< flag to indicate that the DCS alias naming is not messed up in St1 + + ClassDef(AliMUONCalibrationData,14) // Storage for all MUON calibration data. }; #endif