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/SiStripConstants.h"
10#include "Tracking/Digitization/StripClusterer.h"
11#include "Tracking/Reco/TrackerDaqMap.h"
12#include "Tracking/Reco/TrackingGeometryUser.h"
13
14namespace tracking::reco {
15
50 public:
51 StripClusterProcessor(const std::string& name, framework::Process& process);
52 virtual ~StripClusterProcessor() = default;
53
54 void configure(framework::config::Parameters& parameters) override;
55 void onProcessStart() override;
56 void produce(framework::Event& event) override;
57
58 private:
59 // I/O
60 std::string in_collection_{"FittedSiStripHits"};
61 std::string in_pass_{""};
62 std::string out_collection_{"StripMeasurements"};
63
64 // Optional DAQ map: when set, the local-U centre offset for a layer uses that
65 // sensor's real strip count instead of the fixed N_READOUT_STRIPS constant.
66 // Empty (the default, MC) keeps the constant and leaves the MC path
67 // unchanged.
68 std::string daq_map_file_{""};
69 std::map<int, int> layer_n_strips_;
70
71 // Clustering parameters (forwarded to StripClusterer)
72 double seed_threshold_{4.0};
73 double neighbor_threshold_{3.0};
74 double cluster_threshold_{4.0};
75 double mean_time_ns_{0.0};
76 double time_window_ns_{-1.0};
77 double neighbor_delta_t_ns_{-1.0};
78 double max_chi2_ndf_{-1.0};
79
80 std::unique_ptr<tracking::digitization::StripClusterer> clusterer_;
81};
82
83} // 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:42
Class which represents the process under execution.
Definition Process.h:37
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
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...