Belle II Software  release-05-01-25
AlignableBKLMRecoHit.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2010 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Yinghui Guan, Tadeas Bilka *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 
13 #include <klm/dataobjects/bklm/BKLMHit2d.h>
14 #include <klm/bklm/geometry/Module.h>
15 
16 #include <genfit/PlanarMeasurement.h>
17 #include <genfit/HMatrixUV.h>
18 #include <genfit/TrackCandHit.h>
19 #include <genfit/ICalibrationParametersDerivatives.h>
20 
21 #include <TMatrixD.h>
22 
23 namespace Belle2 {
32  class AlignableBKLMRecoHit: public genfit::PlanarMeasurement,
34 
35  public:
36 
41  {
42  }
43 
47  explicit AlignableBKLMRecoHit(const BKLMHit2d* hit,
48  const genfit::TrackCandHit* trackCandHit);
49 
53  virtual ~AlignableBKLMRecoHit()
54  {
55  }
56 
60  genfit::AbsMeasurement* clone() const override;
61 
65  virtual std::vector<genfit::MeasurementOnPlane*>
67  const genfit::StateOnPlane& state) const override;
68 
72  virtual const genfit::AbsHMatrix* constructHMatrix(
73  const genfit::AbsTrackRep*) const override
74  {
75  return new genfit::HMatrixUV();
76  };
77 
108  virtual std::pair<std::vector<int>, TMatrixD> globalDerivatives(const genfit::StateOnPlane* sop) override;
109 
110  private:
111 
112  enum { HIT_DIMENSIONS = 2 };
113 
115  uint16_t m_KLMModule;
116 
118  int m_Layer;
119 
121  const bklm::Module* m_Module;
122 
124  CLHEP::Hep3Vector global;
125 
127  const double halfheight_sci = 0.5;
128 
131 
132  };
133 
135 }
Belle2::AlignableBKLMRecoHit::ClassDefOverride
ClassDefOverride(AlignableBKLMRecoHit, 1)
Class version.
Belle2::AlignableBKLMRecoHit::global
CLHEP::Hep3Vector global
not streamed
Definition: AlignableBKLMRecoHit.h:132
Belle2::AlignableBKLMRecoHit::constructHMatrix
virtual const genfit::AbsHMatrix * constructHMatrix(const genfit::AbsTrackRep *) const override
Get the genfit projection H matrix (to U,V).
Definition: AlignableBKLMRecoHit.h:80
genfit::StateOnPlane
A state with arbitrary dimension defined in a DetPlane.
Definition: StateOnPlane.h:47
genfit::HMatrixUV
AbsHMatrix implementation for two-dimensional MeasurementOnPlane and RKTrackRep parameterization.
Definition: HMatrixUV.h:39
genfit::TrackCandHit
Hit object for use in TrackCand.
Definition: TrackCandHit.h:34
genfit::AbsTrackRep
Abstract base class for a track representation.
Definition: AbsTrackRep.h:66
Belle2::AlignableBKLMRecoHit::m_Layer
int m_Layer
Hit layer.
Definition: AlignableBKLMRecoHit.h:126
Belle2::AlignableBKLMRecoHit::HIT_DIMENSIONS
@ HIT_DIMENSIONS
sensitive Dimensions of the Hit
Definition: AlignableBKLMRecoHit.h:120
genfit::PlanarMeasurement
Measurement class implementing a planar hit geometry (1 or 2D).
Definition: PlanarMeasurement.h:44
Belle2::AlignableBKLMRecoHit::~AlignableBKLMRecoHit
virtual ~AlignableBKLMRecoHit()
Destructor.
Definition: AlignableBKLMRecoHit.h:61
genfit::AbsMeasurement
Contains the measurement and covariance in raw detector coordinates.
Definition: AbsMeasurement.h:42
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::AlignableBKLMRecoHit::m_KLMModule
uint16_t m_KLMModule
KLM module number.
Definition: AlignableBKLMRecoHit.h:123
genfit::ICalibrationParametersDerivatives
Abstract base class to establish an interface between physical representation of the detector for ali...
Definition: ICalibrationParametersDerivatives.h:44
Belle2::AlignableBKLMRecoHit::clone
genfit::AbsMeasurement * clone() const override
Creating a deep copy of this hit.
Definition: AlignableBKLMRecoHit.cc:96
Belle2::AlignableBKLMRecoHit::AlignableBKLMRecoHit
AlignableBKLMRecoHit()
Constructor.
Definition: AlignableBKLMRecoHit.h:48
genfit::AbsHMatrix
HMatrix for projecting from AbsTrackRep parameters to measured parameters in a DetPlane.
Definition: AbsHMatrix.h:37
Belle2::AlignableBKLMRecoHit::halfheight_sci
const double halfheight_sci
not streamed
Definition: AlignableBKLMRecoHit.h:135
Belle2::AlignableBKLMRecoHit::m_Module
const bklm::Module * m_Module
Module used to get geometry information.
Definition: AlignableBKLMRecoHit.h:129
Belle2::AlignableBKLMRecoHit::globalDerivatives
virtual std::pair< std::vector< int >, TMatrixD > globalDerivatives(const genfit::StateOnPlane *sop) override
Labels and derivatives of residuals (local measurement coordinates) w.r.t.
Definition: AlignableBKLMRecoHit.cc:126
Belle2::BKLMHit2d
Store one BKLM strip hit as a ROOT object.
Definition: BKLMHit2d.h:42
Belle2::AlignableBKLMRecoHit::constructMeasurementsOnPlane
virtual std::vector< genfit::MeasurementOnPlane * > constructMeasurementsOnPlane(const genfit::StateOnPlane &state) const override
Measurement construction.
Definition: AlignableBKLMRecoHit.cc:101