28 maxtotal_energy_compare_ = parameters.
get<
double>(
"max_total_energy_compare");
29 mintotal_energy_compare_ = parameters.
get<
double>(
"min_total_energy_compare");
30 maxn_clusters_ = parameters.
get<
double>(
"n_clusters");
31 max_mean_hits_per_cluster_ = parameters.
get<
double>(
"mean_hits_per_cluster");
32 max_mean_energy_per_cluster_ =
33 parameters.
get<
double>(
"mean_energy_per_cluster");
34 output_coll_name_ = parameters.
get<std::string>(
"output_coll_name");
35 input_hcal_cluster_coll_name_ =
36 parameters.
get<std::string>(
"input_hcal_cluster_coll_name");
37 input_hcal_hit_coll_name_ =
38 parameters.
get<std::string>(
"input_hcal_hit_coll_name");
39 input_ecal_hit_coll_name_ =
40 parameters.
get<std::string>(
"input_ecal_hit_coll_name");
41 hcal_hit_passname_ = parameters.
get<std::string>(
"hcal_hit_passname");
42 ecal_hit_passname_ = parameters.
get<std::string>(
"ecal_hit_passname");
43 hcal_cluster_passname_ = parameters.
get<std::string>(
"hcal_cluster_passname");
49 const std::vector<ldmx::HcalHit> hcal_rec_hits =
53 const std::vector<ldmx::EcalHit> ecal_rec_hits =
58 const std::vector<ldmx::HcalCluster> hcal_clusters =
60 hcal_cluster_passname_);
64 float total_hcal_energy{0};
65 float total_ecal_energy{0};
69 if (hcal_hit.isNoise() == 0) {
70 total_hcal_energy += hcal_hit.getPE();
74 if (max_pe < hcal_hit.getPE()) {
75 max_pe = hcal_hit.getPE();
81 if (ecal_hit.isNoise() == 0) {
82 total_ecal_energy += ecal_hit.getEnergy();
85 std::vector<double> nhits;
86 std::vector<double> energies;
87 unsigned int n_clusters = 0;
90 energies.push_back(hcal_cluster.getEnergy());
91 nhits.push_back(hcal_cluster.getNHits());
95 std::accumulate(energies.begin(), energies.end(), 0.0) / energies.size();
97 std::accumulate(nhits.begin(), nhits.end(), 0.0) / nhits.size();
98 bool passes_energy_combo =
99 (((total_ecal_energy + total_hcal_energy) < maxtotal_energy_compare_));
100 bool passesn_clusters = (n_clusters < maxn_clusters_);
102 ((mean_nhits < max_mean_hits_per_cluster_) or isnan(mean_nhits));
104 ((mean_energy < max_mean_energy_per_cluster_) or isnan(mean_energy));
107 bool passes_veto = (passes_energy_combo and passesn_clusters and
108 passes_n_hits and passes_energy);
120 event.add(output_coll_name_, result);