]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TPC/AliTPCCalibKr.h
Update of ACORDE-QA-Raw data histograms (now they go from -0.5 to 59.5)
[u/mrichter/AliRoot.git] / TPC / AliTPCCalibKr.h
index d54c750c306aca5378aaa021912a353c93ad0559..dec1481e544ed6e8cfedb93241b8e60c6d80fe9a 100644 (file)
@@ -1,65 +1,93 @@
-#ifndef ALITPCCALIBKR_H
-#define ALITPCCALIBKR_H
-/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- * See cxx source for full Copyright notice                               */
-
-#include <TObject.h>
-#include <TObjArray.h>
-#include <TChain.h>
-#include <TTree.h>
-#include <TClonesArray.h>
-
-#include "AliTPCclusterKr.h"
-
-class TH3F;
-class TH1D;
-
-class AliTPCCalibKr : public TObject {
-
-public:
-  AliTPCCalibKr();
-  AliTPCCalibKr(const AliTPCCalibKr&); // copy constructor
-  virtual ~AliTPCCalibKr();
-
-  AliTPCCalibKr& operator=(const AliTPCCalibKr&); 
-
-  //
-  void Init();
-  Bool_t Process();
-  Bool_t ReadEntry(Int_t evt);
-  Bool_t Update(AliTPCclusterKr *cluster);
-  TH3F*  CreateHisto(Int_t chamber);
-
-  const TObjArray* GetHistoKrArray () {return &fHistoKrArray;}  // get calibration object
-  TH3F* GetHistoKr(Int_t sector) const;                         // get refernce histogram
-
-  Bool_t IsCSide(Int_t chamber);
-  Bool_t IsIROC(Int_t chamber);
-
-  Bool_t Terminate();
-  void Analyse();
-  static TH1D* ProjectHisto(TH3F* histo3D, const char* name = "_pz", Int_t firstxbin = 0, Int_t lastxbin = 0, Int_t firstybin = 0, Int_t lastybin = 0);
-
-  void SetInputChain(TChain *inChain) {fTree = (TTree*) inChain;}
-  void SetOutputHisto(Bool_t bHisto = kTRUE) {bOutputHisto = bHisto;}
-
-  void SetASide(Bool_t bA = kTRUE) {bASide = bA;} // fill histo only A TPC side
-  void SetBSide(Bool_t bC = kTRUE) {bCSide = bC;} // fill histo only C TPC side
-
-private:
-
-  Bool_t bOutputHisto;        //!
-  Bool_t bASide;              //!
-  Bool_t bCSide;              //!
-
-  TClonesArray *fClusters;    //!
-  AliTPCclusterKr *fClustKr;  //!
-  TTree *fTree;               //!
-  TObjArray fHistoKrArray;    //  Calibration histograms for Kr distribution
-
-public:
-  ClassDef(AliTPCCalibKr, 1)  // Implementation of the TPC pedestal and noise calibration
-};
-
-#endif
-
+#ifndef ALITPCCALIBKR_H\r
+#define ALITPCCALIBKR_H\r
+/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *\r
+ * See cxx source for full Copyright notice                               */\r
+\r
+#include <TObject.h>\r
+#include <TObjArray.h>\r
+#include <TChain.h>\r
+#include <TTree.h>\r
+#include <TClonesArray.h>\r
+\r
+#include "AliTPCclusterKr.h"\r
+\r
+class TH3F;\r
+class TH1D;\r
+\r
+class AliTPCCalibKr : public TObject {\r
+\r
+public:\r
+  AliTPCCalibKr();\r
+  AliTPCCalibKr(const AliTPCCalibKr&); // copy constructor\r
+  virtual ~AliTPCCalibKr();\r
+\r
+  AliTPCCalibKr& operator=(const AliTPCCalibKr&); \r
+\r
+  //\r
+  void Init();\r
+  Bool_t Process(AliTPCclusterKr *cluster);\r
+  Bool_t Accept(AliTPCclusterKr *cluster);\r
+  Bool_t Update(AliTPCclusterKr *cluster);\r
+  TH3F*  CreateHisto(Int_t chamber);\r
+\r
+  const TObjArray* GetHistoKrArray () {return &fHistoKrArray;}  // get calibration object\r
+  TH3F* GetHistoKr(Int_t sector) const;                         // get refernce histogram\r
+\r
+  Bool_t IsCSide(Int_t chamber);\r
+  Bool_t IsIROC(Int_t chamber);\r
+\r
+  void Analyse();\r
+  static TH1D* ProjectHisto(TH3F* histo3D, const char* name = "_pz", Int_t firstxbin = 0, Int_t lastxbin = 0, Int_t firstybin = 0, Int_t lastybin = 0);\r
+\r
+  void SetASide(Bool_t bA = kTRUE) {fASide = bA;} // fill histo only A TPC side\r
+  void SetBSide(Bool_t bC = kTRUE) {fCSide = bC;} // fill histo only C TPC side\r
+\r
+  //Merge output objects (needed by PROOF)\r
+  virtual Long64_t Merge(TCollection* list);\r
+\r
+  // Setters\r
+  void SetADCOverClustSizeRange(Float_t min=0.0,Float_t max=1.0e9)   {fADCOverClustSizeMin = min ; fADCOverClustSizeMax = max;  }\r
+  void SetMaxADCOverClustADCRange(Float_t min=0.0,Float_t max=1.0e9) {fMaxADCOverClustADCMin = min ; fMaxADCOverClustADCMax = max;  }\r
+  void SetTimeRange(Float_t min=0.0, Float_t max=1.0e9)              {fTimeMin = min ; fTimeMax = max; }\r
+  void SetClustSizeRange(Float_t min=0.0, Float_t max=1.0e9)         {fClustSizeMin = min ; fClustSizeMax = max; }\r
+\r
+  void SetTimebinRmsMin(Float_t iroc=0.0,Float_t oroc=0.0)           {fTimebinRmsIrocMin = iroc ; fTimebinRmsOrocMin = oroc; }\r
+  void SetPadRmsMin(Float_t iroc=0.0,Float_t oroc=0.0)               {fPadRmsIrocMin = iroc ; fPadRmsOrocMin = oroc; }\r
+  void SetRowRmsMin(Float_t iroc=0.0,Float_t oroc=0.0)               {fRowRmsIrocMin = iroc ; fRowRmsOrocMin = oroc; }\r
+  void SetClusterPadSize1DMax(Short_t iroc=200,Short_t oroc=200) {fClusterPadSize1DIrocMax = iroc ; fClusterPadSize1DOrocMax = oroc; }\r
+  void SetCurveCoefficient(Float_t iroc=1.0e9,Float_t oroc=1.0e9)    {fCurveCoefficientIroc = iroc ; fCurveCoefficientOroc = oroc; }\r
+\r
+private:\r
+\r
+  Bool_t fASide;              //! Only A side\r
+  Bool_t fCSide;              //! Only C side \r
+  TObjArray fHistoKrArray;    //  Calibration histograms for Kr distribution\r
+\r
+  Float_t fADCOverClustSizeMin; // min ADCcluster over Cluster size ratio\r
+  Float_t fADCOverClustSizeMax; // max ADCcluster over Cluster size ratio\r
+  Float_t fMaxADCOverClustADCMin; // min MaxADC over ADCcluster ratio \r
+  Float_t fMaxADCOverClustADCMax; // max MaxADC over ADCcluster ratio\r
+  Float_t fTimeMin; // min time bin for MaxADC\r
+  Float_t fTimeMax; // max time bin for MaxADC\r
+  Float_t fClustSizeMin; // min cluster size\r
+  Float_t fClustSizeMax; // max cluster size\r
+\r
+  Float_t fTimebinRmsIrocMin; // min Timebin RMS for IROCs\r
+  Float_t fPadRmsIrocMin; // min Pad RMS for IROCs\r
+  Float_t fRowRmsIrocMin; // min Row RMS for IROCs\r
+  Short_t fClusterPadSize1DIrocMax; // max size of cluster in pad dir. for IROCs \r
+  Float_t fCurveCoefficientIroc; // A coefficient in curve function for IROCs\r
+\r
+  Float_t fTimebinRmsOrocMin; // min Timebin RMS for OROCs\r
+  Float_t fPadRmsOrocMin; // min Pad RMS for OROCs\r
+  Float_t fRowRmsOrocMin; // min Row RMS for OROCs\r
+  Short_t fClusterPadSize1DOrocMax; // max size of cluster in pad dir. for OROCs \r
+  Float_t fCurveCoefficientOroc; // A coefficient in curve function for OROCs\r
+\r
+\r
+public:\r
+  ClassDef(AliTPCCalibKr, 2)  // Implementation of the TPC krypton calibration\r
+};\r
+\r
+#endif\r
+\r