/** * \file CbmRichGeoTestOpt.h * \brief Creates comparison plots for RICH geometry testing. * \author Semen Lebedev * \date 2019 */ #ifndef CBM_RICH_GEO_TEST_OPT #define CBM_RICH_GEO_TEST_OPT #include "TObject.h" #include "TFile.h" #include "CbmHistManager.h" using namespace std; enum CbmRichGeoTestOptFileEnum {kGeoTestFile, kUrqmdTestFile, kRecoQaFile}; enum CbmRichGeoTestOptHistEnum {kH1MeanHist, kH1RmsHist, kH2MeanHist, kH2RmsHist, kHEntriesHist}; class CbmRichGeoTestOpt : public TObject { public: /** * \brief Constructor. */ CbmRichGeoTestOpt(); /** * \brief Destructor. */ virtual ~CbmRichGeoTestOpt(); void SetFilePathes(vector > geoTestPathes, vector > urqmdTestPathes, vector > recoQaPathes); void Draw(); string GetFilePath(int simInd, CbmRichGeoTestOptFileEnum fileType, int iFile); int GetNofFiles(); pair H1MeanRms(int simInd, CbmRichGeoTestOptFileEnum fileType, int iFile, const string& histName); pair H2ProjYMeanRms(int simInd, CbmRichGeoTestOptFileEnum fileType, int iFile, const string& histName); double HEntries(int simInd, CbmRichGeoTestOptFileEnum fileEnum, int iFile, const string& histName); void DrawMeanRms(int simInd, CbmRichGeoTestOptFileEnum fileEnum, const string& histName, CbmRichGeoTestOptHistEnum histEnum, const string& titleY, double minY, double maxY, int nofParts, int nofFilesPart); void DrawMeanEff(int simInd, CbmRichGeoTestOptFileEnum fileEnum, const string& histName1, const string& histName2, const string& titleY, double minY, double maxY, int nofParts, int nofFilesPart); void DrawLines(bool drawCamRadius, bool drawCamTilt, bool drawCamY, double minY, double maxY); void DrawManyH1(const vector& hist, const vector& legend, double minY, double maxY); void DrawMeanRms2D(int simInd, CbmRichGeoTestOptFileEnum fileEnum, const string& histName, CbmRichGeoTestOptHistEnum histEnum, const string& titleZ, double minZ, double maxZ); void DrawMeanEff2D(int simInd, CbmRichGeoTestOptFileEnum fileEnum, const string& histName1, const string& histName2, const string& titleZ, double minZ, double maxZ); void SetOutputDir(const string& outDir){fOutputDir = outDir;} private: vector > fUrqmdTestPathes; vector > fGeoTestPathes; vector > fRecoQaPathes; CbmHistManager* fHM; string fOutputDir; ClassDef(CbmRichGeoTestOpt,1) }; #endif