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