//----------------------------------------------------------- // File and Version Information: // $Id$ // // Description: // Analysis task for lambdas // // // Environment: // Software developed for the PANDA Detector at FAIR. // // Author List: // Sverre Doerheim (original author) // // //----------------------------------------------------------- #ifndef FOPI_LAMBDAPAUL_HH #define FOPI_LAMBDAPAUL_HH // Base Class Headers ---------------- #include "FairTask.h" // Collaborating Class Headers ------- #include // remove if you do not need streaming op #include #include // Collaborating Class Declarations -- class TClonesArray; class GFRecoHitFactory; class TH1D; class TH2D; class TH2I; class TLorentzVector; class GFTrack; class GFRecoHitFactory; class GFRavePropagator; class GFRaveVertexFactory; class GFRaveVertex; class TVector3; class TDatabasePDG; class FopiLambdaAnaTask_Paul : public FairTask { public: // Constructors/Destructors --------- FopiLambdaAnaTask_Paul(); virtual ~FopiLambdaAnaTask_Paul(); // Operators // Accessors ----------------------- // Modifiers ----------------------- void SetTrackBranchName(const TString& name) {fTrackBranchName=name;} void SetVtxOutBranchName(const TString& name) {fVtxOutBranchName=name;} void SetCandOutBranchName(const TString& name) {fCandName=name;} void SetPersistence(Bool_t opt=kTRUE) {fPersistence=opt;} void SetVerbose(Bool_t v=kFALSE) {fVerbose = 0; if (v) fVerbose=1;} //vertexing void SetVtxUseVacuumPropagator(Bool_t opt = true) {fVtxUseVacuumPropagator = opt;} // use the rave::Vacuum propagator instead of GFRavePropagator void SetVtxMethod(const TString& method){ // TString to std::string std::string stdMethod(method.Data()); fVtxMethod = stdMethod; } virtual InitStatus Init(); virtual void Exec(Option_t* opt); private: Int_t nEv; double fMatchDistance; // lookup distance in cm // Private Data Members ------------ TString fTrackBranchName; TString fVtxOutBranchName; TString fCandName; Bool_t fPersistence; Int_t fVerbose; TDatabasePDG *fPDG; //! TClonesArray* fTrackArray; TClonesArray* fVtxOutArray; TClonesArray* fLambdaOutArray; GFRaveVertexFactory* fVertexFactory; std::vector < GFRaveVertex* > * fVertexBuffer; std::vector < std::vector< GFTrack* > > fVtxTrackBuffer; std::string fVtxMethod; // vertex reconstruction method Bool_t fVtxUseVacuumPropagator; // use the rave::Vacuum propagator instead of GFRavePropagator ClassDef(FopiLambdaAnaTask_Paul,1); }; #endif