EMC cluster energy correction on/off
[u/mrichter/AliRoot.git] / PHOS / AliPHOSPID.h
CommitLineData
26d4b141 1#ifndef ALIPHOSPID_H
2#define ALIPHOSPID_H
6ad0bfa0 3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6/* $Id$ */
7
702ab87e 8/* History of cvs commits:
9 *
10 * $Log$
d76c31f4 11 * Revision 1.41 2007/08/28 12:55:08 policheh
12 * Loaders removed from the reconstruction code (C.Cheshkov)
13 *
9a2cdbdf 14 * Revision 1.40 2007/08/07 14:12:03 kharlov
15 * Quality assurance added (Yves Schutz)
16 *
ddd1a39c 17 * Revision 1.39 2007/07/11 13:43:30 hristov
18 * New class AliESDEvent, backward compatibility with the old AliESD (Christian)
19 *
af885e0f 20 * Revision 1.38 2007/04/01 15:40:15 kharlov
21 * Correction for actual vertex position implemented
22 *
407d15b3 23 * Revision 1.37 2006/08/29 11:41:19 kharlov
24 * Missing implementation of ctors and = operator are added
25 *
f1133801 26 * Revision 1.36 2006/08/25 16:00:53 kharlov
27 * Compliance with Effective C++AliPHOSHit.cxx
28 *
e2429969 29 * Revision 1.35 2005/05/28 14:19:04 schutz
30 * Compilation warnings fixed by T.P.
31 *
702ab87e 32 */
33
b2a60966 34//_________________________________________________________________________
35// Algorithm class for the identification of particles detected in PHOS
36// base class
2f04ed65 37// of identified particles
b2a60966 38//*-- Author: Yves Schutz (SUBATECH)
6ad0bfa0 39
40// --- ROOT system ---
9a2cdbdf 41#include "TObject.h"
42class TTree;
88cb7938 43
6ad0bfa0 44// --- Standard library ---
45
46// --- AliRoot header files ---
af885e0f 47class AliESDEvent ;
7acf6008 48class AliPHOSGeometry ;
49class AliPHOSClusterizer ;
50class AliPHOSTrackSegmentMaker ;
6ad0bfa0 51
9a2cdbdf 52class AliPHOSPID : public TObject {
6ad0bfa0 53
79bf6a2f 54 public:
6ad0bfa0 55
0ab4493e 56 AliPHOSPID() ; // ctor
9a2cdbdf 57 AliPHOSPID (AliPHOSGeometry *geom);
e2429969 58 AliPHOSPID(const AliPHOSPID & pid) ;
26d4b141 59 virtual ~AliPHOSPID() ; // dtor
f1133801 60 AliPHOSPID & operator = (const AliPHOSPID & /*rvalue*/) {
61 Fatal("operator =", "not implemented") ; return *this ; }
6ad0bfa0 62
9a2cdbdf 63 virtual void TrackSegments2RecParticles(Option_t * option) = 0;
e2429969 64
9a2cdbdf 65 void SetInput(TTree *clustersTree, TClonesArray *trackSegments);
66 TClonesArray* GetRecParticles() const { return fRecParticles; }
e2429969 67
9a2cdbdf 68 virtual void Print(const Option_t * = "") const = 0;
e2429969 69
af885e0f 70 void SetESD(AliESDEvent *esd) { fESD = esd; }
407d15b3 71
71994f35 72 void SetEnergyCorrectionOn(Bool_t on=kTRUE) {fEnergyCorrectionOn = on;}
73 const Bool_t GetEnergyCorrectionOn() const {return fEnergyCorrectionOn;}
74
9a2cdbdf 75 virtual const char * Version() const = 0;
76
8d0f3f77 77protected:
ddd1a39c 78
9a2cdbdf 79 AliPHOSGeometry * fGeom; //! Pointer to PHOS Geometry
ddd1a39c 80 AliESDEvent * fESD; //! ESD object
6ad0bfa0 81
9a2cdbdf 82 TObjArray *fEMCRecPoints; //!Array with EMC clusters
83 TObjArray *fCPVRecPoints; //!Array with CPV clusters
84
85 TClonesArray *fTrackSegments; //!Array with found track segments
86 TClonesArray *fRecParticles; //!Array with reconstructed particles (PID)
71994f35 87
88 Bool_t fEnergyCorrectionOn; // Do energy correction in GetCalibratedEnergy()
89
e957fea8 90private:
9a2cdbdf 91
71994f35 92 ClassDef(AliPHOSPID,7) // Particle Identifier algorithm (base class)
6ad0bfa0 93
94} ;
95
26d4b141 96#endif // ALIPHOSPID_H