//----------------------------------------------------------- // File and Version Information: // $Id$ // // Description: // Residual calculation for curved tracks // // // Environment: // Software developed for the PANDA Detector at FAIR. // // Author List: // Martin Berger TUM (original author) // //----------------------------------------------------------- #ifndef COLLECTPARTICLESTASK_HH #define COLLECTPARTICLESTASK_HH //Base class #include "FairTask.h" #include "TClonesArray.h" #include "TString.h" #include "TVector3.h" #include // c++ class #include //genfit #include "GFAbsTrackRep.h" // Collaborating Class Declarations -------------------------------------- //#include "TpcdEdx.h" class TpcCluster; class TpcDigiPar; //class TpcdEdx; class CollectParticlesTask : public FairTask { public: // Constructor ---------------------------------------------- CollectParticlesTask(); //default constructor virtual ~CollectParticlesTask(); virtual InitStatus Init(); virtual void Exec(Option_t* opt); virtual void SetParContainers(); // Setters -------------------------------------------------- //cuts: void SetSkipUnfitted(Bool_t opt=kTRUE) {fskipUnfit=opt;} void SetMindEdx(Double_t val) {fmindEdx=val;} void SetRemovedEdxmom(Double_t dedx, Double_t mom){fbaddEdx=dedx; fbadmom=mom;} void SetdEdxOnly(Bool_t opt=kTRUE) {fdEdxOnly=opt;} // void SetDatafile(const TString& name) {fFile=name;} void SetPersistence(Bool_t opt=kTRUE) {fPersistence=opt;} void SetTrackBranchName(TString tn) {fTrackBranchName=tn;} void SetOutBranchName(TString tn) {fOutBranchName=tn;} void SetTpcHitBranchName(TString name) {fTpcHitBranchName=name;} void SetTpcClusterBranchName(TString name) {fTpcClusterBranchName=name;} void SetCdcHitBranchName(TString name) {fCdcHitBranchName=name;} void SetdEdxBranchName(TString name) {fdEdxBranchName=name;} // void SetEventCounter(Int_t val) {fEventcounter=val;} // void SetDoDigiMC(Bool_t opt=kTRUE) {fdoDigiMC=opt;} // void SetUnbiased(Bool_t opt=kTRUE) {funbiased=opt;} // void SetSecondarySuppression(Bool_t opt=kTRUE) {fSecondarySupp=opt;} // void SetNumberOfTrackReps(unsigned int n) {fNumReps=n;} // void SetErrorPars(Double_t sens, Double_t C){fSens=sens;fC=C;} // // void SetClDistCut(Double_t var){fClDistCut=var;} // void SetVerbose(Bool_t opt=kTRUE){fVerbose=opt;} // void SetAddGTrack(Bool_t opt=kTRUE){faddGTrack=opt;} // void SetCutCov(Bool_t opt=kTRUE){fcutCov=opt;} double Circle(double x_o, double x_n, double y_o, double y_n, double z_o, double z_n, double radius); private: Bool_t fPersistence; Bool_t fdEdxOnly; // Int_t fEventcounter; // // Double_t fClDistCut; // Double_t fSens; // Double_t fC; TString fTrackBranchName; TString fOutBranchName; TString fTpcHitBranchName; TString fTpcClusterBranchName; TString fCdcHitBranchName; TString fTpcTrackBranchName; TString fBarHitArray; TString fdEdxBranchName; TClonesArray* fTrackArray; TClonesArray* fOutArray; TClonesArray* fTpcHitArray; TClonesArray* fTpcClusterArray; TClonesArray* fTpcTrackArray; TClonesArray* fCdcHitArray; TClonesArray* fdEdxArray; TpcDigiPar* fPar; //cut variables: Bool_t fskipUnfit; Double_t fmindEdx; Double_t fbaddEdx; Double_t fbadmom; void getTrackPosMom(GFAbsTrackRep* _rep, TVector3& _pos, TVector3& _poserr, TVector3& _mom, TVector3& _momerr); public: ClassDef(CollectParticlesTask,1) }; #endif