Go to the documentation of this file.
10 #include "FairRootManager.h"
11 #include "FairTrackParam.h"
20 #include "TClonesArray.h"
38 , fMuchPixelHits(NULL)
39 , fMuchStrawHits(NULL)
54 static Int_t eventNo = 0;
55 std::cout <<
"CbmLitFitTracksParallel::Exec: eventNo=" << eventNo++
64 FairRootManager* ioman = FairRootManager::Instance();
65 assert(ioman != NULL);
67 fGlobalTracks = (TClonesArray*) ioman->GetObject(
"GlobalTrack");
68 fStsTracks = (TClonesArray*) ioman->GetObject(
"StsTrack");
69 fMuchTracks = (TClonesArray*) ioman->GetObject(
"MuchTrack");
70 fTrdTracks = (TClonesArray*) ioman->GetObject(
"TrdTrack");
73 fTrdHits = (TClonesArray*) ioman->GetObject(
"TrdHit");
80 static Bool_t firstTime =
true;
94 vector<lit::parallel::LitScalTrack*> ltracks;
95 vector<lit::parallel::LitScalPixelHit*> lhits;
109 Int_t nofTracks = ltracks.size();
110 for (Int_t iTrack = 0; iTrack < nofTracks; iTrack++) {
123 for (Int_t iTrack = 0; iTrack < nofTracks; iTrack++) {
130 for (Int_t iTrack = 0; iTrack < nofTracks; iTrack++) {
135 FairTrackParam firstParam, lastParam;
145 for_each(ltracks.begin(), ltracks.end(),
DeleteObject());
154 cout <<
"CbmLitFitTracksParallel::PrintStopwatchStatistics: " << endl;
155 cout <<
"fit without IO: counts=" <<
fFitWatch.Counter()
const FairTrackParam * GetParamLast() const
virtual void Exec(Option_t *opt)
Derived from FairTask.
TClonesArray * fStsTracks
void DoFit()
Performs track fit.
TClonesArray * fMuchPixelHits
Tracking geometry constructor.
Kalman filter based track fit.
void SetParamLast(const FairTrackParam *par)
void LitTrackFitter(LitScalTrack &track, const LitDetectorLayoutScal &layout)
Fast scalar track fit.
void GetTrdLayoutScal(lit::parallel::LitDetectorLayoutScal &layout)
Return TRD detector layout for TRD parallel tracking in scalar format.
virtual InitStatus Init()
Derived from FairTask.
Data class for STS tracks.
virtual void Finish()
Derived from FairTask.
static void FairTrackParamToLitTrackParamScal(const FairTrackParam *par, lit::parallel::LitTrackParamScal *lpar)
Convert FairTrackParam to LitTrackParamScal.
void SetParamFirst(const LitTrackParamScal ¶m)
Sets first track parameter.
TClonesArray * fTrdTracks
void PrintStopwatchStatistics()
Print stopwatch statistics.
Task to fit TRD and MUCH tracks using parallel track fit algorithms.
Base class for scalar pixel hits.
unsigned short GetPreviousTrackId() const
Return Previous track index.
TStopwatch fFitWithIOWatch
void GetMuchLayoutScal(lit::parallel::LitDetectorLayoutScal &layout)
Return MUCH detector layout for parallel MUCH tracking in scalar format.
static void CbmPixelHitArrayToLitScalPixelHitArray(const TClonesArray *hits, vector< lit::parallel::LitScalPixelHit * > &lhits)
Convert CbmPixelHit array to LitScalPixelHit arra.
TClonesArray * fMuchTracks
virtual ~CbmLitFitTracksParallel()
Destructor.
Class for conversion between CBMROOT data classes and littrack parallel data classes.
CbmLitFitTracksParallel()
Constructor.
void ReadDataBranches()
Read data branches.
const LitTrackParamScal & GetParamFirst() const
Returns first parameter of the track.
TClonesArray * fMuchStrawHits
static void CbmTrackArrayToLitScalTrackArray(const TClonesArray *tracks, const vector< lit::parallel::LitScalPixelHit * > &lhits, vector< lit::parallel::LitScalTrack * > <racks)
Convert array of CbmTrack to array of LitScalTrack.
static void LitTrackParamScalToFairTrackParam(const lit::parallel::LitTrackParamScal *lpar, FairTrackParam *par)
Convert LitTrackParamScal to FairTrackParam.
const LitTrackParamScal & GetParamLast() const
Returns last parameter of the track.
void SetParamFirst(const FairTrackParam *par)
TClonesArray * fGlobalTracks
static CbmLitTrackingGeometryConstructor * Instance()
Return pointer to singleton object.
ClassImp(CbmLitFitTracksParallel)