Skip to content

Commit b0ea152

Browse files
authored
Merge pull request #48577 from Dr15Jones/fixHarvesterDependencies
Add needed dependencies between some DQMEDHarvesters
2 parents fc5687d + 8818ba2 commit b0ea152

File tree

7 files changed

+26
-4
lines changed

7 files changed

+26
-4
lines changed
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import FWCore.ParameterSet.Config as cms
22
from DQMServices.Core.DQMEDHarvester import DQMEDHarvester
33

4-
dtCertificationSummary = DQMEDHarvester('DTCertificationSummary')
4+
dtCertificationSummary = DQMEDHarvester('DTCertificationSummary',
5+
inputMEs = cms.untracked.VInputTag(("dtChamberEfficiencyClient"), ("dtResolutionAnalysisTest"), ("segmentTest")))
56

67

DQM/DTMonitorClient/src/DTCertificationSummary.cc

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,17 @@
1818
using namespace std;
1919
using namespace edm;
2020

21-
DTCertificationSummary::DTCertificationSummary(const ParameterSet& pset) {}
21+
DTCertificationSummary::DTCertificationSummary(const ParameterSet& pset) : DQMEDHarvester(pset) {}
2222

2323
DTCertificationSummary::~DTCertificationSummary() {}
2424

25+
void DTCertificationSummary::fillDescriptions(edm::ConfigurationDescriptions& iConfig) {
26+
edm::ParameterSetDescription pset;
27+
DQMEDHarvester::fillDescription(pset);
28+
29+
iConfig.addDefault(pset);
30+
}
31+
2532
void DTCertificationSummary::dqmEndLuminosityBlock(DQMStore::IBooker& ibooker,
2633
DQMStore::IGetter& igetter,
2734
edm::LuminosityBlock const& lumiSeg,

DQM/DTMonitorClient/src/DTCertificationSummary.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
*/
99

1010
#include "FWCore/Framework/interface/Frameworkfwd.h"
11+
#include "FWCore/ParameterSet/interface/ConfigurationDescriptions.h"
1112
#include "DQMServices/Core/interface/DQMStore.h"
1213
#include "DQMServices/Core/interface/DQMEDHarvester.h"
1314

@@ -22,6 +23,7 @@ class DTCertificationSummary : public DQMEDHarvester {
2223
~DTCertificationSummary() override;
2324

2425
// Operations
26+
static void fillDescriptions(edm::ConfigurationDescriptions&);
2527

2628
protected:
2729
private:

DQM/EcalMonitorClient/plugins/EcalDQMonitorClient.cc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
#include <fstream>
2121

2222
EcalDQMonitorClient::EcalDQMonitorClient(edm::ParameterSet const& _ps)
23-
: DQMEDHarvester(),
23+
: DQMEDHarvester(_ps),
2424
ecaldqm::EcalDQMonitor(_ps),
2525
iEvt_(0),
2626
cStHndl(esConsumes<edm::Transition::BeginRun>()),
@@ -52,6 +52,7 @@ EcalDQMonitorClient::~EcalDQMonitorClient() {}
5252
/*static*/
5353
void EcalDQMonitorClient::fillDescriptions(edm::ConfigurationDescriptions& _descs) {
5454
edm::ParameterSetDescription desc;
55+
DQMEDHarvester::fillDescription(desc);
5556
ecaldqm::EcalDQMonitor::fillDescriptions(desc);
5657

5758
edm::ParameterSetDescription clientParameters;

DQM/EcalMonitorClient/python/EcalCertification_cfi.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,5 +16,6 @@
1616
CertificationClient = ecalCertificationClient.clone()
1717
),
1818
commonParameters = ecalCommonParams.clone(willConvertToEDM = False),
19+
inputMEs = cms.untracked.VInputTag(("ecalDaqInfoTask"), ("ecalMonitorClient"), ("ecalDcsInfoTask"), ("ecalSummaryClient")),
1920
verbosity = cms.untracked.int32(0)
2021
)

DQMServices/Core/interface/DQMEDHarvester.h

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
#include "FWCore/Framework/interface/GetterOfProducts.h"
1414
#include "FWCore/ServiceRegistry/interface/Service.h"
1515
#include "FWCore/ParameterSet/interface/ParameterSet.h"
16+
#include "FWCore/ParameterSet/interface/ParameterSetDescription.h"
1617
#include "FWCore/Utilities/interface/EDPutToken.h"
1718

1819
#include "DataFormats/Histograms/interface/DQMToken.h"
@@ -63,6 +64,15 @@ class DQMEDHarvester
6364
edm::EDPutTokenT<DQMToken> runToken_;
6465
edm::EDPutTokenT<DQMToken> jobToken_;
6566

67+
static void fillDescription(edm::ParameterSetDescription &iDesc) {
68+
iDesc.addUntracked<std::string>("inputGeneration", "DQMGenerationReco");
69+
iDesc.addUntracked<std::string>("outputGeneration", "DQMGenerationHarvesting");
70+
iDesc.addUntracked<std::vector<edm::InputTag>>("inputMEs", std::vector<edm::InputTag>())
71+
->setComment(
72+
"DQM tokens to read from other modules. Used to form dependencies between MonitorElements created by other "
73+
"modules.");
74+
}
75+
6676
public:
6777
DQMEDHarvester(edm::ParameterSet const &iConfig) {
6878
usesResource("DQMStore");

DQMServices/Core/src/DQMStore.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ namespace dqm::implementation {
8989
// However, it is easier to do that in putME().
9090

9191
MonitorElement* me = store_->findME(path);
92-
store_->printTrace("Booking " + std::string(name) + (me ? " (existing)" : " (new)"));
92+
store_->printTrace("Booking " + fullpath + (me ? " (existing)" : " (new)"));
9393

9494
if (me == nullptr) {
9595
// no existing global ME found. We need to instantiate one, and put it

0 commit comments

Comments
 (0)