![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
#include <TRT_TrackExtensionTool_xk.h>
|
| TRT_TrackExtensionTool_xk (const std::string &, const std::string &, const IInterface *) |
|
virtual | ~TRT_TrackExtensionTool_xk () |
|
virtual StatusCode | initialize () override |
|
virtual StatusCode | finalize () override |
|
virtual std::vector< const Trk::MeasurementBase * > & | extendTrack (const EventContext &ctx, const Trk::Track &, InDet::ITRT_TrackExtensionTool::IEventData &virt_event_data, InDet::TRT_DetElementLink_xk::TRT_DetElemUsedMap &used) const override |
|
virtual std::vector< const Trk::MeasurementBase * > & | extendTrack (const EventContext &ctx, const Trk::TrackParameters *, InDet::ITRT_TrackExtensionTool::IEventData &virt_event_data, InDet::TRT_DetElementLink_xk::TRT_DetElemUsedMap &used) const override |
|
virtual Trk::TrackSegment * | findSegment (const EventContext &ctx, const Trk::TrackParameters *, InDet::ITRT_TrackExtensionTool::IEventData &virt_event_data, InDet::TRT_DetElementLink_xk::TRT_DetElemUsedMap &used) const override |
|
virtual Trk::Track * | newTrack (const EventContext &ctx, const Trk::Track &, InDet::ITRT_TrackExtensionTool::IEventData &virt_event_data, InDet::TRT_DetElementLink_xk::TRT_DetElemUsedMap &used) const override |
|
virtual std::unique_ptr< InDet::ITRT_TrackExtensionTool::IEventData > | newEvent (const EventContext &ctx) const override |
|
virtual MsgStream & | dump (MsgStream &out) const override |
|
virtual std::ostream & | dump (std::ostream &out) const override |
|
ServiceHandle< StoreGateSvc > & | evtStore () |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | evtStore () const |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | detStore () const |
| The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
virtual StatusCode | sysInitialize () override |
| Perform system initialization for an algorithm. More...
|
|
virtual StatusCode | sysStart () override |
| Handle START transition. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | inputHandles () const override |
| Return this algorithm's input handles. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | outputHandles () const override |
| Return this algorithm's output handles. More...
|
|
Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Property< T > &t) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc="none") |
| Declare a new Gaudi property. More...
|
|
void | updateVHKA (Gaudi::Details::PropertyBase &) |
|
MsgStream & | msg () const |
|
MsgStream & | msg (const MSG::Level lvl) const |
|
bool | msgLvl (const MSG::Level lvl) const |
|
|
static MsgStream & | dumpEvent (MsgStream &out) |
|
|
const TRT_ID * | m_trtid {} |
|
ToolHandle< ITRT_DetElementsRoadMaker > | m_roadtool {this, "RoadTool", "InDet::TRT_DetElementsRoadMaker_xk"} |
|
PublicToolHandle< Trk::IPatternParametersPropagator > | m_proptool {this, "PropagatorTool", "Trk::RungeKuttaPropagator"} |
|
PublicToolHandle< Trk::IPatternParametersUpdator > | m_updatortool {this, "UpdatorTool", "Trk::KalmanUpdator_xk"} |
|
PublicToolHandle< ITrtDriftCircleCutTool > | m_selectortool {this, "DriftCircleCutTool", "InDet::InDetTrtDriftCircleCutTool"} |
|
ToolHandle< Trk::IRIO_OnTrackCreator > | m_riontrackD {this, "RIOonTrackToolYesDr", "InDet::TRT_DriftCircleOnTrackTool/TRT_DriftCircleOnTrackTool"} |
|
ToolHandle< Trk::IRIO_OnTrackCreator > | m_riontrackN {this, "RIOonTrackToolNoDr", "InDet::TRT_DriftCircleOnTrackNoDriftTimeTool/TRT_DriftCircleOnTrackNoDriftTimeTool"} |
|
SG::ReadCondHandleKey< AtlasFieldCacheCondObj > | m_fieldCondObjInputKey {this, "AtlasFieldCacheCondObj", "fieldCondObj", "Name of the Magnetic Field conditions object key"} |
|
int | m_segmentFindMode |
|
int | m_outputlevel {} |
|
int | m_nprint {} |
|
int | m_minNumberDCs |
|
int | m_minNumberSCT |
|
int | m_minNumberPIX |
|
double | m_roadwidth |
|
double | m_maxslope |
|
double | m_zVertexWidth |
|
double | m_impact |
|
bool | m_usedriftrad |
|
bool | m_parameterization |
|
double | m_scale_error |
|
std::string | m_fieldmode |
|
Trk::MagneticFieldProperties | m_fieldprop |
|
SG::ReadHandleKey< TRT_DriftCircleContainer > | m_trtname {this,"TRT_ClustersContainer","TRT_DriftCircles","RHK to retrieve TRT_DriftCircleContainer"} |
|
double | m_minTRTSegmentpT |
|
◆ StoreGateSvc_t
◆ TRT_TrackExtensionTool_xk()
InDet::TRT_TrackExtensionTool_xk::TRT_TrackExtensionTool_xk |
( |
const std::string & |
t, |
|
|
const std::string & |
n, |
|
|
const IInterface * |
p |
|
) |
| |
◆ ~TRT_TrackExtensionTool_xk()
InDet::TRT_TrackExtensionTool_xk::~TRT_TrackExtensionTool_xk |
( |
| ) |
|
|
virtualdefault |
◆ declareGaudiProperty() [1/4]
specialization for handling Gaudi::Property<SG::VarHandleKeyArray>
Definition at line 170 of file AthCommonDataStore.h.
175 hndl.documentation());
◆ declareGaudiProperty() [2/4]
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
161 hndl.documentation());
◆ declareGaudiProperty() [3/4]
specialization for handling Gaudi::Property<SG::VarHandleBase>
Definition at line 184 of file AthCommonDataStore.h.
189 hndl.documentation());
◆ declareGaudiProperty() [4/4]
◆ declareProperty() [1/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleBase
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 245 of file AthCommonDataStore.h.
250 this->declare(hndl.
vhKey());
251 hndl.
vhKey().setOwner(
this);
◆ declareProperty() [2/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleKey
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 221 of file AthCommonDataStore.h.
◆ declareProperty() [3/6]
◆ declareProperty() [4/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This is the generic version, for types that do not derive from SG::VarHandleKey
. It just forwards to the base class version of declareProperty
.
Definition at line 333 of file AthCommonDataStore.h.
◆ declareProperty() [5/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This dispatches to either the generic declareProperty
or the one for VarHandle/Key/KeyArray.
Definition at line 352 of file AthCommonDataStore.h.
◆ declareProperty() [6/6]
◆ detStore()
◆ dump() [1/2]
MsgStream & InDet::TRT_TrackExtensionTool_xk::dump |
( |
MsgStream & |
out | ) |
const |
|
overridevirtual |
◆ dump() [2/2]
std::ostream & InDet::TRT_TrackExtensionTool_xk::dump |
( |
std::ostream & |
out | ) |
const |
|
overridevirtual |
◆ dumpConditions()
MsgStream & InDet::TRT_TrackExtensionTool_xk::dumpConditions |
( |
MsgStream & |
out | ) |
const |
|
protected |
Definition at line 171 of file TRT_TrackExtensionTool_xk.cxx.
173 auto pad = [](
const std::string &
s)->std::string{
174 std::string
s1(
s.size(),
' ');
178 const std::array<std::string,9> fieldmode{
"NoField" ,
"ConstantField",
"SolenoidalField",
179 "ToroidalField" ,
"Grid3DField" ,
"RealisticField" ,
180 "UndefinedField",
"AthenaField" ,
"?????" };
182 if(mode<0 || mode>8 )
mode = 8;
183 std::string lineSeparator(90,
'-');
184 lineSeparator =
"|" + lineSeparator +
"|\n";
185 const auto & w12 = std::setw(12);
186 const auto & sp5 = std::setprecision(5);
187 const std::string spaces =
" |\n";
195 out<<
"| Magnetic field mode | "<< pad(fieldmode[
mode]);
197 out<<
"| TRT road half width (mm)| "<< w12 << sp5<<
m_roadwidth << spaces;
202 out<<
"| Max impact parameter | "<< w12 <<
m_impact <<spaces;
◆ dumpEvent()
MsgStream & InDet::TRT_TrackExtensionTool_xk::dumpEvent |
( |
MsgStream & |
out | ) |
|
|
staticprotected |
◆ evtStore() [1/2]
◆ evtStore() [2/2]
◆ extendTrack() [1/2]
◆ extendTrack() [2/2]
◆ extendTrackFromParameters()
◆ extraDeps_update_handler()
Add StoreName to extra input/output deps as needed.
use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given
◆ finalize()
StatusCode InDet::TRT_TrackExtensionTool_xk::finalize |
( |
| ) |
|
|
overridevirtual |
◆ findSegment()
Implements InDet::ITRT_TrackExtensionTool.
Definition at line 348 of file TRT_TrackExtensionTool_xk.cxx.
365 if (fieldCondObj ==
nullptr) {
369 fieldCondObj->getInitializedCache (fieldCache);
373 const std::vector<const InDetDD::TRT_BaseElement*>& detectorElements =
377 if(
int(detectorElements.size())< nCut)
return nullptr;
381 auto surfaces =vectorOfSurfacesFromVectorOfElements(detectorElements);
387 std::vector< std::pair<Amg::Vector3D,double> > gpos;
417 if(
nc < nCut || (1000*
nc) < (700*(
nc+nh)) )
return nullptr;
◆ initialize()
StatusCode InDet::TRT_TrackExtensionTool_xk::initialize |
( |
| ) |
|
|
overridevirtual |
◆ inputHandles()
Return this algorithm's input handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
◆ interfaceID()
const InterfaceID & InDet::ITRT_TrackExtensionTool::interfaceID |
( |
| ) |
|
|
inlinestaticinherited |
◆ isGoodExtension()
Definition at line 448 of file TRT_TrackExtensionTool_xk.cxx.
458 if (fieldCondObj ==
nullptr) {
462 fieldCondObj->getInitializedCache (fieldCache);
465 const std::vector<const InDetDD::TRT_BaseElement*>& detectorElements =
471 auto surfaces = vectorOfSurfacesFromVectorOfElements(detectorElements);
477 std::vector< std::pair<Amg::Vector3D,double> > gpos;
◆ magneticFieldInit() [1/2]
void InDet::TRT_TrackExtensionTool_xk::magneticFieldInit |
( |
| ) |
|
|
protected |
◆ magneticFieldInit() [2/2]
◆ msg() [1/2]
◆ msg() [2/2]
◆ msgLvl()
◆ newEvent()
Implements InDet::ITRT_TrackExtensionTool.
Definition at line 250 of file TRT_TrackExtensionTool_xk.cxx.
255 std::stringstream
msg;
257 throw std::runtime_error(
msg.str() );
265 if (fieldCondObj ==
nullptr) {
269 fieldCondObj->getInitializedCache (fieldCache);
276 event_data->m_trajectory.set(fieldprop, fieldCondObj);
277 event_data->m_trajectory.set (
m_trtid,
287 event_data->m_measurement.reserve(200);
◆ newTrack()
◆ numberPIXandSCTclustersCut()
bool InDet::TRT_TrackExtensionTool_xk::numberPIXandSCTclustersCut |
( |
const Trk::Track & |
Tr | ) |
const |
|
protected |
◆ outputHandles()
Return this algorithm's output handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
◆ renounce()
◆ renounceArray()
◆ sysInitialize()
◆ sysStart()
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
◆ updateVHKA()
◆ m_detStore
◆ m_evtStore
◆ m_fieldCondObjInputKey
◆ m_fieldmode
std::string InDet::TRT_TrackExtensionTool_xk::m_fieldmode |
|
protected |
◆ m_fieldprop
◆ m_impact
double InDet::TRT_TrackExtensionTool_xk::m_impact |
|
protected |
◆ m_maxslope
double InDet::TRT_TrackExtensionTool_xk::m_maxslope |
|
protected |
◆ m_minNumberDCs
int InDet::TRT_TrackExtensionTool_xk::m_minNumberDCs |
|
protected |
◆ m_minNumberPIX
int InDet::TRT_TrackExtensionTool_xk::m_minNumberPIX |
|
protected |
◆ m_minNumberSCT
int InDet::TRT_TrackExtensionTool_xk::m_minNumberSCT |
|
protected |
◆ m_minTRTSegmentpT
double InDet::TRT_TrackExtensionTool_xk::m_minTRTSegmentpT |
|
protected |
◆ m_nprint
int InDet::TRT_TrackExtensionTool_xk::m_nprint {} |
|
protected |
◆ m_outputlevel
int InDet::TRT_TrackExtensionTool_xk::m_outputlevel {} |
|
protected |
◆ m_parameterization
bool InDet::TRT_TrackExtensionTool_xk::m_parameterization |
|
protected |
◆ m_proptool
◆ m_riontrackD
◆ m_riontrackN
◆ m_roadtool
◆ m_roadwidth
double InDet::TRT_TrackExtensionTool_xk::m_roadwidth |
|
protected |
◆ m_scale_error
double InDet::TRT_TrackExtensionTool_xk::m_scale_error |
|
protected |
◆ m_segmentFindMode
int InDet::TRT_TrackExtensionTool_xk::m_segmentFindMode |
|
protected |
◆ m_selectortool
◆ m_trtid
const TRT_ID* InDet::TRT_TrackExtensionTool_xk::m_trtid {} |
|
protected |
◆ m_trtname
◆ m_updatortool
◆ m_usedriftrad
bool InDet::TRT_TrackExtensionTool_xk::m_usedriftrad |
|
protected |
◆ m_varHandleArraysDeclared
◆ m_vhka
◆ m_zVertexWidth
double InDet::TRT_TrackExtensionTool_xk::m_zVertexWidth |
|
protected |
The documentation for this class was generated from the following files:
def retrieve(aClass, aKey=None)
const TrackParameters * trackParameters() const
return ptr to trackparameters const overload
Const iterator class for DataVector/DataList.
void convert(std::vector< const Trk::MeasurementBase * > &)
const Amg::Vector3D & position() const
Access method for the position.
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
const Trk::TrackStates * trackStateOnSurfaces() const
return a pointer to a const DataVector of const TrackStateOnSurfaces.
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
void trackFindingWithoutDriftTime(double)
const std::string & key() const
Return the StoreGate ID for the referenced object.
void buildTrajectoryForPrecisionSeed(bool)
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
virtual void setOwner(IDataHandleHolder *o)=0
@ FastField
call the fast field access method of the FieldSvc
bool trackParametersEstimationForFirstPointWithVertexConstraint()
void initiateForPrecisionSeed(std::vector< std::pair< Amg::Vector3D, double > > &, const std::vector< const InDetDD::TRT_BaseElement * > &, const TRT_DriftCircleContainer *&, const Trk::PatternTrackParameters &)
bool production(const ParametersBase< 5, Trk::Charged > *)
void trackFindingWithoutDriftTimeBL(double)
bool trackParametersEstimationForFirstPoint()
const T * front() const
Access the first element in the collection as an rvalue.
void trackFindingWithDriftTimeBL(double)
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
const T * back() const
Access the last element in the collection as an rvalue.
bool solenoidOn() const
status of the magnets
@ FullField
Field is set to be realistic, but within a given Volume.
const int & nclusters() const
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
void initiateForTRTSeed(std::vector< std::pair< Amg::Vector3D, double > > &, const std::vector< const InDetDD::TRT_BaseElement * > &, const TRT_DriftCircleContainer *&, const Trk::PatternTrackParameters &)
@ NoField
Field is set to 0., 0., 0.,.
void buildTrajectoryForTRTSeed(bool)
void trackFindingWithDriftTime(double)
StatusCode initialize(bool used=true)
Eigen::Matrix< double, 3, 1 > Vector3D
MagneticFieldMode magneticFieldMode() const
Returns the MagneticFieldMode as specified.
virtual const Trk::PrepRawData * prepRawData() const =0
returns the PrepRawData (also known as RIO) object to which this RIO_OnTrack is associated.
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
const int & naElements() const
bool isFirstElementBarrel()
const double mb
1mb to cm2
const int & nholes() const
Local cache for magnetic field (based on MagFieldServices/AtlasFieldSvcTLS.h)
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
bool trackParametersEstimationForPerigeeWithVertexConstraint()
SiSpacePointsSeedMakerEventData EventData
static EventData & getPrivateEventData(InDet::ITRT_TrackExtensionTool::IEventData &virt_event_data)
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
@ Measurement
This is a measurement, and will at least contain a Trk::MeasurementBase.
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.