15#include "FairRootManager.h"
16#include "FairTrackParam.h"
17#include "TClonesArray.h"
42 , fMuchPixelHits(NULL)
43 , fMuchStrawHits(NULL)
62 static Int_t eventNo = 0;
63 std::cout <<
"CbmLitFitTracksParallel::Exec: eventNo=" << eventNo++ << std::endl;
72 FairRootManager* ioman = FairRootManager::Instance();
73 assert(ioman != NULL);
75 fGlobalTracks = (TClonesArray*) ioman->GetObject(
"GlobalTrack");
76 fStsTracks = (TClonesArray*) ioman->GetObject(
"StsTrack");
77 fMuchTracks = (TClonesArray*) ioman->GetObject(
"MuchTrack");
78 fTrdTracks = (TClonesArray*) ioman->GetObject(
"TrdTrack");
81 fTrdHits = (TClonesArray*) ioman->GetObject(
"TrdHit");
89 static Bool_t firstTime =
true;
104 vector<lit::parallel::LitScalTrack*> ltracks;
105 vector<lit::parallel::LitScalPixelHit*> lhits;
116 Int_t nofTracks = ltracks.size();
117 for (
Int_t iTrack = 0; iTrack < nofTracks; iTrack++) {
128 for (
Int_t iTrack = 0; iTrack < nofTracks; iTrack++) {
130 LitTrackFitter(track, layout);
135 for (
Int_t iTrack = 0; iTrack < nofTracks; iTrack++) {
139 FairTrackParam firstParam, lastParam;
147 for_each(ltracks.begin(), ltracks.end(),
DeleteObject());
157 cout <<
"CbmLitFitTracksParallel::PrintStopwatchStatistics: " << endl;
Class for conversion between CBMROOT data classes and littrack parallel data classes.
ClassImp(CbmLitFitTracksParallel)
Task to fit TRD and MUCH tracks using parallel track fit algorithms.
Tracking geometry constructor.
Data class for STS tracks.
Base class for scalar pixel hits.
Kalman filter based track fit.
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.
static void FairTrackParamToLitTrackParamScal(const FairTrackParam *par, lit::parallel::LitTrackParamScal *lpar)
Convert FairTrackParam to LitTrackParamScal.
static void CbmPixelHitArrayToLitScalPixelHitArray(const TClonesArray *hits, vector< lit::parallel::LitScalPixelHit * > &lhits)
Convert CbmPixelHit array to LitScalPixelHit arra.
void PrintStopwatchStatistics()
Print stopwatch statistics.
TClonesArray * fMuchTracks
void ReadDataBranches()
Read data branches.
TClonesArray * fMuchStrawHits
virtual void Finish()
Derived from FairTask.
virtual void Exec(Option_t *opt)
Derived from FairTask.
virtual ~CbmLitFitTracksParallel()
Destructor.
TClonesArray * fStsTracks
TClonesArray * fTrdTracks
CbmLitFitTracksParallel()
Constructor.
TClonesArray * fGlobalTracks
void DoFit()
Performs track fit.
TClonesArray * fMuchPixelHits
TStopwatch fFitWithIOWatch
virtual InitStatus Init()
Derived from FairTask.
static CbmLitTrackingGeometryConstructor * Instance()
Return pointer to singleton object.
void GetMuchLayoutScal(lit::parallel::LitDetectorLayoutScal &layout)
Return MUCH detector layout for parallel MUCH tracking in scalar format.
void GetTrdLayoutScal(lit::parallel::LitDetectorLayoutScal &layout)
Return TRD detector layout for TRD parallel tracking in scalar format.
const FairTrackParam * GetParamLast() const
void SetParamFirst(const FairTrackParam *par)
void SetParamLast(const FairTrackParam *par)
const LitTrackParamScal & GetParamFirst() const
Returns first parameter of the track.
unsigned short GetPreviousTrackId() const
Return Previous track index.
const LitTrackParamScal & GetParamLast() const
Returns last parameter of the track.
void SetParamFirst(const LitTrackParamScal ¶m)
Sets first track parameter.