Belle II Software development
AlignableEKLMRecoHit.h
1/**************************************************************************
2 * basf2 (Belle II Analysis Software Framework) *
3 * Author: The Belle II Collaboration *
4 * *
5 * See git log for contributors and copyright holders. *
6 * This file is licensed under LGPL-3.0, see LICENSE.md. *
7 **************************************************************************/
8
9#pragma once
10
11#include <framework/geometry/B2Vector3.h>
12#include <klm/dataobjects/eklm/EKLMAlignmentHit.h>
13
14#include <genfit/ICalibrationParametersDerivatives.h>
15#include <genfit/PlanarMeasurement.h>
16#include <genfit/TrackCandHit.h>
17
18#include <TMatrixD.h>
19
20namespace Belle2 {
29 class AlignableEKLMRecoHit: public genfit::PlanarMeasurement,
30 public genfit::ICalibrationParametersDerivatives {
31
32 public:
33
38
43 const genfit::TrackCandHit* trackCandHit);
44
49
81 virtual std::pair<std::vector<int>, TMatrixD> globalDerivatives(const genfit::StateOnPlane* sop) override;
82
86 genfit::AbsMeasurement* clone() const override;
87
88 private:
89
92
95
98
100 uint16_t m_KLMModule;
101
103 uint16_t m_Segment;
104
107
110
111 };
112
114}
115
uint16_t m_Segment
Segment number.
ClassDefOverride(AlignableEKLMRecoHit, 2)
Needed to make objects storable.
virtual std::pair< std::vector< int >, TMatrixD > globalDerivatives(const genfit::StateOnPlane *sop) override
Labels and derivatives of residuals (local measurement coordinates) w.r.t.
genfit::AbsMeasurement * clone() const override
Clone.
B2Vector3D m_StripV
V direction.
uint16_t m_KLMModule
KLM module number.
This dataobject is used only for EKLM alignment.
Abstract base class for different kinds of events.