e722c6ef6ebbcc7c7253d0aa20f07287c249be7d
[u/mrichter/AliRoot.git] / STEER / AliESD.h
1 #ifndef ALIESD_H
2 #define ALIESD_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 //   Alice ESD object                                                        //
11 //                                                                           //
12 ///////////////////////////////////////////////////////////////////////////////
13
14 #include "TObjArray.h"
15 #include "TArrayI.h"
16 #include "TArrayF.h"
17 #include "TArrayD.h"
18
19 class AliESDTrack
20 {
21 public:
22   AliESDTrack();
23   virtual ~AliESDTrack() {}
24   
25 protected:
26   Int_t     fTrackID;        // Track number
27
28   // Track parameters at Vertex
29   TArrayD   fPVertex;        // (5) Track parameters
30   TArrayD   fPEVertex;       // (15) Track parameter errors
31   
32   // Track parameters at first measured point
33   TArrayD   fPFMeasPoint;        // (6) Track parameters
34   TArrayD   fPFMeasPointErr;     // (15) Track parameter error
35   
36   // Track parameters at last measured point
37   TArrayD   fPLMeasPoint;        // (6) Track parameters
38   TArrayD   fPLMeasPointErr;     // (15) Track parameter error
39
40   Float_t   fTrackLength;        // Track length
41   Float_t   fTrackLengthErr;     // Track length error
42   Int_t     fStopVertex;         // Index of stop vertex
43   
44   Int_t     fNPointsITS;         // Number of points in ITS
45   Int_t     fNPointsTPC;         // Number of points in TPC
46   Int_t     fNPointsTRD;         // Number of points in TRD
47   Float_t   fMeanResITS;         // Mean residual in ITS
48   Float_t   fMeanResTPC;         // Mean residual in TPC
49   Float_t   fMeanResTRD;         // Mean residual in TRD
50   Float_t   fGlobalChi2;         // Global chi square
51   Int_t     fParticleType;       // PDG code
52
53   Float_t   fPIDprobPi;          // PID probability for pi
54   Float_t   fPIDprobK;           // PID probability for K
55   Float_t   fPIDprobP;           // PID probability for p
56   Float_t   fPIDprobE;           // PID probability for e
57
58 private:
59   AliESDTrack(const AliESDTrack &) {}
60   AliESDTrack & operator=(const AliESDTrack &) {return (*this);}
61   
62   ClassDef(AliESDTrack,1)  //ESDTrack 
63 };
64
65
66 class AliESDVertex
67 {
68 public:
69   AliESDVertex();
70   virtual ~AliESDVertex() {}
71   
72 protected:
73   Int_t        fNPrimary;               // Number of primary tracks
74   TArrayF      fCoordinates;            // (3) Vertex coordinates
75   TArrayF      fErrorMatrix;            // (6) Error Matrix
76   TObjArray    fPrimaryTracks;          // List of primary tracks
77   Float_t      fEffectiveMass;          // Effective Mass
78   Float_t      fEffectiveMassError;     // Effective Mass Error
79 private:
80   AliESDVertex(const AliESDVertex &) {}
81   AliESDVertex & operator=(const AliESDVertex &) {return (*this);}
82   
83   ClassDef(AliESDVertex,1)  //ESDVertex 
84 };
85
86 class AliESD 
87 {
88 public:
89   AliESD();
90   virtual ~AliESD() {}
91
92   Int_t EventNumber() const {return fEventNumber;}
93   Int_t RunNumber() const {return fRunNumber;}
94   Long_t Trigger() const {return fTrigger;}
95   
96   Int_t BitDDL() const {return fBitDDL;}
97   Int_t NSecVertex() const {return fNSecVertex;}
98   Float_t NParticipants() const {return fNParticipants;}
99   
100   
101 protected:
102
103   // Event Identification
104   Int_t        fEventNumber;            // Event Number
105   Int_t        fRunNumber;              // Run Number
106   Long_t       fTrigger;                // Trigger Type (cfg Transverse Energy&Max trans ch mom)
107   Int_t        fRecoVersion;            // Version of reconstruction 
108
109   // Summary Information
110   Int_t        fBitDDL;                 // Bitmap of active DDL
111   Int_t        fNSecVertex;             // Number of Secondary Vertexes
112   Float_t      fNParticipants;          // Estimated Number of participants
113   Float_t      fNPartError;             // N of participant error
114   Int_t        fNElectron;              // N of electrons
115   Int_t        fNMuons;                 // N of muons
116   Int_t        fNPions;                 // N of pions
117   Int_t        fNKaons;                 // N of kaons
118   Int_t        fNProtons;               // N of protons
119   Int_t        fNPHOSPhotons;           // N of photons in PHOS
120   Int_t        fNPHOSNeutrons;          // N of neutrons in PHOS
121   Int_t        fNPHOSCCluster;          // N of charged clusters in PHOS
122   Int_t        fNEMCALCluster;          // N of clusters in EMCAL
123   Int_t        fNPMDCluster;            // N of clusters in PMD
124   Float_t      fTMaxClusterEnergy;      // Transverse energy of biggest cluster
125   Float_t      fTMaxPCharged;           // Biggest transverse momentum of charged particles
126   TArrayI      fNCharged;               // Charged Multiplicity
127   Float_t      fTotTranEnergy;          // Total transverse energy
128
129   // Primary Vertex Object
130   AliESDVertex fESDVertex;              // Primary Vertex Object
131   TObjArray    fSecVertex;              // List secondary vertexes
132   TObjArray    fNonAssTrack;            // List of non assigned tracks
133   TObjArray    fPhoton;                 // List of photons
134   TObjArray    fNeutron;                // List of neutrons
135   TObjArray    fEMCALCluster;           // List of EMCAL clusters
136   TObjArray    fPMDCluster;             // List of PMD clusters
137
138 private:
139   AliESD(const AliESD &) {}
140   AliESD & operator=(const AliESD &) {return (*this);}
141   
142   ClassDef(AliESD,1)  //ESD 
143 };
144
145 #endif 
146