LDMX Software
DarkBremInteraction.h
2#include "SimCore/Event/SimParticle.h"
3
4namespace dqm {
31 public:
32 DarkBremInteraction(const std::string& n, framework::Process& p)
33 : framework::Producer(n, p) {}
40 virtual void onProcessStart() override;
41
55 virtual void produce(framework::Event& e) override;
56
57 private:
61 void setHistLabels(const std::string& name,
62 const std::vector<std::string>& labels);
63
95 std::map<std::string, int> known_materials_ = {
96 {"Carbon", 1},
97 {"PCB", 2}, // in v12, the motherboards were simple
98 // rectangles with 'PCB' in the name
99 {"Glue", 3},
100 {"Si", 4},
101 {"Al", 5},
102 {"W", 6},
103 {"target", 6},
104 {"trigger_pad", 7},
105 {"strongback", 5}, // strongback
106 // is made of
107 // aluminum
108 {"motherboard", 2}, // motherboards are PCB
109 {"support", 5}, // support box is aluminum
110 {"CFMix", 3}, // in v12, we called the Glue layers CFMix
111 {"C_volume", 1} // in v12, we called the carbon cooling planes C but this
112 // is too general for substr matching
113 };
114
140 std::map<int, int> known_elements_ = {{1, 1}, {6, 2}, {8, 3}, {11, 4},
141 {14, 5}, {20, 6}, {29, 7}, {74, 8}};
142};
143
144} // namespace dqm
Base classes for all user event processing components to extend.
Go through the particle map and find the dark brem products, storing their vertex and the dark brem o...
void setHistLabels(const std::string &name, const std::vector< std::string > &labels)
Set the labels of the histogram of the input name with the input labels.
virtual void onProcessStart() override
update the labels of some categorial histograms
std::map< std::string, int > known_materials_
the list of known materials assigning them to material ID numbers
virtual void produce(framework::Event &e) override
extract the kinematics of the dark brem interaction from the SimParticles
std::map< int, int > known_elements_
The list of known elements assigning them to the bins that we are putting them into.
Implements an event buffer system for storing event data.
Definition Event.h:41
Class which represents the process under execution.
Definition Process.h:36
Base class for a module which produces a data product.