12 #include <klm/bklm/geometry/GeometryPar.h>
13 #include <klm/dataobjects/bklm/BKLMHit1d.h>
14 #include <klm/dataobjects/bklm/BKLMHit2d.h>
15 #include <klm/dataobjects/eklm/EKLMAlignmentHit.h>
16 #include <klm/dataobjects/eklm/EKLMHit2d.h>
17 #include <klm/dataobjects/KLMDigit.h>
18 #include <klm/dbobjects/KLMTimeCableDelay.h>
19 #include <klm/dbobjects/KLMTimeConstants.h>
20 #include <klm/dbobjects/KLMTimeResolution.h>
21 #include <klm/dbobjects/KLMChannelStatus.h>
22 #include <klm/dbobjects/KLMTimeWindow.h>
23 #include <klm/eklm/geometry/GeometryData.h>
24 #include <klm/eklm/geometry/TransformData.h>
27 #include <framework/core/Module.h>
28 #include <framework/database/DBObjPtr.h>
29 #include <framework/dataobjects/EventT0.h>
30 #include <framework/datastore/StoreArray.h>
31 #include <framework/datastore/StoreObjPtr.h>
70 void event()
override;
Class for accessing objects in the database.
KLM digit (class representing a digitized hit in RPCs or scintillators).
Create BKLMHit1ds from BKLMDigits and then create BKLMHit2ds from BKLMHit1ds; create EKLMHit2ds from ...
OptionalDBObjPtr< KLMTimeResolution > m_TimeResolution
KLM time resolution.
void reconstructEKLMHits()
Reconstruct EKLMHit2d.
bool m_TimeCableDelayCorrection
Perform cable delay time correction (true) or not (false).
StoreArray< KLMDigit > m_Digits
KLM digits.
DBObjPtr< KLMChannelStatus > m_ChannelStatus
Channel status.
EKLM::TransformData * m_eklmTransformData
Transformation data.
void initialize() override
Initializer.
~KLMReconstructorModule()
Destructor.
void event() override
Called for each event.
const KLMElementNumbers * m_ElementNumbers
KLM element numbers.
bklm::GeometryPar * m_bklmGeoPar
BKLM GeometryPar singleton.
StoreArray< EKLMAlignmentHit > m_eklmAlignmentHits
Alignment Hits.
StoreArray< BKLMHit2d > m_bklmHit2ds
BKLM 2d hits.
double m_CoincidenceWindow
Half-width of the time coincidence window used to create a 2D hit from 1D digits/hits.
void endRun() override
Called if the current run ends.
const EKLMElementNumbers * m_eklmElementNumbers
EKLM element numbers.
double m_DelayBKLMScintillators
Delay (ns / cm) for BKLM scintillators.
void terminate() override
Called at the end of the event processing.
KLMReconstructorModule()
Constructor.
bool m_bklmIfAlign
Perform alignment correction (true) or not (false).
double m_EventT0Value
Value of the EventT0.
void reconstructBKLMHits()
Reconstruct BKLMHit1d and BKLMHit2d.
double m_PromptTime
Nominal time of prompt BKLMHit2ds.
double m_DelayRPCPhi
Delay (ns / cm) for RPC phi plane.
void beginRun() override
Called when entering a new run.
bool isNormal(const KLMDigit *digit) const
Check if channel is normal or dead.
OptionalDBObjPtr< KLMTimeCableDelay > m_TimeCableDelay
KLM time cable delay.
void correctCableDelay(double &td, const KLMDigit *digit)
Time correction by subtract cable delay.
double m_PromptWindow
Half-width of the time window relative to the prompt time for BKLMHit2ds.
int m_eklmNStrip
Number of strips.
StoreArray< BKLMHit1d > m_bklmHit1ds
BKLM 1d hits.
const EKLM::GeometryData * m_eklmGeoDat
Geometry data.
double m_DelayEKLMScintillators
Delay (ns / cm) for EKLM scintillators.
StoreObjPtr< EventT0 > m_EventT0
EventT0.
StoreArray< EKLMHit2d > m_eklmHit2ds
EKLM 2d hits.
bool m_EventT0Correction
Perform EventT0 correction (true) or not (false).
bool m_bklmIgnoreScintillators
Ignore scintillators (to debug their electronics mapping).
bool m_IgnoreHotChannels
Use only normal and dead (for debugging) channels during 2d hit reconstruction.
OptionalDBObjPtr< KLMTimeConstants > m_TimeConstants
KLM time constants.
double m_DelayRPCZ
Delay (ns / cm) for RPC Z plane.
DBObjPtr< KLMTimeWindow > m_TimeWindow
KLM time window.
bool m_eklmCheckSegmentIntersection
Check if segments intersect.
Optional DBObjPtr: This class behaves the same as the DBObjPtr except that it will not raise errors w...
Accessor to arrays stored in the data store.
Type-safe access to single objects in the data store.
Provides BKLM geometry parameters for simulation, reconstruction etc (from Gearbox or DataBase)
Abstract base class for different kinds of events.