// ------------------------------------------------------------------------- // ----- CbmSttFindTracksQa header file ----- // ----- Created 30/03/06 by R. Castelijns ----- // ------------------------------------------------------------------------- /** CbmSttFindTracksQa.h *@author R.Castelijns ** ** Quality check task for CbmSttFindTracks **/ #ifndef CBMSTTTRACKFINDERQA_H #define CBMSTTTRACKFINDERQA_H 1 #include "map.h" #include "CbmTask.h" #include "CbmSttTrack.h" #include "CbmMCTrack.h" #include "TH1.h" #include "TH2.h" class TClonesArray; class CbmSttFindTracksQa : public CbmTask { public: /** Default constructor **/ CbmSttFindTracksQa(); /** Standard constructor *@param minPoints Minimal number of MCPoints for considered MCTracks *@param quota True/all hits for track to be considered reconstructed *@param iVerbose Verbosity level **/ CbmSttFindTracksQa(Int_t minPoints, Double_t quota, Int_t iVerbose = 1); /** Destructor **/ virtual ~CbmSttFindTracksQa(); /** Set parameter containers **/ virtual void SetParContainers(); /** Initialisation **/ virtual InitStatus Init(); /** Reinitialisation **/ virtual InitStatus ReInit(); /** Execution **/ virtual void Exec(Option_t* opt); void CreateHistograms(); void WriteHistograms(char *filename); void FillNormHistos(CbmMCTrack *mcTrack, Bool_t isAcc); void FillEffiencyHistos(CbmMCTrack *mcTrack, Bool_t isAcc); void FillCloneHistos(CbmSttTrack *recTrack); void FillGhostHistos(CbmSttTrack *recTrack); private: /** Map from MCTrack index to matched SttTrack index **/ map fMatchMap; /** Eventwise counters **/ Int_t fNAll, fNAllAcc, fNAllRec; // MCTracks (accepted, reconstructed) Int_t fNPrim, fNPrimAcc, fNPrimRec; // Primaries (accepted, reconstructed) Int_t fNSec, fNSecAcc, fNSecRec; // Secondaries (accepted, reconstructed) Int_t fNNoMC; // SttTracks not associated with any MC Int_t fNGhosts; // Ghost tracks (not matched to MCTrack) /** Pointers to data arrays **/ TClonesArray* fMCTracks; // MCtrack TClonesArray* fSttTracks; // SttTrack TClonesArray* fMatches; // SttTrackMatch /** Geometry parameters **/ TVector3 fTargetPos; // Target centre position Int_t fMinPoints; // Minimal number of MCPoints for considered MCTrack Double_t fQuota; // True/all hits for track to be considered reconstructed TH1F *fPhiEfficiency; TH1F *fThetaEfficiency; TH1F *fPhiEfficiencyAccepted; TH1F *fThetaEfficiencyAccepted; TH1F *fPhiEfficiencyNorm; TH1F *fThetaEfficiencyNorm; TH1F *fPhiEfficiencyAcceptedNorm; TH1F *fThetaEfficiencyAcceptedNorm; TH1F *fPhiGhosts; TH1F *fThetaGhosts; TH1F *fPhiClones; TH1F *fThetaClones; TH2F *GoodTracks; TH2F *GhostTracks; TH2F *CloneTracks; Double_t fTotalAcc; Double_t fTotalRec; Double_t fTotalGhost; Double_t fTotalClone; ClassDef(CbmSttFindTracksQa,1); }; #endif