|
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 |
|
|
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"} |
|
ToolHandle< 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_outputlevel {} |
|
IntegerProperty | m_segmentFindMode |
|
IntegerProperty | m_minNumberDCs |
|
IntegerProperty | m_minNumberSCT |
|
IntegerProperty | m_minNumberPIX |
|
DoubleProperty | m_roadwidth |
|
DoubleProperty | m_maxslope {this, "Maxslope", .00005} |
|
DoubleProperty | m_zVertexWidth |
|
DoubleProperty | m_impact |
|
BooleanProperty | m_usedriftrad |
|
BooleanProperty | m_parameterization |
|
DoubleProperty | m_scale_error |
|
StringProperty | m_fieldmode |
|
Trk::MagneticFieldProperties | m_fieldprop |
|
SG::ReadHandleKey< TRT_DriftCircleContainer > | m_trtname {this,"TRT_ClustersContainer","TRT_DriftCircles","RHK to retrieve TRT_DriftCircleContainer"} |
|
DoubleProperty | 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);
253 return PBASE::declareProperty(
name,hndl,
doc);
◆ 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.
229 return PBASE::declareProperty(
name,hndl,
doc);
◆ 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.
338 return PBASE::declareProperty(
name, property,
doc);
◆ 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 140 of file TRT_TrackExtensionTool_xk.cxx.
142 auto pad = [](
const std::string &
s)->std::string{
143 std::string
s1(
s.size(),
' ');
147 const std::array<std::string,9> fieldmode{
"NoField" ,
"ConstantField",
"SolenoidalField",
148 "ToroidalField" ,
"Grid3DField" ,
"RealisticField" ,
149 "UndefinedField",
"AthenaField" ,
"?????" };
151 if(mode<0 || mode>8 )
mode = 8;
152 std::string lineSeparator(90,
'-');
153 lineSeparator =
"|" + lineSeparator +
"|\n";
154 const auto & w12 = std::setw(12);
155 const auto & sp5 = std::setprecision(5);
156 const std::string spaces =
" |\n";
164 out<<
"| Magnetic field mode | "<< pad(fieldmode[
mode]);
166 out<<
"| TRT road half width (mm)| "<< w12 << sp5<<
m_roadwidth << spaces;
171 out<<
"| Max impact parameter | "<< w12 <<
m_impact <<spaces;
◆ 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 308 of file TRT_TrackExtensionTool_xk.cxx.
325 if (fieldCondObj ==
nullptr) {
329 fieldCondObj->getInitializedCache (fieldCache);
333 const std::vector<const InDetDD::TRT_BaseElement*>& detectorElements =
337 if(
int(detectorElements.size())< nCut)
return nullptr;
341 auto surfaces =vectorOfSurfacesFromVectorOfElements(detectorElements);
347 std::vector< std::pair<Amg::Vector3D,double> > gpos;
377 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 408 of file TRT_TrackExtensionTool_xk.cxx.
418 if (fieldCondObj ==
nullptr) {
422 fieldCondObj->getInitializedCache (fieldCache);
425 const std::vector<const InDetDD::TRT_BaseElement*>& detectorElements =
431 auto surfaces = vectorOfSurfacesFromVectorOfElements(detectorElements);
437 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 210 of file TRT_TrackExtensionTool_xk.cxx.
215 std::stringstream
msg;
217 throw std::runtime_error(
msg.str() );
225 if (fieldCondObj ==
nullptr) {
229 fieldCondObj->getInitializedCache (fieldCache);
236 event_data->m_trajectory.set(fieldprop, fieldCondObj);
237 event_data->m_trajectory.set (
m_trtid,
247 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
StringProperty InDet::TRT_TrackExtensionTool_xk::m_fieldmode |
|
protected |
◆ m_fieldprop
◆ m_impact
DoubleProperty InDet::TRT_TrackExtensionTool_xk::m_impact |
|
protected |
◆ m_maxslope
DoubleProperty InDet::TRT_TrackExtensionTool_xk::m_maxslope {this, "Maxslope", .00005} |
|
protected |
◆ m_minNumberDCs
IntegerProperty InDet::TRT_TrackExtensionTool_xk::m_minNumberDCs |
|
protected |
◆ m_minNumberPIX
IntegerProperty InDet::TRT_TrackExtensionTool_xk::m_minNumberPIX |
|
protected |
Initial value:{this, "MinNumberPIXclusters", 2,
"Min. number pixel clusters for extension"}
Definition at line 156 of file TRT_TrackExtensionTool_xk.h.
◆ m_minNumberSCT
IntegerProperty InDet::TRT_TrackExtensionTool_xk::m_minNumberSCT |
|
protected |
◆ m_minTRTSegmentpT
DoubleProperty InDet::TRT_TrackExtensionTool_xk::m_minTRTSegmentpT |
|
protected |
◆ m_outputlevel
int InDet::TRT_TrackExtensionTool_xk::m_outputlevel {} |
|
protected |
◆ m_parameterization
BooleanProperty InDet::TRT_TrackExtensionTool_xk::m_parameterization |
|
protected |
◆ m_proptool
◆ m_riontrackD
◆ m_riontrackN
◆ m_roadtool
◆ m_roadwidth
DoubleProperty InDet::TRT_TrackExtensionTool_xk::m_roadwidth |
|
protected |
◆ m_scale_error
DoubleProperty InDet::TRT_TrackExtensionTool_xk::m_scale_error |
|
protected |
◆ m_segmentFindMode
IntegerProperty 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
BooleanProperty InDet::TRT_TrackExtensionTool_xk::m_usedriftrad |
|
protected |
◆ m_varHandleArraysDeclared
◆ m_vhka
◆ m_zVertexWidth
DoubleProperty 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 &)
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()
bool production(const TrackParameters *)
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.