#ifndef KAONTASK_HH #define KAONTASK_HH #include "FairTask.h" #include "TClonesArray.h" #include "FairRootManager.h" #include "FairRun.h" #include "FairRuntimeDb.h" #include "TpcDigiPar.h" #include "GFAbsTrackRep.h" #include "TVector3.h" #include "GFTrack.h" #include "TLorentzVector.h" #include "TDatabasePDG.h" class KaonTask : public FairTask { public: KaonTask(); virtual ~ KaonTask(); virtual InitStatus Init(); virtual void Exec(Option_t* opt); virtual void SetParContainers(); void SetPersistence(Bool_t opt=kTRUE) {fPersistence=opt;} void SetTpcTrackBranchName(TString tn) {fTpcTrackBranchName=tn;} void SetOutBranchName(TString tn) {fOutBranchName=tn;} void SetTpcHitBranchName(TString name) {fTpcHitBranchName=name;} void SetTpcClusterBranchName(TString name) {fTpcClusterBranchName=name;} private: Bool_t fPersistence; TString fOutBranchName; TString fTpcHitBranchName; TString fTpcClusterBranchName; TString fTpcTrackBranchName; TString fParticleBranchName; TString fMCTrackBranchName; TClonesArray* fOutArray; TClonesArray* fTpcHitArray; TClonesArray* fTpcClusterArray; TClonesArray* fTpcTrackArray; TClonesArray* fParticleArray; TClonesArray* fMCTrackArray; TpcDigiPar* fPar; TDatabasePDG *fPDG; void getTrackPosMom(GFAbsTrackRep* _rep, TVector3& _pos, TVector3& _poserr, TVector3& _mom, TVector3& _momerr); bool Poca(GFTrack* pionp, GFTrack* pionm, TLorentzVector &l_pionp, TLorentzVector &l_pionm, TVector3& pocaTr, TVector3& pocaPionP, TVector3& pocaPionM); public: ClassDef(KaonTask,1) }; #endif