When creating the snapshot, get alignment objects.
authorrgrosso <Raffaele.Grosso@cern.ch>
Wed, 13 Aug 2014 15:58:34 +0000 (17:58 +0200)
committerrgrosso <Raffaele.Grosso@cern.ch>
Wed, 13 Aug 2014 16:02:39 +0000 (18:02 +0200)
When creating the CDB snapshot, get CDB alignment objects without
applying them to the geometry, just to have them in the cache and
thus in the CDB snapshot.

Correct variable names in AliGeomManager to comply with variable naming
rules.

STEER/STEER/AliGeomManager.cxx
STEER/STEER/AliReconstruction.cxx

index 19b1221..27635d3 100644 (file)
@@ -1583,7 +1583,7 @@ void AliGeomManager::InitNalignable()
 }
   
 //_____________________________________________________________________________
-Bool_t AliGeomManager::ApplyAlignObjsFromCDB(const char* AlignDetsList)
+Bool_t AliGeomManager::ApplyAlignObjsFromCDB(const char* alignDetsList)
 {
   // Calls AddAlignObjsFromCDBSingleDet for the detectors appearing in
   // the list passed as argument (called by AliSimulation and
@@ -1604,8 +1604,8 @@ Bool_t AliGeomManager::ApplyAlignObjsFromCDB(const char* AlignDetsList)
   TString alObjsNotLoaded="";
   TString alObjsLoaded="";
 
-  TString AlignDetsString(AlignDetsList);
-  TObjArray *detsarr = AlignDetsString.Tokenize(' ');
+  TString alignDetsString(alignDetsList);
+  TObjArray *detsarr = alignDetsString.Tokenize(' ');
   TIter iter(detsarr);
   TObjString *str = 0;
   
index 9fcf821..7c3c0a9 100644 (file)
@@ -1641,11 +1641,26 @@ void AliReconstruction::Begin(TTree *)
          snapshotFileOut="OCDB.root";
   }
 
-  if(!toCDBSnapshot) {
+  TString detStr(fLoadAlignData);
+  if (!toCDBSnapshot) {
     if (!MisalignGeometry(fLoadAlignData)) {
       Abort("MisalignGeometry", TSelector::kAbortProcess);
       return;
     }
+  } else {
+    // when creating the snapshot, load the CDB alignment objects without applying them to the geometry
+    for (Int_t iDet = 0; iDet < kNDetectors; iDet++) {
+      if (!IsSelected(fgkDetectorName[iDet], detStr)) continue;
+      if (!strcmp(fgkDetectorName[iDet],"HLT")) continue;
+      if (AliGeomManager::GetNalignable(fgkDetectorName[iDet]) != 0)
+      {
+        TString detAlignPath = fgkDetectorName[iDet];
+        detAlignPath += "/Align/Data";
+        AliCDBManager::Instance()->Get(detAlignPath);
+      }
+    } // end loop over detectors
+    if(AliGeomManager::GetNalignable("GRP") != 0)
+      AliCDBManager::Instance()->Get("GRP/Align/Data");
   }
 
   const TMap* cdbCache = AliCDBManager::Instance()->GetEntryCache();