/* * PndAnalysisForwardTask.h * * Created on: Jul 15, 2016 * Author: kibellus */ #ifndef PNDTOOLS_PNDFORWARDTRACKFINDER_PNDANALYSISFORWARDTASK_H_ #define PNDTOOLS_PNDFORWARDTRACKFINDER_PNDANALYSISFORWARDTASK_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 "PndFtsPoint.h" #include "TClonesArray.h" #include "TVector3.h" #include #include #include class PndAnalysisForwardTask : public FairTask { public: PndAnalysisForwardTask() : eventNum(0){ for(int i=0;i<10;i++){ hitArray[i] = 0; momentumArray[i] = 0; trackCountArray[i] = 0; hitArray2[i] = 0; momentumArray2[i] = 0; trackCountArray2[i] = 0; } } virtual ~PndAnalysisForwardTask(); virtual InitStatus Init(); virtual void Exec(Option_t* opt); virtual void FinishEvent(); virtual void Finish(); map> getMcTracks(); map*> getReconstructedTracks(); void analyzeMCTracks(vector hits,map*> tracks, Int_t trackID, Int_t trackCount); vector analyzeMCTrack(vector mcHits,vector* reconstructedHits); void anaSpecialCases(map> mcTracks); private: FairRootManager *fIoman; TClonesArray* fHits; TClonesArray* fSolution; TClonesArray* fMCTracks; TClonesArray* fIdealTrack; Int_t eventNum; Int_t completeClean = 0; Int_t completeUnclean = 0; Int_t incompleteClean = 0; Int_t incompleteUnclean = 0; Int_t notEnoughFound = 0; Int_t notFound = 0; map mcToHitCount; map momentum; Int_t hitArray[10]; Double_t momentumArray[10]; Int_t trackCountArray[10]; Int_t hitArray2[10]; Double_t momentumArray2[10]; Int_t trackCountArray2[10]; Int_t oneHitPerLayer = 0; Int_t moreThan3Hits = 0; Int_t twoTracksOneTube = 0; ClassDef(PndAnalysisForwardTask,1); }; #endif /* PNDTOOLS_PNDFORWARDTRACKFINDER_PNDANALYSISFORWARDTASK_H_ */