]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONPedestal.h
The cut on V0 pointing angle is now momentum dependent below 1.5 GeV/c. Above this...
[u/mrichter/AliRoot.git] / MUON / AliMUONPedestal.h
index 373b81492b3ff840b2ca2f37a233eae5a7b45b01..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;
 
-// global variables
-const Int_t kNChannels = AliMpConstants::ManuNofChannels();
-const Int_t kADCMax    = 4095;
-
 class AliMUONPedestal : public TObject
 {
   public:
     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
@@ -39,15 +40,24 @@ class AliMUONPedestal : public TObject
     /// output .log file of DAs
     void SetAlifilcout(ofstream* stream) {fFilcout = stream;}
     /// return date and time
-    TTimeStamp* GetDate() {return fDate;}
+    TTimeStamp* GetDate() const {return fDate;}
     /// Count parity errors per Buspatch
-    AliMUONVStore* GetErrorBuspatchTable() {return fErrorBuspatchTable;}
+    AliMUONVStore* GetErrorBuspatchTable() const {return fErrorBuspatchTable;}
     /// return the name of DAPedestal .root file
-    Char_t* GetHistoFileName() {return fHistoFileName;}
+    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);
 
+    /// 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(char* folder) {sprintf(fprefixDA,"%s",folder);}
+    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)
@@ -57,29 +67,39 @@ class AliMUONPedestal : public TObject
     /// Fill Histograms
     void MakeControlHistos();
 
-  protected:
-    Int_t fN; ///<
+  Int_t ADCMax() const { return 4095; }
+
+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
-    Char_t fHistoFileName[256]; ///< .root histo file
-    AliMUONVStore* fPedestalStore; ///< 
+    TString fHistoFileName; ///< .root histo file
+    AliMUONVStore* fPedestalStore; ///< data container:  (Pedmean,sigma) values for each (BP,manuId)
     Int_t fIndex; ///< calibration run index
-    Char_t fprefixDA[256]; ///< specific DA prefixname
+    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,2) // 
+  ClassDef(AliMUONPedestal,5) // Pedestal computing for DA 
 };
 
 #endif