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// ROOT //
12//----------//
13#include "TH1F.h"
14#include "TH2F.h"
15
16//----------//
17// LDMX //
18//----------//
19#include "DetDescr/DetectorID.h"
21#include "DetDescr/EcalID.h"
22#include "Ecal/CLUE.h"
25#include "Ecal/Event/EcalHit.h"
28#include "Framework/Configure/Parameters.h"
31
32//----------//
33// STL //
34//----------//
35#include <memory>
36#include <tuple>
37
38namespace ecal {
39
45 public:
46 EcalClusterProducer(const std::string& name, framework::Process& process);
47 ~EcalClusterProducer() override = default;
48
54 void configure(framework::config::Parameters& parameters) override;
55
56 void produce(framework::Event& event) override;
57
58 private:
59 double seed_threshold_{0};
60 double cutoff_{0};
61
62 double dc_{0};
63 double rhoc_{0};
64 double deltac_{0};
65 double deltao_{0};
66 // cutoff for log-e weighting in RMS calculation
67 float min_hit_energy_{1.};
68
69 std::string rec_hit_coll_name_;
70 std::string rec_hit_pass_name_;
71 std::string algo_coll_name_;
72 std::string cluster_coll_name_;
73
74 bool clue_;
75 int nbr_of_layers_;
76 bool reclustering_;
77
79 TString algo_name_;
80};
81} // namespace ecal
82
83#endif
A version of CLUE (CMS) for clustering in ECal.
Class that holds details about the clustering algorithm as a whole.
Class that stores cluster information from the ECal.
Class that translates raw positions of ECal module hits into cells in a hexagonal readout.
Class that defines an ECal detector ID with a cell number.
Weight function for Ecal cluster merging decisions.
Base classes for all user event processing components to extend.
Type alias for Ecal cluster reconstruction.
Templated clustering algorithm for calorimeter hits.
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:42
Class which represents the process under execution.
Definition Process.h:37
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:29