CbmRoot
CbmL1GlobalTrackFinder.cxx
Go to the documentation of this file.
1 
2 /*
3  *====================================================================
4  *
5  * CBM Level 1 Reconstruction
6  *
7  * Authors: V. Akishina
8  *
9  * e-mail : v.akishina@gsi.de
10  *
11  *====================================================================
12  *
13  * CbmL1GlobalTrackFinder source file
14  *
15  *====================================================================
16  */
17 #include "CbmL1GlobalTrackFinder.h"
18 
19 
20 #include "L1Algo/L1Algo.h"
21 
22 #include "CbmEvent.h"
23 #include "CbmKFMath.h"
24 #include "CbmStsHit.h"
25 #include "CbmStsTrack.h"
26 #include "FairHit.h"
27 #include "FairMCPoint.h"
28 #include "FairRootManager.h"
29 
30 #include "TClonesArray.h"
31 
32 #include <iostream>
33 #include <vector>
34 
35 using std::cout;
36 using std::endl;
37 using std::vector;
38 
40 
41  // ----- Default constructor -------------------------------------------
43  : FairTask("CbmL1GlobalTrackFinder"), fEventNo(0) {
44  fName = "Global Track Finder L1";
45 }
46 // -------------------------------------------------------------------------
47 
48 
49 // ----- Destructor ----------------------------------------------------
51 // -------------------------------------------------------------------------
52 
53 // ----- Public method Init --------------------------------------------
55 
56  FairRootManager* ioman = FairRootManager::Instance();
57 
58  // Create and register track arrays
59  fGlobalTracks = new TClonesArray("CbmGlobalTrack", 100);
60  ioman->Register("GlobalTrack", "Global", fGlobalTracks, "GlobalTrack");
61 
62  {
63  fMuchTracks = new TClonesArray("CbmMuchTrack", 100);
64  ioman->Register("MuchTrack", "Much", fMuchTracks, "MuchTrack");
65  }
66 
67  {
68  fTrdTracks = new TClonesArray("CbmTrdTrack", 100);
69  ioman->Register("TrdTrack", "Trd", fTrdTracks, "TrdTrack");
70  }
71 
72  {
73  fTofTracks = new TClonesArray("CbmTofTrack", 100);
74  ioman->Register("TofTrack", "Tof", fTofTracks, "TofTrack");
75  }
76 
77  fEvents = dynamic_cast<TClonesArray*>(ioman->GetObject("Event"));
78 
79  LOG(info) << fEvents << " fEvents ";
80 
81  if (!fEvents) {
82  LOG(warn) << GetName() << ": No event array! Will process entire tree.";
83  }
84  // --- Get input array (StsHits)
85  fStsHits = (TClonesArray*) ioman->GetObject("StsHit");
86 
87  // Array of MvdHits
88  fMvdHits = (TClonesArray*) ioman->GetObject("MvdHit");
89 
90  // Screen output
91  LOG(info) << GetName() << ": successfully initialised.";
92  LOG(info) << "=====================================";
93  return kSUCCESS;
94 }
95 
96 void CbmL1GlobalTrackFinder::Exec(Option_t* /*opt*/) {
97 
98  // --- Clear output array
99  fTracks->Delete();
100 
101  // --- Event loop (from event objects)
102  if (fEvents) {
103  Int_t nEvents = fEvents->GetEntriesFast();
104  LOG(debug) << GetName() << ": reading time slice with " << nEvents
105  << " events ";
106  for (Int_t iEvent = 0; iEvent < nEvents; iEvent++) {
107 
108  LOG(debug) << fEvents << " fEvents " << iEvent << " iEvent ";
109  CbmEvent* event = static_cast<CbmEvent*>(fEvents->At(iEvent));
110  ProcessEvent(event);
111  } //# events
112  } //? event branch present
113 
114  else // Old event-by-event simulation without event branch
115  {
116  ProcessEvent(NULL);
117  LOG(info) << "CbmL1GlobalTrackFinder::Exec event: " << fEventNo++;
118  }
119 }
120 
121 // ------ Process one event --------------------------------------------
123 
124  // --- Call track finder
125  fTimer.Start();
126  Int_t nTracks = FindTracks(event);
127  fTimer.Stop();
128 
129  // --- Event log
130  if (fEvents) {
131  Int_t eventNumber = (event ? event->GetNumber() : fNofEvents);
132  Int_t nHits =
133  (event ? event->GetNofData(kStsHit) : fStsHits->GetEntriesFast());
134  LOG(info) << "+ " << setw(20) << GetName() << ": Event " << setw(6) << right
135  << eventNumber << ", real time " << fixed << setprecision(6)
136  << fTimer.RealTime() << " s, hits: " << nHits
137  << ", tracks: " << nTracks << ;
138 
139  // --- Counters
140  fNofEvents++;
141  fNofHits += Double_t(nHits);
142  fNofTracks += Double_t(nTracks);
143  fTime += fTimer.RealTime();
144  }
145 }
146 
147 
148 // -------------------------------------------------------------------------
149 
151  TClonesArray* globalTracks,
152  TClonesArray* stsTracks,
153  TClonesArray* trdTracks,
154  TClonesArray* muchTracks,
155  TClonesArray* tofTracks) {
156 
157  CbmL1* L1 = CbmL1::Instance();
158  if (!L1) return 0;
159 
160  Int_t nTracks = 0;
161 
162  // Loop over STS tracks and create GlobalTrack for each StsTrack
163 
164  Int_t globalTrackNo = globalTracks->GetEntriesFast();
165 
166  Int_t stsTrackNo = (stsTracks != NULL) ? stsTracks->GetEntriesFast() : 0;
167  Int_t trdTrackNo = (trdTracks != NULL) ? trdTracks->GetEntriesFast() : 0;
168  Int_t muchTrackNo = (muchTracks != NULL) ? muchTracks->GetEntriesFast() : 0;
169  Int_t tofTrackNo = (tofTracks != NULL) ? tofTracks->GetEntriesFast() : 0;
170 
171  for (vector<CbmL1Track>::iterator it = L1->vRTracks.begin();
172  it != L1->vRTracks.end();
173  ++it) {
174 
175  CbmL1Track& T = *it;
176 
177  CbmGlobalTrack* globalTrack =
178  new ((*globalTracks)[globalTrackNo]) CbmGlobalTrack();
179 
180  globalTrack->SetStsTrackIndex(globalTrackNo);
181 
182  Int_t iTrack =
183  event ? event->GetIndex(kStsTrack, globalTrackNo) : globalTrackNo;
184 
185  globalTrackNo++;
186  nTracks++;
187 
188  if (event) event->AddData(kGlobalTrack, iTrack);
189 
190  CbmStsTrack* trackSts = new CbmStsTrack();
191  CbmMuchTrack* trackMuch = new CbmMuchTrack();
192  CbmTrdTrack* trackTrd = new CbmTrdTrack();
193  CbmTofTrack* trackTof = new CbmTofTrack();
194 
195  // Set last parameter of the CbmGlobal track to be last parameter of CbmLitTrack
196  FairTrackParam fpar(*globalTrack->GetParamFirst()),
197  lpar(*globalTrack->GetParamLast());
198  CbmKFMath::CopyTC2TrackParam(&fpar, T.T, T.C);
200  globalTrack->SetParamLast(&lpar);
201  globalTrack->SetParamFirst(&fpar);
202 
203  trackSts->SetParamLast(&lpar);
204  trackSts->SetParamFirst(&fpar);
205 
206  trackMuch->SetParamLast(&lpar);
207  trackMuch->SetParamFirst(&fpar);
208 
209  trackTrd->SetParamLast(&lpar);
210  trackTrd->SetParamFirst(&fpar);
211 
212  for (vector<int>::iterator ih = it->StsHits.begin();
213  ih != it->StsHits.end();
214  ++ih) {
215  CbmL1HitStore& h = L1->vHitStore[*ih];
216 
217  if (h.Det == 2) {
218  //CbmLitTrackToCbmTrack(litTrack, trackMuch, kLITMUCH);
219  trackMuch->AddHit(h.ExtIndex, kMUCHPIXELHIT);
220  }
221  if (h.Det == 3) {
222  //CbmLitTrackToCbmTrack(litTrack, trackMuch, kLITMUCH);
223  trackTrd->AddHit(h.ExtIndex, kTRDHIT);
224  }
225  if (h.Det == 1) {
226  //CbmLitTrackToCbmTrack(litTrack, trackMuch, kLITMUCH);
227  trackSts->AddHit(h.ExtIndex, kSTSHIT);
228  }
229  if (h.Det == 4) {
230 
231  CbmTofTrack* track = new ((*tofTracks)[tofTrackNo++]) CbmTofTrack();
232  Int_t globalTrackId = stsTrackNo - 1;
233  Int_t tofHitId = h.ExtIndex;
234  track->SetTofHitIndex(tofHitId);
235  track->SetTrackIndex(globalTrackId);
236  // track->SetDistance(litTofTrack->GetDistance());!!!
237  FairTrackParam par;
238  // CbmLitConverterFairTrackParam::CbmLitTrackParamToFairTrackParam(litTofTrack->GetTrackParam(), &par);
239  // track->SetTrackParameter(&par);
240 
241  CbmGlobalTrack* gTrack =
242  static_cast<CbmGlobalTrack*>(globalTracks->At(globalTrackId));
243  gTrack->SetTofHitIndex(tofHitId);
244 
245  if (event) event->AddData(kTofHit, tofHitId);
246  }
247  } //StsHits loop
248 
249  if (trackMuch->GetNofHits() > 0) {
250  CbmMuchTrack* track = new ((*muchTracks)[muchTrackNo]) CbmMuchTrack();
251  int ndf = 0;
252  double chiSq = 0.;
253  //TODO calculate chiSq (sum of chiSq for each hit)
254  for (int i = 0; i < trackMuch->GetNofHits(); i++) {
255  track->AddHit(trackMuch->GetHitIndex(i), kMUCHPIXELHIT);
256  ndf += 2;
257  }
258  ndf -= 5;
259  if (ndf <= 0) ndf = 1;
260  track->SetChiSq(chiSq);
261  track->SetNDF(ndf);
262  //TODO fill prev. track id and flag if required
263  //track->SetPreviousTrackId(litTrack->GetPreviousTrackId());
264  //track->SetFlag(litTrack->GetQuality());
265  track->SetParamLast(trackMuch->GetParamLast());
266  track->SetParamFirst(trackMuch->GetParamFirst());
267 
268  if (event) event->AddData(kMuchTrack, muchTrackNo);
269  globalTrack->SetMuchTrackIndex(muchTrackNo);
270  ++muchTrackNo;
271  }
272  if (trackTrd->GetNofHits() > 0) {
273  CbmTrdTrack* track = new ((*trdTracks)[trdTrackNo]) CbmTrdTrack();
274  int ndf = 0;
275  double chiSq = 0.;
276  //TODO calculate chiSq (sum of chiSq for each hit)
277  for (int i = 0; i < trackTrd->GetNofHits(); i++) {
278  track->AddHit(trackTrd->GetHitIndex(i), kTRDHIT);
279  ndf += 2;
280  }
281  ndf -= 5;
282  if (ndf <= 0) ndf = 1;
283  track->SetChiSq(chiSq);
284  track->SetNDF(ndf);
285  //TODO fill prev. track id and flag if required
286  //track->SetPreviousTrackId(litTrack->GetPreviousTrackId());
287  //track->SetFlag(litTrack->GetQuality());
288  track->SetParamLast(trackTrd->GetParamLast());
289  track->SetParamFirst(trackTrd->GetParamFirst());
290 
291  if (event) event->AddData(kTrdTrack, trdTrackNo);
292  globalTrack->SetTrdTrackIndex(trdTrackNo);
293  ++trdTrackNo;
294  }
295  if (trackSts->GetNofHits() > 0) {
296  CbmStsTrack* track = new ((*stsTracks)[stsTrackNo]) CbmStsTrack();
297  int ndf = 0;
298  double chiSq = 0.;
299  //TODO calculate chiSq (sum of chiSq for each hit)
300  for (int i = 0; i < trackSts->GetNofHits(); i++) {
301  track->AddHit(trackSts->GetHitIndex(i), kSTSHIT);
302  ndf += 2;
303  }
304  ndf -= 5;
305  if (ndf <= 0) ndf = 1;
306  track->SetChiSq(chiSq);
307  track->SetNDF(ndf);
308  //TODO fill prev. track id and flag if required
309  //track->SetPreviousTrackId(litTrack->GetPreviousTrackId());
310  //track->SetFlag(litTrack->GetQuality());
311  track->SetParamLast(trackSts->GetParamLast());
312  track->SetParamFirst(trackSts->GetParamFirst());
313 
314  if (event) event->AddData(kStsTrack, stsTrackNo);
315  globalTrack->SetStsTrackIndex(stsTrackNo);
316  ++stsTrackNo;
317  }
318 
319  } //vRTracks loop
320 
321  return nTracks;
322 }
323 
324 
325 // ----- Copy tracks to output array -----------------------------------
327 
328  CbmL1* L1 = CbmL1::Instance();
329  if (!L1) return 0;
330 
331  Int_t trackIndex = fTracks->GetEntriesFast();
332  Int_t nTracks = 0;
333  LOG(debug) << "Copy L1 tracks : " << L1->vRTracks.size() << " tracks in L1";
334  for (vector<CbmL1Track>::iterator it = L1->vRTracks.begin();
335  it != L1->vRTracks.end();
336  ++it) {
337  CbmL1Track& T = *it;
338  new ((*fTracks)[trackIndex]) CbmStsTrack();
339  nTracks++;
340  if (event) event->AddData(kStsTrack, trackIndex);
341  CbmStsTrack* t = L1_DYNAMIC_CAST<CbmStsTrack*>(fTracks->At(trackIndex++));
342  t->SetFlag(0);
343  FairTrackParam fpar(*t->GetParamFirst()), lpar(*t->GetParamLast());
344  CbmKFMath::CopyTC2TrackParam(&fpar, T.T, T.C);
346  t->SetParamFirst(&fpar);
347  t->SetParamLast(&lpar);
348  t->SetChiSq(T.chi2);
349  t->SetNDF(T.NDF);
350  t->SetPidHypo(T.T[4] >= 0 ? 211 : -211);
351  t->SetTime(T.Tpv[6]);
352  t->SetTimeError(T.Cpv[20]);
353 
354  for (vector<int>::iterator ih = it->StsHits.begin();
355  ih != it->StsHits.end();
356  ++ih) {
357  CbmL1HitStore& h = L1->vHitStore[*ih];
358  // double zref = L1->algo->vStations[h.iStation].z[0];
359  if (h.ExtIndex < 0) {
360  // CbmMvdHit tmp;
361  // tmp.SetZ(zref);
362  t->AddMvdHit(-h.ExtIndex - 1); //, &tmp );
363  } else {
364  //CbmStsHit tmp;
365  //tmp.SetZ(zref);
366  t->AddHit(h.ExtIndex, kSTSHIT); //, &tmp );
367  }
368  }
369  }
370 
371  return nTracks;
372 }
373 // -------------------------------------------------------------------------
374 
375 
376 // ----- Public method DoFind ------------------------------------------
378 
379  if (!fTracks) {
380  LOG(error) << "-E- CbmL1GlobalTrackFinder::DoFind: "
381  << "Track array missing! ";
382  return -1;
383  }
384 
385  CbmL1* L1 = CbmL1::Instance();
386  if (!L1) return 0;
387 
388  L1->Reconstruct();
389  int ntracks = CopyL1Tracks();
390 
391  return ntracks;
392 }
393 // -------------------------------------------------------------------------
394 
395 
396 // ----- Track finding in one event ------------------------------------
398  /*
399  CbmL1 *l1 = CbmL1::Instance();
400  if( ! l1 ) return 0;
401 
402  l1->Reconstruct(event);
403  */
404  if (fTrdTracks != NULL) fTrdTracks->Delete();
405  if (fMuchTracks != NULL) fMuchTracks->Delete();
406  if (fTofTracks != NULL) fTofTracks->Delete();
407  fGlobalTracks->Clear();
408 
409  int nTracks = CreateGlobalTrackArray(
411 
412  return nTracks;
413 }
414 // -------------------------------------------------------------------------
415 
416 
417 // ----- End-of-run action ---------------------------------------------
419  std::cout << std::endl;
420  LOG(info) << "=====================================";
421  LOG(info) << GetName() << ": Run summary";
422  LOG(info) << "Events processed : " << fNofEvents;
423  LOG(info) << "Hits / event : " << fNofHits / Double_t(fNofEvents);
424  LOG(info) << "Tracks / event : " << fNofTracks / Double_t(fNofEvents);
425  LOG(info) << "Hits per track : " << fNofHits / fNofTracks;
426  LOG(info) << "Time per event : " << fTime / Double_t(fNofEvents) << " s ";
427  LOG(info) << "=====================================";
428 }
429 //
CbmL1GlobalTrackFinder::fTime
Double_t fTime
Total real time used for good events.
Definition: CbmL1GlobalTrackFinder.h:84
CbmL1TrackPar::NDF
int NDF
Definition: CbmL1TrackPar.h:18
h
Generates beam ions for transport simulation.
Definition: CbmBeamGenerator.h:17
ECbmDataType::kStsHit
@ kStsHit
CbmTrack::GetParamLast
const FairTrackParam * GetParamLast() const
Definition: CbmTrack.h:62
L1Algo.h
CbmL1GlobalTrackFinder::Init
virtual InitStatus Init()
Definition: CbmL1GlobalTrackFinder.cxx:54
CbmTrack::GetNofHits
virtual Int_t GetNofHits() const
Definition: CbmTrack.h:53
CbmL1GlobalTrackFinder::CopyL1Tracks
Int_t CopyL1Tracks(CbmEvent *event=NULL)
Definition: CbmL1GlobalTrackFinder.cxx:326
CbmL1GlobalTrackFinder::fTrdTracks
TClonesArray * fTrdTracks
Definition: CbmL1GlobalTrackFinder.h:70
CbmL1GlobalTrackFinder::fNofTracks
Double_t fNofTracks
Number of tracks created.
Definition: CbmL1GlobalTrackFinder.h:83
CbmGlobalTrack::GetParamLast
const FairTrackParam * GetParamLast() const
Definition: CbmGlobalTrack.h:44
CbmGlobalTrack::SetParamLast
void SetParamLast(const FairTrackParam *parLast)
Definition: CbmGlobalTrack.h:62
CbmGlobalTrack::SetTrdTrackIndex
void SetTrdTrackIndex(Int_t iTrd)
Definition: CbmGlobalTrack.h:55
CbmL1GlobalTrackFinder::fGlobalTracks
TClonesArray * fGlobalTracks
Definition: CbmL1GlobalTrackFinder.h:72
i
int i
Definition: L1/vectors/P4_F32vec4.h:25
CbmTofTrack::SetTrackIndex
void SetTrackIndex(Int_t trackIndex)
Definition: CbmTofTrack.h:92
CbmL1Track::Tpv
double Tpv[7]
Definition: CbmL1Track.h:63
CbmL1GlobalTrackFinder::fTimer
TStopwatch fTimer
Array of CbmEvent objects.
Definition: CbmL1GlobalTrackFinder.h:80
CbmL1Track::CLast
double CLast[21]
Definition: CbmL1Track.h:66
CbmL1HitStore
Definition: CbmL1.h:94
CbmTrack::SetTime
void SetTime(Double_t time)
Definition: CbmTrack.h:78
ECbmDataType::kTofHit
@ kTofHit
CbmL1GlobalTrackFinder::Exec
virtual void Exec(Option_t *opt)
Definition: CbmL1GlobalTrackFinder.cxx:96
CbmTrack::SetParamLast
void SetParamLast(const FairTrackParam *par)
Definition: CbmTrack.h:76
CbmTrack::SetNDF
void SetNDF(Int_t ndf)
Definition: CbmTrack.h:71
CbmMuchTrack
Definition: CbmMuchTrack.h:16
CbmL1Track::TLast
double TLast[7]
Definition: CbmL1Track.h:66
CbmStsTrack::GetNofHits
virtual Int_t GetNofHits() const
Definition: CbmStsTrack.h:76
CbmTrack::SetFlag
void SetFlag(Int_t flag)
Definition: CbmTrack.h:69
CbmL1GlobalTrackFinder::fEventNo
Int_t fEventNo
Definition: CbmL1GlobalTrackFinder.h:85
CbmL1TrackPar::T
double T[7]
Definition: CbmL1TrackPar.h:17
CbmL1GlobalTrackFinder::fMvdHits
TClonesArray * fMvdHits
Definition: CbmL1GlobalTrackFinder.h:74
CbmKFMath.h
CbmEvent.h
ECbmDataType::kStsTrack
@ kStsTrack
CbmStsTrack.h
Data class for STS tracks.
CbmGlobalTrack::SetStsTrackIndex
void SetStsTrackIndex(Int_t iSts)
Definition: CbmGlobalTrack.h:54
CbmL1::Instance
static CbmL1 * Instance()
Definition: CbmL1.h:129
CbmL1GlobalTrackFinder::DoFind
virtual Int_t DoFind()
Definition: CbmL1GlobalTrackFinder.cxx:377
CbmTrack::GetHitIndex
Int_t GetHitIndex(Int_t iHit) const
Definition: CbmTrack.h:54
CbmTrack::SetPidHypo
void SetPidHypo(Int_t pid)
Definition: CbmTrack.h:68
CbmL1GlobalTrackFinder::FindTracks
virtual Int_t FindTracks(CbmEvent *event)
Definition: CbmL1GlobalTrackFinder.cxx:397
CbmTrack::SetChiSq
void SetChiSq(Double_t chiSq)
Definition: CbmTrack.h:70
CbmTrack::SetTimeError
void SetTimeError(Double_t error)
Definition: CbmTrack.h:79
ECbmDataType::kMuchTrack
@ kMuchTrack
CbmTrack::GetParamFirst
const FairTrackParam * GetParamFirst() const
Definition: CbmTrack.h:61
CbmL1GlobalTrackFinder::fEvents
TClonesArray * fEvents
Definition: CbmL1GlobalTrackFinder.h:78
CbmL1Track
Definition: CbmL1Track.h:33
kTRDHIT
@ kTRDHIT
Definition: CbmHit.h:25
ClassImp
ClassImp(CbmL1GlobalTrackFinder) CbmL1GlobalTrackFinder
Definition: CbmL1GlobalTrackFinder.cxx:39
CbmL1GlobalTrackFinder::~CbmL1GlobalTrackFinder
virtual ~CbmL1GlobalTrackFinder()
Definition: CbmL1GlobalTrackFinder.cxx:50
CbmL1GlobalTrackFinder.h
CbmTrdTrack
Definition: CbmTrdTrack.h:22
CbmL1GlobalTrackFinder::CreateGlobalTrackArray
Int_t CreateGlobalTrackArray(CbmEvent *event, TClonesArray *globalTracks, TClonesArray *stsTracks, TClonesArray *trdTracks, TClonesArray *muchTracks, TClonesArray *tofTracks)
Definition: CbmL1GlobalTrackFinder.cxx:150
CbmL1GlobalTrackFinder::fMuchTracks
TClonesArray * fMuchTracks
Definition: CbmL1GlobalTrackFinder.h:69
CbmGlobalTrack
Definition: CbmGlobalTrack.h:26
CbmTofTrack::SetTofHitIndex
void SetTofHitIndex(Int_t tofHitIndex)
Definition: CbmTofTrack.h:95
CbmGlobalTrack::SetParamFirst
void SetParamFirst(const FairTrackParam *parFirst)
Definition: CbmGlobalTrack.h:59
CbmL1GlobalTrackFinder
Definition: CbmL1GlobalTrackFinder.h:38
CbmL1GlobalTrackFinder::Finish
virtual void Finish()
Definition: CbmL1GlobalTrackFinder.cxx:418
CbmL1GlobalTrackFinder::fNofEvents
Int_t fNofEvents
Timer.
Definition: CbmL1GlobalTrackFinder.h:81
ECbmDataType::kTrdTrack
@ kTrdTrack
CbmL1::vRTracks
vector< CbmL1Track > vRTracks
Definition: CbmL1.h:125
kSTSHIT
@ kSTSHIT
Definition: CbmHit.h:20
CbmKFMath::CopyTC2TrackParam
static void CopyTC2TrackParam(FairTrackParam *par, Double_t T[], Double_t C[])
Definition: CbmKFMath.cxx:809
ECbmDataType::kGlobalTrack
@ kGlobalTrack
CbmGlobalTrack::SetMuchTrackIndex
void SetMuchTrackIndex(Int_t iMuch)
Definition: CbmGlobalTrack.h:56
CbmTrack::SetParamFirst
void SetParamFirst(const FairTrackParam *par)
Definition: CbmTrack.h:75
CbmEvent
Class characterising one event by a collection of links (indices) to data objects,...
Definition: CbmEvent.h:30
CbmL1GlobalTrackFinder::fStsHits
TClonesArray * fStsHits
Definition: CbmL1GlobalTrackFinder.h:75
kMUCHPIXELHIT
@ kMUCHPIXELHIT
Definition: CbmHit.h:23
CbmGlobalTrack::SetTofHitIndex
void SetTofHitIndex(Int_t iTofHit)
Definition: CbmGlobalTrack.h:58
CbmGlobalTrack::GetParamFirst
const FairTrackParam * GetParamFirst() const
Definition: CbmGlobalTrack.h:43
CbmL1TrackPar::C
double C[21]
Definition: CbmL1TrackPar.h:17
CbmL1GlobalTrackFinder::ProcessEvent
void ProcessEvent(CbmEvent *event)
Definition: CbmL1GlobalTrackFinder.cxx:122
CbmL1GlobalTrackFinder::fTofTracks
TClonesArray * fTofTracks
Definition: CbmL1GlobalTrackFinder.h:71
CbmStsTrack
Definition: CbmStsTrack.h:37
CbmL1
Definition: CbmL1.h:113
CbmL1GlobalTrackFinder::fTracks
TClonesArray * fTracks
Definition: CbmL1GlobalTrackFinder.h:76
CbmL1GlobalTrackFinder::CbmL1GlobalTrackFinder
CbmL1GlobalTrackFinder()
CbmL1::vHitStore
vector< CbmL1HitStore > vHitStore
Definition: CbmL1.h:180
CbmL1GlobalTrackFinder::fNofHits
Double_t fNofHits
Number of hits.
Definition: CbmL1GlobalTrackFinder.h:82
CbmTrack::AddHit
void AddHit(Int_t index, HitType type)
Definition: CbmTrack.cxx:75
CbmL1::Reconstruct
void Reconstruct(CbmEvent *event=NULL)
Definition: CbmL1.cxx:1310
eventNumber
Int_t eventNumber
Definition: riplet/Lx.cxx:78
CbmTofTrack
Provides information on attaching a TofHit to a GlobalTrack.
Definition: CbmTofTrack.h:20
CbmL1Track::Cpv
double Cpv[21]
Definition: CbmL1Track.h:63
CbmStsHit.h
Data class for a reconstructed hit in the STS.
CbmL1TrackPar::chi2
double chi2
Definition: CbmL1TrackPar.h:17
CbmStsTrack::AddMvdHit
void AddMvdHit(Int_t hitIndex)
Definition: CbmStsTrack.h:50