//----------------------------------------------------------- // 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_LAMBDA2_HH #define FOPI_LAMBDA2_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 FopiLambdaAnaTask2 : public FairTask { public: // Constructors/Destructors --------- FopiLambdaAnaTask2(); virtual ~FopiLambdaAnaTask2(); // 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;} //vertexing void SetVtxUseVacuumPropagator(bool 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 fPersistence; 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 fVtxUseVacuumPropagator; // use the rave::Vacuum propagator instead of GFRavePropagator ClassDef(FopiLambdaAnaTask2,1); }; #endif