]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TRD/AliTRDcalibDB.h
test Id (Ivana)
[u/mrichter/AliRoot.git] / TRD / AliTRDcalibDB.h
index 5a1799d4ea45dc5c793e73786c4006ac744521bf..8b6cd8bf4db34fd77ac061a91f4a96163da6b927 100644 (file)
 
 /* $Id$ */
 
+#ifndef ROOT_TObject
 #include "TObject.h"
+#endif
+
+#ifndef ALITRDPIDUTIL_H
+#include "AliTRDpidUtil.h"
+#endif
 
 class AliCDBEntry;
 
-class AliTRDCalPIDLQ;
+class AliTRDrecoParam;
+class AliTRDCalPID;
 class AliTRDCalMonitoring;
 class AliTRDCalROC;
 class AliTRDCalDet;
-
+class AliTRDCalSingleChamberStatus;
+class TString;
 class AliTRDcalibDB : public TObject {
 
  public:
 
-  enum { kNplan =   6
-       , kNcham =   5
-       , kNsect =  18
-       , kNdet  = 540 };
+  enum { kNlayer  =   6
+       , kNstack  =   5
+       , kNsector =  18
+       , kNdet    = 540 };
   
-  static AliTRDcalibDB      *Instance();
-  static void                Terminate();
-
-  void                       SetRun(Long64_t run);
-  Long64_t                   GetRun() { return fRun; }
-
-  Float_t                    GetVdrift(Int_t det, Int_t col, Int_t row);
-  Float_t                    GetVdriftAverage(Int_t det);
-        AliTRDCalROC        *GetVdriftROC(Int_t det);
-  const AliTRDCalDet        *GetVdriftDet();
-
-  Float_t                    GetT0(Int_t det, Int_t col, Int_t row);
-  Float_t                    GetT0Average(Int_t det);
-        AliTRDCalROC        *GetT0ROC(Int_t det);
-  const AliTRDCalDet        *GetT0Det();
-
-  Float_t                    GetGainFactor(Int_t det, Int_t col, Int_t row);
-  Float_t                    GetGainFactorAverage(Int_t det);
-        AliTRDCalROC        *GetGainFactorROC(Int_t det);
-  const AliTRDCalDet        *GetGainFactorDet();
-
-        AliTRDCalROC        *GetPRFROC(Int_t det);
-  Float_t                    GetPRFWidth(Int_t det, Int_t col, Int_t row);
-
-  Int_t                      GetNumberOfTimeBins();
-
-  Char_t                     GetPadStatus(Int_t det, Int_t col, Int_t row);
-  Char_t                     GetChamberStatus(Int_t det);
-
-  Bool_t                     IsPadMasked(Int_t det, Int_t col, Int_t row);
-  Bool_t                     IsPadBridgedLeft(Int_t det, Int_t col, Int_t row);
-  Bool_t                     IsPadBridgedRight(Int_t det, Int_t col, Int_t row);
+  static AliTRDcalibDB               *Instance();
+  static void                         Terminate();
+
+  void                                SetRun(Long64_t run);
+  Long64_t                            GetRun() const { return fRun; }
+
+  Float_t                             GetNoise(Int_t det, Int_t col, Int_t row);
+        AliTRDCalROC                 *GetNoiseROC(Int_t det);
+  const AliTRDCalDet                 *GetNoiseDet();
+
+  Float_t                             GetVdrift(Int_t det, Int_t col, Int_t row);
+  Float_t                             GetVdriftAverage(Int_t det);
+        AliTRDCalROC                 *GetVdriftROC(Int_t det);
+  const AliTRDCalDet                 *GetVdriftDet();
+
+  Float_t                             GetT0(Int_t det, Int_t col, Int_t row);
+  Float_t                             GetT0Average(Int_t det);
+        AliTRDCalROC                 *GetT0ROC(Int_t det);
+  const AliTRDCalDet                 *GetT0Det();
+
+  Float_t                             GetGainFactor(Int_t det, Int_t col, Int_t row);
+  Float_t                             GetGainFactorAverage(Int_t det);
+  AliTRDCalROC                       *GetGainFactorROC(Int_t det);
+  const AliTRDCalDet                 *GetGainFactorDet();
+
+  AliTRDCalROC                       *GetPRFROC(Int_t det);
+  Float_t                             GetPRFWidth(Int_t det, Int_t col, Int_t row);
+
+  Float_t*                            GetSampledPRF() const { return fPRFsmp; };
+  Int_t                               GetPRFbin() const     { return fPRFbin; };
+  Float_t                             GetPRFlo() const      { return fPRFlo;  };
+  Float_t                             GetPRFhi() const      { return fPRFhi;  };
+
+  Int_t                               GetNumberOfTimeBinsDCS();
+  void                                GetFilterType(TString &filterType);
+  void                                GetGlobalConfiguration(TString &config);
+  Bool_t                              HasOnlineFilterPedestal();
+  Bool_t                              HasOnlineFilterGain();
+  Bool_t                              HasOnlineTailCancellation();
+
+  Char_t                              GetPadStatus(Int_t det, Int_t col, Int_t row);
+  AliTRDCalSingleChamberStatus       *GetPadStatusROC(Int_t det);
+  AliTRDrecoParam*                    GetRecoParam(Int_t *eventtype);
+
+  Char_t                              GetChamberStatus(Int_t det);
+
+  Bool_t                              IsPadMasked(Int_t det, Int_t col, Int_t row);
+  Bool_t                              IsPadBridgedLeft(Int_t det, Int_t col, Int_t row);
+  Bool_t                              IsPadBridgedRight(Int_t det, Int_t col, Int_t row);
+  Bool_t                              IsPadNotConnected(Int_t det, Int_t col, Int_t row);
   
-  Bool_t                     IsChamberInstalled(Int_t det);
-  Bool_t                     IsChamberMasked(Int_t det);
+  Bool_t                              IsChamberInstalled(Int_t det);
+  Bool_t                              IsChamberMasked(Int_t det);
+  Bool_t                              IsHalfChamberMasked(Int_t det, Int_t side);
 
-  const AliTRDCalMonitoring *GetMonitoringObject();
-  const AliTRDCalPIDLQ      *GetPIDLQObject();
+  const AliTRDCalMonitoring          *GetMonitoringObject();
+  const AliTRDCalPID                 *GetPIDObject(AliTRDpidUtil::ETRDPIDMethod m);
 
   // Related functions, these depend on calibration data
-  static Float_t             GetOmegaTau(Float_t vdrift, Float_t bz);
-         Int_t               PadResponse(Double_t signal, Double_t dist
-                                       , Int_t plane, Double_t *pad) const;
-  
+         Int_t                        PadResponse(Double_t signal, Double_t dist
+                                                , Int_t layer, Double_t *pad) const;
+
  protected:
 
   // For caching see also implentation of GetCachedCDBObject in the .cxx file
-  enum { kCDBCacheSize = 15 };   // Number of cached objects
   enum { kIDVdriftPad = 0
        , kIDVdriftChamber
        , kIDT0Pad
        , kIDT0Chamber
        , kIDGainFactorPad
        , kIDGainFactorChamber
+       , kIDNoiseChamber
+       , kIDNoisePad
        , kIDPRFWidth
        , kIDFEE
        , kIDChamberPos
        , kIDStackPos
        , kIDSuperModulePos
+       , kIDPIDNN
        , kIDPIDLQ
+       , kIDRecoParam
        , kIDMonitoringData
        , kIDChamberStatus
-       , kIDPadStatus };         // IDs of cached objects
+       , kIDPadStatus
+       , kIDDCS
+       , kCDBCacheSize };         // IDs of cached objects
 
   const TObject *GetCachedCDBObject(Int_t id);
   
@@ -123,8 +154,9 @@ class AliTRDcalibDB : public TObject {
   AliTRDcalibDB &operator=(const AliTRDcalibDB &c); 
   virtual ~AliTRDcalibDB();
 
-  ClassDef(AliTRDcalibDB,3)                         //  Provides central access to the CDB
+  ClassDef(AliTRDcalibDB, 4)                         //  Provides central access to the CDB
 
 };
 
 #endif
+