New classes for event summary data, track summary data, and vertex summary data
[u/mrichter/AliRoot.git] / STEER / AliESD.h
CommitLineData
8a8d023f 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
19class AliESDTrack
20{
21public:
22 AliESDTrack();
23 virtual ~AliESDTrack() {}
24
25protected:
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
58private:
59 AliESDTrack(const AliESDTrack &) {}
60 AliESDTrack & operator=(const AliESDTrack &) {return (*this);}
61
62 ClassDef(AliESDTrack,1) //ESDTrack
63};
64
65
66class AliESDVertex
67{
68public:
69 AliESDVertex();
70 virtual ~AliESDVertex() {}
71
72protected:
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
79private:
80 AliESDVertex(const AliESDVertex &) {}
81 AliESDVertex & operator=(const AliESDVertex &) {return (*this);}
82
83 ClassDef(AliESDVertex,1) //ESDVertex
84};
85
86class AliESD
87{
88public:
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
101protected:
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
138private:
139 AliESD(const AliESD &) {}
140 AliESD & operator=(const AliESD &) {return (*this);}
141
142 ClassDef(AliESD,1) //ESD
143};
144
145#endif
146