]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PHOS/AliPHOSClusterizerv1.h
Adding a GetObjectFast method (Laurent)
[u/mrichter/AliRoot.git] / PHOS / AliPHOSClusterizerv1.h
index 27c942560624a1fcc4eb9100e357c3c964d93757..9f9406fe0437ea11fa0f4fa303c50c304d2c2db4 100644 (file)
@@ -8,6 +8,24 @@
 /* History of cvs commits:
  *
  * $Log$
+ * Revision 1.53  2007/08/28 12:55:07  policheh
+ * Loaders removed from the reconstruction code (C.Cheshkov)
+ *
+ * Revision 1.52  2007/08/07 14:16:00  kharlov
+ * Quality assurance added (Yves Schutz)
+ *
+ * Revision 1.51  2007/04/11 11:55:45  policheh
+ * SetDistancesToBadChannels() added.
+ *
+ * Revision 1.50  2007/03/28 19:18:15  kharlov
+ * RecPoints recalculation in TSM removed
+ *
+ * Revision 1.49  2007/03/06 06:51:27  kharlov
+ * Calculation of cluster properties dep. on vertex posponed to TrackSegmentMaker
+ *
+ * Revision 1.48  2006/08/30 16:12:52  kharlov
+ * Reconstruction of raw data from beam test 2006 (B.Polichtchouk)
+ *
  * Revision 1.47  2006/08/25 16:56:30  kharlov
  * Compliance with Effective C++
  *
@@ -36,6 +54,7 @@
 
 // --- ROOT system ---
 class TClonesArray ;
+class TVector3 ;
 // --- Standard library ---
 
 // --- AliRoot header files ---
@@ -45,15 +64,13 @@ class AliPHOSEmcRecPoint ;
 class AliPHOSDigit ;
 class AliPHOSDigitizer ;
 class AliPHOSGeometry ;
-class AliPHOSCalibData ;
 
 class AliPHOSClusterizerv1 : public AliPHOSClusterizer {
   
 public:
   
   AliPHOSClusterizerv1() ;
-  AliPHOSClusterizerv1(const TString alirunFileNameFile, const TString eventFolderName = AliConfig::GetDefaultEventFolderName());
-  AliPHOSClusterizerv1(const AliPHOSClusterizerv1 & clu) ;
+  AliPHOSClusterizerv1(AliPHOSGeometry *geom);
   virtual ~AliPHOSClusterizerv1()  ;
   
   virtual Int_t   AreNeighbours(AliPHOSDigit * d1, AliPHOSDigit * d2)const ; 
@@ -72,10 +89,9 @@ public:
   virtual Float_t GetCpvClusteringThreshold()const{ return fCpvClusteringThreshold;  } 
   virtual Float_t GetCpvLocalMaxCut()const        { return fCpvLocMaxCut;} 
   virtual Float_t GetCpvLogWeight()const          { return fW0CPV;}  
-  virtual const char *  GetRecPointsBranch() const{ return GetName() ;}
-  virtual Int_t   GetRecPointsInRun() const       {return fRecPointsInRun ;} 
+  //  virtual const char *  GetRecPointsBranch() const{ return GetName() ;}
 
-  virtual void    Exec(Option_t *option);   // Does the job
+  virtual void    Digits2Clusters(Option_t *option);
 
   void Print(const Option_t * = "")const ;
 
@@ -91,11 +107,11 @@ public:
   virtual void SetUnfolding(Bool_t toUnfold = kTRUE )    { fToUnfold = toUnfold ;}
   //Switch to "on flyght" mode, without writing to TreeR and file  
   void SetWriting(Bool_t toWrite = kFALSE){fWrite = toWrite;} 
-  static Double_t ShowerShape(Double_t r) ; // Shape of EM shower used in unfolding; 
+  static Double_t ShowerShape(Double_t x, Double_t z) ; // Shape of EM shower used in unfolding; 
                                             //class member function (not object member function)
   static void UnfoldingChiSquare(Int_t & nPar, Double_t * Grad, Double_t & fret, Double_t * x, Int_t iflag)  ;
                                             // Chi^2 of the fit. Should be static to be passed to MINUIT
-  void Unload() ; 
+  //  void Unload() ; 
   virtual const char * Version() const { return "clu-v1"; }  
 
   virtual void SetOldRCUFormat(Bool_t rcuFormat = kFALSE)
@@ -109,13 +125,12 @@ protected:
   virtual Bool_t IsInCpv (AliPHOSDigit * digit)const ;     // Tells if id digit is in CPV
   void           CleanDigits(TClonesArray * digits) ;
   void           GetCalibrationParameters(void);
+  void           SetDistancesToBadChannels();
 
-  AliPHOSClusterizerv1 & operator = (const AliPHOSClusterizerv1 & obj);
 private:
+  AliPHOSClusterizerv1(const AliPHOSClusterizerv1 & clu) ;
+  AliPHOSClusterizerv1 & operator = (const AliPHOSClusterizerv1 & obj);
 
-  const   TString BranchName() const ; 
-  
   Bool_t  FindFit(AliPHOSEmcRecPoint * emcRP, AliPHOSDigit ** MaxAt, Float_t * maxAtEnergy, 
                  Int_t NPar, Float_t * FitParametres) const; //Used in UnfoldClusters, calls TMinuit
   void    Init() ;
@@ -129,7 +144,6 @@ private:
 private:
 
   Bool_t  fDefaultInit;              //! Says if the task was created by defaut ctor (only parameters are initialized)
-
   Int_t   fEmcCrystals ;             // number of EMC cristals in PHOS
 
   Bool_t  fToUnfold ;                // To perform unfolding 
@@ -139,7 +153,6 @@ private:
   Int_t   fNumberOfCpvClusters ;     // number of CPV clusters found
  
   //Calibration parameters
-  AliPHOSCalibData * fCalibData ;   //! Calibration database if aval.
   Float_t fADCchanelEmc ;           // width of one ADC channel in GeV
   Float_t fADCpedestalEmc ;         //
   Float_t fADCchanelCpv ;           // width of one ADC channel in CPV 'popugais'
@@ -153,12 +166,12 @@ private:
   Float_t fW0 ;                      // logarithmic weight for the cluster center of gravity calculation
   Float_t fCpvLocMaxCut ;            // minimum energy difference to distinguish local maxima in a CPV cluster
   Float_t fW0CPV ;                   // logarithmic weight for the CPV cluster center of gravity calculation
-  Int_t fRecPointsInRun ;            //! Total number of recpoints in one run
+  //  Int_t fRecPointsInRun ;            //! Total number of recpoints in one run
   Float_t fEmcTimeGate ;             // Maximum time difference between the digits in ont EMC cluster
 
   Bool_t  fIsOldRCUFormat;           // assume old RCU raw data format
-    
-  ClassDef(AliPHOSClusterizerv1,4)   // Clusterizer implementation version 1
+
+  ClassDef(AliPHOSClusterizerv1,5)   // Clusterizer implementation version 1
 
 };