1 #ifndef DQMServices_ClientConfig_DQMGenericClient_H 2 #define DQMServices_ClientConfig_DQMGenericClient_H 20 #if ROOT_VERSION_CODE >= ROOT_VERSION(5,27,0) 21 #include <TEfficiency.h> 23 #include <TGraphAsymmErrors.h> 82 const bool makeProfile =
false);
103 bool ascending=
true);
127 std::set<std::string> *
myList,
130 #if ROOT_VERSION_CODE >= ROOT_VERSION(5,27,0) 133 class TGraphAsymmErrorsWrapper :
public TGraphAsymmErrors {
136 double eff, low, high;
137 Efficiency(numerator, denominator, 0.683, eff, low, high);
138 double error = (eff - low > high - eff) ? eff - low : high - eff;
139 return std::pair<double, double>(eff,
error);
std::vector< EfficOption > efficOptions_
void dqmEndJob(DQMStore::IBooker &, DQMStore::IGetter &) override
std::vector< ProfileOption > profileOptions_
void makeCumulativeDist(DQMStore::IBooker &ibooker, DQMStore::IGetter &igetter, const std::string &startDir, const std::string &cdName, bool ascending=true)
std::vector< ResolOption > resolOptions_
std::vector< std::string > subDirs_
void normalizeToEntries(DQMStore::IBooker &ibooker, DQMStore::IGetter &igetter, const std::string &startDir, const std::string &histName, const std::string &normHistName)
void computeResolution(DQMStore::IBooker &ibooker, DQMStore::IGetter &igetter, const std::string &startDir, const std::string &fitMEPrefix, const std::string &fitMETitlePrefix, const std::string &srcMEName)
std::string outputFileName_
void findAllSubdirectories(DQMStore::IBooker &ibooker, DQMStore::IGetter &igetter, std::string dir, std::set< std::string > *myList, const TString &pattern)
std::vector< CDOption > cdOptions_
void computeEfficiency(DQMStore::IBooker &ibooker, DQMStore::IGetter &igetter, const std::string &startDir, const std::string &efficMEName, const std::string &efficMETitle, const std::string &recoMEName, const std::string &simMEName, const EfficType type=EfficType::efficiency, const bool makeProfile=false)
DQMGenericClient(const edm::ParameterSet &pset)
void computeProfile(DQMStore::IBooker &ibooker, DQMStore::IGetter &igetter, const std::string &startDir, const std::string &profileMEName, const std::string &profileMETitle, const std::string &srcMEName)
void limitedFit(MonitorElement *srcME, MonitorElement *meanME, MonitorElement *sigmaME)
void generic_eff(TH1 *denom, TH1 *numer, MonitorElement *efficiencyHist, const EfficType type=EfficType::efficiency)
std::vector< NormOption > normOptions_