19#include "Identifier/Identifier.h"
45 declareInterface<ICollectionProcessor>(
this);
86 msg(MSG::DEBUG) <<
"Initialize() of RefitSiOnlyTool successful" <<
endmsg;
89 return StatusCode::SUCCESS;
96 return StatusCode::SUCCESS;
101 ATH_MSG_DEBUG(
"nothing to configure - everything has already been configured in initialize()" );
102 return StatusCode::SUCCESS;
106 ATH_MSG_DEBUG(
"processTrackCollection() of RefitSiOnlyTool" );
115 if (refittedTrack==
nullptr)
141 if (initialPerigee) {
143 << initialPerigee->
momentum().mag() / CLHEP::GeV <<
" CLHEP::GeV/c" );
148 bool containsGangedPixels =
false;
149 std::vector<const Trk::MeasurementBase*> MeasurementBase_Collection;
156 if (rio !=
nullptr) {
159 MeasurementBase_Collection.push_back(*measBase);
166 containsGangedPixels =
true;
168 <<
" because it contains ganged pixel hits" );
179 if (!containsGangedPixels) {
191 ->fit(Gaudi::Hive::currentContext(),
192 MeasurementBase_Collection,
200 ->fit(Gaudi::Hive::currentContext(),
201 MeasurementBase_Collection,
233 it!=tracks->
end();++it) {
237 const Trk::Perigee* aMeasPer = (*it)->perigeeParameters();
238 if (aMeasPer==
nullptr){
241 double d0 = aMeasPer->parameters()[
Trk::d0];
242 double z0 = aMeasPer->parameters()[
Trk::z0];
243 double phi0 = aMeasPer->parameters()[
Trk::phi0];
245 double qOverP = aMeasPer->parameters()[
Trk::qOverP];
247 msg(MSG::DEBUG) << itrk <<
". Track Parameters (d0,z0,phi0,theta,qOverP)" <<
endmsg;
248 msg(MSG::DEBUG) <<
" " << d0 <<
", " << z0 <<
", "
249 << phi0 <<
", " <<
theta <<
", " << qOverP <<
endmsg;
250 msg(MSG::DEBUG) <<
" - momentum: "
251 << aMeasPer->
momentum().mag() / CLHEP::GeV <<
" CLHEP::GeV/c" <<
endmsg;
Scalar theta() const
theta method
#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...
An STL vector of pointers that by default owns its pointed-to elements.
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
const ServiceHandle< StoreGateSvc > & detStore() const
bool msgLvl(const MSG::Level lvl) const
DataModel_detail::const_iterator< DataVector > const_iterator
Standard const_iterator.
value_type push_back(value_type pElem)
Add an element to the end of the collection.
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.
size_type size() const noexcept
Returns the number of elements in the collection.
bool gangedPixel() const
return the flag of this cluster containing a gangedPixel
const Amg::Vector3D & momentum() const
Access method for the momentum.
Class to handle RIO On Tracks ROT) for InDet and Muons, it inherits from the common MeasurementBase.
virtual const Trk::PrepRawData * prepRawData() const =0
returns the PrepRawData (also known as RIO) object to which this RIO_OnTrack is associated.
Identifier identify() const
return the identifier -extends MeasurementBase
const DataVector< const MeasurementBase > * measurementsOnTrack() const
return a pointer to a vector of MeasurementBase (NOT including any that come from outliers).
const DataVector< const TrackParameters > * trackParameters() const
Return a pointer to a vector of TrackParameters.
const Perigee * perigeeParameters() const
return Perigee.
Eigen::Matrix< double, 3, 1 > Vector3D
Ensure that the ATLAS eigen extensions are properly loaded.
ParametersT< TrackParametersDim, Charged, PerigeeSurface > Perigee
ComparisonFunction< TrackParameters > TrkParametersComparisonFunction
ParametersBase< TrackParametersDim, Charged > TrackParameters