]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HLT/MUON/AliHLTMUONProcessor.cxx
Update From Debojit
[u/mrichter/AliRoot.git] / HLT / MUON / AliHLTMUONProcessor.cxx
index ce06323f6cb45048bcb2fa9e2fc99d38e6c728c6..bff4bc3cdca699e39c83b6d783dec84119460528 100644 (file)
@@ -28,6 +28,7 @@
 
 #include "AliHLTMUONProcessor.h"
 #include "AliHLTMUONConstants.h"
+#include "AliHLTMisc.h"
 #include "AliMUONRecoParam.h"
 #include "AliCDBManager.h"
 #include "AliCDBStorage.h"
@@ -290,21 +291,21 @@ int AliHLTMUONProcessor::FetchMappingStores() const
        Int_t runUsed = cdbManager->GetRun();
        
        // Now we can try load the DDL and DE store objects.
-       if (cdbManager->GetId("MUON/Calib/MappingData", runUsed) == NULL)
+       if (AliHLTMisc::Instance().LoadOCDBEntry("MUON/Calib/MappingData", runUsed) == NULL)
        {
                HLTError("Could not find entry in CDB path '%s/MUON/Calib/MappingData' and run no. %d.",
                        cdbPathUsed, runUsed
                );
                return -ENOENT;
        }
-       if (cdbManager->GetId("MUON/Calib/Gains", runUsed) == NULL)
+       if (AliHLTMisc::Instance().LoadOCDBEntry("MUON/Calib/Gains", runUsed) == NULL)
        {
                HLTError("Could not find entry in CDB path '%s/MUON/Calib/Gains' and run no. %d.",
                        cdbPathUsed, runUsed
                );
                return -ENOENT;
        }
-       if (cdbManager->GetId("MUON/Calib/Pedestals", runUsed) == NULL)
+       if (AliHLTMisc::Instance().LoadOCDBEntry("MUON/Calib/Pedestals", runUsed) == NULL)
        {
                HLTError("Could not find entry in CDB path '%s/MUON/Calib/Pedestals' and run no. %d.",
                        cdbPathUsed, runUsed
@@ -333,37 +334,13 @@ int AliHLTMUONProcessor::FetchMappingStores() const
 int AliHLTMUONProcessor::FetchTMapFromCDB(const char* pathToEntry, TMap*& map) const
 {
        /// Fetches a TMap object from the CDB.
-       /// [in] \param pathToEntry  The relative path to the entry in the CDB to fetch.
-       /// [out] \param map  This will be filled with the TMap object found if
+       /// \param [in] pathToEntry  The relative path to the entry in the CDB to fetch.
+       /// \param [out] map  This will be filled with the TMap object found if
        ///      a successful status code is returned. Otherwise it will be unchanged.
        /// \return Zero if the object could be found. Otherwise an error code,
        ///      which is compatible with the HLT framework, is returned.
        
-       assert(AliCDBManager::Instance() != NULL);
-       
-       AliCDBStorage* store = AliCDBManager::Instance()->GetDefaultStorage();
-       if (store == NULL)
-       {
-               HLTError("Could not get the the default storage for the CDB.");
-               return -EIO;
-       }
-
-       Int_t version = store->GetLatestVersion(pathToEntry, GetRunNo());
-       Int_t subVersion = store->GetLatestSubVersion(pathToEntry, GetRunNo(), version);
-       AliCDBId* entryId = AliCDBManager::Instance()->GetId(pathToEntry, GetRunNo(), version, subVersion);
-       if (entryId == NULL)
-       {
-               HLTError("Could not find the CDB entry for \"%s\".", pathToEntry);
-               return -ENOENT;
-       }
-       AliCDBEntry* entry = AliCDBManager::Instance()->Get(*entryId);
-       if (entry == NULL)
-       {
-               HLTError("Could not fetch the CDB entry for \"%s\".", pathToEntry);
-               return -EIO;
-       }
-       
-       TObject* obj = entry->GetObject();
+       TObject* obj = LoadAndExtractOCDBObject(pathToEntry);
        if (obj == NULL)
        {
                HLTError("Configuration object for \"%s\" is missing.", pathToEntry);
@@ -377,7 +354,7 @@ int AliHLTMUONProcessor::FetchTMapFromCDB(const char* pathToEntry, TMap*& map) c
                );
                return -EPROTO;
        }
-       map = dynamic_cast<TMap*>(obj);
+       map = static_cast<TMap*>(obj);
        
        return 0;
 }
@@ -389,13 +366,13 @@ int AliHLTMUONProcessor::GetValueFromTMap(
        ) const
 {
        /// Tries to find the string value associated with a certain parameter in a TMap.
-       /// [in] \param map  The TMap object to search in.
-       /// [in] \param paramName  The name of the parameter to search for.
-       /// [out] \param value  Will be filled with the object found.
-       /// [in] \param pathToEntry  The relative path to the entry in the CDB.
+       /// \param [in] map  The TMap object to search in.
+       /// \param [in] paramName  The name of the parameter to search for.
+       /// \param [out] value  Will be filled with the object found.
+       /// \param [in] pathToEntry  The relative path to the entry in the CDB.
        ///      Used when printing error messages. If set to NULL then a string of
        ///      "(unknown)" is used. (default is NULL).
-       /// [in] \param prettyName  Should be the name of the parameter which will
+       /// \param [in] prettyName  Should be the name of the parameter which will
        ///      be used when printing error messages. If this is set to NULL then
        ///      the paramName will be used instead (default is NULL).
        /// \return Zero if the object could be found. Otherwise an error code,
@@ -421,7 +398,7 @@ int AliHLTMUONProcessor::GetValueFromTMap(
                );
                return -EPROTO;
        }
-       value = dynamic_cast<TObjString*>(valueObj)->GetString();
+       value = static_cast<TObjString*>(valueObj)->GetString();
        
        return 0;
 }
