ROOT logo
#ifndef ALIMUONCDB_H
#define ALIMUONCDB_H
/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */

/* $Id$ */

/// \ingroup rec
/// \namespace AliMUONCDB
/// \brief Helper functions to experience the OCDB
/// 
//  Author Laurent Aphecetche

#include <TString.h>
#include "AliCDBRunRange.h"
#include <vector>

class AliMUONVStore;
class TMap;
class TClonesArray;
class AliMUONVCalibParam;
class AliMUONTriggerLut;
class AliMUONTriggerEfficiencyCells;
class AliMUONRegionalTriggerConfig;
class AliMUONGlobalCrateConfig;
class AliMUONRejectList;
class AliMUONRecoParam;
class TH1;

namespace AliMUONCDB
{
  Bool_t CheckOCDB(Bool_t pathOnly = kFALSE);
  Bool_t CheckMapping(Bool_t segmentationOnly = kFALSE);
  
  void CheckHV(Int_t runNumber, Int_t verbose=0);

  Bool_t LoadField();
  Bool_t LoadMapping(Bool_t segmentationOnly = kFALSE);
  AliMUONRecoParam* LoadRecoParam();
  TClonesArray* LoadAlignmentData();
  
  Int_t MakeHVStore(TMap& aliasMap, Bool_t defaultValues);
  Int_t MakeTriggerDCSStore(TMap& aliasMap, Bool_t defaultValues);
  Int_t MakePedestalStore(AliMUONVStore& pedestalStore, Bool_t defaultValues);
  Int_t MakeCapacitanceStore(AliMUONVStore& capaStore, Bool_t defaultValues);
  Int_t MakeCapacitanceStore(AliMUONVStore& capaStore, const char* file);
  Int_t MakeGainStore(AliMUONVStore& gainStore, Bool_t defaultValues);
  Int_t MakeOccupancyMapStore(AliMUONVStore& occupancyMap, Bool_t defaultValues);
  AliMUONRejectList* MakeRejectListStore(Bool_t defaultValues);
  
  Int_t MakeLocalTriggerMaskStore(AliMUONVStore& ltm);  
  Int_t MakeRegionalTriggerConfigStore(AliMUONRegionalTriggerConfig& rtm);
  Int_t MakeGlobalTriggerConfigStore(AliMUONGlobalCrateConfig& gtm);
  
  AliMUONTriggerLut* MakeTriggerLUT(const char* file="$(ALICE_ROOT)/MUON/data/lutAptLpt1Hpt1p7.root");
  AliMUONTriggerEfficiencyCells* MakeTriggerEfficiency(const char* file="$ALICE_ROOT/MUON/data/efficiencyCells.dat");

  AliMUONVStore* Diff(AliMUONVStore& store1, AliMUONVStore& store2, const char* opt="abs");
  
  TH1** Plot(const AliMUONVStore& store, const char* name, Int_t nbins=512);

  void ReadIntegers(const char* filename, std::vector<int>& integers);

  void ShowConfig(Bool_t withStatusMap=kFALSE);
  
  void ShowCapacitances();
  
  void ShowFaultyBusPatches(const char* runlist, 
                            double occLimit=0.1,
                            const char* outputBaseName="faulty.buspatches",
                            const char* ocdbPath="raw://");
  
  void WriteToCDB(const char* calibpath, TObject* object,
                  Int_t startRun, Int_t endRun, Bool_t defaultValues);
  void WriteToCDB(const char* calibpath, TObject* object,
                  Int_t startRun, Int_t endRun, const char* filename);
  void WriteToCDB(TObject* object, const char* calibpath, Int_t startRun=0, Int_t endRun=AliCDBRunRange::Infinity(),
                  const char* comment="", const char* responsible="AliMUONCDB tester class");

  void WriteTrigger(Bool_t defaultValues=kTRUE, Int_t startRun=0,Int_t endRun=AliCDBRunRange::Infinity());
  void WriteTracker(Bool_t defaultValues=kTRUE, Int_t startRun=0,Int_t endRun=AliCDBRunRange::Infinity());
  
  void WriteHV(Bool_t defaultValues, Int_t startRun, Int_t endRun=AliCDBRunRange::Infinity());
  void WritePedestals(Bool_t defaultValues, Int_t startRun, Int_t endRun=AliCDBRunRange::Infinity());
  void WriteGains(Bool_t defaultValues, Int_t startRun, Int_t endRun=AliCDBRunRange::Infinity());
  void WriteCapacitances(Bool_t defaultValues, Int_t startRun=0, Int_t endRun=AliCDBRunRange::Infinity());
  void WriteCapacitances(const char* file, Int_t startRun=0, Int_t endRun=AliCDBRunRange::Infinity());
  void WriteOccupancyMap(Bool_t defaultValues, Int_t startRun, Int_t endRun=AliCDBRunRange::Infinity());
  void WriteRejectList(Bool_t defaultValues, Int_t startRun, Int_t endRun=AliCDBRunRange::Infinity());
  void WriteConfig(Int_t startRun, Int_t endRun=AliCDBRunRange::Infinity());

