]> git.uio.no Git - u/mrichter/AliRoot.git/blame - STEER/AliESD.cxx
Extracting PHOS and EMCAL trackers from the correspondig reconstructors (Yu.Belikov)
[u/mrichter/AliRoot.git] / STEER / AliESD.cxx
CommitLineData
8a8d023f 1/**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3 * *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
6 * *
7 * Permission to use, copy, modify and distribute this software and its *
8 * documentation strictly for non-commercial purposes is hereby granted *
9 * without fee, provided that the above copyright notice appears in all *
10 * copies and that both the copyright notice and this permission notice *
11 * appear in the supporting documentation. The authors make no claims *
12 * about the suitability of this software for any purpose. It is *
13 * provided "as is" without express or implied warranty. *
14 **************************************************************************/
15
acd84897 16/* $Id$ */
8a8d023f 17
ae982df3 18//-----------------------------------------------------------------
19// Implementation of the ESD class
20// This is the class to deal with during the phisical analysis of data
af7ba10c 21// This class is generated directly by the reconstruction methods
ae982df3 22// Origin: Iouri Belikov, CERN, Jouri.Belikov@cern.ch
23//-----------------------------------------------------------------
8a8d023f 24
25#include "AliESD.h"
26
27ClassImp(AliESD)
28
af7ba10c 29//______________________________________________________________________________
e2afb3b6 30AliESD::AliESD():
31 fEventNumber(0),
32 fRunNumber(0),
33 fTrigger(0),
34 fRecoVersion(0),
a866ac60 35 fMagneticField(0),
878bc0c2 36 fZDCNEnergy(0),
37 fZDCPEnergy(0),
38 fZDCEMEnergy(0),
39 fZDCParticipants(0),
4a78b8c5 40 fT0zVertex(0),
2257f27e 41 fPrimaryVertex(),
e23730c7 42 fTracks("AliESDtrack",15000),
482070f2 43 fHLTConfMapTracks("AliESDHLTtrack",25000),
44 fHLTHoughTracks("AliESDHLTtrack",15000),
672b5f43 45 fMuonTracks("AliESDMuonTrack",30),
561b7b31 46 fPmdTracks("AliESDPmdTrack",3000),
51ad6848 47 fV0s("AliESDv0",200),
a2882fb4 48 fCascades("AliESDcascade",20),
51ad6848 49 fKinks("AliESDkink",4000),
50 fV0MIs("AliESDV0MI",4000),
a2882fb4 51 fPHOSParticles(0),
704be597 52 fEMCALParticles(0),
53 fFirstPHOSParticle(-1),
54 fFirstEMCALParticle(-1){
873f1f73 55}
e2afb3b6 56
af7ba10c 57//______________________________________________________________________________
58AliESD::~AliESD()
59{
60 //
61 // Standard destructor
62 //
63 fTracks.Delete();
8bbc564d 64 fHLTConfMapTracks.Delete();
65 fHLTHoughTracks.Delete();
af7ba10c 66 fMuonTracks.Delete();
67 fPmdTracks.Delete();
68 fV0s.Delete();
69 fCascades.Delete();
51ad6848 70 fKinks.Delete();
71 fV0MIs.Delete();
72}
73
74void AliESD::UpdateV0PIDs()
75{
76 //
77 //
78 //
79 Int_t nV0 = GetNumberOfV0MIs();
80 for (Int_t i=0;i<nV0;i++){
81 AliESDV0MI * v0 = GetV0MI(i);
82 AliESDtrack* tp = GetTrack(v0->fIndex[0]);
83 AliESDtrack* tm = GetTrack(v0->fIndex[1]);
84 if (!tm || !tp){
85 printf("BBBUUUUUUUGGGG\n");
86 }
87 Double_t pp[5],pm[5];
88 tp->GetESDpid(pp);
89 tm->GetESDpid(pm);
90 v0->UpdatePID(pp,pm);
91 }
af7ba10c 92}
93
bf25155c 94//______________________________________________________________________________
95void AliESD::Reset()
96{
97 fEventNumber=0;
98 fRunNumber=0;
99 fTrigger=0;
100 fRecoVersion=0;
101 fMagneticField=0;
102 fZDCNEnergy=0;
103 fZDCPEnergy=0;
104 fZDCEMEnergy=0;
105 fZDCParticipants=0;
106 fT0zVertex=0;
107 fPrimaryVertex.Reset();
108 fTracks.Clear();
109 fHLTConfMapTracks.Clear();
110 fHLTHoughTracks.Clear();
111 fMuonTracks.Clear();
112 fPmdTracks.Clear();
113 fV0s.Clear();
114 fCascades.Clear();
115 fPHOSParticles=0;
116 fEMCALParticles=0;
117 fFirstPHOSParticle=-1;
118 fFirstEMCALParticle=-1;
119}
af7ba10c 120
121//______________________________________________________________________________
122void AliESD::Print(Option_t *) const
123{
124 //
125 // Print header information of the event
126 //
5f7789fc 127 printf("ESD run information\n");
ef278eae 128 printf("Event # %d Run # %d Trigger %ld Magnetic field %f \n",
129 GetEventNumber(),
130 GetRunNumber(),
131 GetTrigger(),
132 GetMagneticField() );
2257f27e 133 printf("Vertex: (%.4f +- %.4f, %.4f +- %.4f, %.4f +- %.4f) cm\n",
134 fPrimaryVertex.GetXv(), fPrimaryVertex.GetXRes(),
135 fPrimaryVertex.GetYv(), fPrimaryVertex.GetYRes(),
136 fPrimaryVertex.GetZv(), fPrimaryVertex.GetZRes());
ef278eae 137 printf("Event from reconstruction version %d \n",fRecoVersion);
138 printf("Number of tracks: \n");
704be597 139 printf(" charged %d\n",GetNumberOfTracks()-GetNumberOfPHOSParticles()-GetNumberOfEMCALParticles());
482070f2 140 printf(" hlt CF %d\n", GetNumberOfHLTConfMapTracks());
141 printf(" hlt HT %d\n", GetNumberOfHLTHoughTracks());
a2882fb4 142 printf(" phos %d\n", GetNumberOfPHOSParticles());
704be597 143 printf(" emcal %d\n", GetNumberOfEMCALParticles());
ef278eae 144 printf(" muon %d\n", GetNumberOfMuonTracks());
a2882fb4 145 printf(" pmd %d\n", GetNumberOfPmdTracks());
ef278eae 146 printf(" v0 %d\n", GetNumberOfV0s());
c25f1802 147 printf(" cascades %d\n)", GetNumberOfCascades());
51ad6848 148 printf(" kinks %d\n)", GetNumberOfKinks());
149 printf(" V0MIs %d\n)", GetNumberOfV0MIs());
ef278eae 150}