LDMX Software
TrkDeDxMassEstFeatures.cxx
1
2#include "DQM/TrkDeDxMassEstFeatures.h"
3
5
6namespace dqm {
7
9 mass_estimate_name_ = ps.get<std::string>("mass_estimate_name");
10 mass_estimate_pass_ = ps.get<std::string>("mass_estimate_pass");
11
12 return;
13}
14
16 auto mass_estimates{event.getCollection<ldmx::TrackDeDxMassEstimate>(
18
19 for (const auto &mass_est : mass_estimates) {
20 auto momentum = mass_est.getMomentum();
21 histograms_.fill("momentum:harmonic_mean_dedx", momentum, mass_est.getIh());
22 if (momentum < 2000.)
23 histograms_.fill("momentum_low:harmonic_mean_dedx", momentum,
24 mass_est.getIh());
25 histograms_.fill("harmonic_mean_dedx", mass_est.getIh());
26 histograms_.fill("mass_estimate", mass_est.getMass());
27 if (momentum < 1000.) {
28 histograms_.fill("mass_estimate_low_p", mass_est.getMass());
29 }
30 if (momentum < 500.) {
31 histograms_.fill("mass_estimate_very_low_p", mass_est.getMass());
32 if ((mass_est.getPdgId() == 11) || (mass_est.getPdgId() == -11)) {
33 histograms_.fill("mass_estimate_very_low_p_electron",
34 mass_est.getMass());
35 }
36 if ((mass_est.getPdgId() == 211) || (mass_est.getPdgId() == -211)) {
37 histograms_.fill("mass_estimate_very_low_p_pion", mass_est.getMass());
38 }
39 if ((mass_est.getPdgId() == 321) || (mass_est.getPdgId() == -321)) {
40 histograms_.fill("mass_estimate_very_low_p_kaon", mass_est.getMass());
41 }
42 if ((mass_est.getPdgId() == 2212) || (mass_est.getPdgId() == -2212)) {
43 histograms_.fill("mass_estimate_very_low_p_proton", mass_est.getMass());
44 }
45 }
46 histograms_.fill("track_type", mass_est.getTrackType());
47 }
48
49 return;
50}
51
52} // namespace dqm
53
#define DECLARE_ANALYZER(CLASS)
Macro which allows the framework to construct an analyzer given its name during configuration.
Class that represents the estimated mass of a particle using tracker dE/dx information.
Generate histograms to check tracker dE/dx mass estimate features.
virtual void configure(framework::config::Parameters &ps) override
Input python configuration parameters.
std::string mass_estimate_name_
Collection Name for mass estimate object.
std::string mass_estimate_pass_
Pass Name for mass estimate object.
virtual void analyze(const framework::Event &event) override
Fills histograms.
HistogramPool histograms_
helper object for making and filling histograms
Implements an event buffer system for storing event data.
Definition Event.h:42
void fill(const std::string &name, const T &val)
Fill a 1D histogram.
Class encapsulating parameters for configuring a processor.
Definition Parameters.h:29
const T & get(const std::string &name) const
Retrieve the parameter of the given name.
Definition Parameters.h:78
Represents the estimated mass of a particle using tracker dE/dx information.