LDMX Software
EcalClusterProducer.h
Go to the documentation of this file.
1
7#ifndef ECAL_ECALCLUSTERPRODUCER_H_
8#define ECAL_ECALCLUSTERPRODUCER_H_
9
10//----------//
11// LDMX //
12//----------//
13#include "Framework/Configure/Parameters.h"
15
16namespace ecal {
17
23 public:
24 EcalClusterProducer(const std::string& name, framework::Process& process);
25 ~EcalClusterProducer() override = default;
26
32 void configure(framework::config::Parameters& parameters) override;
33
34 void produce(framework::Event& event) override;
35
36 private:
37 double seed_threshold_{0};
38 double cutoff_{0};
39
40 double dc_{0};
41 double rhoc_{0};
42 double deltac_{0};
43 double deltao_{0};
44 // cutoff for log-e weighting in RMS calculation
45 float min_hit_energy_{1.};
46
47 std::string rec_hit_coll_name_;
48 std::string rec_hit_pass_name_;
49 std::string algo_coll_name_;
50 std::string cluster_coll_name_;
51
52 bool clue_;
53 int nbr_of_layers_;
54 bool reclustering_;
55
57 TString algo_name_;
58};
59} // namespace ecal
60
61#endif
Base classes for all user event processing components to extend.
Simple algorithm that does clustering in the ECal.
void configure(framework::config::Parameters &parameters) override
Configure the processor using the given user specified parameters.
TString algo_name_
The name of the cluster algorithm used.
void produce(framework::Event &event) override
Process the event and put new data products into it.
Implements an event buffer system for storing event data.
Definition Event.h:40
Class which represents the process under execution.
Definition Process.h:34
Base class for a module which produces a data product.
virtual void process(Event &event) final
Processing an event for a Producer is calling produce.
Class encapsulating parameters for configuring a processor.
Definition Parameters.h:26