]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONCalibrationData.h
In AliMUONRawStreamTriggerHP:
[u/mrichter/AliRoot.git] / MUON / AliMUONCalibrationData.h
CommitLineData
c5bdf179 1/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2* See cxx source for full Copyright notice */
3
4// $Id$
5
e41c38cf 6/// \ingroup calib
c5bdf179 7/// \class AliMUONCalibrationData
c3ce65fd 8/// \brief Single entry point to access MUON calibration data.
c5bdf179 9///
5398f946 10// Author Laurent Aphecetche
c5bdf179 11
12#ifndef ALIMUONCALIBRATIONDATA_H
13#define ALIMUONCALIBRATIONDATA_H
14
15#ifndef ROOT_TObject
16#include "TObject.h"
17#endif
18
19class AliCDBEntry;
e7d7fa47 20class AliMUONTriggerEfficiencyCells;
21class AliMUONTriggerLut;
a0eca509 22class AliMUONVStore;
23class AliMUONVStore;
e7d7fa47 24class AliMUONVCalibParam;
92c23b09 25class AliMUONGlobalCrateConfig;
26class AliMUONRegionalTriggerConfig;
48ed403b 27class TMap;
c5bdf179 28
29class AliMUONCalibrationData : public TObject
30{
31public:
c3ce65fd 32 /** Constructor.
33 * @param runNumber is used as a key to the CDB
34 * @param deferredInitialization if kFALSE, all the calibrations are fetched
35 * regardless of whether you'll use them or not.
36 */
c5bdf179 37 AliMUONCalibrationData(Int_t runNumber=-1, Bool_t deferredInitialization=kTRUE);
38 virtual ~AliMUONCalibrationData();
c3ce65fd 39
a0eca509 40 AliMUONVStore* Capacitances() const;
5562688f 41
42 /// Create a capa store (which must be deleted) from OCDB for the given run
43 static AliMUONVStore* CreateCapacitances(Int_t runNumber);
44
45 /// Create a gain store (which must be deleted) from OCDB for the given run
46 static AliMUONVStore* CreateGains(Int_t runNumber);
47
48 /// Create a global trigger mask (which must be deleted) from OCDB for the given run
92c23b09 49 static AliMUONGlobalCrateConfig* CreateGlobalTriggerCrateConfig(Int_t runNumber);
c1bbaf66 50
5562688f 51 /// Create a hv map (which must be deleted) from OCDB for the given run
52 static TMap* CreateHV(Int_t runNumber);
53
54 /// Create a neighbours store (which must be deleted) from OCDB for the given run
55 static AliMUONVStore* CreateNeighbours(Int_t runNumber);
c5bdf179 56
5562688f 57 /// Create a local trigger mask store (which must be deleted) for a given run
58 static AliMUONVStore* CreateLocalTriggerBoardMasks(Int_t runNumber);
e7d7fa47 59
5562688f 60 /// Create a pedestal store (which must be deleted) from OCDB for the given run
61 static AliMUONVStore* CreatePedestals(Int_t runNumber);
c3ce65fd 62
5562688f 63 /// Create a regional trigger mask store (which must be deleted) for a given run
92c23b09 64 static AliMUONRegionalTriggerConfig* CreateRegionalTriggerConfig(Int_t runNumber);
48ed403b 65
5562688f 66 /// Create a trigger Look Up Table (which must be deleted) for a given run
67 static AliMUONTriggerLut* CreateTriggerLut(Int_t runNumber);
68
69 /// Create a trigger efficiency map (which must be deleted) for a given run
70 static AliMUONTriggerEfficiencyCells* CreateTriggerEfficiency(Int_t runNumber);
71
72 /// Get all the gains
73 AliMUONVStore* Gains() const;
74
92c23b09 75 /// Get the configuration for the global trigger board.
76 AliMUONGlobalCrateConfig* GlobalTriggerCrateConfig() const;
5562688f 77
78 /// Get the Gain calibration object for channels within (detElemId,manuId).
79 AliMUONVCalibParam* Gains(Int_t detElemId, Int_t manuId) const;
80
48ed403b 81 /// Get the HV values
82 TMap* HV() const;
5562688f 83
c3ce65fd 84 /// Whether this object is valid or not (might be invalid if fetching from CDB failed).
85 Bool_t IsValid() const { return fIsValid; }
5562688f 86
87 /// Get the mask for a given local trigger board.
88 AliMUONVCalibParam* LocalTriggerBoardMasks(Int_t localBoardNumber) const;
89
90 /// Get the neighbours store
91 AliMUONVStore* Neighbours() const;
c5bdf179 92
5562688f 93 /// Get the pedestal store
a0eca509 94 AliMUONVStore* Pedestals() const;
48ed403b 95
c3ce65fd 96 /// Get the Pedestal calibration object for channels within (detElemId,manuId).
e7d7fa47 97 AliMUONVCalibParam* Pedestals(Int_t detElemId, Int_t manuId) const;
c5bdf179 98
c3ce65fd 99 /// Dump to screen.
c5bdf179 100 virtual void Print(Option_t* opt="") const;
e7d7fa47 101
92c23b09 102 /// Get the config for regional trigger.
103 AliMUONRegionalTriggerConfig* RegionalTriggerConfig() const;
104
e7d7fa47 105
c3ce65fd 106 /// The runnumber used by this object.
107 Int_t RunNumber() const { return fRunNumber; }
c5bdf179 108
e7d7fa47 109 /// Get the trigger Look Up Table.
110 AliMUONTriggerLut* TriggerLut() const;
111
112 /// Get the trigger efficiency map
113 AliMUONTriggerEfficiencyCells* TriggerEfficiency() const;
114
c1bbaf66 115 void Reset();
0145e89a 116
117 static TObject* CreateObject(Int_t runNumber, const char* path);
c1bbaf66 118
630711ed 119 static void Check(Int_t runNumber);
120
884a73f1 121protected:
71a2d3aa 122 /// Not implemented
e7d7fa47 123 AliMUONCalibrationData(const AliMUONCalibrationData& other);
71a2d3aa 124 /// Not implemented
e7d7fa47 125 AliMUONCalibrationData& operator=(const AliMUONCalibrationData& other);
126
5562688f 127private:
71a2d3aa 128 mutable Bool_t fIsValid; ///< Whether we were able to correctly initialize
129 Int_t fRunNumber; ///< The run number for which we hold calibrations
a0eca509 130 mutable AliMUONVStore* fGains; //!< Gains
131 mutable AliMUONVStore* fPedestals; //!< Pedestals
71a2d3aa 132 mutable TMap* fHV; //!< HV
92c23b09 133 mutable AliMUONVStore* fLocalTriggerBoardMasks; //!< Local trigger board maska
134 mutable AliMUONRegionalTriggerConfig* fRegionalTriggerConfig; //!< Regional trigger config
135 mutable AliMUONGlobalCrateConfig* fGlobalTriggerCrateConfig; //!< Global trigger crate config
136
71a2d3aa 137 mutable AliMUONTriggerLut* fTriggerLut; //!< TRigger LUTs
138 mutable AliMUONTriggerEfficiencyCells* fTriggerEfficiency; //!< Trigger efficiency cells
a0eca509 139 mutable AliMUONVStore* fCapacitances; //!< Manu capacitances
140 mutable AliMUONVStore* fNeighbours; //!< list of neighbours for all channels
c5bdf179 141
a0eca509 142 ClassDef(AliMUONCalibrationData,7) // Storage for all MUON calibration data.
c5bdf179 143};
144
145#endif