File indexing completed on 2023-03-17 10:39:24
0001 #ifndef GFUTILSGFOVERLAY_H
0002 #define GFUTILSGFOVERLAY_H
0003
0004 #include "TString.h"
0005 #include "TObjArray.h"
0006 #include <vector>
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041
0042 class TFile;
0043 class TDirectory;
0044 class GFHistManager;
0045 class TH1;
0046
0047 class GFOverlay {
0048 public:
0049 GFOverlay(const char *fileLegendList, Option_t *option = "");
0050 ~GFOverlay();
0051 GFHistManager* GetHistManager() { return fHistMan;}
0052
0053 private:
0054 TObjArray FindAllBetween(const TString &text, const char *startStr, const char *endStr) const;
0055 TString FindNextBetween(const TString &input, Ssiz_t startInd,
0056 const char *startStr, const char *endStr) const;
0057 bool OpenFilesLegends(const char *fileLegendList);
0058 void Overlay(const TObjArray &dirs, const TObjArray &legends);
0059 bool KeyContainsListMember(const TString &key, const TObjArray &list) const;
0060 TObjArray GetTypeWithNameFromDirs(const TClass *aType, const char *name,
0061 const TObjArray &dirs) const;
0062 Int_t AddHistsAt(const TObjArray &hists, const TObjArray &legends, Int_t layer,Int_t pos);
0063 void CreateFillMeanRms(const TObjArray &hists, Int_t layer, const char *dirName,
0064 std::vector<TH1*> &meanHists, std::vector<TH1*> &rmsHists) const;
0065 GFHistManager *fHistMan;
0066 Int_t fLayer;
0067 TObjArray fFiles;
0068 TObjArray fLegends;
0069 Bool_t fNormalise;
0070 Bool_t fSummaries;
0071 TObjArray fDirNames;
0072 TObjArray fSkipDirNames;
0073 TObjArray fHistNames;
0074 TObjArray fSkipHistNames;
0075 };
0076
0077 #endif