Belle II Software
release-08-01-10
|
This class is used to transfer CDC information to the track fit and Millepede. More...
#include <AlignableCDCRecoHit.h>
Public Member Functions | |
~AlignableCDCRecoHit () | |
Destructor. | |
AlignableCDCRecoHit * | clone () const override |
Creating a copy of this hit. | |
virtual std::pair< std::vector< int >, TMatrixD > | globalDerivatives (const genfit::StateOnPlane *sop) override |
Labels and derivatives of residuals (local measurement coordinates) w.r.t. More... | |
virtual TMatrixD | localDerivatives (const genfit::StateOnPlane *sop) override |
Derivatives for (local) fit parameters. More... | |
CDCRecoHit () | |
Inherit constructors. | |
CDCRecoHit (const CDCHit *cdcHit, const genfit::TrackCandHit *trackCandHit) | |
Inherit constructors. | |
WireID | getWireID () const |
Getter for WireID object. | |
genfit::SharedPlanePtr | constructPlane (const genfit::StateOnPlane &state) const override |
Methods that actually interface to Genfit. | |
std::vector< genfit::MeasurementOnPlane * > | constructMeasurementsOnPlane (const genfit::StateOnPlane &state) const override |
build MeasurementsOnPlane | |
virtual const genfit::HMatrixU * | constructHMatrix (const genfit::AbsTrackRep *) const override |
construct error matrix | |
std::vector< double > | timeDerivativesMeasurementsOnPlane (const genfit::StateOnPlane &state) const |
Get the time derivative of the MesuredStateOnPlane (derived from the track fit). More... | |
bool | getFlyByDistanceVector (B2Vector3D &pointingVector, B2Vector3D &trackDir, const genfit::AbsTrackRep *rep=nullptr, bool usePlaneFromFit=false) |
Get the vector pointing from the wire to the fitted trajectory as well as the direction of the track in the fitted point. More... | |
void | setLeftRightResolution (int lr) |
select how to resolve the left/right ambiguity: -1: negative (left) side on vector (wire direction) x (track direction) 0: mirrors enter with same weight, DAF will decide. More... | |
bool | isLeftRightMeasurement () const override |
CDC RecoHits always have left-right ambiguity. | |
int | getLeftRightResolution () const override |
Getter for left/right passage flag. | |
const CDCHit * | getCDCHit () const |
get the pointer to the CDCHit object that was used to create this CDCRecoHit object. More... | |
TrackPoint * | getTrackPoint () const |
void | setTrackPoint (TrackPoint *tp) |
const TVectorD & | getRawHitCoords () const |
TVectorD & | getRawHitCoords () |
const TMatrixDSym & | getRawHitCov () const |
TMatrixDSym & | getRawHitCov () |
int | getDetId () const |
int | getHitId () const |
unsigned int | getDim () const |
void | setRawHitCoords (const TVectorD &coords) |
void | setRawHitCov (const TMatrixDSym &cov) |
void | setDetId (int detId) |
void | setHitId (int hitId) |
virtual void | Print (const Option_t *="") const |
virtual std::vector< int > | labels () |
Vector of integer labels for calibration/alignment parameters available (must match #columns of derivatives(...)) More... | |
virtual TMatrixD | derivatives (const genfit::StateOnPlane *) |
Derivatives of residuals (local measurement coordinates) w.r.t. More... | |
virtual std::vector< int > | localLabels () |
Vector of integer labels for local calibration parameters available (must match #columns of localDerivatives(...)) More... | |
Static Public Member Functions | |
static void | setTranslators (CDC::ADCCountTranslatorBase *const adcCountTranslator, CDC::CDCGeometryTranslatorBase *const cdcGeometryTranslator, CDC::TDCCountTranslatorBase *const tdcCountTranslator, bool useTrackTime=false, bool cosmics=false) |
Setter for the Translators. | |
Static Public Attributes | |
static bool | s_enableTrackT0LocalDerivative = true |
Static enabling(true) or disabling(false) addition of local derivative for track T0. | |
static bool | s_enableWireSaggingGlobalDerivative = false |
Static enabling(true) or disabling(false) addition of global derivative for wire sagging coefficient (per wire) | |
static bool | s_enableWireByWireAlignmentGlobalDerivatives = false |
Static enabling(true) or disabling(false) addition of global derivatives for wire-by-wire alignment. | |
Protected Member Functions | |
ClassDefOverride (CDCRecoHit, 10) | |
ROOT Macro. | |
Protected Attributes | |
unsigned short | m_tdcCount |
TDC Count as out of CDCHit. | |
unsigned short | m_adcCount |
ADC Count as out of CDCHit. | |
WireID | m_wireID |
Wire Identifier. | |
const CDCHit * | m_cdcHit |
Pointer to the CDCHit used to created this CDCRecoHit. | |
signed char | m_leftRight |
Flag showing left/right passage. | |
TVectorD | rawHitCoords_ |
TMatrixDSym | rawHitCov_ |
int | detId_ |
int | hitId_ |
TrackPoint * | trackPoint_ |
Pointer to TrackPoint where the measurement belongs to. | |
Static Protected Attributes | |
static std::unique_ptr< CDC::ADCCountTranslatorBase > | s_adcCountTranslator = 0 |
Object for ADC Count translation. | |
static std::unique_ptr< CDC::CDCGeometryTranslatorBase > | s_cdcGeometryTranslator = 0 |
Object for geometry translation. | |
static std::unique_ptr< CDC::TDCCountTranslatorBase > | s_tdcCountTranslator = 0 |
Object for getting drift-length and -resolution. | |
static bool | s_useTrackTime = false |
Whether to use the track time or not when building the measurementOnPlane. More... | |
static bool | s_cosmics = false |
Switch to use cosmic events, or physics events from IP. More... | |
Private Member Functions | |
ClassDefOverride (AlignableCDCRecoHit, 1) | |
ROOT Macro. | |
This class is used to transfer CDC information to the track fit and Millepede.
Definition at line 21 of file AlignableCDCRecoHit.h.
|
inlinevirtualinherited |
Derivatives of residuals (local measurement coordinates) w.r.t.
alignment/calibration parameters Matrix "G" of derivatives valid for given prediction of track state:
G(i, j) = d_residual_i/d_parameter_j
For 2D measurement (u,v):
G = ( du/da du/db du/dc ... ) ( dv/da dv/db dv/dc ... )
for calibration parameters a, b, c.
For 1D measurement both forms are allowed:
G = ( 0 0 0 ... ) ( dv/da dv/db dv/dc ... ) for V-strip,
G = ( du/da du/db du/dc ... ) ( 0 0 0 ... ) for U-strip,
or :
G = ( d_sensitive/da d_sensitive/db d_sensitive/dc ... ) as matrix with one row.
A possible algorithm using these derivatives should be able to resolve this based on the measurement HMatrix. Measurements with more dimesions (slopes, curvature) should provide full 4-5Dx(n params) matrix (state as (q/p, u', v', u, v) or (u', v', u, v))
sop | Predicted state of the track as linearization point around which derivatives of alignment/calibration parameters shall be computed |
Definition at line 129 of file ICalibrationParametersDerivatives.h.
|
inlineinherited |
get the pointer to the CDCHit object that was used to create this CDCRecoHit object.
Can be NULL if CDCRecoHit was not created with the CDCRecoHit(const CDCHit* cdcHit) constructor
Definition at line 112 of file CDCRecoHit.h.
|
inherited |
Get the vector pointing from the wire to the fitted trajectory as well as the direction of the track in the fitted point.
Uses the cardinal TrackRep if rep == NULL. Returns false if the track is not fitted in this point for the requested TrackRep. If the hit does not belong to a track, an error is issued and false returned. If usePlaneFromFit is used, constructPlane is not called to evaluate the closest point on the wire to the track. Instead the origin of the plane of the fitted state is used (which will be the same point if the wire is not bent).
Definition at line 368 of file CDCRecoHit.cc.
|
overridevirtual |
Labels and derivatives of residuals (local measurement coordinates) w.r.t.
alignment/calibration parameters Matrix "G" of derivatives valid for given prediction of track state:
G(i, j) = d_residual_i/d_parameter_j
For 2D measurement (u,v):
G = ( du/da du/db du/dc ... ) ( dv/da dv/db dv/dc ... )
for calibration parameters a, b, c.
For 1D measurement:
G = ( 0 0 0 ... ) ( dv/da dv/db dv/dc ... ) for V-strip,
G = ( du/da du/db du/dc ... ) ( 0 0 0 ... ) for U-strip,
Measurements with more dimesions (slopes, curvature) should provide full 4-5Dx(n params) matrix (state as (q/p, u', v', u, v) or (u', v', u, v))
sop | Predicted state of the track as linearization point around which derivatives of alignment/calibration parameters shall be computed |
Reimplemented from ICalibrationParametersDerivatives.
Definition at line 28 of file AlignableCDCRecoHit.cc.
|
inlinevirtualinherited |
Vector of integer labels for calibration/alignment parameters available (must match #columns of derivatives(...))
unique across all sub-detectors in calibration
Definition at line 90 of file ICalibrationParametersDerivatives.h.
|
overridevirtual |
Derivatives for (local) fit parameters.
sop | State on virtual plane to calculate derivatives |
Reimplemented from ICalibrationParametersDerivatives.
Definition at line 248 of file AlignableCDCRecoHit.cc.
|
inlinevirtualinherited |
Vector of integer labels for local calibration parameters available (must match #columns of localDerivatives(...))
This will be usually ignored (e.g. does not have to match localDerivatives), but it is a good practice to return vector of zeros of correct size
Definition at line 151 of file ICalibrationParametersDerivatives.h.
|
inlineinherited |
select how to resolve the left/right ambiguity: -1: negative (left) side on vector (wire direction) x (track direction) 0: mirrors enter with same weight, DAF will decide.
1: positive (right) side on vector (wire direction) x (track direction) where the wire direction is pointing towards +z except for small corrections such as stereo angle, sagging
Definition at line 100 of file CDCRecoHit.h.
|
inherited |
Get the time derivative of the MesuredStateOnPlane (derived from the track fit).
Definition at line 261 of file CDCRecoHit.cc.
|
staticprotectedinherited |
Switch to use cosmic events, or physics events from IP.
Default value is 0, which means "physics event" mode.
Definition at line 136 of file CDCRecoHit.h.
|
staticprotectedinherited |
Whether to use the track time or not when building the measurementOnPlane.
This needs to be in sync with the TDCCountTranslator.
Definition at line 131 of file CDCRecoHit.h.