-#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(AliTPCclusterKr *cluster);
- Bool_t Accept(AliTPCclusterKr *cluster);
- 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);
-
- 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 SetASide(Bool_t bA = kTRUE) {fASide = bA;} // fill histo only A TPC side
- void SetBSide(Bool_t bC = kTRUE) {fCSide = bC;} // fill histo only C TPC side
-
- //Merge output objects (needed by PROOF)
- virtual Long64_t Merge(TCollection* list);
-
-private:
-
- Bool_t fASide; //! Only A side
- Bool_t fCSide; //! Only C side
- 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