]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/MUONTriggerChamberEfficiency.C
Fixing Coverity UNINIT defect
[u/mrichter/AliRoot.git] / MUON / MUONTriggerChamberEfficiency.C
index d5b65f384d5ef5c599d98b12d9e967a5b239db3f..0d09928c07935dbe8d80dbf70c27ce70e57bd1ab 100644 (file)
@@ -24,6 +24,7 @@
 #include "AliMUONCDB.h"
 #include "AliMUONCalibrationData.h"
 #include "AliMUONTriggerEfficiencyCells.h"
+#include "AliMUONTriggerChamberEfficiency.h"
 #include "AliCDBManager.h"
 #include "AliCDBRunRange.h"
 #include "Riostream.h"
 ///
 /// Efficiency map can be made available for next simulation.
 ///
-/// \author Diego Stocco, INFN Torino
+/// \author Diego Stocco, Subatech, Nantes
 
-void MUONTriggerChamberEfficiency(Char_t* inputFile="./MUON.TriggerEfficiencyMap.root",
-                                 Bool_t addMapInLocalOCDB = kFALSE,
-                                 Int_t firstRun=0, Int_t lastRun = AliCDBRunRange::Infinity(),
-                                 Bool_t useMeanValues = kFALSE)
+void MUONTriggerChamberEfficiency(TString inputFile = "./MUON.TriggerEfficiencyMap.root",
+                                 TString outputCDB = "",
+                                 Int_t firstRun=0, Int_t lastRun = AliCDBRunRange::Infinity()
+)
 {
 /// \param inputFile (default "./MUON.TriggerEfficiencyMaps.root")
 ///     File with the numerator and denominator histos for efficiency calculation
 ///     (It is the output of the PWG3/muon/AliAnalysisTaskTrigChEff analysis
-/// \param addMapInLocalOCDB (default kFALSE)
-///     if the map is OK, add it in local OCDB
+/// \param outputCDB (default "")
+///     add the map on the specified CDB
 /// \param firstRun (default 0)
 ///     first run of validity for CDB object
 /// \param lastRun (default AliCDBRunRange::Infinity())
 ///     last run of validity for CDB Object
-/// \param useMeanValues (default kFALSE)
-///     Fill local board maps with the average RPC efficiency
-///    (useful when the statistics is low (i.e. for cosmic runs))
 
   AliCDBManager::Instance()->SetDefaultStorage("local://$ALICE_ROOT/OCDB");
 
-  AliMUONTriggerEfficiencyCells* effMap = new AliMUONTriggerEfficiencyCells(inputFile);
-  if ( useMeanValues ){
-    AliCDBManager::Instance()->SetRun(firstRun);
-    effMap->LowStatisticsSettings();
-  }
+  AliMUONTriggerEfficiencyCells* effMap = new AliMUONTriggerEfficiencyCells(inputFile.Data());
 
-  if ( !addMapInLocalOCDB ){
+  if ( outputCDB.IsNull() ){
+    // Draw the efficiency and exit
     AliCDBManager::Instance()->SetRun(firstRun);
-    effMap->DisplayEfficiency();
+    AliMUONTriggerChamberEfficiency* trigChEff = new AliMUONTriggerChamberEfficiency(effMap);
+    trigChEff->DisplayEfficiency(kFALSE,kFALSE);
+    return;
   }
-  else
-    AliMUONCDB::WriteToCDB("MUON/Calib/TriggerEfficiency", effMap, firstRun, lastRun,true);
+
+
+  // Write efficiency on OCDB
+
+  AliCDBManager::Instance()->SetSpecificStorage("MUON/Calib/TriggerEfficiency", outputCDB.Data());
+  
+  AliMUONCDB::WriteToCDB(effMap, "MUON/Calib/TriggerEfficiency", firstRun, lastRun, "Measured efficiencies");
 }
 
 //____________________________________________________________
-void ShowOCDBmap(Int_t runNumber = 0, TString ocdbPath="local://$ALICE_ROOT/OCDB")
+void ShowOCDBmap(Int_t runNumber = 0, TString specificCDB="", TString ocdbPath = "local://$ALICE_ROOT/OCDB")
 {
 /// \param runNumber (default 0)
 ///     run number
+/// \param specificCDB (default "")
+///     specific CDB for trigger efficiency
 /// \param ocdbPath(default "local://$ALICE_ROOT/OCDB")
 ///     path to OCDB
   if ( ocdbPath.BeginsWith("alien://") || ocdbPath.BeginsWith("raw://"))
     TGrid::Connect("alien://");
 
   AliCDBManager::Instance()->SetDefaultStorage(ocdbPath.Data());
+  if ( !specificCDB.IsNull() )
+    AliCDBManager::Instance()->SetSpecificStorage("MUON/Calib/TriggerEfficiency", specificCDB.Data());
   AliCDBManager::Instance()->SetRun(runNumber);
   AliMUONCalibrationData calib(runNumber);
 
-  calib.TriggerEfficiency()->DisplayEfficiency();
+  AliMUONTriggerChamberEfficiency* trigChEff = new AliMUONTriggerChamberEfficiency(calib.TriggerEfficiency());
+  trigChEff->DisplayEfficiency();
 }