]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONPedestal.h
Initialization of data members
[u/mrichter/AliRoot.git] / MUON / AliMUONPedestal.h
index 69938130500e4c550aea31ee1d5634cbac57d53b..2b9fee4cc27cb6c3eff0af1dbb956307e312ae93 100644 (file)
 /// 
 //  Author Alberto Baldisseri, JL Charvet 
 
-#include <TObject.h>
-
-#include "AliMpConstants.h"
+#ifndef ROOT_TObject
+#  include <TObject.h>
+#endif
+#ifndef ROOT_TString
+#  include <TString.h>
+#endif
 
 class AliMUONVStore;
 
 class TTimeStamp;
-class THashTable;
-
-// global variables
-const Int_t kNChannels = AliMpConstants::ManuNofChannels();
-const Int_t kADCMax    = 4095;
 
 class AliMUONPedestal : public TObject
 {
@@ -31,50 +29,77 @@ class AliMUONPedestal : public TObject
     AliMUONPedestal();
     virtual ~AliMUONPedestal();
     
-    ///
+    /// return the number of current events
+    void SetAliNCurrentEvents(Int_t events) {fNCurrentEvents = events;}
+    /// return the number of events
     void SetAliNEvents(Int_t events) {fNEvents = events;}
-    ///
+    /// return the Run number
     void SetAliRunNumber(Int_t run) {fRunNumber = run;}
-    ///
+    /// return the total number of channels (or pads)
     void SetAliNChannel(Int_t nch) {fNChannel = nch;}
-    ///
+    /// output .log file of DAs
     void SetAlifilcout(ofstream* stream) {fFilcout = stream;}
-    ///
-    TTimeStamp* GetDate() {return fDate;}
-    ///
-    THashTable* GetErrorBuspatchTable() {return fErrorBuspatchTable;}
-    ///
-    Char_t* GetHistoFileName() {return fHistoFileName;}
+    /// return date and time
+    TTimeStamp* GetDate() const {return fDate;}
+    /// Count parity errors per Buspatch
+    AliMUONVStore* GetErrorBuspatchTable() const {return fErrorBuspatchTable;}
+    /// return the name of DAPedestal .root file
+    const char* GetHistoFileName() const;
+    /// load MuonTrk configuration from ascii dbfile
+    void LoadConfig(const char* dbfile);
+    /// sum pedestal values for mean and sigma determination
     void MakePed(Int_t bp,Int_t manu,Int_t ch,Int_t charge);
-    void MakePedStore(TString flatfile);
-    TString WritePedData(Int_t bp, Int_t manu, Int_t ch, Double_t mean, Double_t sigma);
-    TString WritePedHeader();
 
-    ///
-    void SetprefixDA(char* folder) {sprintf(fprefixDA,"%s",folder);}
-    ///
+    /// set config flag
+    void SetconfigDA(Int_t ind) {fConfig = ind;}
+    /// set Nb of evt threshold to calculate pedestal
+    void SetnEvthreshold(Int_t ind) {fNEvthreshold = ind;}
+    /// sorting flag
+    void SetnSorting(Int_t ind) {fSorting = ind;}
+    /// set specific  DA prefixname
+    void SetprefixDA(const char* folder) { fPrefixDA=folder;}
+    /// set the index of calibration runs
     void SetAliIndex(Int_t ind) {fIndex = ind;}
+    /// Compute the pedestal data (mean, sigma)
+    void Finalize();
+    /// Create String to be put into file or AMORE DB
+    void MakeASCIIoutput(ostream& out) const;
+    /// Fill Histograms
+    void MakeControlHistos();
+
+  Int_t ADCMax() const { return 4095; }
 
-  protected:
-    Int_t fNEvents; ///<
-    Int_t fRunNumber; ///<
-    Int_t fNChannel; ///<
-    Int_t fNManu; ///<
-    THashTable* fErrorBuspatchTable; ///< Table for buspatches with parity errors 
-    TTimeStamp* fDate; ///<
-    ofstream* fFilcout; ///<
-    Char_t fHistoFileName[256]; ///<
-    AliMUONVStore* fPedestalStore; ///<
-    Int_t fIndex; ///<
-    Char_t fprefixDA[256]; ///<
+protected:
+    //    Int_t fN; ///<
+    Int_t fNCurrentEvents; ///< Number of current events
+    Int_t fNEvthreshold; ///< Nbevt threshold (pedestal calculation)
+    Int_t fSorting; ///< sorting flag (pedestal values)
+    Int_t fNEvents; ///< Number of events
+    Int_t fRunNumber; ///< run number
+    Int_t fNChannel; ///< Nb of channels (pads)
+    Int_t fNManu; ///<  Nb of Manu
+    Int_t fNManuConfig; ///<  Nb of Manu in the current detector configuration
+    Int_t fConfig; ///< flag 1(0) for reading(or not) configuration ascii file
+    AliMUONVStore* fErrorBuspatchTable; ///< Table for buspatches with parity errors 
+    AliMUONVStore* fManuBuspatchTable; ///< Occupancy rate for each (buspatch, manu)
+    AliMUONVStore* fManuBPoutofconfigTable; ///< (buspatch, manu) out of config
+    TTimeStamp* fDate; ///< date
+    ofstream* fFilcout; ///< .log output file
+    TString fHistoFileName; ///< .root histo file
+    AliMUONVStore* fPedestalStore; ///< data container:  (Pedmean,sigma) values for each (BP,manuId)
+    Int_t fIndex; ///< calibration run index
+    TString fPrefixDA; ///< specific DA prefixname
 
+  static const Int_t fgkADCMax; ///< max channel count
+  
   private:
     /// Not implemented
     AliMUONPedestal(const AliMUONPedestal& rhs);
     /// Not implemented
     AliMUONPedestal& operator = (const AliMUONPedestal& rhs);
 
-  ClassDef(AliMUONPedestal,1) // 
+  ClassDef(AliMUONPedestal,5) // Pedestal computing for DA 
 };
 
 #endif