/** * \file CbmMuonAnalysis.h * \brief J/psi di-muon analysis task. * \author Firstname Lastname * \date 2012 **/ #ifndef CBMMUONANALYSIS_H_ #define CBMMUONANALYSIS_H_ 1 #include "FairTask.h" #include "TH1D.h" #include "TClonesArray.h" #include "TMath.h" #include "TVector3.h" #include "CbmStsKFTrackFitter.h" #include "CbmVertex.h" class CbmGlobalTrack; /** * \class CbmMuonAnalysis.h * \brief J/psi di-muon analysis task. * \author Firstname Lastname * \date 2012 **/ class CbmMuonAnalysis : public FairTask { public: /** * \brief Default constructor */ CbmMuonAnalysis(); /** * \brief Destructor */ ~CbmMuonAnalysis(); /** * \brief Inherited from FairTask */ virtual InitStatus Init(); /** * \brief Inherited from FairTask */ virtual void Exec( Option_t* opt); /** * \brief Inherited from FairTask */ virtual void Finish(); /** * \brief Inherited from FairTask. */ virtual void SetParContainers(); private: // Private copy constructor and copy assignment operator // in order to make this class non-copyable. CbmMuonAnalysis(const CbmMuonAnalysis&); CbmMuonAnalysis& operator=(const CbmMuonAnalysis&); /** * \brief Function reads data branches. */ void ReadDataBranches(); /** * \brief Function creates histograms. */ void CreateHistograms(); /** * \brief Function draws histograms. */ void DrawHistograms(); /** * \brief Function writes histograms to file. */ void WriteHistograms(); Bool_t IsMuon( const CbmGlobalTrack* track); Double_t CalculateInvMass( const TVector3& momP, const TVector3& momN); // Data branches TClonesArray* fGlobalTracks; // CbmGlobalTrack array TClonesArray* fStsTracks; // CbmStsTrack array TClonesArray* fMuchTracks; // CbmMuchTrack array CbmVertex *fPrimVertex; // CbmVertex primary vertex // Histograms TH1D* fhStsParamFirstMom; TH1D* fhMuchParamLastMom; TH1D* fhMuchNofHitsInTrack; TH1D* fhMuchParamLastZ; TH1D* fhChiSqPrimary; TH1D* fhInvMass; CbmStsKFTrackFitter fKFFitter; // STS track fit tool ClassDef(CbmMuonAnalysis,1); }; #endif /* CBMMUONANALYSIS_H_ */