@@ -434,14 +411,14 @@ int AliHLTMUONProcessor::GetIntFromTMap(
 {
        /// Tries to find a certain parameter in the TMap object and convert it to
        /// an integer value.
-       /// [in] \param map  The TMap object to search in.
-       /// [in] \param paramName  The name of the parameter to search for.
-       /// [out] \param value  Will be filled with the integer value for the parameter,
+       /// \param [in] map  The TMap object to search in.
+       /// \param [in] paramName  The name of the parameter to search for.
+       /// \param [out] value  Will be filled with the integer value for the parameter,
        ///       if it was found and it was an integer value.
-       /// [in] \param pathToEntry  The relative path to the entry in the CDB.
+       /// \param [in] pathToEntry  The relative path to the entry in the CDB.
        ///      Used when printing error messages. If set to NULL then a string of
        ///      "(unknown)" is used. (default is NULL).
-       /// [in] \param prettyName  Should be the name of the parameter which will
+       /// \param [in] prettyName  Should be the name of the parameter which will
        ///      be used when printing error messages. If this is set to NULL then
        ///      the paramName will be used instead (default is NULL).
        /// \return Zero if the object could be found and is valid. Otherwise an
@@ -475,14 +452,14 @@ int AliHLTMUONProcessor::GetPositiveIntFromTMap(
 {
        /// Tries to find a certain parameter in the TMap object and convert it to
        /// a positive integer value.
-       /// [in] \param map  The TMap object to search in.
-       /// [in] \param paramName  The name of the parameter to search for.
-       /// [out] \param value  Will be filled with the integer value for the parameter,
+       /// \param [in] map  The TMap object to search in.
+       /// \param [in] paramName  The name of the parameter to search for.
+       /// \param [out] value  Will be filled with the integer value for the parameter,
        ///       if it was found and it was a positive integer value.
-       /// [in] \param pathToEntry  The relative path to the entry in the CDB.
+       /// \param [in] pathToEntry  The relative path to the entry in the CDB.
        ///      Used when printing error messages. If set to NULL then a string of
        ///      "(unknown)" is used. (default is NULL).
-       /// [in] \param prettyName  Should be the name of the parameter which will
+       /// \param [in] prettyName  Should be the name of the parameter which will
        ///      be used when printing error messages. If this is set to NULL then
        ///      the paramName will be used instead (default is NULL).
        /// \return Zero if the object could be found and is valid. Otherwise an
@@ -525,14 +502,14 @@ int AliHLTMUONProcessor::GetFloatFromTMap(
 {
        /// Tries to find a certain parameter in the TMap object and convert it to
        /// an floating point value.
-       /// [in] \param map  The TMap object to search in.
-       /// [in] \param paramName  The name of the parameter to search for.
-       /// [out] \param value  Will be filled with the floating point value for the
+       /// \param [in] map  The TMap object to search in.
+       /// \param [in] paramName  The name of the parameter to search for.
+       /// \param [out] value  Will be filled with the floating point value for the
        ///       parameter, if it was found and it was a floating point value.
-       /// [in] \param pathToEntry  The relative path to the entry in the CDB.
+       /// \param [in] pathToEntry  The relative path to the entry in the CDB.
        ///      Used when printing error messages. If set to NULL then a string of
        ///      "(unknown)" is used. (default is NULL).
-       /// [in] \param prettyName  Should be the name of the parameter which will
+       /// \param [in] prettyName  Should be the name of the parameter which will
        ///      be used when printing error messages. If this is set to NULL then
        ///      the paramName will be used instead (default is NULL).
        /// \return Zero if the object could be found and is valid. Otherwise an
@@ -566,14 +543,14 @@ int AliHLTMUONProcessor::GetPositiveFloatFromTMap(
 {
        /// Tries to find a certain parameter in the TMap object and convert it to
        /// an positive floating point value.
-       /// [in] \param map  The TMap object to search in.
-       /// [in] \param paramName  The name of the parameter to search for.
-       /// [out] \param value  Will be filled with the floating point value for the
+       /// \param [in] map  The TMap object to search in.
+       /// \param [in] paramName  The name of the parameter to search for.
+       /// \param [out] value  Will be filled with the floating point value for the
        ///       parameter, if it was found and it was a positive floating point value.
-       /// [in] \param pathToEntry  The relative path to the entry in the CDB.
+       /// \param [in] pathToEntry  The relative path to the entry in the CDB.
        ///      Used when printing error messages. If set to NULL then a string of
        ///      "(unknown)" is used. (default is NULL).
-       /// [in] \param prettyName  Should be the name of the parameter which will
+       /// \param [in] prettyName  Should be the name of the parameter which will
        ///      be used when printing error messages. If this is set to NULL then
        ///      the paramName will be used instead (default is NULL).
        /// \return Zero if the object could be found and is valid. Otherwise an
@@ -671,7 +648,7 @@ int AliHLTMUONProcessor::FetchFieldIntegral(Double_t& bfieldintegral) const
        {
                TVirtualMagField* vfield = TGeoGlobalMagField::Instance()->GetField();
                AliMagF* field = dynamic_cast<AliMagF*>(vfield);
-               if (vfield->IsA() != AliMagF::Class() and field != NULL)
+               if (vfield->IsA() != AliMagF::Class() or field == NULL)
                {
                        HLTError(Form(
                                "The magnetic field is not of type AliMagF."
@@ -700,38 +677,14 @@ int AliHLTMUONProcessor::FetchFieldIntegral(Double_t& bfieldintegral) const
 int AliHLTMUONProcessor::LoadRecoParamsFromCDB(AliMUONRecoParam*& params) const
 {
        /// Fetches the reconstruction parameters object from the CDB for MUON.
-       /// [out] \param params  This will be filled with the reconstruction
+       /// \param [out] params  This will be filled with the reconstruction
        ///      parameters object found if a successful status code is returned.
        ///      Otherwise it will be unchanged.
        /// \return Zero if the object could be found. Otherwise an error code,
        ///      which is compatible with the HLT framework, is returned.
        
-       assert(AliCDBManager::Instance() != NULL);
-
-       AliCDBStorage* store = AliCDBManager::Instance()->GetDefaultStorage();
-       if (store == NULL)
-       {
-               HLTError("Could not get the the default storage for the CDB.");
-               return -EIO;
-       }
-
        const char* pathToEntry = "MUON/Calib/RecoParam";
-       Int_t version = store->GetLatestVersion(pathToEntry, GetRunNo());
-       Int_t subVersion = store->GetLatestSubVersion(pathToEntry, GetRunNo(), version);
-       AliCDBId* entryId = AliCDBManager::Instance()->GetId(pathToEntry, GetRunNo(), version, subVersion);
-       if (entryId == NULL)
-       {
-               HLTError("Could not find the CDB entry for \"%s\".", pathToEntry);
-               return -ENOENT;
-       }
-       AliCDBEntry* entry = AliCDBManager::Instance()->Get(*entryId);
-       if (entry == NULL)
-       {
-               HLTError("Could not fetch the CDB entry for \"%s\".", pathToEntry);
-               return -EIO;
-       }
-       
-       TObject* obj = entry->GetObject();
+       TObject* obj = LoadAndExtractOCDBObject(pathToEntry);
        if (obj == NULL)
        {
                HLTError("Reconstruction parameters object for \"%s\" is missing.", pathToEntry);