 |
Belle II Software
release-05-02-19
|
15 #include <klm/bklm/geometry/GeometryPar.h>
16 #include <klm/dataobjects/bklm/BKLMHit1d.h>
17 #include <klm/dataobjects/bklm/BKLMHit2d.h>
18 #include <klm/dataobjects/eklm/EKLMAlignmentHit.h>
19 #include <klm/dataobjects/eklm/EKLMHit2d.h>
20 #include <klm/dataobjects/KLMDigit.h>
21 #include <klm/dbobjects/eklm/EKLMReconstructionParameters.h>
22 #include <klm/dbobjects/eklm/EKLMTimeCalibration.h>
23 #include <klm/dbobjects/KLMChannelStatus.h>
24 #include <klm/dbobjects/KLMTimeWindow.h>
25 #include <klm/eklm/geometry/GeometryData.h>
26 #include <klm/eklm/geometry/TransformData.h>
29 #include <framework/core/Module.h>
30 #include <framework/database/DBObjPtr.h>
31 #include <framework/datastore/StoreArray.h>
43 class KLMReconstructorModule :
public Module {
70 virtual void event()
override;
75 virtual void endRun()
override;
98 bool isNormal(
const KLMDigit* digit)
const;
107 double getTime(KLMDigit* d,
double dist);
StoreArray< KLMDigit > m_Digits
KLM digits.
void reconstructEKLMHits()
Reconstruct EKLMHit2d.
virtual void endRun() override
Called if the current run ends.
double m_CoincidenceWindow
Half-width of the time coincidence window used to create a 2D hit from 1D digits/hits.
DBObjPtr< KLMTimeWindow > m_TimeWindow
KLM time window.
DBObjPtr< KLMChannelStatus > m_ChannelStatus
Channel status.
const EKLMElementNumbers * m_eklmElementNumbers
Element numbers.
double m_PromptWindow
Half-width of the time window relative to the prompt time for BKLMHit2ds.
double getTime(KLMDigit *d, double dist)
Get 2d hit time corresponding to EKLM digit.
virtual void beginRun() override
Called when entering a new run.
DBObjPtr< EKLMTimeCalibration > m_eklmTimeCalibration
Time calibration data.
Provides BKLM geometry parameters for simulation, reconstruction etc (from Gearbox or DataBase)
bklm::GeometryPar * m_bklmGeoPar
BKLM GeometryPar singleton.
Class for accessing objects in the database.
bool m_bklmIfAlign
Perform alignment correction (true) or not (false).
virtual void event() override
Called for each event.
bool m_eklmCheckSegmentIntersection
Check if segments intersect.
StoreArray< BKLMHit2d > m_bklmHit2ds
BKLM 2d hits.
Abstract base class for different kinds of events.
StoreArray< EKLMAlignmentHit > m_eklmAlignmentHits
Alignment Hits.
bool m_IgnoreHotChannels
Use only Normal and Dead (for debugging) channels during 2d hit reconstruction.
DBObjPtr< EKLMReconstructionParameters > m_eklmRecPar
Reconstruction parameters.
bool isNormal(const KLMDigit *digit) const
Check if channel is normal or dead.
virtual void initialize() override
Initializer.
bool m_bklmIgnoreScintillators
Ignore scintillators (to debug their electronics mapping).
virtual void terminate() override
Called at the end of the event processing.
int m_eklmNStrip
Number of strips.
StoreArray< BKLMHit1d > m_bklmHit1ds
BKLM 1d hits.
EKLM time calibration data (for one strip).
EKLM::TransformData * m_eklmTransformData
Transformation data.
Accessor to arrays stored in the data store.
virtual ~KLMReconstructorModule()
Destructor.
const EKLMTimeCalibrationData ** m_eklmTimeCalibrationData
Time calibration data for individual strips.
void reconstructBKLMHits()
Reconstruct BKLMHit1d and BKLMHit2d.
StoreArray< EKLMHit2d > m_eklmHit2ds
EKLM 2d hits.
KLMReconstructorModule()
Constructor.
double m_PromptTime
Nominal time of prompt BKLMHit2ds.
const EKLM::GeometryData * m_eklmGeoDat
Geometry data.
EKLMTimeCalibrationData m_eklmDefaultTimeCalibrationData
Default time calibration data.