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 TObjArray& arrSrc = src.GetTracks();
23 for (int i=fNVars;i--;) {
24 fCrvVars[i] = src.fCrvVars[i];
25 fTPCVars[i] = src.fTPCVars[i];
27 for (int i=arrSrc.GetEntriesFast();i--;) fTracks.AddAtAndExpand(arrSrc.UncheckedAt(i),i);
30 //__________________________________________
31 AliITSSumTP& AliITSSumTP::operator=(const AliITSSumTP& src)
34 if (this == &src) return *this;
36 TObject::operator=(src);
37 fVertex = src.GetVertex();
39 fCrvVars = new Double32_t[fNVars];
40 TObjArray& arrSrc = src.GetTracks();
41 for (int i=fNVars;i--;) {
42 fCrvVars[i] = src.fCrvVars[i];
43 fTPCVars[i] = src.fTPCVars[i];
45 for (int i=arrSrc.GetEntriesFast();i--;) fTracks.AddAtAndExpand(arrSrc.UncheckedAt(i),i);
49 //__________________________________________
50 void AliITSSumTP::BookNTracks(Int_t n)
52 // book space for tracks info
53 delete[] fCrvVars; fCrvVars = 0;
54 fNVars = n*kNVarPerTrack;
56 fCrvVars = new Double32_t[fNVars];
57 fTPCVars = new Double32_t[fNVars];
58 for (int i=fNVars;i--;) fCrvVars[i]=fTPCVars[i] = 0;
62 //__________________________________________
63 void AliITSSumTP::Reset()
69 fCrvVars = fTPCVars = 0;
74 //__________________________________________
75 void AliITSSumTP::Print(Option_t *) const
78 printf("Vertex: "); fVertex.Print();
79 int ntr = GetNTracks();
80 printf("Number of tracks: %d\n",ntr);
81 double xyz[3]={0,0,0};
82 for (int itr=0;itr<ntr;itr++) {
83 AliTrackPointArray* tr = GetTrack(itr);
84 GetTPCInnerXYZ(itr,xyz);
85 printf("#%2d : %d hits CrvGlo: %+.2e/%+.2e CrvTPC: %+.2e/%+.2e TPC_XYZ: %+8.3f %+8.3f %+9.3f\n",itr,tr->GetNPoints(),
86 GetCrvGlo(itr),GetCrvGloErr(itr), GetCrvTPC(itr),GetCrvTPCErr(itr),
87 xyz[0],xyz[1],xyz[2]);