  void WriteLocalTriggerMasks(Int_t startRun=0, Int_t endRun=AliCDBRunRange::Infinity());
  void WriteRegionalTriggerConfig(Int_t startRun=0, Int_t endRun=AliCDBRunRange::Infinity());
  void WriteGlobalTriggerConfig(Int_t startRun=0, Int_t endRun=AliCDBRunRange::Infinity());
  
  void WriteTriggerDCS(Bool_t defaultValues, Int_t startRun, Int_t endRun=AliCDBRunRange::Infinity());
  void WriteTriggerLut(Int_t startRun=0, Int_t endRun=AliCDBRunRange::Infinity());
  void WriteTriggerEfficiency(Int_t startRun=0, Int_t endRun=AliCDBRunRange::Infinity());
}

#endif
 AliMUONCDB.h:1
 AliMUONCDB.h:2
 AliMUONCDB.h:3
 AliMUONCDB.h:4
 AliMUONCDB.h:5
 AliMUONCDB.h:6
 AliMUONCDB.h:7
 AliMUONCDB.h:8
 AliMUONCDB.h:9
 AliMUONCDB.h:10
 AliMUONCDB.h:11
 AliMUONCDB.h:12
 AliMUONCDB.h:13
 AliMUONCDB.h:14
 AliMUONCDB.h:15
 AliMUONCDB.h:16
 AliMUONCDB.h:17
 AliMUONCDB.h:18
 AliMUONCDB.h:19
 AliMUONCDB.h:20
 AliMUONCDB.h:21
 AliMUONCDB.h:22
 AliMUONCDB.h:23
 AliMUONCDB.h:24
 AliMUONCDB.h:25
 AliMUONCDB.h:26
 AliMUONCDB.h:27
 AliMUONCDB.h:28
 AliMUONCDB.h:29
 AliMUONCDB.h:30
 AliMUONCDB.h:31
 AliMUONCDB.h:32
 AliMUONCDB.h:33
 AliMUONCDB.h:34
 AliMUONCDB.h:35
 AliMUONCDB.h:36
 AliMUONCDB.h:37
 AliMUONCDB.h:38
 AliMUONCDB.h:39
 AliMUONCDB.h:40
 AliMUONCDB.h:41
 AliMUONCDB.h:42
 AliMUONCDB.h:43
 AliMUONCDB.h:44
 AliMUONCDB.h:45
 AliMUONCDB.h:46
 AliMUONCDB.h:47
 AliMUONCDB.h:48
 AliMUONCDB.h:49
 AliMUONCDB.h:50
 AliMUONCDB.h:51
 AliMUONCDB.h:52
 AliMUONCDB.h:53
 AliMUONCDB.h:54
 AliMUONCDB.h:55
 AliMUONCDB.h:56
 AliMUONCDB.h:57
 AliMUONCDB.h:58
 AliMUONCDB.h:59
 AliMUONCDB.h:60
 AliMUONCDB.h:61
 AliMUONCDB.h:62
 AliMUONCDB.h:63
 AliMUONCDB.h:64
 AliMUONCDB.h:65
 AliMUONCDB.h:66
 AliMUONCDB.h:67
 AliMUONCDB.h:68
 AliMUONCDB.h:69
 AliMUONCDB.h:70
 AliMUONCDB.h:71
 AliMUONCDB.h:72
 AliMUONCDB.h:73
 AliMUONCDB.h:74
 AliMUONCDB.h:75
 AliMUONCDB.h:76
 AliMUONCDB.h:77
 AliMUONCDB.h:78
 AliMUONCDB.h:79
 AliMUONCDB.h:80
 AliMUONCDB.h:81
 AliMUONCDB.h:82
 AliMUONCDB.h:83
 AliMUONCDB.h:84
 AliMUONCDB.h:85
 AliMUONCDB.h:86
 AliMUONCDB.h:87
 AliMUONCDB.h:88
 AliMUONCDB.h:89
 AliMUONCDB.h:90
 AliMUONCDB.h:91
 AliMUONCDB.h:92
 AliMUONCDB.h:93
 AliMUONCDB.h:94
 AliMUONCDB.h:95
 AliMUONCDB.h:96
 AliMUONCDB.h:97
 AliMUONCDB.h:98
 AliMUONCDB.h:99
 AliMUONCDB.h:100
 AliMUONCDB.h:101