]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Loading OCDB (in fact prefetching) entries and reco-params only for active and reques...
authorcvetan <cvetan@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 15 Aug 2008 16:25:53 +0000 (16:25 +0000)
committercvetan <cvetan@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 15 Aug 2008 16:25:53 +0000 (16:25 +0000)
STEER/AliReconstruction.cxx
STEER/AliReconstruction.h

index a8be371e1cb39305419390134deb9c6315d305d8..758327cb9f8185b04b7fd452d6856471c04b49f6 100644 (file)
@@ -221,6 +221,7 @@ AliReconstruction::AliReconstruction(const char* gAliceFilename) :
   fRunLocalReconstruction("ALL"),
   fRunTracking("ALL"),
   fFillESD("ALL"),
+  fLoadCDB(""),
   fUseTrackingErrorsForAlignment(""),
   fGAliceFileName(gAliceFilename),
   fRawInput(""),
@@ -313,6 +314,7 @@ AliReconstruction::AliReconstruction(const AliReconstruction& rec) :
   fRunLocalReconstruction(rec.fRunLocalReconstruction),
   fRunTracking(rec.fRunTracking),
   fFillESD(rec.fFillESD),
+  fLoadCDB(rec.fLoadCDB),
   fUseTrackingErrorsForAlignment(rec.fUseTrackingErrorsForAlignment),
   fGAliceFileName(rec.fGAliceFileName),
   fRawInput(rec.fRawInput),
@@ -417,6 +419,7 @@ AliReconstruction& AliReconstruction::operator = (const AliReconstruction& rec)
   fRunLocalReconstruction        = rec.fRunLocalReconstruction;
   fRunTracking                   = rec.fRunTracking;
   fFillESD                       = rec.fFillESD;
+  fLoadCDB                       = rec.fLoadCDB;
   fUseTrackingErrorsForAlignment = rec.fUseTrackingErrorsForAlignment;
   fGAliceFileName                = rec.fGAliceFileName;
   fRawInput                      = rec.fRawInput;
@@ -892,10 +895,16 @@ Bool_t AliReconstruction::InitGRP() {
   // Process the list of active detectors
   if (activeDetectors && activeDetectors->GetString().IsDigit()) {
     UInt_t detMask = activeDetectors->GetString().Atoi();
+    fLoadCDB.Form("%s %s %s %s",
+                 fRunLocalReconstruction.Data(),
+                 fRunTracking.Data(),
+                 fFillESD.Data(),
+                 fQADetectors.Data());
     fRunLocalReconstruction = MatchDetectorList(fRunLocalReconstruction,detMask);
     fRunTracking = MatchDetectorList(fRunTracking,detMask);
     fFillESD = MatchDetectorList(fFillESD,detMask);
     fQADetectors = MatchDetectorList(fQADetectors,detMask);
+    fLoadCDB = MatchDetectorList(fLoadCDB,detMask);
   }
 
   AliInfo("===================================================================================");
@@ -903,6 +912,7 @@ Bool_t AliReconstruction::InitGRP() {
   AliInfo(Form("Running tracking for detectors: %s",fRunTracking.Data()));
   AliInfo(Form("Filling ESD for detectors: %s",fFillESD.Data()));
   AliInfo(Form("Quality assurance is active for detectors: %s",fQADetectors.Data()));
+  AliInfo(Form("CDB and reconstruction parameters are loaded for detectors: %s",fLoadCDB.Data()));
   AliInfo("===================================================================================");
 
   //*** Dealing with the magnetic field map
@@ -987,7 +997,7 @@ Bool_t AliReconstruction::LoadCDB()
 
   AliCDBManager::Instance()->Get("GRP/CTP/Config");
 
-  TString detStr = fRunLocalReconstruction;
+  TString detStr = fLoadCDB;
   for (Int_t iDet = 0; iDet < fgkNDetectors; iDet++) {
     if (!IsSelected(fgkDetectorName[iDet], detStr)) continue;
     AliCDBManager::Instance()->GetAll(Form("%s/Calib/*",fgkDetectorName[iDet]));
@@ -2878,8 +2888,11 @@ Bool_t AliReconstruction::InitRecoParams()
 
   Bool_t isOK = kTRUE;
 
+  TString detStr = fLoadCDB;
   for (Int_t iDet = 0; iDet < fgkNDetectors; iDet++) {
 
+    if (!IsSelected(fgkDetectorName[iDet], detStr)) continue;
+
     if (fRecoParam.GetDetRecoParamArray(iDet)) {
       AliInfo(Form("Using custom reconstruction parameters for detector %s",fgkDetectorName[iDet]));
       continue;
index 5367c8ee63c18ec933752bf83523aeb103dfcfdd..b30f1a11c4b0fac30fec15210d3e90a0232f6a60 100644 (file)
@@ -223,6 +223,7 @@ private:
   TString        fRunLocalReconstruction; // run the local reconstruction for these detectors
   TString        fRunTracking;        // run the tracking for these detectors
   TString        fFillESD;            // fill ESD for these detectors
+  TString        fLoadCDB;            // prefetch CDB entries and init reco-params for these detectors
   TString        fUseTrackingErrorsForAlignment; // for these detectors
   TString        fGAliceFileName;     // name of the galice file
   TString        fRawInput;           // name of input raw-data file or directory