 |
Belle II Software
release-05-01-25
|
10 #include <tracking/trackFindingCDC/filters/facet/BasicFacetVarSet.h>
12 #include <tracking/trackFindingCDC/eventdata/hits/CDCFacet.h>
15 using namespace TrackFindingCDC;
19 if (not ptrFacet)
return false;
27 const double startDriftLengthSigma = sqrt(startDriftLengthVar);
32 const double middleDriftLengthSigma = sqrt(middleDriftLengthVar);
37 const double endDriftLengthSigma = sqrt(endDriftLengthVar);
45 const short stableTwist = -sign(shape.
getOClockDelta()) * middleRLInfo;
46 const bool startToMiddleIsCrossing = startRLInfo != middleRLInfo;
47 const bool middleToEndIsCrossing = middleRLInfo != endRLInfo;
49 var<
named(
"superlayer_id")>() = superlayerID;
52 var<
named(
"start_drift_length")>() = startDriftLength;
53 var<
named(
"start_drift_length_sigma")>() = startDriftLengthSigma;
56 var<
named(
"middle_drift_length")>() = middleDriftLength;
57 var<
named(
"middle_drift_length_sigma")>() = middleDriftLengthSigma;
60 var<
named(
"end_drift_length")>() = endDriftLength;
61 var<
named(
"end_drift_length_sigma")>() = endDriftLengthSigma;
63 var<
named(
"oclock_delta")>() = oClockDelta;
65 var<
named(
"cell_extend")>() = cellExtend;
66 var<
named(
"n_crossing")>() = startToMiddleIsCrossing + middleToEndIsCrossing;
Shape getShape() const
Getter for the shape of this tiple if all three oriented wire hits are neighbors. Else ILLSHAPE.
ERightLeft getEndRLInfo() const
Getter for the right left passage information of the third oriented wire hit.
ERightLeft getMiddleRLInfo() const
Getter for the right left passage information of the second oriented wire hit.
Vector2D at(const double parameter) const
Evaluates the line formula at the parameter given.
ERightLeft getStartRLInfo() const
Getter for the right left passage information of the first oriented wire hit.
double getSignedRefDriftLength() const
Getter for the drift length at the reference position of the wire.
void adjustFitLine() const
Adjusts the contained fit line to touch such that it touches the first and third hit.
Type for the different shapes of a triple of neighboring wire hits.
double getRefDriftLengthVariance() const
Getter for the variance of the drift length at the reference position of the wire.
Abstract base class for different kinds of events.
Class representing an oriented hit wire including a hypotheses whether the causing track passes left ...
short getOClockDelta() const
Getter for the o'clock direction difference from start to middle compared to middle to end.
ERightLeft
Enumeration to represent the distinct possibilities of the right left passage.
bool extract(const CDCFacet *ptrFacet) final
Generate and assign the contained variables.
CDCRLWireHit & getMiddleRLWireHit()
Getter for the second oriented wire hit.
Class representing a triple of neighboring oriented wire with additional trajectory information.
const Vector2D & tangential() const
Gives the tangential vector of the line.
CDCRLWireHit & getEndRLWireHit()
Getter for the third oriented wire hit.
constexpr static int named(const char *name)
Getter for the index from the name.
double angleWith(const Vector2D &rhs) const
The angle between this and rhs.
Float_t & var()
Reference getter for the value of the ith variable. Static version.
A parameter line including including an line covariance matrix which is interpreted as located in the...
short getCellExtend() const
Getter for the sum of cell distances from start to middle and middle to end.
CDCRLWireHit & getStartRLWireHit()
Getter for the first oriented wire hit.
ISuperLayer getISuperLayer() const
Getter for the common superlayer id of the pair.
const UncertainParameterLine2D & getFitLine() const
Getter for the contained line fit information.