]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TPC/AliTPCclustererKr.h
1. Making TPC calibration task working on PROOF
[u/mrichter/AliRoot.git] / TPC / AliTPCclustererKr.h
index 54e28afa8d9fa222d124168908b1c005f6073b93..524e44b76cc1261b27313c3b3dd891a90d240889 100644 (file)
@@ -25,6 +25,8 @@ class TTree;
 class TH1F;
 class TH2F;
 
+class AliTPCTransform;
+
 //used in raw data finder
 class AliTPCROC;
 class AliTPCCalPad;
@@ -35,7 +37,7 @@ class AliTPCRecoParam;
 class AliTPCReconstructor;
 class AliRawReader;
 class AliTPCCalROC;
-
+class TTreeSRedirector;
 //_____________________________________________________________________________
 class AliTPCclustererKr: public TObject{
 public:
@@ -50,30 +52,28 @@ public:
   virtual Int_t FindClusterKrIO();//main routine for finding clusters
 
   //other
-  void GetXY(Short_t sec,Short_t row,Short_t pad,Double_t& xGlob,Double_t& yGlob);//give XY coordinate of the pad
+  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 SetOldRCUFormat(Bool_t rcuFormat = kFALSE)
-    { fIsOldRCUFormat = rcuFormat; };
 
 
 
   //setters for cluster finder parameters
   virtual void SetZeroSup(Int_t v){fZeroSup=v;}//set zero suppresion parameter
-  virtual void SetFirstBin(Short_t v){fFirstBin=v;}//set first considered timebin
-  virtual void SetLastBin(Short_t v){fLastBin=v;}//set last considered timebin
+  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(Short_t v){v<=0?fMinAdc=1:fMinAdc=v;}//set fMinAdc
-  virtual void SetMinTimeBins(Short_t v){fMinTimeBins=v;}//set fMinTimeBins
-//  virtual void SetMaxPadRange(Short_t v){fMaxPadRange=v;}//set fMaxPadRange
-//  virtual void SetMaxRowRange(Short_t v){fMaxRowRange=v;}//set fMaxRowRange
-  virtual void SetMaxTimeRange(Short_t v){fMaxTimeRange=v;}//set fMaxTimeRange
+  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
@@ -92,16 +92,16 @@ public:
 
   //getters for cluster finder parameters
   Int_t GetZeroSup() const {return fZeroSup;}//get zero suppresion parameter
-  Short_t GetFirstBin() const {return fFirstBin;}//get first considered timebin
-  Short_t GetLastBin() const {return fLastBin;}//get last considered timebin
+  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
 
-  Short_t GetMinAdc() const {return fMinAdc;}//get fMinAdc
-  Short_t GetMinTimeBins() const {return fMinTimeBins;}//get fMinTimeBins
-//  Short_t GetMaxPadRange() const {return fMaxPadRange;}//get fMaxPadRange
-//  Short_t GetMaxRowRange() const {return fMaxRowRange;}//get fMaxRowRange
-  Short_t GetMaxTimeRange() const {return fMaxTimeRange;}//get fMaxTimeRange
+  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
@@ -113,33 +113,31 @@ public:
   TH1F * GetHistoTime(){return fHistoTime;}
   TH2F * GetHistoRowPad(){return fHistoRowPad;}
 
-  Bool_t GetOldRCUFormat(){return fIsOldRCUFormat;}
-
 private:
+  void MakeClusters(TObjArray * maximaInSector, Int_t iSec, Int_t &clusterCounter);
   Bool_t fRawData; //flag =0 for MC =1 for real data
-  AliTPCClustersRow * fRowCl;  //! current cluster row (used in rootuple fill)
 
   TTree * fInput;   //!input  tree with digits - object not owner
-  TTree * fOutput;   //!output tree with clusters - 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
-  Bool_t fIsOldRCUFormat; // assume old RCU raw data format
 
   //cluster finder parameters
   Int_t fZeroSup;//zero suppresion parameter = 2 def.
-  Short_t fFirstBin;//first considered time bin used by cluster finder = 60 def.
-  Short_t fLastBin;//last considered time bin used by cluster finder = 950 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.
 
-  Short_t fMinAdc;//minimal value of acd count in each timebin = 3 def.
-  Short_t fMinTimeBins;//minimal value of time bins one after each other = 2 def.
-//  Short_t fMaxPadRange;//maximal pad range from maximum = 4 def.
-//  Short_t fMaxRowRange;//maximal row range from maximum = 3 def.
-  Short_t fMaxTimeRange;//maximal time bin range from maximum = 7 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.
@@ -151,7 +149,7 @@ private:
   TH1F *fHistoTime;//!debug histo for timebins
   TH2F *fHistoRowPad;//!debug histo for rows and pads
 
-  ClassDef(AliTPCclustererKr,4)  // Time Projection Chamber Kr clusters
+  ClassDef(AliTPCclustererKr,6)  // Time Projection Chamber Kr clusters
 };