Extacting the OCDB in a separate module. The detectors have write permission in the...
[u/mrichter/AliRoot.git] / MUON / AliMUONCDB.h
CommitLineData
de01cdf0 1#ifndef ALIMUONCDB_H
2#define ALIMUONCDB_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6/* $Id$ */
7
8/// \ingroup base
9/// \class AliMUONCDB
10/// \brief Helper class to experience the OCDB
11///
12// Author Laurent Aphecetche
13
14#include <TObject.h>
15#include <TString.h>
2bedeab9 16#include "AliCDBRunRange.h"
de01cdf0 17
a0eca509 18class AliMUONVStore;
de01cdf0 19class TMap;
20class AliMUONVCalibParam;
21class AliMUONTriggerLut;
22class AliMUONTriggerEfficiencyCells;
92c23b09 23class AliMUONRegionalTriggerConfig;
24class AliMUONGlobalCrateConfig;
de01cdf0 25
de01cdf0 26class AliMUONCDB : public TObject
27{
28public:
29 /// Ctor. change the path for testing the Shuttle preprocessor, to
162637e4 30 /// "local://$ALICE_ROOT/OCDB/SHUTTLE/TestShuttle/TestCDB"
31 AliMUONCDB(const char* cdbpath = "local://$ALICE_ROOT/OCDB");
de01cdf0 32 virtual ~AliMUONCDB();
33
046e5fd4 34 void SetMaxNofChannelsToGenerate(Int_t n);
35
a0eca509 36 Int_t MakeNeighbourStore(AliMUONVStore& neighbourStore);
de01cdf0 37
38 Int_t MakeHVStore(TMap& aliasMap, Bool_t defaultValues);
49e110ec 39 Int_t MakeTriggerDCSStore(TMap& aliasMap, Bool_t defaultValues);
a0eca509 40 Int_t MakePedestalStore(AliMUONVStore& pedestalStore, Bool_t defaultValues);
41 Int_t MakeCapacitanceStore(AliMUONVStore& capaStore, Bool_t defaultValues);
25e1df3e 42 Int_t MakeCapacitanceStore(AliMUONVStore& capaStore, const char* file);
a0eca509 43 Int_t MakeGainStore(AliMUONVStore& gainStore, Bool_t defaultValues);
de01cdf0 44
92c23b09 45 Int_t MakeLocalTriggerMaskStore(AliMUONVStore& ltm) const;
46 Int_t MakeRegionalTriggerConfigStore(AliMUONRegionalTriggerConfig& rtm) const;
47 Int_t MakeGlobalTriggerConfigStore(AliMUONGlobalCrateConfig& gtm) const;
48
de01cdf0 49 AliMUONTriggerLut* MakeTriggerLUT(const char* file="$(ALICE_ROOT)/MUON/data/lutAptLpt1Hpt1p7.root") const;
50 AliMUONTriggerEfficiencyCells* MakeTriggerEfficiency(const char* file="$ALICE_ROOT/MUON/data/efficiencyCells.dat") const;
51
52 /// Compute the difference between two (compatible) stores
a0eca509 53 AliMUONVStore* Diff(AliMUONVStore& store1, AliMUONVStore& store2,
de01cdf0 54 const char* opt="abs");
55
a0eca509 56 void Plot(const AliMUONVStore& store, const char* name, Int_t nbins=512);
de01cdf0 57
58 void WriteToCDB(const char* calibpath, TObject* object,
59 Int_t startRun, Int_t endRun, Bool_t defaultValues);
25e1df3e 60 void WriteToCDB(const char* calibpath, TObject* object,
61 Int_t startRun, Int_t endRun, const char* filename);
913f1b43 62 void WriteToCDB(TObject* object, const char* calibpath, Int_t startRun=0, Int_t endRun=AliCDBRunRange::Infinity(),
63 const char* comment="", const char* responsible="AliMUONCDB tester class");
de01cdf0 64
49e110ec 65 void WriteTrigger(Bool_t defaultValues=kTRUE, Int_t startRun=0,Int_t endRun=AliCDBRunRange::Infinity());
2bedeab9 66 void WriteTracker(Bool_t defaultValues=kTRUE, Int_t startRun=0,Int_t endRun=AliCDBRunRange::Infinity());
de01cdf0 67
2bedeab9 68 void WriteNeighbours(Int_t startRun=0, Int_t endRun=AliCDBRunRange::Infinity());
b59c04ef 69 void WriteHV(Bool_t defaultValues, Int_t startRun, Int_t endRun=AliCDBRunRange::Infinity());
49e110ec 70 void WriteTriggerDCS(Bool_t defaultValues, Int_t startRun, Int_t endRun=AliCDBRunRange::Infinity());
2bedeab9 71 void WritePedestals(Bool_t defaultValues, Int_t startRun, Int_t endRun=AliCDBRunRange::Infinity());
72 void WriteGains(Bool_t defaultValues, Int_t startRun, Int_t endRun=AliCDBRunRange::Infinity());
73 void WriteCapacitances(Bool_t defaultValues, Int_t startRun=0, Int_t endRun=AliCDBRunRange::Infinity());
74 void WriteCapacitances(const char* file, Int_t startRun=0, Int_t endRun=AliCDBRunRange::Infinity());
de01cdf0 75
2bedeab9 76 void WriteLocalTriggerMasks(Int_t startRun=0, Int_t endRun=AliCDBRunRange::Infinity());
92c23b09 77 void WriteRegionalTriggerConfig(Int_t startRun=0, Int_t endRun=AliCDBRunRange::Infinity());
78 void WriteGlobalTriggerConfig(Int_t startRun=0, Int_t endRun=AliCDBRunRange::Infinity());
79
2bedeab9 80 void WriteTriggerLut(Int_t startRun=0, Int_t endRun=AliCDBRunRange::Infinity());
81 void WriteTriggerEfficiency(Int_t startRun=0, Int_t endRun=AliCDBRunRange::Infinity());
de01cdf0 82
83private:
ef447c30 84 /// Not implemented
85 AliMUONCDB(const AliMUONCDB& rhs);
86 /// Not implemented
de01cdf0 87 AliMUONCDB& operator=(const AliMUONCDB& rhs);
88
89private:
90 TString fCDBPath; //!< where to write stuff
046e5fd4 91 Int_t fMaxNofChannelsToGenerate; //!< to limit the number of generated channels (debug)
de01cdf0 92
93 ClassDef(AliMUONCDB,0) // Helper class to experience OCDB
94};
95
96#endif