]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PHOS/AliPHOSPID.h
trigger class added (M.Ivanov)
[u/mrichter/AliRoot.git] / PHOS / AliPHOSPID.h
index 3b8469747e107ed56b43ca898f03799ca6401907..7588907c77001d133d2b760476c366b3721f8fd9 100644 (file)
@@ -5,6 +5,32 @@
                             
 /* $Id$ */
 
+/* History of cvs commits:
+ *
+ * $Log$
+ * Revision 1.41  2007/08/28 12:55:08  policheh
+ * Loaders removed from the reconstruction code (C.Cheshkov)
+ *
+ * Revision 1.40  2007/08/07 14:12:03  kharlov
+ * Quality assurance added (Yves Schutz)
+ *
+ * Revision 1.39  2007/07/11 13:43:30  hristov
+ * New class AliESDEvent, backward compatibility with the old AliESD (Christian)
+ *
+ * Revision 1.38  2007/04/01 15:40:15  kharlov
+ * Correction for actual vertex position implemented
+ *
+ * Revision 1.37  2006/08/29 11:41:19  kharlov
+ * Missing implementation of ctors and = operator are added
+ *
+ * Revision 1.36  2006/08/25 16:00:53  kharlov
+ * Compliance with Effective C++AliPHOSHit.cxx
+ *
+ * Revision 1.35  2005/05/28 14:19:04  schutz
+ * Compilation warnings fixed by T.P.
+ *
+ */
+
 //_________________________________________________________________________
 //  Algorithm class for the identification of particles detected in PHOS        
 //  base  class                             
 //*-- Author: Yves Schutz (SUBATECH)
 
 // --- ROOT system ---
+#include "TObject.h"
+class TTree;
 
-#include "TTask.h" 
-class TFormula ;
-class TClonesArray ;
-class TFile ; 
 // --- Standard library ---
 
 // --- AliRoot header files ---
-
+class AliESDEvent ;
 class AliPHOSGeometry ;
 class AliPHOSClusterizer ;
 class AliPHOSTrackSegmentMaker ;
 
-class AliPHOSPID : public TTask {
+class AliPHOSPID : public TObject {
 
  public:
 
   AliPHOSPID() ;          // ctor            
-  AliPHOSPID(const char* headerFile,const char * name, const Bool_t toSplit) ;
-  AliPHOSPID(AliPHOSPID& pid) ;          // cpy ctor            
+  AliPHOSPID (AliPHOSGeometry *geom);
+  AliPHOSPID(const AliPHOSPID & pid) ;
   virtual ~AliPHOSPID() ; // dtor
+  AliPHOSPID & operator = (const AliPHOSPID & /*rvalue*/)  {
+    Fatal("operator =", "not implemented") ; return *this ; }
+
+  virtual void TrackSegments2RecParticles(Option_t * option) = 0;
+
+  void SetInput(TTree *clustersTree, TClonesArray *trackSegments);
+  TClonesArray* GetRecParticles() const { return fRecParticles; }
+
+  virtual void Print(const Option_t * = "") const = 0;
 
-  virtual void Exec(Option_t * option) { Warning("Exec", "not defined" ) ; }
-  //  virtual char * GetRecParticlesBranch()const  { Warning("GetRecParticlesBranch", "not defined" ) ; return 0 ; }
-  //  virtual char * GetTrackSegmentsBranch()const { Warning("GetTrackSegmentsBranch", "not defined" ) ; return 0 ; } 
-  virtual const Int_t GetRecParticlesInRun()  const { Warning("GetRecParticlesInRun", "not defined" ) ; return 0 ;} 
-  virtual void Print(Option_t * option) const { Warning("Print", "not defined" ) ;}
-  //virtual void PlotDispersionCuts()const = 0;
-  //virtual void SetIdentificationMethod(char * option) = 0 ;
-  //virtual void SetShowerProfileCut(char *  formula) = 0  ; 
-  //virtual void SetDispersionCut(Float_t cut) = 0  ;   
-  virtual void SetCpvtoEmcDistanceCut(Float_t ClusterEn, TString EffPur,Float_t cut ) { Warning("SetCpvtoEmcDistanceCut", "not defined" ) ;}
-  virtual void SetTimeGate(Float_t ClusterEn, TString EffPur, Float_t gate) { Warning("SetTimeGate", "not defined" ) ; }
-  //  virtual void SetTrackSegmentsBranch(const char* title) { Warning("Exec", "not defined" ) ; }
-  //  virtual void SetRecParticlesBranch (const char* title) { Warning("SetTecParticlesBranch", "not defined" ) ; }
-  //  virtual void SetSplitFile(const TString splitFileName = "PHOS.RecData.root") const ; 
-  virtual const char * Version() const { Warning("Version", "not defined" ) ; return 0 ; }  
-  virtual void WriteRecParticles(Int_t event) { Warning("WriteRecParticles", "not defined" ) ; }
-  AliPHOSPID & operator = (const AliPHOSPID & pid) { return *this ; }
-
-protected: 
-  virtual void Init() { Warning("Init", "not defined" ) ; } 
+  void SetESD(AliESDEvent *esd) { fESD = esd; }
+
+  virtual const char * Version() const = 0;
 
 protected:
 
-  TFile * fSplitFile ;             //! file in which RecParticles will eventually be stored
-  Bool_t  fToSplit   ;             //! do we in the split mode  
-  ClassDef(AliPHOSPID,1)  // Particle Identifier algorithm (base class)
+  AliPHOSGeometry * fGeom;    //! Pointer to PHOS Geometry
+  AliESDEvent * fESD;         //! ESD object
+
+  TObjArray *fEMCRecPoints;      //!Array with EMC clusters
+  TObjArray *fCPVRecPoints;      //!Array with CPV clusters
+
+  TClonesArray *fTrackSegments;     //!Array with found track segments
+  TClonesArray *fRecParticles;      //!Array with reconstructed particles (PID)
+  
+private: 
+
+  ClassDef(AliPHOSPID,8)  // Particle Identifier algorithm (base class)
 
 } ;