]>
Commit | Line | Data |
---|---|---|
1 | #ifndef ALIMUONPEDESTAL_H | |
2 | #define ALIMUONPEDESTAL_H | |
3 | ||
4 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
5 | * See cxx source for full Copyright notice */ | |
6 | ||
7 | // $Id$ | |
8 | ||
9 | /// \ingroup calib | |
10 | /// \class AliMUONPedestal | |
11 | /// \brief Implementation of the pedestal computing | |
12 | /// | |
13 | // Author Alberto Baldisseri, JL Charvet | |
14 | ||
15 | #ifndef ROOT_TObject | |
16 | # include <TObject.h> | |
17 | #endif | |
18 | #ifndef ROOT_TString | |
19 | # include <TString.h> | |
20 | #endif | |
21 | ||
22 | class AliMUONVStore; | |
23 | ||
24 | class TTimeStamp; | |
25 | ||
26 | class AliMUONPedestal : public TObject | |
27 | { | |
28 | public: | |
29 | AliMUONPedestal(); | |
30 | virtual ~AliMUONPedestal(); | |
31 | ||
32 | /// return the number of events | |
33 | void SetAliNEvents(Int_t events) {fNEvents = events;} | |
34 | /// return the Run number | |
35 | void SetAliRunNumber(Int_t run) {fRunNumber = run;} | |
36 | /// return the total number of channels (or pads) | |
37 | void SetAliNChannel(Int_t nch) {fNChannel = nch;} | |
38 | /// output .log file of DAs | |
39 | void SetAlifilcout(ofstream* stream) {fFilcout = stream;} | |
40 | /// return date and time | |
41 | TTimeStamp* GetDate() const {return fDate;} | |
42 | /// Count parity errors per Buspatch | |
43 | AliMUONVStore* GetErrorBuspatchTable() const {return fErrorBuspatchTable;} | |
44 | /// return the name of DAPedestal .root file | |
45 | const char* GetHistoFileName() const; | |
46 | /// load MuonTrk configuration from ascii dbfile | |
47 | void LoadConfig(const char* dbfile); | |
48 | /// sum pedestal values for mean and sigma determination | |
49 | void MakePed(Int_t bp,Int_t manu,Int_t ch,Int_t charge); | |
50 | ||
51 | /// set config flag | |
52 | void SetconfigDA(Int_t ind) {fConfig = ind;} | |
53 | /// set specific DA prefixname | |
54 | void SetprefixDA(const char* folder) { fPrefixDA=folder;} | |
55 | /// set the index of calibration runs | |
56 | void SetAliIndex(Int_t ind) {fIndex = ind;} | |
57 | /// Compute the pedestal data (mean, sigma) | |
58 | void Finalize(); | |
59 | /// Create String to be put into file or AMORE DB | |
60 | void MakeASCIIoutput(ostream& out) const; | |
61 | /// Fill Histograms | |
62 | void MakeControlHistos(); | |
63 | ||
64 | Int_t ADCMax() const { return 4095; } | |
65 | ||
66 | protected: | |
67 | // Int_t fN; ///< | |
68 | Int_t fNEvents; ///< Number of events | |
69 | Int_t fRunNumber; ///< run number | |
70 | Int_t fNChannel; ///< Nb of channels (pads) | |
71 | Int_t fNManu; ///< Nb of Manu | |
72 | Int_t fNManuConfig; ///< Nb of Manu in the current detector configuration | |
73 | Int_t fConfig; ///< flag 1(0) for reading(or not) configuration ascii file | |
74 | AliMUONVStore* fErrorBuspatchTable; ///< Table for buspatches with parity errors | |
75 | AliMUONVStore* fManuBuspatchTable; ///< Occupancy rate for each (buspatch, manu) | |
76 | AliMUONVStore* fManuBPoutofconfigTable; ///< (buspatch, manu) out of config | |
77 | ||
78 | TTimeStamp* fDate; ///< date | |
79 | ofstream* fFilcout; ///< .log output file | |
80 | TString fHistoFileName; ///< .root histo file | |
81 | AliMUONVStore* fPedestalStore; ///< data container: (Pedmean,sigma) values for each (BP,manuId) | |
82 | Int_t fIndex; ///< calibration run index | |
83 | TString fPrefixDA; ///< specific DA prefixname | |
84 | ||
85 | static const Int_t fgkADCMax; ///< max channel count | |
86 | ||
87 | private: | |
88 | /// Not implemented | |
89 | AliMUONPedestal(const AliMUONPedestal& rhs); | |
90 | /// Not implemented | |
91 | AliMUONPedestal& operator = (const AliMUONPedestal& rhs); | |
92 | ||
93 | ClassDef(AliMUONPedestal,4) // Pedestal computing for DA | |
94 | }; | |
95 | ||
96 | #endif |