//----------------------------------------------------------- // File and Version Information: // $Id$ // // Description: // Pattern recognition = track finding in the TPC // Using a riemann track fit // // Environment: // Software developed for the PANDA Detector at FAIR. // // Author List: // Johannes Rauch TUM (original author) // Felix Boehmer TUM // // //----------------------------------------------------------- #ifndef TPCTRACKINITTASKALICE_HH #define TPCTRACKINITTASKALICE_HH // Base Class Headers ---------------- #include "FairTask.h" // Collaborating Class Headers ------- #include // remove if you do not need streaming op #include #include // Collaborating Class Declarations -- #include "TpcCluster.h" #include "FairGeanePro.h" class TClonesArray; class TpcDigiPar; class TpcSPHit; class TpcTrackInitTaskALICE : public FairTask { public: // Constructors/Destructors --------- TpcTrackInitTaskALICE(); virtual ~TpcTrackInitTaskALICE(); // Operators // Accessors ----------------------- // Modifiers ----------------------- void SetClusterBranchName(const TString& name) {_clusterBranchName=name;} void SetRiemannBranchName(const TString& name) {_riemannBranchName=name;} void SetTrackOutBranchName(const TString& tracks) {_trackBranchName=tracks;} void SetHoughTrackBranchName(const TString& name) {_houghtrackBranchName=name;} void SetRecoHitOutBranchName(const TString& rhs) {_recoHitBranchName=rhs;} void SetPersistence(Bool_t opt=kTRUE) {_persistence=opt;} // store GFTracks and assoc. RecoHits void SetAllRecoHitPersistence(Bool_t opt=kTRUE) {_arhpersistence=opt;} void SetForceMomentum(Bool_t forcemom =kTRUE) {_forcemomentum=forcemom;} void SetMomentum(double momvalue ) {pbackup=momvalue;} void SetCharge(double charvalue ) {charge=charvalue;} // Operations ---------------------- virtual InitStatus Init(); virtual void SetParContainers(); virtual void Exec(Option_t* opt); void SetMCPid(Bool_t opt=kTRUE) {_mcPid = opt;} // use MC information for particle identification void SetPDG(int pdg) {_pdg=pdg;} // use hypothesis void SetSmoothing(bool s=true) {_smoothing=s;} // use smoothing for the Kalman void useGeane(Bool_t geane=kTRUE) {_geane=geane;} void SetCosmicSorting(Bool_t opt=kTRUE) {_cosmicSorting=opt;} void SetHough(Bool_t hough = true){_usehough= hough;} void WriteHistograms(const TString& filename); private: // Private Data Members ------------ TString _clusterBranchName; TString _riemannBranchName; TString _houghtrackBranchName; TString _trackBranchName; TString _recoHitBranchName; Int_t fTpcClusterBranchID; Int_t fSPHitID; Int_t fClBrID; TClonesArray* _mcTrackArray; TClonesArray* _clusterArray; TClonesArray* _recoHitArray; TClonesArray* _trackArray; TClonesArray* _riemannTrackArray; TClonesArray* _riemannHitArray; TClonesArray* _houghTrackArray; TpcDigiPar* fpar; Bool_t _persistence; Bool_t _arhpersistence; //write out ALL recohits, not just the ones in tracks Bool_t _smoothing; Bool_t _geane; Bool_t _cosmicSorting; Bool_t _mcPid; Bool_t _verbose; Bool_t _usehough; Bool_t _forcemomentum; double Bz; //mag field double pbackup; // momentum value that is set when other initialisations fail double charge; double fmaxLenZbackw; // max length in z of backward target track double fRMin; double fRMax; int _pdg; FairGeanePro* gPro; int counter; std::map fRecoHitMap; std::set fToWrite; public: ClassDef(TpcTrackInitTaskALICE,2) }; #endif //-------------------------------------------------------------- // $Log$ // 9. July 2013 P. Gadow introduced //void SetHoughTrackBranchName(const TString& name) {_houghtrackBranchName=name;} //void SetForceMomentum(Bool_t forcemom =kTRUE) {_forcemomentum=forcemom;} //void SetMomentum(double momvalue ) {pbackup=momvalue;} //void SetCharge(double charvalue ) {charge=charvalue;} //void SetHough(Bool_t hough = true){_usehough= hough;} //TString _houghtrackBranchName; //TClonesArray* _houghTrackArray; //Bool_t _usehough; //Bool_t _forcemomentum; //double pbackup; // momentum value that is set when other initialisations fail //double charge; //--------------------------------------------------------------