StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
gl3LMVertexFinder.h
1 #ifndef GL3LMTVERTEXFINDER
2 #define GL3LMTVERTEXFINDER
3 
4 #define MAXSLATS 240
5 #define MAXTRACK 5000
6 
7 #include "gl3Histo.h"
8 #include "FtfBaseHit.h"
9 #include "gl3Track.h"
10 
11 class gl3Event;
12 
14 
15  public:
16  gl3LMVertexFinder(int _minHitsOnTrack = 15,
17  int _minCTBadc = 3,
18  float _maxZdca = 100.,
19  float _zMargin = 10.,
20  float _phiMargin = 3.0,
21  float _delVertMax = 3.0);
23 
24  int setParameters(int _minHitsOnTrack,
25  int _minCTBadc,
26  float _maxZdca,
27  float _zMargin,
28  float _phiMargin,
29  float _delVertMax);
30  int setParameters(const char *filename);
31 
32  int registerHistos();
33 
34  int makeVertex(gl3Event *event);
35  Ftf3DHit& getVertex()
36  { return myVert; };
37 
38  private:
39  int init();
40 
41 
42  gl3Event *event;
43 
44  int totInpEve;
45  static const float C_PI;
46  struct JctbHit {float phi,adc,z; int slatIndex;} ctbH[MAXSLATS];
47  int NctbH;
48  int getCtbHits (gl3Event *);
49  void setCtbMap();
50  int ctbMap[120][2];
51  float zSlats[2][2] ;
52  int matchTrack2Ctb( Ftf3DHit *);
53  int ppLMV4b( Ftf3DHit *);
54 
55  gl3Track *trackL[MAXTRACK];
56  float ZdcaHitL[MAXTRACK];
57  float XdcaHitL[MAXTRACK];
58  float YdcaHitL[MAXTRACK];
59  int NtrackL;
60 
61  float CtbRadius;
62  float CtbLen2;
63 
64  Ftf3DHit myVert;
65  // cuts=params
66 
67  int minHitsOnTrack;
68  float maxZdca;
69  int minCTBadc;
70  float MatchCtbMaxZ;
71  float MatchCtbMaxPhi;
72  float DelVertMax;
73 
74  gl3Histo* hjan[32] ;
75  int nhjan;
76 
77  gl3Histo* heve[16] ;
78  int neve;
79 
80  gl3Histo* htime[2];
81 
82 };
83 #endif
84 
85