// ------------------------------------------------------------------------- // ----- PndDchFindTracksQa header file ----- // ------------------------------------------------------------------------- /** \class PndDchFindTracksQa * \author A.Bubak * \date 15.03.2008 * \brief Quality check task for PndDchFindTracks **/ #ifndef PNDDCHFINDTRACKSQA_H #define PNDDCHFINDTRACKSQA_H 1 // Pnd includes #include "FairTask.h" // C++ includes #include #include // Root declaration class TVector3; class TClonesArray; class TH1; class TH1F; class TList; class PndDchFindTracksQa : public FairTask { public: /** Default constructor **/ PndDchFindTracksQa(); /** Standard constructor * \param quota True/all hits for track to be considered reconstructed * \param minPoints Minimal number of MCPoints for considered MCTracks * \param useHitOrDigi Choose usage of digi, hit, chit: default is "hit" * \param verbose Verbosity level **/ PndDchFindTracksQa(Double_t quota, Int_t minPoints, TString useHitOrDigi, Int_t verbose = 1); /** Destructor **/ virtual ~PndDchFindTracksQa(); /** Initialisation at beginning of each event **/ virtual InitStatus Init(); /** Execution **/ virtual void Exec(Option_t* opt); /** Accessors **/ TString GetUseHitOrDigi() const { return fUseHitOrDigi; }; /** Set use digi or hits ** Option: "hit", "digi" or "chit", Default: "hit" **/ void SetUseHitOrDigi(TString useHitOrDigi = "hit") { fUseHitOrDigi = useHitOrDigi; }; private: /** Finish **/ virtual void Finish(); /** Create histograms **/ void CreateHistos(); /** Reset histograms and counters **/ void Reset(); /** Divide histograms (reco/all) with correct error for the efficiency * \param histo1 reconstructed tracks * \param histo2 all tracks (normalisation) * \param histo3 efficiency **/ void DivideHistos(TH1* histo1, TH1* histo2, TH1* histo3); /** Map from MCTrack index to matched TrdTrack index **/ std::map fMatchMap; /** Map from MCTrack index to percentage of matched hits **/ std::map fQualiMap; /** Pointers to data arrays **/ TClonesArray* fMCTracks; ///