27 const std::string& name,
28 const IInterface* parent)
33 declareInterface<IegammaTrkRefitterTool>(
this);
52 return StatusCode::SUCCESS;
58 return StatusCode::SUCCESS;
71 return StatusCode::FAILURE;
85 ATH_MSG_DEBUG(
"Original parameters " << od0 <<
" " << oz0 <<
" " << ophi0
86 <<
" " << otheta <<
" " << oqOverP
87 <<
" " << 1 / oqOverP);
97 if (collect.m_measurements.size() > 4) {
100 collect.m_measurements,
108 std::vector<const Trk::MeasurementBase*> measurements =
110 if (measurements.size() > 4) {
127 return StatusCode::FAILURE;
129 return StatusCode::SUCCESS;
131 return StatusCode::FAILURE;
145 if (track->perigeeParameters()) {
146 charge = (int)track->perigeeParameters()->charge();
148 std::unique_ptr<const Trk::CaloCluster_OnTrack> ccot(
150 if (ccot !=
nullptr) {
151 collect.m_trash.push_back(std::move(ccot));
152 collect.m_measurements.push_back(collect.m_trash.back().get());
155 std::vector<const Trk::MeasurementBase*> vecIDHits =
getIDHits(track);
156 std::vector<const Trk::MeasurementBase*>::const_iterator it =
158 std::vector<const Trk::MeasurementBase*>::const_iterator itend =
161 for (; it != itend; ++it) {
162 collect.m_measurements.push_back(*it);
167std::vector<const Trk::MeasurementBase*>
172 std::vector<const Trk::MeasurementBase*> measurementSet;
173 measurementSet.reserve(track->trackStateOnSurfaces()->size());
175 for (
const auto* tsos : *(track->trackStateOnSurfaces())) {
178 "This track contains an empty TrackStateOnSurface "
179 "that won't be included in the fit");
185 const auto* meas = tsos->measurementOnTrack();
191 if (rio !=
nullptr) {
196 measurementSet.push_back(meas);
202 return measurementSet;
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_WARNING(x)
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
double charge(const T &p)
const ServiceHandle< StoreGateSvc > & detStore() const
Class to handle RIO On Tracks ROT) for InDet and Muons, it inherits from the common MeasurementBase.
Identifier identify() const
return the identifier -extends MeasurementBase
@ Measurement
This is a measurement, and will at least contain a Trk::MeasurementBase.
@ Outlier
This TSoS contains an outlier, that is, it contains a MeasurementBase/RIO_OnTrack which was not used ...
const Perigee * perigeeParameters() const
return Perigee.
constexpr ParticleHypothesis particle[PARTICLEHYPOTHESES]
the array of masses
Ensure that the ATLAS eigen extensions are properly loaded.
Electron_v1 Electron
Definition of the current "egamma version".