]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/MUONStatusMap.C
Moved AliLHCDipValT and AliLHCData to from STEERBase to STEER
[u/mrichter/AliRoot.git] / MUON / MUONStatusMap.C
index da014630a4377ae1c6a7fba27e4157978bf1a578..7b6b8d8126cf59473421d0dd4ba440134f936e89 100644 (file)
 
 /* $Id$ */
 
-/// Macro to check/test pad status and pad status map makers
+/// \ingroup macros
+/// \file MUONStatusMap.C
+/// \brief Macro to check/test pad status and pad status map makers
 ///
-// Laurent Aphecetche
+/// \author Laurent Aphecetche
 
 #if !defined(__CINT__) || defined(__MAKECINT__)
 #include "AliCDBManager.h"
 #include "AliMUONCalibrationData.h"
+#include "AliMUONLogger.h"
 #include "AliMUONPadStatusMaker.h"
 #include "AliMUONPadStatusMapMaker.h"
-#include "AliMUONVStore.h"
+#include "AliMUONRecoParam.h"
 #include "AliMUONVCalibParam.h"
-#include "AliMpIntPair.h"
+#include "AliMUONVStore.h"
+#include "AliMpCDB.h"
+#include "AliMpConstants.h"
+#include "AliMpDDLStore.h"
+#include "AliMpDetElement.h"
+#include "AliMpManuIterator.h"
 #include "Riostream.h"
 #endif
 
+//AliMUONVStore* MUONStatusMap(const TString& cdbStorage = "alien://folder=/alice/data/2009/OCDB",
+AliMUONVStore* MUONStatusMap(const TString& cdbStorage = "local://$ALICE_ROOT/OCDB",
+                             Int_t runNumber=67138, Bool_t statusOnly=kTRUE)
+{  
 
-void findBad(const AliMUONVStore& status)
-{
-  TIter next(status.CreateIterator());
-  AliMUONVCalibParam* param;
+  AliMUONRecoParam* recoParam = AliMUONRecoParam::GetCosmicParam();
   
-  while ( ( param = dynamic_cast<AliMUONVCalibParam*>(next()) ) )
-  {
-    Int_t detElemId = param->ID0();
-    Int_t manuId = param->ID1();
-    Bool_t bad(kFALSE);
-    for ( Int_t i = 0; i < param->Size(); ++i ) 
-    {
-      if ( param->ValueAsInt(0) ) bad = kTRUE;
-    }
-    if (bad)
-    {
-      cout << Form("DE %4d ManuId %4d",detElemId,manuId) << endl;
-    }
-  }
-}
+  AliMpCDB::LoadAll2();
+  
+  AliCDBManager* man = AliCDBManager::Instance();
+  
+  man->SetDefaultStorage(cdbStorage.Data());
+  
+//  man->SetSpecificStorage("MUON/Calib/OccupancyMap","local://$ALICE_ROOT/OCDB");
+//  man->SetSpecificStorage("MUON/Calib/OccupancyMap","alien://folder=/alice/cern.ch/user/l/laphecet/OCDB");
+//  man->SetSpecificStorage("MUON/Calib/RejectList","alien://folder=/alice/cern.ch/user/l/laphecet/OCDB");
+//  man->SetSpecificStorage("MUON/Align/Data","alien://folder=/alice/cern.ch/user/l/laphecet/OCDB");
 
-AliMUONVStore* MUONStatusMap(const TString& cdbStorage = "local://$ALICE_ROOT",
-                               Int_t runNumber=0, Bool_t statusOnly=kFALSE, Int_t mask=0)
-{  
-  AliCDBManager::Instance()->SetDefaultStorage(cdbStorage.Data());
+//  man->SetRun(runNumber);
 
   AliMUONCalibrationData cd(runNumber);
   
   AliMUONPadStatusMaker statusMaker(cd);
   
-//  statusMaker.SetPedMeanLimits(50,200);
-  statusMaker.SetPedSigmaLimits(0.5,2);
+  statusMaker.SetLimits(*recoParam);
+  
+  delete recoParam;
+  
+  UInt_t mask = recoParam->PadGoodnessMask();
   
-  AliMUONVStore* status = statusMaker.MakeStatus();
-  if ( status )
-  {
-    findBad(*status);
-  }
-  else
-  {
-    cout << "ERROR. Could not get status from CDB" << endl;
-    return 0;
-  }
+  statusMaker.Report(mask);
   
-  if ( statusOnly ) return status;
+  if ( statusOnly ) return statusMaker.StatusStore();
   
-  AliMUONPadStatusMapMaker statusMapMaker(cd);
+  const Bool_t deferredInitialization = kFALSE;
   
-  return statusMapMaker.MakePadStatusMap(*status,mask);
+  AliMUONPadStatusMapMaker statusMapMaker(cd,mask,deferredInitialization);
+    
+  return statusMapMaker.StatusMap();
 }