Update of ACORDE-QA-Raw data histograms (now they go from -0.5 to 59.5)
[u/mrichter/AliRoot.git] / MUON / AliMUONPedestal.h
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