1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
// This test module will look for history information in event data.
#include <iostream>
#include <vector>
#include "FWCore/Framework/interface/one/EDAnalyzer.h"
#include "FWCore/Framework/interface/Event.h"
#include "FWCore/Framework/interface/MakerMacros.h"
#include "FWCore/ParameterSet/interface/ParameterSet.h"
namespace edmtest {
class TestHistoryKeeping : public edm::one::EDAnalyzer<edm::one::WatchRuns> {
public:
explicit TestHistoryKeeping(edm::ParameterSet const& pset);
void analyze(edm::Event const& e, edm::EventSetup const&) final;
void beginRun(edm::Run const& r, edm::EventSetup const&) final;
void endRun(edm::Run const& r, edm::EventSetup const&) final;
private:
std::vector<std::string> expectedProcesses_;
int numberOfExpectedHLTProcessesInEachRun_;
}; // class TestHistoryKeeping
//--------------------------------------------------------------------
//
// Implementation details
//--------------------------------------------------------------------
TestHistoryKeeping::TestHistoryKeeping(edm::ParameterSet const& pset)
: expectedProcesses_(pset.getParameter<std::vector<std::string> >("expected_processes")),
numberOfExpectedHLTProcessesInEachRun_(
pset.getParameter<int>("number_of_expected_HLT_processes_for_each_run")) {
// Nothing to do.
}
void TestHistoryKeeping::beginRun(edm::Run const&, edm::EventSetup const&) {
// At begin run, we're looking at, make sure we can get at the
// parameter sets for any HLT processing.
}
void TestHistoryKeeping::analyze(edm::Event const& ev, edm::EventSetup const&) {
for (std::vector<std::string>::const_iterator i = expectedProcesses_.begin(), e = expectedProcesses_.end(); i != e;
++i) {
edm::ParameterSet ps;
assert(ev.getProcessParameterSet(*i, ps));
assert(!ps.empty());
assert(ps.getParameter<std::string>("@process_name") == *i);
}
}
void TestHistoryKeeping::endRun(edm::Run const&, edm::EventSetup const&) {
// Nothing to do.
}
} // namespace edmtest
using edmtest::TestHistoryKeeping;
DEFINE_FWK_MODULE(TestHistoryKeeping);
|