40 #include <TDatabasePDG.h>
58 std::cout <<
"PHActsGSF::InitRun begin" << std::endl;
72 12, 1
e-4, Acts::MixtureReductionMethod::eMaxWeight,
false,
false);
99 TrackSeed* tpcseed = track->get_tpc_seed();
100 TrackSeed* silseed = track->get_silicon_seed();
103 if (!silseed or !tpcseed)
109 if (crossing == SHRT_MAX)
149 for (
auto& siSL : silSourceLinks)
151 sourceLinks.push_back(siSL);
154 auto calibptr = std::make_unique<Calibrator>();
169 std::cout <<
"calling gsf with position "
171 <<
" and momentum " <<
seed.momentum().transpose()
174 auto trackContainer = std::make_shared<Acts::VectorTrackContainer>();
175 auto trackStateContainer = std::make_shared<Acts::VectorMultiTrajectory>();
200 return Acts::Surface::makeShared<Acts::PerigeeSurface>(
205 std::shared_ptr<Acts::PerigeeSurface> psurf)
const
218 auto cov = transformer.rotateSvtxTrackCovToActs(track);
224 charge / momentum.norm(),
232 const std::vector<Acts::SourceLink>& sourceLinks,
244 std::vector<Acts::MultiTrajectoryTraits::IndexType> trackTips;
245 trackTips.reserve(1);
246 auto& outtrack = result.value();
247 trackTips.emplace_back(outtrack.tipIndex());
250 indexedParams.emplace(std::pair{outtrack.tipIndex(),
262 const auto& mj = tracks.trackStateContainer();
263 const auto& tracktip = tips.front();
264 const auto& params = paramsMap.find(tracktip)->second;
265 const auto trajState =
270 std::cout <<
"Old track parameters: " << std::endl
271 <<
" (" << track->
get_x()
272 <<
", " << track->
get_y() <<
", " << track->
get_z()
275 <<
", " << track->
get_pz() <<
")" << std::endl;
276 std::cout <<
"New GSF track parameters: " << std::endl
279 <<
" " << params.momentum().transpose()
288 float pathlength = 0.0;
299 track->
set_px(params.momentum()(0));
300 track->
set_py(params.momentum()(1));
301 track->
set_pz(params.momentum()(2));
309 if (params.covariance())
312 for (
int i = 0;
i < 6;
i++)
314 for (
int j = 0;
j < 6;
j++)
335 std::cout <<
PHWHERE <<
" The input track map is not available. Exiting PHActsGSF" << std::endl;
339 m_clusterContainer = findNode::getClass<TrkrClusterContainer>(topNode,
"TRKR_CLUSTER");
342 std::cout <<
PHWHERE <<
"The input cluster container is not available. Exiting PHActsGSF" << std::endl;
346 m_tGeometry = findNode::getClass<ActsGeometry>(topNode,
"ActsGeometry");
349 std::cout <<
PHWHERE <<
"The input Acts tracking geometry is not available. Exiting PHActsGSF" << std::endl;
354 m_dccStatic = findNode::getClass<TpcDistortionCorrectionContainer>(topNode,
"TpcDistortionCorrectionContainerStatic");
357 std::cout <<
PHWHERE <<
" found static TPC distortion correction container" << std::endl;
360 m_dccAverage = findNode::getClass<TpcDistortionCorrectionContainer>(topNode,
"TpcDistortionCorrectionContainerAverage");
363 std::cout <<
PHWHERE <<
" found average TPC distortion correction container" << std::endl;
366 m_dccFluctuation = findNode::getClass<TpcDistortionCorrectionContainer>(topNode,
"TpcDistortionCorrectionContainerFluctuation");
369 std::cout <<
PHWHERE <<
" found fluctuation TPC distortion correction container" << std::endl;
372 m_vertexMap = findNode::getClass<SvtxVertexMap>(topNode,
"SvtxVertexMap");
375 std::cout <<
PHWHERE <<
"Vertex map unavailable, exiting PHActsGSF" << std::endl;
382 std::cout <<
PHWHERE <<
"alignmentTransformationContainerTransient not on node tree. Bailing"