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"
26#include "Ecal/IntermediateCluster.h"
27#include "Ecal/MyClusterWeight.h"
28#include "Ecal/TemplatedClusterFinder.h"
29#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.
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:42
Class which represents the process under execution.
Definition Process.h:36
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