//----------------------------------------------------------- // File and Version Information: // $Id$ // // Description: // Track Cleaning. Remove Noise tracks. // // // Environment: // Software developed for the FOPI-TPC Detector at GSI. // // Author List: // Martin Berger TUM (original author) // //----------------------------------------------------------- #ifndef TPCTRACKCLEAN_HH #define TPCTRACKCLEAN_HH //Base Class #include "FairTask.h" //Root stuff #include "TClonesArray.h" #include "GFTrack.h" //Collaborators class TClonesArray; class TpcTrackCleaner : public FairTask { public: //Constructor TpcTrackCleaner(); virtual ~TpcTrackCleaner(); virtual InitStatus Init(); virtual void Exec(Option_t* opt); virtual void SetParContainers(); //Setters void SetVerbose(Bool_t opt=kTRUE){fVerbose=opt;} void SetTrackBranchName(TString opt) {fTrackBranchName=opt;} void SetDeletedTrackBranchName(TString opt){fDelTrackBranchName=opt;} void SetPersistence(Bool_t opt=kTRUE) {fPersistence=opt;} void SetCosmics(Bool_t opt=kTRUE){fCosmics=opt;} // The Theta cut is defined as everything in between start and end is GOOD void SetThetaCut(double start, double end, Bool_t opt=kTRUE){fThetaStart=start; fThetaEnd=end; fThetaCut=opt;} void SetPhiCut(double start, double end, Bool_t opt=kTRUE){fPhiStart=start; fPhiEnd=end; fPhiCut=opt;} void SetClMeanCut(double start, double end=-1, Bool_t opt=kTRUE){fClMeanStart=start; fClMeanStop=end; fClMeanCut=opt;} void SetTrackLenCut(double start, double end=-1, Bool_t opt=kTRUE){fLengthStart=start; fLengthStop=end; fLengthCut=opt;} void SetKeepDelTracks(Bool_t opt=kTRUE){fKeepDel=opt;} private: Bool_t fVerbose; Bool_t fPersistence; Bool_t fThetaCut; Bool_t fPhiCut; Bool_t fClMeanCut; Bool_t fCosmics; Bool_t fLengthCut; Bool_t fKeepDel; //the cut parameters double fThetaStart; double fThetaEnd; double fPhiStart; double fPhiEnd; double fClMeanStart; double fClMeanStop; double fLengthStart; double fLengthStop; TString fTrackBranchName; TString fDelTrackBranchName; TString fOutBranchName; TString fInBranchName; TClonesArray* fTrackArray; TClonesArray* fDelTrackArray; TClonesArray* fOutTrackArray; TClonesArray* fInTrackArray; void ExecCosmics(Option_t* opt); void ExecTrack(Option_t * opt); public: ClassDef(TpcTrackCleaner,1) }; #endif