#ifndef PndForwardTrackFinderTask_H #define PndForwardTrackFinderTask_H #include "FairTask.h" #include "FairRuntimeDb.h" #include "FairRunAna.h" #include "FairHit.h" #include "PndGeoFtsPar.h" #include "PndFtsMapCreator.h" #include "PndFtsCellTrackletGenerator.h" #include "PndTrackCombiner.h" #include "PndLine.h" #include "PndFtsLineApproximator.h" #include "PndModuleCombiner.h" #include "PndWayFollower.h" #include "PndTrackCollection.h" #include "PndFtsPoint.h" #include "TClonesArray.h" #include "TVector3.h" #include #include #include class PndForwardTrackFinderTask: public FairTask { public: PndForwardTrackFinderTask() : eventNumber(0) { PndTrackCombiner::compDist = 0.8; PndTrackCombiner::compAngle = 7; PndModuleCombiner::compDist = 0.8; PndModuleCombiner::compAngle = 7; PndTrackCombiner::compQuali = 700; PndWayFollower::qualiT = 4000; PndModuleCombiner::hitAddT = 3; } virtual ~PndForwardTrackFinderTask(); virtual InitStatus Init(); virtual void SetParContainers(); virtual void Exec(Option_t* opt); virtual void FinishEvent(); virtual void Finish(); void saveCombined(vector combined,Int_t branch,Int_t branchID,Bool_t useOrgHits); void saveCorrectedTracklets(map>); void saveTrackCollection(vector coll,Bool_t withOrgHits); private: Int_t eventNumber; //PndGeoFtsPar *fFtsParameters; // needed for FtsStrawMap //TClonesArray *fTubeArray; // needed for FtsStrawMap TClonesArray* fHits; FairRootManager *fIoman; std::vector fFirstTrackCand; string branchName = "FTSHitErr"; TClonesArray* planes; //temp TClonesArray* planesHit; //temp TClonesArray* fFirstTrackCandArray; TClonesArray* correctedTracklets; TClonesArray* correctedHits; TClonesArray* fLayerTracks; TClonesArray* fLayerTracksHits; TClonesArray* fGlobalTracks; TClonesArray* fGlobalTracksHits; TClonesArray* fFinalSolution; TClonesArray* fTrackCollection; TClonesArray* fTrackCollectionHits; TClonesArray* rootBranches[5]; PndFtsCellTrackletGenerator* fPndFtsCellTrackletGenerator; PndFtsLineApproximator* fPndFtsLineApproximator; PndTrackCombiner* fPndTrackCombiner; PndModuleCombiner* fModuleCombiner; PndWayFollower* fWayFollower; //ClassDef(PndForwardTrackFinderTask,1); Int_t combinedTracksHitNum; Int_t combinedTracksTrackNum; map fOriginalHits; void createStatictcs(vector c,vector a); PndLineApproximation getBest(PndTrackCollection &c,vector a); Int_t getMcId(vector hits); Int_t dists[20]; Int_t angles[20]; ClassDef(PndForwardTrackFinderTask,1); }; #endif