fGains(0x0),
fPedestals(0x0),
fHV(0x0),
+fTriggerDCS(0x0),
fLocalTriggerBoardMasks(0x0),
fRegionalTriggerConfig(0x0),
fGlobalTriggerCrateConfig(0x0),
fTriggerLut(0x0),
fTriggerEfficiency(0x0),
fCapacitances(0x0),
-fNeighbours(0x0)
+fNeighbours(0x0),
+fKillMap(0x0)
{
/// Default ctor.
{
Gains();
Pedestals();
+ KillMap();
HV();
+ TriggerDCS();
LocalTriggerBoardMasks(0);
RegionalTriggerConfig();
GlobalTriggerCrateConfig();
AliMUONCalibrationData::~AliMUONCalibrationData()
{
/// Destructor. Note that we're the owner of our pointers.
- Reset();
+ //PH The owner of the objects is CDB, do not delete them!
+ // Reset();
}
//_____________________________________________________________________________
return dynamic_cast<TMap*>(CreateObject(runNumber,"MUON/Calib/HV",startOfValidity));
}
+//_____________________________________________________________________________
+TMap*
+AliMUONCalibrationData::CreateTriggerDCS(Int_t runNumber, Int_t* startOfValidity)
+{
+ /// Create a new Trigger HV and curent map from the OCDB for a given run
+ return dynamic_cast<TMap*>(CreateObject(runNumber,"MUON/Calib/TriggerDCS",startOfValidity));
+}
+
//_____________________________________________________________________________
AliMUONVStore*
AliMUONCalibrationData::CreateLocalTriggerBoardMasks(Int_t runNumber, Int_t* startOfValidity)
return 0x0;
}
+//_____________________________________________________________________________
+AliMUONVStore*
+AliMUONCalibrationData::CreateKillMap(Int_t runNumber, Int_t* startOfValidity)
+{
+ /// Create a new killmap store from the OCDB for a given run
+ return dynamic_cast<AliMUONVStore*>(CreateObject(runNumber,"MUON/Calib/KillMap",startOfValidity));
+}
+
//_____________________________________________________________________________
AliMUONVStore*
AliMUONCalibrationData::CreatePedestals(Int_t runNumber, Int_t* startOfValidity)
return fHV;
}
+//_____________________________________________________________________________
+TMap*
+AliMUONCalibrationData::TriggerDCS() const
+{
+ /// Return the calibration for a given (detElemId, manuId) pair
+
+ if (!fTriggerDCS)
+ {
+ fTriggerDCS = CreateTriggerDCS(fRunNumber);
+ }
+ return fTriggerDCS;
+}
+
//_____________________________________________________________________________
AliMUONVStore*
AliMUONCalibrationData::Neighbours() const
return 0x0;
}
+//_____________________________________________________________________________
+AliMUONVStore*
+AliMUONCalibrationData::KillMap() const
+{
+ /// Get kill map
+ if (!fKillMap)
+ {
+ fKillMap = CreateKillMap(fRunNumber);
+ }
+ return fKillMap;
+}
+
+//_____________________________________________________________________________
+AliMUONVCalibParam*
+AliMUONCalibrationData::KillMap(Int_t detElemId, Int_t manuId) const
+{
+ /// Return the killmap for a given (detElemId, manuId) pair.
+ /// A return value of 0x0 is quite possible, meaning the manu should
+ /// not be killed ;-)
+
+ AliMUONVStore* killMap = KillMap();
+ if (!killMap)
+ {
+ return 0x0;
+ }
+
+ return static_cast<AliMUONVCalibParam*>(killMap->FindObject(detElemId,manuId));
+}
+
+
//_____________________________________________________________________________
AliMUONVStore*
AliMUONCalibrationData::Pedestals() const
<< " fGains=" << fGains
<< " fPedestals=" << fPedestals
<< " fHV=" << fHV
+ << " fTriggerDCS=" << fTriggerDCS
<< " fLocalTriggerBoardMasks=" << fLocalTriggerBoardMasks
<< " fRegionalTriggerConfig=" << fRegionalTriggerConfig
<< " fGlobalTriggerCrateConfig=" << fGlobalTriggerCrateConfig
fGains = 0x0;
delete fHV;
fHV = 0x0;
+ delete fTriggerDCS;
+ fTriggerDCS = 0x0;
delete fLocalTriggerBoardMasks;
fLocalTriggerBoardMasks = 0x0;
delete fRegionalTriggerConfig;
AliInfoClass("HV read OK");
}
+ if ( ! CreateTriggerDCS(runNumber) )
+ {
+ AliErrorClass("Could not read Trigger HV and Currents");
+ }
+ else
+ {
+ AliInfoClass("Trigger HV and Currents read OK");
+ }
+
if ( ! CreateNeighbours(runNumber) )
{
AliErrorClass("Could not read Neighbours");