//----------------------------------------------------------- // File and Version Information: // $Id$ // // Description: // Chi2 cleanup of "failed" GF fits due to outliers // Sets statusflag for tracks that differ too much // in between forward and backward extrapolation // // // Environment: // Software developed for the PANDA Detector at FAIR. // // Author List: // Felix Boehmer TUM (original author) // //----------------------------------------------------------- #ifndef CHI2CLEANUPTASK_H #define CHI2CLEANUPTASK_H //Base class #include "FairTask.h" #include "TString.h" #include // Collaborating Class Declarations -------------------------------------- class TpcDigiPar; class TCLonesArray; class Chi2CleanupTask : public FairTask { public: // Constructor ---------------------------------------------- Chi2CleanupTask(); //default constructor virtual ~Chi2CleanupTask() {;} virtual InitStatus Init(); virtual void Exec(Option_t* opt); virtual void SetParContainers(); // Setters -------------------------------------------------- void SetTrackBranchName(const TString& d) {fTrackBranchName=d;} void SetVerbose(Bool_t opt=kTRUE) {fVerbose=opt;} void SetHitNDF(unsigned int ndf) {fNDF=ndf;} void SetnRep(unsigned int nr) {fnRep=nr;} //absolute values to perfom chi2 difference cut: void AddDiffCutWindow(double low, double high) {fLow.push_back(low); fHigh.push_back(high); fCutInit=true;} //fractional window defining which hits to consider for the cut void SetHitWindow(double low, double high) {fFracL=low; fFracH=high; fWindowInit=true;} private: TString fTrackBranchName; TClonesArray* fTrackArr; TpcDigiPar* fPar; unsigned int fNDF; //NDF of the track hits we're investigating unsigned int fnRep; //which trackrep to be used double fFracL; double fFracH; bool fWindowInit; bool fCutInit; std::vector fLow; std::vector fHigh; public: ClassDef(Chi2CleanupTask,1) }; #endif