Adding the ShowCapacitances method
authorlaphecet <laphecet@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 11 Oct 2010 08:43:01 +0000 (08:43 +0000)
committerlaphecet <laphecet@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 11 Oct 2010 08:43:01 +0000 (08:43 +0000)
MUON/AliMUONCDB.cxx
MUON/AliMUONCDB.h

index a653903..df989ad 100644 (file)
@@ -1435,6 +1435,61 @@ AliMUONCDB::WriteTracker(Bool_t defaultValues, Int_t startRun, Int_t endRun)
   WriteConfig(startRun,endRun);
 }
 
+//_____________________________________________________________________________
+void 
+AliMUONCDB::ShowCapacitances()
+{
+  /// Show briefly the number of capa values we have in the OCDB,
+  /// and the list of manu that are actually in the config and for which
+  /// we miss the capa (if any).
+  
+  if (!AliMUONCDB::CheckOCDB()) return;
+  
+  AliMUONCDB::LoadMapping();
+  
+  if (!AliMUONCDB::CheckMapping()) return;
+  
+  AliCDBEntry* e = AliCDBManager::Instance()->Get("MUON/Calib/Config");
+  
+  if (!e) return ;
+  
+  AliMUONVStore* config = static_cast<AliMUONVStore*>(e->GetObject());
+  
+  e = AliCDBManager::Instance()->Get("MUON/Calib/Capacitances");
+  
+  if (!e) return;
+  
+  AliMUONVStore* capacitances = static_cast<AliMUONVStore*>(e->GetObject());
+  
+  AliInfoGeneral("ShowCapacitances",Form("%d capacitances are in OCDB",capacitances->GetSize()));
+  
+  TIter nextManu(config->CreateIterator());
+  AliMUONVCalibParam* param;
+  
+  while ( ( param = static_cast<AliMUONVCalibParam*>(nextManu()) ) )
+  {
+    Int_t detElemId = param->ID0();
+    Int_t manuId = param->ID1();
+    
+    Int_t serialNumber 
+    = AliMpManuStore::Instance()->GetManuSerial(detElemId, manuId);
+    
+    if (serialNumber<0)
+    {
+      AliErrorGeneral("ShowCapacitances",Form("Did not find serial for DE %04d MANUID %04d",detElemId,manuId));
+    }
+    else
+    {
+      AliMUONVCalibParam* capa = static_cast<AliMUONVCalibParam*>(capacitances->FindObject(serialNumber));
+      if (!capa)
+      {
+        AliErrorGeneral("ShowCapacitances",Form("Did not find capacitance for DE %04d MANUID %04d SERIAL %d",detElemId,manuId,serialNumber));
+      }
+    }
+  }
+  
+}
+
 //_____________________________________________________________________________
 void 
 AliMUONCDB::ShowConfig(Bool_t withStatusMap)
index b9bf899..f4ad60c 100644 (file)
@@ -59,6 +59,8 @@ namespace AliMUONCDB
 
   void ShowConfig(Bool_t withStatusMap=kFALSE);
   
+  void ShowCapacitances();
+  
   void WriteToCDB(const char* calibpath, TObject* object,
                   Int_t startRun, Int_t endRun, Bool_t defaultValues);
   void WriteToCDB(const char* calibpath, TObject* object,