3 // Author: Uli Frankenfeld <mailto:franken@fi.uib.no>
4 //*-- Copyright © ALICE HLT Group
6 #include "AliL3StandardIncludes.h"
7 #include "AliL3RootTypes.h"
8 #include "AliL3SpacePointData.h"
9 #include "AliL3VertexData.h"
10 #include "AliL3Logging.h"
11 #include "AliL3VertexArray.h"
12 #include "AliL3Vertex.h"
13 #include "AliL3VertexFinder.h"
14 #include "AliL3SpacePointData.h"
15 #include "AliL3Transform.h"
17 /** \class AliL3VertexFinder
19 //_____________________________________________________________
22 // Implementation of AliL3Array
26 // for(n=0;n<NMEMSEC;n++)
28 // FindSectorVertex();
29 // SetZ(GetZSector());
30 // SetZErr(GetZErrSector());
40 ClassImp(AliL3VertexFinder)
42 AliL3VertexFinder::AliL3VertexFinder()
45 // default constructor for the AliL3VertexFinder class.
60 AliL3VertexFinder::~AliL3VertexFinder()
67 void AliL3VertexFinder::Reset()
76 void AliL3VertexFinder::Read(Int_t ncluster, AliL3SpacePointData* hits )
82 const Int_t kseedRow = AliL3Transform::GetNRows() - 1;
83 const Int_t kfirstRow = kseedRow-32;
84 for(Int_t n=0;n<ncluster;n++){
85 if(hits[n].fPadRow==kseedRow)
86 FillSectorSeed3D(hits[n].fX,hits[n].fY,hits[n].fZ); //copy seeds in 3D
87 if(hits[n].fPadRow<=kseedRow && hits[n].fPadRow>=kfirstRow)
88 FillSector3D(hits[n].fX,hits[n].fY,hits[n].fZ); //copy data in 3D
92 void AliL3VertexFinder::Analyze()
99 SetZErr(GetZSectorErr());
100 LOG(AliL3Log::kInformational,"AliL3VertexFinder::Analyze","Result")
101 <<AliL3Log::kDec<<"Vertex: "<<GetZ()<<" RMS: "<<GetZErr()<<ENDLOG;
104 void AliL3VertexFinder::Write(AliL3Vertex *vertex) const
109 vertex->SetX(GetX());
110 vertex->SetY(GetZ());
111 vertex->SetZ(GetZ());
112 vertex->SetXErr(GetXErr());
113 vertex->SetYErr(GetYErr());
114 vertex->SetZErr(GetZErr());
116 vertex->SetXYWeight(GetXYWeight());
119 void AliL3VertexFinder::Write(AliL3VertexData *vertex) const
127 vertex->fXErr=GetXErr();
128 vertex->fYErr=GetYErr();
129 vertex->fZErr=GetZErr();