-#ifndef ALITPCCLUSTERERKR_H\r
-#define ALITPCCLUSTERERKR_H\r
-/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *\r
- * See cxx source for full Copyright notice */\r
-\r
-/* $Id: AliTPCclustererKr.h,v 1.8 2008/02/07 16:07:15 matyja Exp $ */\r
-\r
-//-------------------------------------------------------\r
-// TPC Kr Clusterer Class\r
-//\r
-// Origin: Adam Matyja, INP PAN, adam.matyja@ifj.edu.pl\r
-//-------------------------------------------------------\r
-\r
-#include "TObject.h"\r
-\r
-class AliTPCclusterKr;\r
-class AliPadMax;\r
-class AliSimDigits;\r
-class AliTPCv4;\r
-class AliTPCParam;\r
-class AliTPCDigitsArray;\r
-class AliTPCvtpr;\r
-class AliTPCClustersRow;\r
-class TTree;\r
-class TH1F;\r
-class TH2F;\r
-\r
-class AliTPCTransform;\r
-\r
-//used in raw data finder\r
-class AliTPCROC;\r
-class AliTPCCalPad;\r
-class AliTPCAltroMapping;\r
-class AliTPCcalibDB;\r
-class AliTPCRecoParam;\r
-class AliTPCReconstructor;\r
-class AliRawReader;\r
-class AliTPCCalROC;\r
-class TTreeSRedirector;\r
-class AliRawEventHeaderBase;\r
-//_____________________________________________________________________________\r
-class AliTPCclustererKr: public TObject{\r
-public:\r
- AliTPCclustererKr();\r
- AliTPCclustererKr(const AliTPCclustererKr ¶m);//copy constructor\r
- AliTPCclustererKr &operator = (const AliTPCclustererKr & param); \r
- virtual ~AliTPCclustererKr();\r
-\r
- //finders\r
- virtual Int_t FinderIO();//for MC\r
- virtual Int_t FinderIO(AliRawReader* rawReader);//for data\r
- virtual Int_t FindClusterKrIO();//main routine for finding clusters\r
- virtual void CleanSector(Int_t sector); // clean isolated digits\r
-\r
- //other\r
- void GetXY(Int_t sec,Int_t row,Int_t pad,Double_t& xGlob,Double_t& yGlob);//give XY coordinate of the pad\r
-\r
- virtual void SetInput(TTree * tree); //set input tree with digits \r
- virtual void SetOutput(TTree * tree); //set output tree with clusters\r
- virtual void SetParam(AliTPCParam *param){fParam=param;}//set TPC parameters\r
- virtual void SetDigArr(AliTPCDigitsArray *digarr){fDigarr=digarr;}//set current array of digits\r
- virtual void SetRecoParam(AliTPCRecoParam *recoParam=0);//set reconstruction parameters\r
-\r
- virtual void SetTimeStamp(UInt_t timestamp){ fTimeStamp = timestamp; }\r
- virtual void SetRun(UInt_t run){ fRun = run; }\r
-\r
- //setters for cluster finder parameters\r
- virtual void SetZeroSup(Int_t v){fZeroSup=v;}//set zero suppresion parameter\r
- virtual void SetFirstBin(Int_t v){fFirstBin=v;}//set first considered timebin\r
- virtual void SetLastBin(Int_t v){fLastBin=v;}//set last considered timebin\r
- virtual void SetMaxNoiseAbs(Float_t v){fMaxNoiseAbs=v;}//set maximal noise value\r
- virtual void SetMaxNoiseSigma(Float_t v){fMaxNoiseSigma=v;}//set maximal noise sigma\r
-\r
- virtual void SetMinAdc(Int_t v){v<=0?fMinAdc=1:fMinAdc=v;}//set fMinAdc\r
- virtual void SetMinTimeBins(Int_t v){fMinTimeBins=v;}//set fMinTimeBins\r
-// virtual void SetMaxPadRange(Int_t v){fMaxPadRange=v;}//set fMaxPadRange\r
-// virtual void SetMaxRowRange(Int_t v){fMaxRowRange=v;}//set fMaxRowRange\r
- virtual void SetMaxTimeRange(Int_t v){fMaxTimeRange=v;}//set fMaxTimeRange\r
- virtual void SetValueToSize(Float_t v){fValueToSize=v;}//set fValueToSize\r
-\r
- virtual void SetMaxPadRangeCm(Double_t v){fMaxPadRangeCm=v;}//set fMaxPadRangeCm\r
- virtual void SetMaxRowRangeCm(Double_t v){fMaxRowRangeCm=v;}//set fMaxRowRangeCm\r
-\r
- virtual void SetIsolCut(Short_t v){fIsolCut=v;}\r
-\r
- virtual void SetDebugLevel(Int_t debug){fDebugLevel=debug;}\r
- //debug = 0 to 71 -sector number to print\r
- // = 72 - all sectors\r
- // = 73 - inners\r
- // = 74 - outers\r
-\r
- virtual void SetHistoRow(TH1F *histo) {fHistoRow =histo;}\r
- virtual void SetHistoPad(TH1F *histo) {fHistoPad =histo;}\r
- virtual void SetHistoTime(TH1F *histo) {fHistoTime =histo;}\r
- virtual void SetHistoRowPad(TH2F *histo){fHistoRowPad=histo;}\r
-\r
- //getters for cluster finder parameters\r
- Int_t GetZeroSup() const {return fZeroSup;}//get zero suppresion parameter\r
- Int_t GetFirstBin() const {return fFirstBin;}//get first considered timebin\r
- Int_t GetLastBin() const {return fLastBin;}//get last considered timebin\r
- Float_t GetMaxNoiseAbs() const {return fMaxNoiseAbs;}//get maximal noise value\r
- Float_t GetMaxNoiseSigma() const {return fMaxNoiseSigma;}//get maximal noise sigma\r
-\r
- Int_t GetMinAdc() const {return fMinAdc;}//get fMinAdc\r
- Int_t GetMinTimeBins() const {return fMinTimeBins;}//get fMinTimeBins\r
-// Int_t GetMaxPadRange() const {return fMaxPadRange;}//get fMaxPadRange\r
-// Int_t GetMaxRowRange() const {return fMaxRowRange;}//get fMaxRowRange\r
- Int_t GetMaxTimeRange() const {return fMaxTimeRange;}//get fMaxTimeRange\r
- Float_t GetValueToSize() const {return fValueToSize;}//get fValueToSize\r
-\r
- Double_t GetMaxPadRangeCm() const {return fMaxPadRangeCm;}//get fMaxPadRangeCm\r
- Double_t GetMaxRowRangeCm() const {return fMaxRowRangeCm;}//get fMaxRowRangeCm\r
-\r
- Short_t GetIsolCut() const {return fIsolCut;}\r
-\r
- Int_t GetDebugLevel() const {return fDebugLevel;}\r
- TH1F * GetHistoRow(){return fHistoRow;} \r
- TH1F * GetHistoPad(){return fHistoPad;}\r
- TH1F * GetHistoTime(){return fHistoTime;}\r
- TH2F * GetHistoRowPad(){return fHistoRowPad;}\r
-\r
- UInt_t GetTimeStamp() const {return fTimeStamp;}\r
- UInt_t GetRun() const {return fRun;}\r
-\r
-private:\r
- void MakeClusters(TObjArray * maximaInSector, Int_t iSec, Int_t &clusterCounter);\r
- Bool_t fRawData; //flag =0 for MC =1 for real data\r
-\r
- TTree * fInput; //!input tree with digits - object not owner\r
- TTreeSRedirector * fOutput; //!output tree with clusters - object not owner\r
-\r
- AliTPCParam * fParam;//!TPC parameters\r
- AliTPCDigitsArray *fDigarr;//! pointer to current array if digits\r
-\r
- //only for raw data :)\r
- const AliTPCRecoParam * fRecoParam; //! reconstruction parameters\r
-\r
- //cluster finder parameters\r
- Int_t fZeroSup;//zero suppresion parameter = 2 def.\r
- Int_t fFirstBin;//first considered time bin used by cluster finder = 60 def.\r
- Int_t fLastBin;//last considered time bin used by cluster finder = 950 def.\r
- Float_t fMaxNoiseAbs;// maximal noise value on pad used in cluster finder = 2 def.\r
- Float_t fMaxNoiseSigma;// maximal noise sigma on pad used in cluster finder = 3 def.\r
-\r
- Int_t fMinAdc;//minimal value of acd count in each timebin = 3 def.\r
- Int_t fMinTimeBins;//minimal value of time bins one after each other = 2 def.\r
-// Int_t fMaxPadRange;//maximal pad range from maximum = 4 def.\r
-// Int_t fMaxRowRange;//maximal row range from maximum = 3 def.\r
- Int_t fMaxTimeRange;//maximal time bin range from maximum = 7 def.\r
- Float_t fValueToSize;//ratio cluster value to cluster size = 3.5 def.\r
-\r
- Double_t fMaxPadRangeCm;//maximal pad range in cm from maximum = 2.5cm def.\r
- Double_t fMaxRowRangeCm;//maximal row range in cm from maximum = 3.5cm def.\r
-\r
- Short_t fIsolCut;//isolation cut in 3D = 5 def.\r
-\r
- Int_t fDebugLevel;//! debug level variable\r
- TH1F *fHistoRow;//!debug histo for rows\r
- TH1F *fHistoPad;//!debug histo for pads\r
- TH1F *fHistoTime;//!debug histo for timebins\r
- TH2F *fHistoRowPad;//!debug histo for rows and pads\r
-\r
- UInt_t fTimeStamp; //!time stamp from event header\r
- UInt_t fRun; //!run from event header\r
- ClassDef(AliTPCclustererKr,8) // Time Projection Chamber Kr clusters\r
-};\r
-\r
-\r
-#endif\r
+#ifndef ALITPCCLUSTERERKR_H
+#define ALITPCCLUSTERERKR_H
+/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ * See cxx source for full Copyright notice */
+
+/* $Id: AliTPCclustererKr.h,v 1.8 2008/02/07 16:07:15 matyja Exp $ */
+
+//-------------------------------------------------------
+// TPC Kr Clusterer Class
+//
+// Origin: Adam Matyja, INP PAN, adam.matyja@ifj.edu.pl
+//-------------------------------------------------------
+
+#include "TObject.h"
+
+class AliTPCclusterKr;
+class AliPadMax;
+class AliSimDigits;
+class AliTPCv4;
+class AliTPCParam;
+class AliTPCDigitsArray;
+class AliTPCvtpr;
+class AliTPCClustersRow;
+class TTree;
+class TH1F;
+class TH2F;
+
+class AliTPCTransform;
+
+//used in raw data finder
+class AliTPCROC;
+class AliTPCCalPad;
+class AliTPCAltroMapping;
+class AliTPCcalibDB;
+class AliTPCRecoParam;
+class AliTPCReconstructor;
+class AliRawReader;
+class AliTPCCalROC;
+class TTreeSRedirector;
+class AliRawEventHeaderBase;
+//_____________________________________________________________________________
+class AliTPCclustererKr: public TObject{
+public:
+ AliTPCclustererKr();
+ AliTPCclustererKr(const AliTPCclustererKr ¶m);//copy constructor
+ AliTPCclustererKr &operator = (const AliTPCclustererKr & param);
+ virtual ~AliTPCclustererKr();
+
+ //finders
+ virtual Int_t FinderIO();//for MC
+ virtual Int_t FinderIO(AliRawReader* rawReader);//for data
+ virtual Int_t FindClusterKrIO();//main routine for finding clusters
+ virtual void CleanSector(Int_t sector); // clean isolated digits
+
+ //other
+ void GetXY(Int_t sec,Int_t row,Int_t pad,Double_t& xGlob,Double_t& yGlob);//give XY coordinate of the pad
+
+ virtual void SetInput(TTree * tree); //set input tree with digits
+ virtual void SetOutput(TTree * tree); //set output tree with clusters
+ virtual void SetParam(AliTPCParam *param){fParam=param;}//set TPC parameters
+ virtual void SetDigArr(AliTPCDigitsArray *digarr){fDigarr=digarr;}//set current array of digits
+ virtual void SetRecoParam(AliTPCRecoParam *recoParam=0);//set reconstruction parameters
+
+ virtual void SetTimeStamp(UInt_t timestamp){ fTimeStamp = timestamp; }
+ virtual void SetRun(UInt_t run){ fRun = run; }
+
+ //setters for cluster finder parameters
+ virtual void SetZeroSup(Int_t v){fZeroSup=v;}//set zero suppresion parameter
+ virtual void SetFirstBin(Int_t v){fFirstBin=v;}//set first considered timebin
+ virtual void SetLastBin(Int_t v){fLastBin=v;}//set last considered timebin
+ virtual void SetMaxNoiseAbs(Float_t v){fMaxNoiseAbs=v;}//set maximal noise value
+ virtual void SetMaxNoiseSigma(Float_t v){fMaxNoiseSigma=v;}//set maximal noise sigma
+
+ virtual void SetMinAdc(Int_t v){v<=0?fMinAdc=1:fMinAdc=v;}//set fMinAdc
+ virtual void SetMinTimeBins(Int_t v){fMinTimeBins=v;}//set fMinTimeBins
+// virtual void SetMaxPadRange(Int_t v){fMaxPadRange=v;}//set fMaxPadRange
+// virtual void SetMaxRowRange(Int_t v){fMaxRowRange=v;}//set fMaxRowRange
+ virtual void SetMaxTimeRange(Int_t v){fMaxTimeRange=v;}//set fMaxTimeRange
+ virtual void SetValueToSize(Float_t v){fValueToSize=v;}//set fValueToSize
+
+ virtual void SetMaxPadRangeCm(Double_t v){fMaxPadRangeCm=v;}//set fMaxPadRangeCm
+ virtual void SetMaxRowRangeCm(Double_t v){fMaxRowRangeCm=v;}//set fMaxRowRangeCm
+
+ virtual void SetIsolCut(Short_t v){fIsolCut=v;}
+
+ virtual void SetDebugLevel(Int_t debug){fDebugLevel=debug;}
+ //debug = 0 to 71 -sector number to print
+ // = 72 - all sectors
+ // = 73 - inners
+ // = 74 - outers
+
+ virtual void SetHistoRow(TH1F *histo) {fHistoRow =histo;}
+ virtual void SetHistoPad(TH1F *histo) {fHistoPad =histo;}
+ virtual void SetHistoTime(TH1F *histo) {fHistoTime =histo;}
+ virtual void SetHistoRowPad(TH2F *histo){fHistoRowPad=histo;}
+
+ //getters for cluster finder parameters
+ Int_t GetZeroSup() const {return fZeroSup;}//get zero suppresion parameter
+ Int_t GetFirstBin() const {return fFirstBin;}//get first considered timebin
+ Int_t GetLastBin() const {return fLastBin;}//get last considered timebin
+ Float_t GetMaxNoiseAbs() const {return fMaxNoiseAbs;}//get maximal noise value
+ Float_t GetMaxNoiseSigma() const {return fMaxNoiseSigma;}//get maximal noise sigma
+
+ Int_t GetMinAdc() const {return fMinAdc;}//get fMinAdc
+ Int_t GetMinTimeBins() const {return fMinTimeBins;}//get fMinTimeBins
+// Int_t GetMaxPadRange() const {return fMaxPadRange;}//get fMaxPadRange
+// Int_t GetMaxRowRange() const {return fMaxRowRange;}//get fMaxRowRange
+ Int_t GetMaxTimeRange() const {return fMaxTimeRange;}//get fMaxTimeRange
+ Float_t GetValueToSize() const {return fValueToSize;}//get fValueToSize
+
+ Double_t GetMaxPadRangeCm() const {return fMaxPadRangeCm;}//get fMaxPadRangeCm
+ Double_t GetMaxRowRangeCm() const {return fMaxRowRangeCm;}//get fMaxRowRangeCm
+
+ Short_t GetIsolCut() const {return fIsolCut;}
+
+ Int_t GetDebugLevel() const {return fDebugLevel;}
+ TH1F * GetHistoRow(){return fHistoRow;}
+ TH1F * GetHistoPad(){return fHistoPad;}
+ TH1F * GetHistoTime(){return fHistoTime;}
+ TH2F * GetHistoRowPad(){return fHistoRowPad;}
+
+ UInt_t GetTimeStamp() const {return fTimeStamp;}
+ UInt_t GetRun() const {return fRun;}
+
+private:
+ void MakeClusters(TObjArray * maximaInSector, Int_t iSec, Int_t &clusterCounter);
+ Bool_t fRawData; //flag =0 for MC =1 for real data
+
+ TTree * fInput; //!input tree with digits - object not owner
+ TTreeSRedirector * fOutput; //!output tree with clusters - object not owner
+
+ AliTPCParam * fParam;//!TPC parameters
+ AliTPCDigitsArray *fDigarr;//! pointer to current array if digits
+
+ //only for raw data :)
+ const AliTPCRecoParam * fRecoParam; //! reconstruction parameters
+
+ //cluster finder parameters
+ Int_t fZeroSup;//zero suppresion parameter = 2 def.
+ Int_t fFirstBin;//first considered time bin used by cluster finder = 60 def.
+ Int_t fLastBin;//last considered time bin used by cluster finder = 950 def.
+ Float_t fMaxNoiseAbs;// maximal noise value on pad used in cluster finder = 2 def.
+ Float_t fMaxNoiseSigma;// maximal noise sigma on pad used in cluster finder = 3 def.
+
+ Int_t fMinAdc;//minimal value of acd count in each timebin = 3 def.
+ Int_t fMinTimeBins;//minimal value of time bins one after each other = 2 def.
+// Int_t fMaxPadRange;//maximal pad range from maximum = 4 def.
+// Int_t fMaxRowRange;//maximal row range from maximum = 3 def.
+ Int_t fMaxTimeRange;//maximal time bin range from maximum = 7 def.
+ Float_t fValueToSize;//ratio cluster value to cluster size = 3.5 def.
+
+ Double_t fMaxPadRangeCm;//maximal pad range in cm from maximum = 2.5cm def.
+ Double_t fMaxRowRangeCm;//maximal row range in cm from maximum = 3.5cm def.
+
+ Short_t fIsolCut;//isolation cut in 3D = 5 def.
+
+ Int_t fDebugLevel;//! debug level variable
+ TH1F *fHistoRow;//!debug histo for rows
+ TH1F *fHistoPad;//!debug histo for pads
+ TH1F *fHistoTime;//!debug histo for timebins
+ TH2F *fHistoRowPad;//!debug histo for rows and pads
+
+ UInt_t fTimeStamp; //!time stamp from event header
+ UInt_t fRun; //!run from event header
+ ClassDef(AliTPCclustererKr,8) // Time Projection Chamber Kr clusters
+};
+
+
+#endif