File indexing completed on 2023-03-17 11:09:55
0001 #ifndef HLTriggerOffline_Egamma_EmDQMPosProcessor_H
0002 #define HLTriggerOffline_Egamma_EmDQMPosProcessor_H
0003
0004 #include "DQMServices/Core/interface/DQMEDHarvester.h"
0005 #include "FWCore/Framework/interface/Frameworkfwd.h"
0006
0007 class EmDQMPostProcessor : public DQMEDHarvester {
0008 public:
0009 EmDQMPostProcessor(const edm::ParameterSet &pset);
0010 ~EmDQMPostProcessor() override{};
0011
0012 void dqmEndJob(DQMStore::IBooker &, DQMStore::IGetter &) override;
0013
0014 TProfile *dividehistos(DQMStore::IBooker &ibooker,
0015 DQMStore::IGetter &igetter,
0016 const std::string &num,
0017 const std::string &denom,
0018 const std::string &out,
0019 const std::string &label,
0020 const std::string &titel = "");
0021
0022 TH2F *dividehistos2D(DQMStore::IBooker &ibooker,
0023 DQMStore::IGetter &igetter,
0024 const std::string &num,
0025 const std::string &denom,
0026 const std::string &out,
0027 const std::string &label,
0028 const std::string &titel = "");
0029
0030 private:
0031
0032
0033
0034 static void Efficiency(int passing, int total, double level, double &mode, double &lowerBound, double &upperBound);
0035
0036
0037
0038
0039
0040 bool noPhiPlots;
0041 bool normalizeToReco;
0042 bool ignoreEmpty;
0043
0044
0045
0046
0047 TH1F *getHistogram(DQMStore::IBooker &ibooker, DQMStore::IGetter &igetter, const std::string &histoPath);
0048 TH2F *get2DHistogram(DQMStore::IBooker &ibooker, DQMStore::IGetter &igetter, const std::string &histoPath);
0049 std::string subDir_;
0050
0051
0052
0053
0054
0055
0056
0057
0058
0059
0060
0061 std::string dataSet_;
0062 };
0063
0064 #endif