LDMX Software
StripFitProcessor.h
1#pragma once
2
3#include <memory>
4#include <string>
5
6#include "Framework/Configure/Parameters.h"
7#include "Framework/Event.h"
9#include "Tracking/Digitization/PulseShape.h"
10#include "Tracking/Digitization/SiStripConstants.h"
11#include "Tracking/Digitization/StripPulseFitter.h"
12
13namespace tracking::reco {
14
44 public:
45 StripFitProcessor(const std::string& name, framework::Process& process);
46 virtual ~StripFitProcessor() = default;
47
48 void configure(framework::config::Parameters& parameters) override;
49
50 void onProcessStart() override;
51
52 void produce(framework::Event& event) override;
53
54 private:
55 // I/O
56 std::string in_collection_{"RawSiStripHits"};
57 std::string in_pass_{""};
58 std::string out_collection_{"FittedSiStripHits"};
59
60 // Scan range for hit-time search
61 double t_scan_min_ns_{-50.0};
62 double t_scan_max_ns_{150.0};
63 double t_scan_step_ns_{1.0};
64
65 // Quality cut (< 0 means disabled)
66 double max_chi2_ndf_{-1.0};
67
68 // Owned objects constructed in onProcessStart
69 std::unique_ptr<tracking::digitization::PulseShape> pulse_shape_;
70 std::unique_ptr<tracking::digitization::StripPulseFitter> fitter_;
71};
72
73} // namespace tracking::reco
Base classes for all user event processing components to extend.
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
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
Fits a pulse shape to each RawSiStripHit and produces FittedSiStripHits.
void produce(framework::Event &event) override
Process the event and put new data products into it.
void onProcessStart() override
Callback for the EventProcessor to take any necessary action when the processing of events starts,...
void configure(framework::config::Parameters &parameters) override
Callback for the EventProcessor to configure itself from the given set of parameters.