]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONCalibrationData.h
Merge branch 'master' into TPCdev
[u/mrichter/AliRoot.git] / MUON / AliMUONCalibrationData.h
index 43013a9775eea1ad3d144656988c7c09402b1aef..23e98dad371f964c9e44a375b6ae60cced06df86 100644 (file)
@@ -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
 #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