1c61092b5758f5c20604827663738f42d8c66040
[u/mrichter/AliRoot.git] / EMCAL / AliEMCALPIDv1.h
1 #ifndef ALIEMCALPIDV1_H
2 #define ALIEMCALPIDV1_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id$ */
7
8
9 //_________________________________________________________________________
10 // Implementation version v1 of the EMCAL particle identifier 
11 // Identification is based on information from CPV and EMC
12 // Oh yeah                 
13 //*-- Author: Yves Schutz (SUBATECH), Gustavo Conesa.
14
15 // --- ROOT system ---
16 //class TFormula ;
17 class TVector3 ;
18 class TMatrix ;
19 class TPrincipal ;
20
21 // --- Standard library ---
22
23 // --- AliRoot header files ---
24 class AliEMCALTowerRecPoint ;
25 class AliEMCALRecPoint ;
26
27 #include "AliEMCALPID.h"
28
29 class  AliEMCALPIDv1 : public AliEMCALPID {
30   
31  public:
32   
33   AliEMCALPIDv1() ;          // ctor            
34   AliEMCALPIDv1(const TString alirunFileNameFile, const TString eventFolderName = AliConfig::fgkDefaultEventFolderName) ;
35   AliEMCALPIDv1(const AliEMCALPIDv1 & pid) ;          // cpy ctor            
36
37   virtual ~AliEMCALPIDv1() ; // dtor
38   
39   virtual void Exec(Option_t * option) ;
40
41   virtual const Int_t GetRecParticlesInRun() const  {return fRecParticlesInRun ;}  
42   Float_t  GetCalibratedEnergy    (Float_t e)                 const;
43   TVector3 GetMomentumDirection(AliEMCALTowerRecPoint * emc)const ;
44
45   virtual void Print(Option_t * option) const ;
46  
47   //To turn on or off the Pi0 analysis
48   Bool_t GetPi0Analysis() const {return fPi0Analysis;}
49   void  SetPi0Analysis(Bool_t turnonoff){ fPi0Analysis = turnonoff; }
50    
51  private:
52   
53   const TString BranchName() const ; 
54   virtual void Init() ;
55   virtual void InitParameters() ;
56   void     MakeRecParticles(void ) ;
57   void     PrintRecParticles(Option_t * option) ;
58   virtual  void WriteRecParticles() ; 
59   void Unload(); 
60
61   void Print() const ; 
62
63   virtual const char * Version() const { return "pid-v1" ; }  
64
65   AliEMCALPIDv1 & operator = (const AliEMCALPIDv1 & /*pid*/) { return *this ;} 
66
67  private:
68
69   Bool_t  fDefaultInit;        //! Says if the task was created by defaut ctor (only parameters are initialized)
70   Int_t   fNEvent ;            //! current event number
71   TString fFileName ;          // File that contains the Principal file for analysis
72   TString fFileNamePar ;       // File that contains the parameters for analysis
73   Bool_t  fPi0Analysis;        //! Pi0 analysis on or off  
74   Int_t   fRecParticlesInRun ; //! Total number of recparticles in one run
75
76   ClassDef( AliEMCALPIDv1,7)  // Particle identifier implementation version 1
77
78 };
79
80 #endif // AliEMCALPIDV1_H