StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StiForwardTrackMaker.h
1 // $Id: StiForwardTrackMaker.h,v 1.9 2014/08/06 11:43:02 jeromel Exp $
2 
3 #ifndef STAR_StiForwardTrackMaker
4 #define STAR_StiForwardTrackMaker
5 
14 #ifndef StMaker_H
15 #include "StMaker.h"
16 #endif
17 #include <vector>
18 class StiToolkit;
19 class StiKalmanTrack;
20 class StPrimaryVertex; //tmp
21 
22 class StiHitContainer;
23 class StiTrackContainer;
27 
28 class StiForwardTrackMaker : public StMaker {
29  private:
30  // Private method declaration if any
31  // event realted info
32  int eveID;
33 
34  // misc counter
35  int mTotEve;
36  int mTotMatchedSeeds;
37  int mTotMatchedTracks;
38 
39  //.... params,cuts
40  double mMaxTrkDcaRxy; //DCA to nominal beam line for each track
41  double mMaxZdca; //zDCA cutoff for prim tracks in cm
42  double mMinEta; //eta cutoff for hits used in constructing forward tracks
43 
44  //..... util
45  StiToolkit *mToolkit;
46  enum {mxHA=11};
47  TH1F *hA[mxHA];
48  class VertexV{public: float z,ez;};
49  vector<VertexV> vertL;
50  StiHitContainer* mAllHits;
51  StiHitContainer* mForwardHits;
52  StiTrackContainer* mTrackSeeds;
53  StiLocalTrackSeedFinder* mSeedGenerator;
54  StiKalmanTrackFinder* mTrackFinder;
55 
56 
57  void initHisto();
58 
59  void getForwardHits(StiHitContainer* allHits, StiHitContainer* forwardHits, StiDetectorContainer* detector, double minEta);
60  //stores hits from allHits with eta > minEta in forwardHits container. anything previously in forwardHits is lost
61 
62  void buildTrackSeeds(const StiHitContainer* forwardHits, StiTrackContainer* trackSeeds, StiLocalTrackSeedFinder* seedGenerator);
63  //takes forward hits and uses Mike's seed finder to store track segments in the trackSeeds container
64 
65  void extendTracks();
66  //takes track seeds and extends them using Kalman
67 
68  void matchVertex(StiTrackContainer* tracks, vector<VertexV> &vertL, double &mMaxZdca, int &nV, TH1* h, int &totalMatched);
69 
70  bool examineTrackDca(const StiKalmanTrack *track,float &zDca, float &ezDca, float &rxyDca);
71 
72  public:
73  StiForwardTrackMaker(const char *name="forwTrack");
74  virtual ~StiForwardTrackMaker();
75  virtual Int_t Init();
76  virtual Int_t Make();
77  Int_t MakeInSti(); // tmp, split of make on 2 parts
78  Int_t MakeAfterSti(); // tmp,
79  virtual Int_t Finish();
80  virtual void Clear(const char* opt);
81  TObjArray * HList;
82  void saveHisto(TString fname);
83  void addVertex(float z, float ez); //tmp, hack Sti
84 
85  // virtual Int_t InitRun (int runumber){return 0;}; // Overload empty StMaker::InitRun
86  // virtual Int_t FinishRun(int runumber){return 0;}; // Overload empty StMaker::FinishRun
87 
89  virtual const char *GetCVS() const {
90  static const char cvs[]="Tag $Name: $ $Id: StiForwardTrackMaker.h,v 1.9 2014/08/06 11:43:02 jeromel Exp $ built " __DATE__ " " __TIME__ ;
91  return cvs;
92  }
93 
94  ClassDef(StiForwardTrackMaker,0) //StAF chain virtual base class for Makers
95 };
96 
97 #endif
98 
99 
100 // $Log: StiForwardTrackMaker.h,v $
101 // Revision 1.9 2014/08/06 11:43:02 jeromel
102 // Suffix on literals need to be space (later gcc compiler makes it an error) - first wave of fixes
103 //
104 // Revision 1.8 2007/07/12 19:27:21 fisyak
105 // Add includes for TMath for ROOT 5.16
106 //
107 // Revision 1.7 2005/09/26 14:03:55 kocolosk
108 // added Kalman propagation for forward track seeds
109 //
110 // Revision 1.6 2005/09/21 15:37:06 kocolosk
111 // modified matchVertex() so that |deltaZ| could be plotted separately for old, new tracks
112 //
113 // Revision 1.5 2005/09/14 14:15:14 kocolosk
114 // restrict to TPC hits, added histos, moved code to matchVertex() function
115 //
116 // Revision 1.4 2005/09/13 14:24:16 kocolosk
117 // implemented getForwardHits() and buildTrackSeeds() functions
118 //
119 // Revision 1.3 2005/09/12 21:08:21 balewski
120 // split Make to InSti and AfterSti
121 //
122 // Revision 1.2 2005/09/09 15:55:00 balewski
123 // prototype with hardcoded hacks
124 //
125 // Revision 1.1 2005/09/08 21:42:03 balewski
126 // star
127 //
virtual const char * GetCVS() const
Displayed on session exit, leave it as-is please ...
Definition of Kalman Track.
virtual Int_t Make()
Make - this method is called in loop for each event.
Int_t MakeInSti()
Inside Sti.
virtual Int_t Init()
Init - is a first method the top level StChain calls to initialize all its makers.
Definition of toolkit.
Definition: StiToolkit.h:55
Int_t MakeAfterSti()
Inside Sti.