34 if (not ptrFacetRelation)
return false;
36 const CDCFacet* fromFacet = ptrFacetRelation->first;
37 const CDCFacet* toFacet = ptrFacetRelation->second;
51 ROOT::Math::XYVector tangential = VectorUtil::average(fromTangential, toTangential);
56 var<
named(
"cos_delta")>() = VectorUtil::CosPhi(fromTangential, toTangential);
58 var<
named(
"from_middle_cos_delta")>() = fromMiddleCos;
59 var<
named(
"to_middle_cos_delta")>() = toMiddleCos;
66 double s = fitLine->
lengthOnCurve(frontWirePos2D, backWirePos2D);
67 double alpha = ROOT::Math::VectorUtil::DeltaPhi(fitLine->
support(), fitLine->
tangential());
73 var<
named(
"fit_0_cos_delta")>() = VectorUtil::CosPhi(fitLine->
tangential(), tangential);
79 double s = fitLine->
lengthOnCurve(frontWirePos2D, backWirePos2D);
83 var<
named(
"fit_1_cos_delta")>() = VectorUtil::CosPhi(fitLine->
tangential(), tangential);
88 double s = fitLine->
lengthOnCurve(frontWirePos2D, backWirePos2D);
100 if (not std::isfinite(phi0_var)) {
101 B2INFO(
"from addr " << *fromFacet);
108 if (not std::isfinite(phi0_var)) {
109 B2INFO(
"to addr " << *toFacet);
115 var<
named(
"phi0_from_sigma")>() = std::sqrt(fromCov(c_Phi0, c_Phi0));
116 var<
named(
"phi0_to_sigma")>() = std::sqrt(toCov(c_Phi0, c_Phi0));
117 var<
named(
"phi0_ref_sigma")>() = std::sqrt(fromCov(c_Phi0, c_Phi0) + toCov(c_Phi0, c_Phi0));
121 std::sqrt((toCov(c_Phi0, c_Phi0) + fromCov(c_Phi0, c_Phi0))));
123 LineParameters avgPar;
124 LineCovariance avgCov;
127 LineParameters meanPar = (fromPar + toPar) / 2.0;
130 LineParameters relAvgPar = avgPar - meanPar;
135 std::fabs(relAvgPar(c_Phi0) / std::sqrt(avgCov(c_Phi0, c_Phi0)));
136 var<
named(
"phi0_comb_diff")>() = relAvgPar(c_Phi0);
137 var<
named(
"phi0_comb_sigma")>() = std::sqrt(avgCov(c_Phi0, c_Phi0));
143 observations2D.
append(*fromFacet);
144 observations2D.
append(*toFacet);
152 CDCObservations2D observations2D(EFitPos::c_RecoPos, EFitVariance::c_DriftLength);
153 observations2D.
append(*fromFacet);
154 observations2D.
append(*toFacet);
163 observations2D.
append(*fromFacet);
164 observations2D.
append(*toFacet);
173 observations2D.
append(*fromFacet);
174 observations2D.
append(*toFacet);
static double average(const LineUtil::ParameterVector &fromPar, const LineUtil::CovarianceMatrix &fromCov, const LineUtil::ParameterVector &toPar, const LineUtil::CovarianceMatrix &toCov, LineUtil::ParameterVector &avgPar, LineUtil::CovarianceMatrix &avgCov)
Calculates the weighted average between two line parameter sets with their respective covariance matr...