LDMX Software
ReSimVerifier.h
1#ifndef RESIMVERIFIER_H
2#define RESIMVERIFIER_H
3
5#include "DetDescr/HcalID.h"
6#include "Framework/Configure/Parameters.h"
7#include "Framework/Event.h"
11
12namespace dqm {
13
15 public:
16 ReSimVerifier(const std::string &name, framework::Process &process)
17 : framework::Analyzer{name, process} {}
18 void configure(framework::config::Parameters &parameters) override;
19
20 void analyze(const framework::Event &event) override;
21
22 /*
23 * Check that the simhits between the two collections are identical.
24 *
25 * @return: False if any hit is different between the two
26 *
27 **/
28 bool verifySimCalorimeterHits(
29 const std::vector<ldmx::SimCalorimeterHit> &simHits,
30 const std::vector<ldmx::SimCalorimeterHit> &reSimHits);
31
32 /*
33 * Check that all SimParticles are present in both passes of the event
34 *
35 * @return: False if any SimParticle is different between the two
36 *
37 **/
38 bool verifySimParticles(const framework::Event &event);
39
40 private:
41 std::vector<std::string> collections;
42 std::string simPassName_{""};
43 std::string reSimPassName_{""};
44
45 /*
46 * If true, abort on the first mismatch. Otherwise, report and continue.
47 **/
48 bool stop_on_error{};
49};
50} // namespace dqm
51
52#endif /* RESIMVERIFIER_H */
Base classes for all user event processing components to extend.
Class implementing an event buffer system for storing event data.
Class that translates HCal ID into positions of strip hits.
Class that stores Stores reconstructed hit information from the HCAL.
Class that defines an HCal sensitive detector.
Class which stores simulated calorimeter hit information.
void analyze(const framework::Event &event) override
Process the event and make histograms or summaries.
void configure(framework::config::Parameters &parameters) override
Callback for the EventProcessor to configure itself from the given set of parameters.
Base class for a module which does not produce a data product.
Implements an event buffer system for storing event data.
Definition Event.h:41
Class which represents the process under execution.
Definition Process.h:36
Class encapsulating parameters for configuring a processor.
Definition Parameters.h:27