LDMX Software
StripClusterProcessor.h
1#pragma once
2
3#include <map>
4#include <memory>
5#include <string>
6
7#include "Framework/Configure/Parameters.h"
8#include "Framework/Event.h"
9#include "Tracking/Digitization/StripClusterer.h"
10#include "Tracking/Reco/TrackingGeometryUser.h"
11
12namespace tracking::reco {
13
48 public:
49 StripClusterProcessor(const std::string& name, framework::Process& process);
50 virtual ~StripClusterProcessor() = default;
51
52 void configure(framework::config::Parameters& parameters) override;
53 void onProcessStart() override;
54 void produce(framework::Event& event) override;
55
56 private:
57 // I/O
58 std::string in_collection_{"FittedSiStripHits"};
59 std::string in_pass_{""};
60 std::string out_collection_{"StripMeasurements"};
61
62 // Optional DAQ map: when set, the local-U centre offset for a layer uses that
63 // sensor's real strip count instead of the fixed N_READOUT_STRIPS constant.
64 // Empty (the default, MC) keeps the constant and leaves the MC path
65 // unchanged.
66 std::string daq_map_file_{""};
67 std::map<int, int> layer_n_strips_;
68
69 // Clustering parameters (forwarded to StripClusterer)
70 double seed_threshold_{4.0};
71 double neighbor_threshold_{3.0};
72 double cluster_threshold_{4.0};
73 double mean_time_ns_{0.0};
74 double time_window_ns_{-1.0};
75 double neighbor_delta_t_ns_{-1.0};
76 double max_chi2_ndf_{-1.0};
77
78 std::unique_ptr<tracking::digitization::StripClusterer> clusterer_;
79};
80
81} // namespace tracking::reco
Class implementing an event buffer system for storing event data.
Implements an event buffer system for storing event data.
Definition Event.h:40
Class which represents the process under execution.
Definition Process.h:34
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
Clusters fitted silicon-strip hits and produces Measurement objects.
void onProcessStart() override
Callback for the EventProcessor to take any necessary action when the processing of events starts,...
void produce(framework::Event &event) override
Process the event and put new data products into it.
void configure(framework::config::Parameters &parameters) override
Callback for the EventProcessor to configure itself from the given set of parameters.
std::map< int, int > layer_n_strips_
layer_id -> n_strips (from DAQ map)
a helper base class providing some methods to shorten access to common conditions used within the tra...