Commit 385b285d authored by Sylvester Joosten's avatar Sylvester Joosten
Browse files

Update algos for EICD update to mitigate RDF issue

parent aae2c9f6
......@@ -117,36 +117,29 @@ namespace Jug::Reco {
debug() << " chi2 = " << trajState.chi2Sum << endmsg;
}
const std::array<float, 21> covMatrix {
static_cast<float>(covariance(Acts::eBoundLoc0, Acts::eBoundLoc0)),
static_cast<float>(covariance(Acts::eBoundLoc1, Acts::eBoundLoc1)),
const eic::CovXYZ covMomentum {
static_cast<float>(covariance(Acts::eBoundTheta, Acts::eBoundTheta)),
static_cast<float>(covariance(Acts::eBoundPhi, Acts::eBoundPhi)),
static_cast<float>(covariance(Acts::eBoundQOverP, Acts::eBoundQOverP)),
static_cast<float>(covariance(Acts::eBoundTime, Acts::eBoundTime)),
static_cast<float>(covariance(Acts::eBoundLoc0, Acts::eBoundLoc1)),
static_cast<float>(covariance(Acts::eBoundLoc0, Acts::eBoundTheta)),
static_cast<float>(covariance(Acts::eBoundLoc0, Acts::eBoundPhi)),
static_cast<float>(covariance(Acts::eBoundLoc0, Acts::eBoundQOverP)),
static_cast<float>(covariance(Acts::eBoundLoc0, Acts::eBoundTime)),
static_cast<float>(covariance(Acts::eBoundLoc1, Acts::eBoundTheta)),
static_cast<float>(covariance(Acts::eBoundLoc1, Acts::eBoundPhi)),
static_cast<float>(covariance(Acts::eBoundLoc1, Acts::eBoundQOverP)),
static_cast<float>(covariance(Acts::eBoundLoc1, Acts::eBoundTime)),
static_cast<float>(covariance(Acts::eBoundTheta, Acts::eBoundPhi)),
static_cast<float>(covariance(Acts::eBoundTheta, Acts::eBoundQOverP)),
static_cast<float>(covariance(Acts::eBoundTheta, Acts::eBoundTime)),
static_cast<float>(covariance(Acts::eBoundPhi, Acts::eBoundQOverP)),
static_cast<float>(covariance(Acts::eBoundPhi, Acts::eBoundTime)),
static_cast<float>(covariance(Acts::eBoundQOverP, Acts::eBoundTime))};
eic::TrackParameters pars{0, // type: track head --> 0
{parameter[Acts::eBoundLoc0], parameter[Acts::eBoundLoc1]},
static_cast<float>(parameter[Acts::eBoundTheta]),
static_cast<float>(parameter[Acts::eBoundPhi]),
static_cast<float>(parameter[Acts::eBoundQOverP]),
static_cast<float>(parameter[Acts::eBoundTime]),
covMatrix};
static_cast<float>(covariance(Acts::eBoundPhi, Acts::eBoundQOverP))};
const eic::CovXY covPos {
static_cast<float>(covariance(Acts::eBoundLoc0, Acts::eBoundLoc0)),
static_cast<float>(covariance(Acts::eBoundLoc1, Acts::eBoundLoc1)),
static_cast<float>(covariance(Acts::eBoundLoc0, Acts::eBoundLoc1))};
const float timeError{sqrt(static_cast<float>(covariance(Acts::eBoundTime, Acts::eBoundTime)))};
eic::TrackParameters pars{0, // type: track head --> 0
{parameter[Acts::eBoundLoc0], parameter[Acts::eBoundLoc1]},
covPos,
static_cast<float>(parameter[Acts::eBoundTheta]),
static_cast<float>(parameter[Acts::eBoundPhi]),
static_cast<float>(parameter[Acts::eBoundQOverP]),
covMomentum,
static_cast<float>(parameter[Acts::eBoundTime]),
timeError,
boundParam.charge()};
track_pars->push_back(pars);
}
......
......@@ -86,16 +86,17 @@ namespace Jug::Reco {
}
const float q_over_p = charge / p;
std::array<float, 21> covMatrix;
covMatrix.fill(0.1);
eic::TrackParameters params(-1, // type --> seed (-1)
eic::TrackParameters params{-1, // type --> seed (-1)
{0.0f, 0.0f}, // location on surface
{0.1, 0.1, 0.1}, // Covariance on location
part.ps().theta(), // theta (rad)
part.ps().phi(), // phi (rad)
q_over_p * .05f, // Q/P (e/GeV)
{0.1, 0.1, 0.1}, // Covariance on theta/phi/Q/P
part.time(), // Time (ns)
covMatrix); // 15 element diagonal covariance matrix
0.1, // Error on time
charge}; // Charge
////// Construct a perigee surface as the target surface
//auto pSurface = Acts::Surface::makeShared<Acts::PerigeeSurface>(
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment