//----------------------------------------------------------- // File and Version Information: // $Id$ // // Description: // Residual calculator for existing GFTracks // Just extracts residuals from the GFTrack object // for hits inside the TPC // Two modes of operation: // 1. Unbiased residuals if input GFTracks have been // fitted with smoothing turned on // 2. Biased residuals obtained by using a fixed // GFAbsTracKRep // Don't forget to set the TpcClusterBranchName, which // is needed as detectotID when working with // GFTrackCands (even though we don't use clusters here) // Assumed GFTracks are initialized (have RecoHits) // // Environment: // Software developed for the GEM-TPC detector // // Author List: // Felix Boehmer TUM (original author) // //----------------------------------------------------------- #ifndef TPCGFTRKRES_HH #define TPCGFTRKRES_HH #include "AbsRefTrackResCalc.h" #include "TString.h" class GFRecoHitFactory; class TpcGFTrackResCalc : public AbsRefTrackResCalc { public: TpcGFTrackResCalc(); virtual ~TpcGFTrackResCalc(); virtual int calc(); virtual bool init(); void setSmoothedInput(bool opt) {fSmoothedInput=opt;} void setTrackRepID(unsigned int n) {fRepID=n;} void setClusterBranchName(const TString& n) {fClBranchName=n;} void setRequireGoodFit(bool opt=true) {fRequireGoodFit=opt;} void setTrackRepId(int id) {fRepID = id;} private: TString fGFTrackBranchName; TString fClBranchName; //needed for detectorID definition //when processing the GFTrackCands! //UGLY, but necessary (blame GSI) TClonesArray* fTrackArray; bool fSmoothedInput; //tell me if input GFTracks have been //fitted with smoothing turned on. //true: will use GFTools for unb. residuals //false: calc. residuals by manual rep. extrapolation //bool fInitTracks; //true: build GFAbsRecoHits bool fRequireGoodFit; //true: Only accept GFTracks with statusFlag == 0 int fRepID; //default: -1 ==> use CardinalRep //GFRecoHitFactory* fFactory; }; #endif