1 #include "AliITSSumTP.h"
2 #include "AliTrackPointArray.h"
4 ///////////////////////////////////////////////////////////////////
6 // Class for ITS trackpoints summary + some aux. info ) //
7 // Author: Ruben Shahoian //
9 ///////////////////////////////////////////////////////////////////
15 //__________________________________________
16 AliITSSumTP::AliITSSumTP(const AliITSSumTP& src) :
17 TObject(src), fTracks(src.fTracks.GetEntriesFast()), fVertex(src.GetVertex()),
18 fNVars(src.fNVars), fCrvVars(0),fTPCVars(0)
21 fCrvVars = new Double32_t[fNVars];
22 fTPCVars = new Double32_t[fNVars];
23 TObjArray& arrSrc = src.GetTracks();
24 for (int i=fNVars;i--;) {
25 fCrvVars[i] = src.fCrvVars[i];
26 fTPCVars[i] = src.fTPCVars[i];
28 for (int i=arrSrc.GetEntriesFast();i--;) fTracks.AddAtAndExpand(arrSrc.UncheckedAt(i),i);
31 //__________________________________________
32 AliITSSumTP& AliITSSumTP::operator=(const AliITSSumTP& src)
35 if (this == &src) return *this;
37 TObject::operator=(src);
38 fVertex = src.GetVertex();
40 fCrvVars = new Double32_t[fNVars];
41 fTPCVars = new Double32_t[fNVars];
42 TObjArray& arrSrc = src.GetTracks();
43 for (int i=fNVars;i--;) {
44 fCrvVars[i] = src.fCrvVars[i];
45 fTPCVars[i] = src.fTPCVars[i];
47 for (int i=arrSrc.GetEntriesFast();i--;) fTracks.AddAtAndExpand(arrSrc.UncheckedAt(i),i);
51 //__________________________________________
52 void AliITSSumTP::BookNTracks(Int_t n)
54 // book space for tracks info
55 delete[] fCrvVars; fCrvVars = 0;
56 fNVars = n*kNVarPerTrack;
58 fCrvVars = new Double32_t[fNVars];
59 fTPCVars = new Double32_t[fNVars];
60 for (int i=fNVars;i--;) fCrvVars[i]=fTPCVars[i] = 0;
64 //__________________________________________
65 void AliITSSumTP::Reset()
71 fCrvVars = fTPCVars = 0;
76 //__________________________________________
77 void AliITSSumTP::Print(Option_t *) const
80 printf("Vertex: "); fVertex.Print();
81 int ntr = GetNTracks();
82 printf("Number of tracks: %d\n",ntr);
83 double xyz[3]={0,0,0};
84 for (int itr=0;itr<ntr;itr++) {
85 AliTrackPointArray* tr = GetTrack(itr);
86 GetTPCInnerXYZ(itr,xyz);
87 printf("#%2d : %d hits CrvGlo: %+.2e/%+.2e CrvTPC: %+.2e/%+.2e TPC_XYZ: %+8.3f %+8.3f %+9.3f\n",itr,tr->GetNPoints(),
88 GetCrvGlo(itr),GetCrvGloErr(itr), GetCrvTPC(itr),GetCrvTPCErr(itr),
89 xyz[0],xyz[1],xyz[2]);