#ifndef CBM_KRES_CONVERSION_RECONSTRUCTION #define CBM_KRES_CONVERSION_RECONSTRUCTION class TH1; class TH1D; class TH2D; class TH3D; #include #include #include "CbmMCTrack.h" using namespace std; class CbmKresConversionReconstruction { public: //***** brief Standard constructor. CbmKresConversionReconstruction(); //***** brief Standard destructor. virtual ~CbmKresConversionReconstruction(); void Init(); void InitHistograms(); void Exec(int fEventNumRec); void Finish(); void MakeRecoAnalysis(vector RefMom, vector MC, vector Id, vector gg, vector gee, vector eeee); Double_t CalculateOpeningAngleBetweenGammas_MC(CbmMCTrack* mctrack1, CbmMCTrack* mctrack2, CbmMCTrack* mctrack3, CbmMCTrack* mctrack4); Double_t CalculateOpeningAngleBetweenGammas_Reco(TVector3 electron1, TVector3 electron2, TVector3 electron3, TVector3 electron4); private: TClonesArray* fMcTracks; TClonesArray* fGlobalTracks; TClonesArray* fStsTracks; TClonesArray* fStsTrackMatches; TClonesArray* fRichRings; TClonesArray* fRichRingMatches; vector STS_refmomentum; vector STS_MCtrack; vector STS_Id; vector STS_and_RICH_refmomentum; vector STS_and_RICH_MCtrack; vector STS_and_RICH_Id; // definition of histograms vector fHistoList_reco; TH2D * ConversionPoints2D; TH3D * ConversionPoints3D; vector fHistoList_reco_STS_gg; vector fHistoList_reco_STS_and_RICH_gg; vector fHistoList_reco_STS_gee; vector fHistoList_reco_STS_and_RICH_gee; vector fHistoList_reco_STS_eeee; vector fHistoList_reco_STS_and_RICH_eeee; /////// pi -> e+ e- e+ e- TH1D * STS_InvMass_eeee_mc; TH1D * STS_InvMass_eeee_refitted; TH1D * STSRICH_InvMass_eeee_mc; TH1D * STSRICH_InvMass_eeee_refitted; ////// pi -> gamma(e+ e-) e+ e- TH1D * STS_InvMass_gee_mc; TH1D * STS_InvMass_gee_refitted; TH1D * STS_InvMass_realg_gee_reffited; TH1D * STS_InvMass_img_gee_refitted; TH1D * STS_OpeningAngle_realg_gee_mc; TH1D * STS_OpeningAngle_realg_gee_reffited; TH1D * STS_OpeningAngle_img_gee_mc; TH1D * STS_OpeningAngle_img_gee_reffited; TH1D * STSRICH_InvMass_gee_mc; TH1D * STSRICH_InvMass_gee_refitted; TH1D * STSRICH_InvMass_realg_gee_reffited; TH1D * STSRICH_InvMass_img_gee_refitted; TH1D * STSRICH_OpeningAngle_realg_gee_mc; TH1D * STSRICH_OpeningAngle_realg_gee_reffited; TH1D * STSRICH_OpeningAngle_img_gee_mc; TH1D * STSRICH_OpeningAngle_img_gee_reffited; TH1D * STS_InvMass_gg_mc; TH1D * STS_InvMass_gg_reffited; TH1D * STS_InvMass_realg_gg_mc; TH1D * STS_InvMass_realg_gg_reffited; TH1D * STS_OpeningAngle_realg_gg_mc; TH1D * STS_OpeningAngle_realg_gg_reffited; TH1D * STS_OpeningAngle_between_gg_mc; TH1D * STS_OpeningAngle_between_gg_reffited; TH1D * STSRICH_InvMass_gg_mc; TH1D * STSRICH_InvMass_gg_reffited; TH1D * STSRICH_InvMass_realg_gg_mc; TH1D * STSRICH_InvMass_realg_gg_reffited; TH1D * STSRICH_OpeningAngle_realg_gg_mc; TH1D * STSRICH_OpeningAngle_realg_gg_reffited; TH1D * STSRICH_OpeningAngle_between_gg_mc; TH1D * STSRICH_OpeningAngle_between_gg_reffited; //***** brief Copy constructor. CbmKresConversionReconstruction(const CbmKresConversionReconstruction&); //***** brief Assignment operator. CbmKresConversionReconstruction operator=(const CbmKresConversionReconstruction&); ClassDef(CbmKresConversionReconstruction,1) }; #endif