33 LogDebug(
"JetMETHLTOfflineClient") <<
"dqmEndJob" << std::endl;
36 std::vector<MonitorElement*> hltMEs;
39 std::vector<std::string> fullPathHLTFolders = igetter.
getSubdirs();
40 for(
auto & fullPathHLTFolder : fullPathHLTFolders) {
44 if ((fullPathHLTFolder.find(
"Eff")!=std::string::npos)) {
52 std::vector<std::string> fullSubPathHLTFolders = igetter.
getSubdirs();
53 for(
auto & fullSubPathHLTFolder : fullSubPathHLTFolders) {
60 LogDebug(
"JetMETHLTOfflineClient")<<
"Number of MEs for this HLT path = " << hltMEs.size() << std::endl;
62 for(
unsigned int k=0;
k<hltMEs.size();
k++) {
66 if ((hltMEs[
k]->getName().
find(
"ME_Numerator")!=std::string::npos) && hltMEs[
k]->getName().
find(
"ME_Numerator")==0){
73 for(
unsigned int l=0;
l<hltMEs.size();
l++) {
74 if (hltMEs[
l]->getName() ==
"ME_Denominator"+
name){
76 if(name.find(
"EtaPhi") !=std::string::npos) {
77 TH2F* tNumerator = hltMEs[
k]->getTH2F();
78 TH2F* tDenominator = hltMEs[
l]->getTH2F();
82 auto *teff = (TH2F*) tNumerator->Clone(title.c_str());
83 teff->Divide(tNumerator,tDenominator,1,1);
84 ibooker.
book2D(
"ME_Eff_"+name,teff);
88 TH1F* tNumerator = hltMEs[
k]->
getTH1F();
89 TH1F* tDenominator = hltMEs[
l]->getTH1F();
93 auto *teff = (TH1F*) tNumerator->Clone(title.c_str());
94 teff->Divide(tNumerator,tDenominator,1,1);
95 ibooker.
book1D(
"ME_Eff_"+name,teff);
std::vector< MonitorElement * > getContents(Args &&...args)
T getParameter(std::string const &) const
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
MonitorElement * book1D(Args &&...args)
~JetMETHLTOfflineClient() override
void setCurrentFolder(const std::string &fullpath)
MonitorElement * book2D(Args &&...args)
TH1F * getTH1F(void) const
std::vector< std::string > getSubdirs(void)
void dqmEndJob(DQMStore::IBooker &, DQMStore::IGetter &) override
JetMETHLTOfflineClient(const edm::ParameterSet &)