LDMX Software
HcalVetoProcessor.h
Go to the documentation of this file.
1
7#ifndef __HCAL_HCAL_VETO_PROCESSOR_H__
8#define __HCAL_HCAL_VETO_PROCESSOR_H__
9
10//----------------//
11// C++ StdLib //
12//----------------//
13#include <string>
14
15//----------//
16// LDMX //
17//----------//
18#include "Event/HcalHit.h"
20#include "Framework/Configure/Parameters.h"
22
23namespace hcal {
24
26 public:
28 HcalVetoProcessor(const std::string &name, framework::Process &process);
29
31 virtual ~HcalVetoProcessor() = default;
32
38 void configure(framework::config::Parameters &parameters) override;
39
46 void produce(framework::Event &event) override;
47
48 private:
51
53 float maxTime_{50}; // ns
54
57 float backMinPE_{1};
58
59 /*
60 * A hit representing the case where we never reach the maxPE condition. This
61 * is rare but can happen which previously would record uninitialized memory.
62 * Stored inside of the producer so that it will have a valid lifetime when we
63 * persist it.
64 *
65 * See https://github.com/LDMX-Software/Hcal/issues/58 for details
66 *
67 * Ideally, this would just be stored as a part of the HcalVetoResult, but
68 * changing that would be breaking change so for now we work around it like
69 * this.
70 *
71 * It contains nonsense values but since they are predictable, they are harder
72 * to mistake for real hits. See constructor for the actual values.
73 */
74 ldmx::HcalHit defaultMaxHit_;
75
76 std::string outputCollName_;
77 std::string inputHitCollName_;
78 std::string inputHitPassName_;
79}; // HcalVetoProcessor
80} // namespace hcal
81
82#endif // HCAL_HCALVETOPROCESSOR_H_
Base classes for all user event processing components to extend.
Class that stores Stores reconstructed hit information from the HCAL.
Class used to encapsulate the results obtained from HcalVetoProcessor.
Implements an event buffer system for storing event data.
Definition Event.h:41
Class which represents the process under execution.
Definition Process.h:36
Base class for a module which produces a data product.
Class encapsulating parameters for configuring a processor.
Definition Parameters.h:27
void configure(framework::config::Parameters &parameters) override
Configure the processor using the given user specified parameters.
virtual ~HcalVetoProcessor()=default
Destructor.
void produce(framework::Event &event) override
Run the processor and create a collection of results which indicate if the event passes/fails the Hca...
float maxTime_
Maximum hit time that should be considered by the veto.
float backMinPE_
The minimum number of PE in both bars needed for a hit to be considered in double ended readout mode.
double totalPEThreshold_
Total PE threshold.
Stores reconstructed hit information from the HCAL.
Definition HcalHit.h:23