//----------------------------------------------------------- // 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_LAMBDA_HH #define FOPI_LAMBDA_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 TVector3; class TDatabasePDG; class FopiLambdaAnaTask : public FairTask { public: // Constructors/Destructors --------- FopiLambdaAnaTask(); virtual ~FopiLambdaAnaTask(); // Operators // Accessors ----------------------- // Modifiers ----------------------- void SetTrackBranchName(const TString& name) {fTrackBranchName=name;} void SetPersistence(Bool_t opt=kTRUE) {fPersistence=opt;} virtual InitStatus Init(); virtual void Exec(Option_t* opt); void WriteHistograms(const TString& fname) const; void setVtxCut(double dist){ vtxCut=dist; } void setCutsArm(Double_t pt,Double_t alphamin,Double_t alphamax){ farmCutMaxPt=pt; farmCutMinAlpha=alphamin; farmCutMaxAlpha=alphamax; } private: void FillArmenterosPlot(TLorentzVector lambda, TLorentzVector pos, TLorentzVector neg, double& PT, double& alpha); bool Poca(GFTrack* proton, GFTrack* pion, TLorentzVector &l_proton, TLorentzVector &l_pion, TVector3& pocaTr, TVector3& pocaP, TVector3& pocaPi); Int_t nEv; double fMatchDistance; // lookup distance in cm // Private Data Members ------------ TString fTrackBranchName; bool fPersistence; TClonesArray* fTrackArray; TH1D *vtxResX_1; TH1D *vtxResY_1; TH1D* vtxResZ_1; TH1D *vtxResX_2; TH1D *vtxResY_2; TH1D* vtxResZ_2; TH1D* vtxDist; TH2D* vtxXY; TH2D* vtxZX; TH2D* vtxZY; TH1D* pdg; TH1D* charge; Double_t farmCutMaxPt; Double_t farmCutMaxAlpha; Double_t farmCutMinAlpha; Double_t vtxCut; std::vector lambdaMass; std::vector nLambdaCands; std::vector lambdaBarMass; std::vector nLambdabarCands; std::vector nLbarVsnL; std::vector lambdaTotMass; std::vector lambdaMass_All; std::vector lambdaBarMass_All; std::vector lambdaTotMass_All; std::vector armenteros; TDatabasePDG *fPDG; //! TClonesArray* fLambdaOutArray; ClassDef(FopiLambdaAnaTask,1); }; #endif