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 "Ecal/CLUE3D.h"
14#include "Framework/Configure/Parameters.h"
16
17namespace ecal {
18
24 public:
25 EcalClusterProducer(const std::string& name, framework::Process& process);
26 ~EcalClusterProducer() override = default;
27
33 void configure(framework::config::Parameters& parameters) override;
34
35 void produce(framework::Event& event) override;
36
37 private:
38 double seed_threshold_{0};
39 double cutoff_{0};
40
41 double dc_{0};
42 double rhoc_{0};
43 double deltac_{0};
44 double deltao_{0};
45 // cutoff for log-e weighting in RMS calculation
46 float min_hit_energy_{1.};
47
48 std::string rec_hit_coll_name_;
49 std::string rec_hit_pass_name_;
50 std::string algo_coll_name_;
51 std::string cluster_coll_name_;
52
53 bool clue_;
54 int nbr_of_layers_;
55 bool reclustering_;
56
57 // clue (default), clue3d
58 std::string algorithm_;
59 CLUE3D::Params clue3d_;
60
62 TString algo_name_;
63};
64} // namespace ecal
65
66#endif
2D CLUE per layer, CLUE3D linking and energy sharing for the ECal
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