LDMX Software
TrkDeDxMassEstFeatures.cxx
1
2#include "DQM/TrkDeDxMassEstFeatures.h"
3
5
6namespace dqm {
7
9 mass_estimate_name_ = ps.getParameter<std::string>("mass_estimate_name");
10 mass_estimate_pass_ = ps.getParameter<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 histograms_.fill("track_type", mass_est.getTrackType());
30 }
31
32 return;
33}
34
36 std::vector<std::string> labels = {"Other", // 0
37 "Tagger", // 1
38 "Recoil", // 2
39 ""};
40 TH1 *hist = histograms_.get("track_type");
41 for (int ilabel{1}; ilabel < labels.size(); ++ilabel) {
42 hist->GetXaxis()->SetBinLabel(ilabel, labels[ilabel - 1].c_str());
43 }
44}
45
46} // namespace dqm
47
48DECLARE_ANALYZER_NS(dqm, TrkDeDxMassEstFeatures);
#define DECLARE_ANALYZER_NS(NS, 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.
void onProcessStart() override
Method executed before processing of events begins.
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.
HistogramHelper histograms_
Interface class for making and filling histograms.
Implements an event buffer system for storing event data.
Definition Event.h:42
TH1 * get(const std::string &name)
Get a pointer to a histogram by name.
Definition Histograms.h:194
void fill(const std::string &name, const double &val)
Fill a 1D histogram.
Definition Histograms.h:166
Class encapsulating parameters for configuring a processor.
Definition Parameters.h:29
Represents the estimated mass of a particle using tracker dE/dx information.