CbmRoot
CbmBinnedTrackerTask.cxx
Go to the documentation of this file.
1 /*
2  * To change this license header, choose License Headers in Project Properties.
3  * To change this template file, choose Tools | Templates
4  * and open the template in the editor.
5  */
6 
7 #include "CbmBinnedTrackerTask.h"
8 #include "CbmMuchTrack.h"
9 #include "CbmStsTrack.h"
10 #include "CbmTrdTrack.h"
11 #include "FairLogger.h"
12 #include "FairRunAna.h"
13 #include "FairRuntimeDb.h"
14 #include "GeoReader.h"
15 #include "global/CbmGlobalTrack.h"
16 
17 #ifdef __MACH__
18 #include <mach/mach_time.h>
19 #include <sys/time.h>
20 #ifndef CLOCK_REALTIME
21 #define CLOCK_REALTIME 0
22 #endif
23 #ifndef CLOCK_MONOTONIC
24 #define CLOCK_MONOTONIC 0
25 #endif
26 inline int clock_gettime(int /*clk_id*/, struct timespec* t) {
27  mach_timebase_info_data_t timebase;
28  mach_timebase_info(&timebase);
29  uint64_t time;
30  time = mach_absolute_time();
31  double nseconds =
32  ((double) time * (double) timebase.numer) / ((double) timebase.denom);
33  double seconds =
34  ((double) time * (double) timebase.numer) / ((double) timebase.denom * 1e9);
35  t->tv_sec = seconds;
36  t->tv_nsec = nseconds;
37  return 0;
38 }
39 #else
40 #include <time.h>
41 #endif
42 
43 using std::copy;
44 using std::fill_n;
45 
47 
49  Double_t beamWidthX,
50  Double_t beamWidthY)
51  : fUseAllDetectors(useAllDetectors)
52  , fIsOnlyPrimary(false)
53  , fChiSqCut(0)
54  , fCanSkipHits(-1 /*Negative value means: calculate the value*/)
55  , fSettings(0)
56  , fBeamDx(beamWidthX)
57  , fBeamDy(beamWidthY)
58  , fTracker(0)
59  , fGlobalTracks(0)
60  , fStsTracks(0)
61  , fMuchTracks(0)
62  , fTrdTracks(0) {
63  fInstance = this;
65  fUseModules[ToIntegralType(ECbmModuleId::kRich)] = false; // Temporary hack
66 }
67 
69 
72  fSettings->SetConfiguring(false);
80 
81  if (0 == geoReader) LOG(fatal) << "Couldn't instantiate CbmBinnedGeoReader";
82 
83  geoReader->Read();
85  fTracker->Init();
86 
88 
90 
91  FairRootManager* ioman = FairRootManager::Instance();
92 
93  if (0 == ioman) LOG(fatal) << "No FairRootManager";
94 
95  fGlobalTracks = new TClonesArray("CbmGlobalTrack", 100);
96  ioman->Register("GlobalTrack",
97  "Global",
99  IsOutputBranchPersistent("GlobalTrack"));
100 
101  LOG(info) << "Use STS detector: "
102  << (fSettings->Use(ECbmModuleId::kSts) ? "true" : "false");
103  ;
104  LOG(info) << "The number of STS stations: " << fSettings->GetNofStsStations();
105  LOG(info) << "Use MuCh detector: "
106  << (fSettings->Use(ECbmModuleId::kMuch) ? "true" : "false");
107  LOG(info) << "The number of MuCh stations: "
109  LOG(info) << "Use TRD detector: "
110  << (fSettings->Use(ECbmModuleId::kTrd) ? "true" : "false");
111  LOG(info) << "The number of TRD stations: " << fSettings->GetNofTrdStations();
112  LOG(info) << "Use ToF detector: "
113  << (fSettings->Use(ECbmModuleId::kTof) ? "true" : "false");
114 
116  fStsTracks = new TClonesArray("CbmStsTrack", 100);
117  ioman->Register(
118  "StsTrack", "STS", fStsTracks, IsOutputBranchPersistent("StsTrack"));
119  }
120 
122  fMuchTracks = new TClonesArray("CbmMuchTrack", 100);
123  ioman->Register(
124  "MuchTrack", "Much", fMuchTracks, IsOutputBranchPersistent("MuchTrack"));
125  }
126 
128  fTrdTracks = new TClonesArray("CbmTrdTrack", 100);
129  ioman->Register(
130  "TrdTrack", "Trd", fTrdTracks, IsOutputBranchPersistent("TrdTrack"));
131  }
132 
133  fSettings->setChanged();
134  fSettings->setInputVersion(-2, 1);
135 
136  return kSUCCESS;
137 }
138 
139 static long fullDuration = 0;
140 
141 void CbmBinnedTrackerTask::Exec(Option_t*) {
142  timespec ts;
143  clock_gettime(CLOCK_REALTIME, &ts);
144  long beginTime = ts.tv_sec * 1000000000 + ts.tv_nsec;
145  fTracker->Reconstruct(-100);
146 
147  if (fSettings->Use(ECbmModuleId::kSts)) fStsTracks->Clear();
148 
150 
151  if (fSettings->Use(ECbmModuleId::kTrd)) fTrdTracks->Clear();
152 
153  fGlobalTracks->Clear();
154  int globalTrackNumber = 0;
155  int stsTrackNumber = 0;
156  int muchTrackNumber = 0;
157  int trdTrackNumber = 0;
158  std::list<CbmBinnedTracker::Track*>::const_iterator tracksEnd =
160 
161  for (std::list<CbmBinnedTracker::Track*>::const_iterator trackIter =
163  trackIter != tracksEnd;
164  ++trackIter) {
165  const CbmBinnedTracker::Track* recoTrack = *trackIter;
166 
167  if (recoTrack->fIsClone) continue;
168 
169  //int previousGlobalTrackId = -1; (VF) unused
170  //int previousStsTrackId = -1; (VF) unused
171  //int previousMuchTrackId = -1; (VF) unused
172  //int previousTrdTrackId = -1; (VF) unused
173  int stsStationNumber = 0;
174  int muchStationNumber = 0;
175  int trdStationNumber = 0;
176  int tofStationNumber = 0;
177  Double_t cov[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
178  //Double_t parCov[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
179  FairTrackParam trackParam;
180  CbmGlobalTrack* globalTrack =
181  new ((*fGlobalTracks)[globalTrackNumber++]) CbmGlobalTrack();
182  CbmStsTrack* stsTrack = 0;
183  CbmMuchTrack* muchTrack = 0;
184  CbmTrdTrack* trdTrack = 0;
185 
186  for (int hitNo = 0; hitNo < recoTrack->fLength; ++hitNo) {
187  CbmTBin::HitHolder* hitHolder = recoTrack->fHits[hitNo];
188 
189  switch (hitHolder->type) {
190  case ECbmModuleId::kSts:
191  if (0 == stsTrack) {
192  stsTrack = new ((*fStsTracks)[stsTrackNumber]) CbmStsTrack();
193  globalTrack->SetStsTrackIndex(stsTrackNumber++);
194  }
195 
196  ++stsStationNumber;
197  stsTrack->AddStsHit(hitHolder->index);
198  break;
199 
200  case ECbmModuleId::kMuch:
201  if (0 == muchTrack) {
202  muchTrack = new ((*fMuchTracks)[muchTrackNumber]) CbmMuchTrack();
203  globalTrack->SetMuchTrackIndex(muchTrackNumber++);
204  }
205 
206  ++muchStationNumber;
207  muchTrack->AddHit(hitHolder->index, kMUCHPIXELHIT);
208  break;
209 
210  case ECbmModuleId::kTrd:
211  if (0 == trdTrack) {
212  trdTrack = new ((*fTrdTracks)[trdTrackNumber]) CbmTrdTrack();
213  globalTrack->SetTrdTrackIndex(trdTrackNumber++);
214  }
215 
216  ++trdStationNumber;
217  trdTrack->AddHit(hitHolder->index, kTRDHIT);
218  break;
219 
220  case ECbmModuleId::kTof:
221  globalTrack->SetTofHitIndex(hitHolder->index);
222  ++tofStationNumber;
223  break;
224  default:
225  LOG(fatal) << "This hit type is not accepted. Only sts, much, trd "
226  "and tof hits are accepted.";
227  }
228  }
229 
230  int lastStationNumber = stsStationNumber + muchStationNumber
231  + trdStationNumber + tofStationNumber - 1;
232 
233  trackParam.SetX(recoTrack->fParams[0].GetX());
234  trackParam.SetY(recoTrack->fParams[0].GetY());
235  trackParam.SetZ(recoTrack->fHits[0]->hit->GetZ());
236  trackParam.SetTx(recoTrack->fParams[0].GetTx());
237  trackParam.SetTy(recoTrack->fParams[0].GetTy());
238  cov[0] = recoTrack->fParams[0].GetCovXX(); //parCov[0];
239  cov[5] = recoTrack->fParams[0].GetCovYY(); //parCov[6];
240  trackParam.SetCovMatrix(cov);
241  globalTrack->SetParamFirst(&trackParam);
242 
243  trackParam.SetX(recoTrack->fParams[lastStationNumber].GetX());
244  trackParam.SetY(recoTrack->fParams[lastStationNumber].GetY());
245  trackParam.SetZ(recoTrack->fHits[lastStationNumber]->hit->GetZ());
246  trackParam.SetTx(recoTrack->fParams[lastStationNumber].GetTx());
247  trackParam.SetTy(recoTrack->fParams[lastStationNumber].GetTy());
248  cov[0] = recoTrack->fParams[lastStationNumber].GetCovXX(); //parCov[0];
249  cov[5] = recoTrack->fParams[lastStationNumber].GetCovYY(); //parCov[6];
250  trackParam.SetCovMatrix(cov);
251  globalTrack->SetParamLast(&trackParam);
252 
253  globalTrack->SetNDF((lastStationNumber + 1) * 2);
254  globalTrack->SetChi2(recoTrack->fChiSq);
255 
256  /*if (fSettings->Use(kSts))
257  {
258  globalTrack->SetStsTrackIndex(trackNumber);
259  CbmStsTrack* stsTrack = new ((*fStsTracks)[trackNumber]) CbmStsTrack();
260  stsTrack->SetNDF(fSettings->GetNofStsStations() * 2);
261  stsTrack->SetChiSq(1);
262  stsTrack->SetPreviousTrackId(previousTrackId);
263  previousTrackId = trackNumber;
264  nofStations += fSettings->GetNofStsStations();
265 
266  trackParam.SetX(recoTrack->fParams[stationNumber].GetX());
267  trackParam.SetY(recoTrack->fParams[stationNumber].GetY());
268  trackParam.SetZ(recoTrack->fHits[stationNumber]->hit->GetZ());
269  trackParam.SetTx(recoTrack->fParams[stationNumber].GetTx());
270  trackParam.SetTy(recoTrack->fParams[stationNumber].GetTy());
271  //recoTrack->fParams[stationNumber].CovMatrix(parCov);
272  cov[0] = recoTrack->fParams[stationNumber].GetCovXX();//parCov[0];
273  cov[5] = recoTrack->fParams[stationNumber].GetCovYY();//parCov[6];
274  trackParam.SetCovMatrix(cov);
275  stsTrack->SetParamFirst(&trackParam);
276 
277  trackParam.SetX(recoTrack->fParams[nofStations - 1].GetX());
278  trackParam.SetY(recoTrack->fParams[nofStations - 1].GetY());
279  trackParam.SetZ(recoTrack->fHits[nofStations - 1]->hit->GetZ());
280  trackParam.SetTx(recoTrack->fParams[nofStations - 1].GetTx());
281  trackParam.SetTy(recoTrack->fParams[nofStations - 1].GetTy());
282  //recoTrack->fParams[stationNumber - 1].CovMatrix(parCov);
283  cov[0] = recoTrack->fParams[nofStations - 1].GetCovXX();//parCov[0];
284  cov[5] = recoTrack->fParams[nofStations - 1].GetCovYY();//parCov[6];
285  stsTrack->SetParamLast(&trackParam);
286 
287  for (; stationNumber < nofStations; ++stationNumber)
288  {
289  CbmTBin::HitHolder* hh = recoTrack->fHits[stationNumber];
290  stsTrack->AddStsHit(hh->index);
291  }
292  }
293 
294  if (fSettings->Use(kMuch))
295  {
296  globalTrack->SetMuchTrackIndex(trackNumber);
297  CbmMuchTrack* muchTrack = new ((*fMuchTracks)[trackNumber]) CbmMuchTrack();
298  muchTrack->SetNDF(fSettings->GetNofMuchStations() * 2);
299  muchTrack->SetChiSq(1);
300  muchTrack->SetPreviousTrackId(previousTrackId);
301  previousTrackId = trackNumber;
302  nofStations += fSettings->GetNofMuchStations();
303 
304  trackParam.SetX(recoTrack->fParams[stationNumber].GetX());
305  trackParam.SetY(recoTrack->fParams[stationNumber].GetY());
306  trackParam.SetZ(recoTrack->fHits[stationNumber]->hit->GetZ());
307  trackParam.SetTx(recoTrack->fParams[stationNumber].GetTx());
308  trackParam.SetTy(recoTrack->fParams[stationNumber].GetTy());
309  //recoTrack->fParams[stationNumber].CovMatrix(parCov);
310  cov[0] = recoTrack->fParams[stationNumber].GetCovXX();//parCov[0];
311  cov[5] = recoTrack->fParams[stationNumber].GetCovYY();//parCov[6];
312  trackParam.SetCovMatrix(cov);
313  muchTrack->SetParamFirst(&trackParam);
314 
315  trackParam.SetX(recoTrack->fParams[nofStations - 1].GetX());
316  trackParam.SetY(recoTrack->fParams[nofStations - 1].GetY());
317  trackParam.SetZ(recoTrack->fHits[nofStations - 1]->hit->GetZ());
318  trackParam.SetTx(recoTrack->fParams[nofStations - 1].GetTx());
319  trackParam.SetTy(recoTrack->fParams[nofStations - 1].GetTy());
320  //recoTrack->fParams[stationNumber - 1].CovMatrix(parCov);
321  cov[0] = recoTrack->fParams[nofStations - 1].GetCovXX();//parCov[0];
322  cov[5] = recoTrack->fParams[nofStations - 1].GetCovYY();//parCov[6];
323  trackParam.SetCovMatrix(cov);
324  muchTrack->SetParamLast(&trackParam);
325 
326  for (; stationNumber < nofStations; ++stationNumber)
327  {
328  CbmTBin::HitHolder* hh = recoTrack->fHits[stationNumber];
329  muchTrack->AddHit(hh->index, kMUCHPIXELHIT);
330  }
331  }
332 
333  if (fSettings->Use(kTrd))
334  {
335  globalTrack->SetTrdTrackIndex(trackNumber);
336  CbmTrdTrack* trdTrack = new ((*fTrdTracks)[trackNumber]) CbmTrdTrack();
337  trdTrack->SetNDF(fSettings->GetNofTrdStations() * 2);
338  trdTrack->SetChiSq(1);
339  trdTrack->SetPreviousTrackId(previousTrackId);
340  previousTrackId = trackNumber;
341  nofStations += fSettings->GetNofTrdStations();
342 
343  trackParam.SetX(recoTrack->fParams[stationNumber].GetX());
344  trackParam.SetY(recoTrack->fParams[stationNumber].GetY());
345  trackParam.SetZ(recoTrack->fHits[stationNumber]->hit->GetZ());
346  trackParam.SetTx(recoTrack->fParams[stationNumber].GetTx());
347  trackParam.SetTy(recoTrack->fParams[stationNumber].GetTy());
348  //recoTrack->fParams[stationNumber].CovMatrix(parCov);
349  cov[0] = recoTrack->fParams[stationNumber].GetCovXX();//parCov[0];
350  cov[5] = recoTrack->fParams[stationNumber].GetCovYY();//parCov[6];
351  trackParam.SetCovMatrix(cov);
352  trdTrack->SetParamFirst(&trackParam);
353 
354  trackParam.SetX(recoTrack->fParams[nofStations - 1].GetX());
355  trackParam.SetY(recoTrack->fParams[nofStations - 1].GetY());
356  trackParam.SetZ(recoTrack->fHits[nofStations - 1]->hit->GetZ());
357  trackParam.SetTx(recoTrack->fParams[nofStations - 1].GetTx());
358  trackParam.SetTy(recoTrack->fParams[nofStations - 1].GetTy());
359  //recoTrack->fParams[stationNumber - 1].CovMatrix(parCov);
360  cov[0] = recoTrack->fParams[nofStations - 1].GetCovXX();//parCov[0];
361  cov[5] = recoTrack->fParams[nofStations - 1].GetCovYY();//parCov[6];
362  trackParam.SetCovMatrix(cov);
363  trdTrack->SetParamLast(&trackParam);
364 
365  for (; stationNumber < nofStations; ++stationNumber)
366  {
367  CbmTBin::HitHolder* hh = recoTrack->fHits[stationNumber];
368  trdTrack->AddHit(hh->index, kTRDHIT);
369  }
370  }
371 
372  if (fSettings->Use(kTof))
373  globalTrack->SetTofHitIndex(recoTrack->fHits[nofStations++]->index);
374 
375  trackParam.SetX(recoTrack->fParams[0].GetX());
376  trackParam.SetY(recoTrack->fParams[0].GetY());
377  trackParam.SetZ(recoTrack->fHits[0]->hit->GetZ());
378  trackParam.SetTx(recoTrack->fParams[0].GetTx());
379  trackParam.SetTy(recoTrack->fParams[0].GetTy());
380  //recoTrack->fParams[stationNumber].CovMatrix(parCov);
381  cov[0] = recoTrack->fParams[0].GetCovXX();//parCov[0];
382  cov[5] = recoTrack->fParams[0].GetCovYY();//parCov[6];
383  trackParam.SetCovMatrix(cov);
384  globalTrack->SetParamFirst(&trackParam);
385 
386  trackParam.SetX(recoTrack->fParams[nofStations - 1].GetX());
387  trackParam.SetY(recoTrack->fParams[nofStations - 1].GetY());
388  trackParam.SetZ(recoTrack->fHits[nofStations - 1]->hit->GetZ());
389  trackParam.SetTx(recoTrack->fParams[nofStations - 1].GetTx());
390  trackParam.SetTy(recoTrack->fParams[nofStations - 1].GetTy());
391  //recoTrack->fParams[stationNumber - 1].CovMatrix(parCov);
392  cov[0] = recoTrack->fParams[nofStations - 1].GetCovXX();//parCov[0];
393  cov[5] = recoTrack->fParams[nofStations - 1].GetCovYY();//parCov[6];
394  trackParam.SetCovMatrix(cov);
395  globalTrack->SetParamLast(&trackParam);
396 
397  globalTrack->SetNDF(nofStations * 2);
398  globalTrack->SetChi2(recoTrack->fChiSq);*/
399  }
400 
401  clock_gettime(CLOCK_REALTIME, &ts);
402  long endTime = ts.tv_sec * 1000000000 + ts.tv_nsec;
403  fullDuration += endTime - beginTime;
404 }
405 
408  double segTrue = 100 * fTracker->fNofTrueSegments;
410  double segWrong = 100 * fTracker->fNofWrongSegments;
412  cout << "True segments = " << segTrue << " [" << fTracker->fNofTrueSegments
414  << endl;
415  cout << "Wrong segments = " << segWrong << " [" << fTracker->fNofWrongSegments
417  << endl;
418  cout << "Full reconstruction duration: " << fullDuration << " nanoseconds"
419  << endl;
420 }
421 
423  fSettings = static_cast<CbmBinnedSettings*>(
424  FairRunAna::Instance()->GetRuntimeDb()->getContainer("CbmBinnedSettings"));
425 }
426 
CbmBinnedTracker::fNofTrueSegments
int fNofTrueSegments
Definition: Tracker.h:31
CbmHit::GetZ
Double_t GetZ() const
Definition: CbmHit.h:70
CbmBinnedSettings::GetNofStsStations
Int_t GetNofStsStations() const
Definition: Settings.h:176
CbmBinnedTrackerTask::Exec
void Exec(Option_t *opt)
Definition: CbmBinnedTrackerTask.cxx:141
CbmBinnedGeoReader::Instance
static CbmBinnedGeoReader * Instance()
Definition: GeoReader.cxx:17
CbmBinnedSettings::SetNofTrdStations
void SetNofTrdStations(Int_t v)
Definition: Settings.h:181
CbmBinnedTracker::Init
void Init()
Definition: Tracker.h:119
CbmTrackParam2::GetCovYY
Double_t GetCovYY() const
Definition: CbmTrackParam2.h:75
CbmBinnedSettings::Use
bool Use(ECbmModuleId m) const
Definition: Settings.h:164
CbmBinnedTracker::fNofWrongSegments
int fNofWrongSegments
Definition: Tracker.h:32
CbmBinnedSettings::SetNofStsStations
void SetNofStsStations(Int_t v)
Definition: Settings.h:177
CbmGlobalTrack::SetChi2
void SetChi2(Double_t chi2)
Definition: CbmGlobalTrack.h:67
CbmGlobalTrack::SetParamLast
void SetParamLast(const FairTrackParam *parLast)
Definition: CbmGlobalTrack.h:62
CbmBinnedTrackerTask::fTracker
CbmBinnedTracker * fTracker
Definition: CbmBinnedTrackerTask.h:58
CbmGlobalTrack::SetTrdTrackIndex
void SetTrdTrackIndex(Int_t iTrd)
Definition: CbmGlobalTrack.h:55
CbmBinnedTracker::Track::fHits
CbmTBin::HitHolder ** fHits
Definition: Tracker.h:70
CbmBinnedSettings::SetConfiguring
void SetConfiguring(bool v)
Definition: Settings.h:161
CbmBinnedTrackerTask::fTrdTracks
TClonesArray * fTrdTracks
Definition: CbmBinnedTrackerTask.h:62
CbmBinnedTrackerTask::fMuchTracks
TClonesArray * fMuchTracks
Definition: CbmBinnedTrackerTask.h:61
CbmGlobalTrack.h
CbmBinnedTracker::Track::fLength
int fLength
Definition: Tracker.h:71
CbmBinnedTrackerTask::SetParContainers
void SetParContainers()
Definition: CbmBinnedTrackerTask.cxx:422
CbmBinnedTrackerTask::fIsOnlyPrimary
bool fIsOnlyPrimary
Definition: CbmBinnedTrackerTask.h:51
ECbmModuleId::kTof
@ kTof
Time-of-flight Detector.
fullDuration
static long fullDuration
Definition: CbmBinnedTrackerTask.cxx:139
CbmMuchTrack
Definition: CbmMuchTrack.h:16
CbmBinnedTrackerTask::fSettings
CbmBinnedSettings * fSettings
Definition: CbmBinnedTrackerTask.h:55
CbmTBin::HitHolder::hit
const CbmPixelHit * hit
Definition: Bins.h:29
CbmStsTrack.h
Data class for STS tracks.
CbmBinnedHitReader::Instance
static CbmBinnedHitReader * Instance()
Definition: HitReader.cxx:813
CbmGlobalTrack::SetNDF
void SetNDF(Int_t ndf)
Definition: CbmGlobalTrack.h:68
CbmGlobalTrack::SetStsTrackIndex
void SetStsTrackIndex(Int_t iSts)
Definition: CbmGlobalTrack.h:54
CbmBinnedTracker::Track
Definition: Tracker.h:33
CbmBinnedTrackerTask::fUseModules
bool fUseModules[ToIntegralType(ECbmModuleId::kLastModule)]
Definition: CbmBinnedTrackerTask.h:52
CbmBinnedTrackerTask::Init
InitStatus Init()
Definition: CbmBinnedTrackerTask.cxx:70
CbmBinnedTrackerTask::fCanSkipHits
Int_t fCanSkipHits
Definition: CbmBinnedTrackerTask.h:54
CbmBinnedTrackerTask::fUseAllDetectors
bool fUseAllDetectors
Definition: CbmBinnedTrackerTask.h:50
CbmMuchTrack.h
CbmBinnedTracker::Reconstruct
void Reconstruct(Double_t startTime)
Definition: Tracker.h:173
CbmBinnedSettings::GetNofMuchStations
Int_t GetNofMuchStations() const
Definition: Settings.h:178
CbmTBin::HitHolder
Definition: Bins.h:27
CbmBinnedTrackerTask::CbmBinnedTrackerTask
CbmBinnedTrackerTask(bool useAllDetectors, Double_t beamWidthX, Double_t beamWidthY)
Definition: CbmBinnedTrackerTask.cxx:48
CbmBinnedSettings::GetNofTrdStations
Int_t GetNofTrdStations() const
Definition: Settings.h:180
CbmBinnedSettings::Instance
static CbmBinnedSettings * Instance()
Definition: Settings.h:29
CbmBinnedTrackerTask::~CbmBinnedTrackerTask
~CbmBinnedTrackerTask()
Definition: CbmBinnedTrackerTask.cxx:68
CbmBinnedTracker::Track::fIsClone
bool fIsClone
Definition: Tracker.h:74
ECbmModuleId::kRich
@ kRich
Ring-Imaging Cherenkov Detector.
CbmBinnedTracker::Instance
static CbmBinnedTracker * Instance()
Definition: Tracker.cxx:9
CbmBinnedTrackerTask::Finish
void Finish()
Definition: CbmBinnedTrackerTask.cxx:406
CbmTrackParam2::GetCovXX
Double_t GetCovXX() const
Definition: CbmTrackParam2.h:73
ClassImp
ClassImp(CbmConverterManager) InitStatus CbmConverterManager
Definition: CbmConverterManager.cxx:12
CbmBinnedTrackerTask::fChiSqCut
Double_t fChiSqCut
Definition: CbmBinnedTrackerTask.h:53
CbmBinnedSettings::SetOnlyPrimary
void SetOnlyPrimary(bool v)
Definition: Settings.h:163
kTRDHIT
@ kTRDHIT
Definition: CbmHit.h:25
CbmBinnedSettings::SetNofStations
void SetNofStations(Int_t v)
Definition: Settings.h:183
CbmBinnedSettings::SetUse
void SetUse(Int_t m, bool v)
Definition: Settings.h:167
ECbmModuleId::kTrd
@ kTrd
Transition Radiation Detector.
CbmTrdTrack
Definition: CbmTrdTrack.h:22
CbmGlobalTrack
Definition: CbmGlobalTrack.h:26
ECbmModuleId::kLastModule
@ kLastModule
For loops over all modules.
CbmGlobalTrack::SetParamFirst
void SetParamFirst(const FairTrackParam *parFirst)
Definition: CbmGlobalTrack.h:59
CbmBinnedGeoReader
Definition: GeoReader.h:27
CbmBinnedTracker::Track::fChiSq
Double_t fChiSq
Definition: Tracker.h:75
CbmBinnedGeoReader::Read
void Read()
Definition: GeoReader.cxx:109
CbmBinnedTracker::GetTracksEnd
std::list< Track * >::const_iterator GetTracksEnd() const
Definition: Tracker.h:206
ToIntegralType
constexpr auto ToIntegralType(T enumerator) -> typename std::underlying_type< T >::type
Definition: CbmDefs.h:24
CbmBinnedTrackerTask::fGlobalTracks
TClonesArray * fGlobalTracks
Definition: CbmBinnedTrackerTask.h:59
CbmTBin::HitHolder::index
Int_t index
Definition: Bins.h:30
CbmBinnedTrackerTask.h
CbmGlobalTrack::SetMuchTrackIndex
void SetMuchTrackIndex(Int_t iMuch)
Definition: CbmGlobalTrack.h:56
CbmBinnedTrackerTask
Definition: CbmBinnedTrackerTask.h:21
CbmBinnedTrackerTask::fStsTracks
TClonesArray * fStsTracks
Definition: CbmBinnedTrackerTask.h:60
CbmBinnedTracker::SetChiSqCut
void SetChiSqCut(Double_t v)
Definition: Tracker.h:155
kMUCHPIXELHIT
@ kMUCHPIXELHIT
Definition: CbmHit.h:23
CbmBinnedTracker::Track::fParams
CbmTrackParam2 * fParams
Definition: Tracker.h:73
CbmBinnedSettings
Definition: Settings.h:27
ECbmModuleId::kMuch
@ kMuch
Muon detection system.
GeoReader.h
CbmBinnedTracker::GetTracksBegin
std::list< Track * >::const_iterator GetTracksBegin() const
Definition: Tracker.h:203
CbmGlobalTrack::SetTofHitIndex
void SetTofHitIndex(Int_t iTofHit)
Definition: CbmGlobalTrack.h:58
CbmStsTrack::AddStsHit
void AddStsHit(Int_t hitIndex)
Definition: CbmStsTrack.h:56
CbmTrdTrack.h
CbmBinnedTracker::SetCanSkipHits
void SetCanSkipHits(Int_t v)
Definition: Tracker.h:171
CbmStsTrack
Definition: CbmStsTrack.h:37
CbmBinnedSettings::SetNofMuchStations
void SetNofMuchStations(Int_t v)
Definition: Settings.h:179
ECbmModuleId::kSts
@ kSts
Silicon Tracking System.
CbmBinnedTrackerTask::fInstance
static CbmBinnedTrackerTask * fInstance
Definition: CbmBinnedTrackerTask.h:47
CbmTrack::AddHit
void AddHit(Int_t index, HitType type)
Definition: CbmTrack.cxx:75
CbmBinnedHitReader::Finish
virtual void Finish()
Definition: HitReader.h:44
CbmTBin::HitHolder::type
ECbmModuleId type
Definition: Bins.h:28