![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
#include <TrackToTrackParticleCnvAlg.h>
|
| TrackToTrackParticleCnvAlg (const std::string &name, ISvcLocator *pSvcLocator) |
|
virtual StatusCode | initialize () override |
|
virtual StatusCode | execute (const EventContext &ctx) const override |
|
virtual StatusCode | sysInitialize () override |
| Override sysInitialize. More...
|
|
virtual bool | isClonable () const override |
| Specify if the algorithm is clonable. More...
|
|
virtual unsigned int | cardinality () const override |
| Cardinality (Maximum number of clones that can exist) special value 0 means that algorithm is reentrant. More...
|
|
virtual StatusCode | sysExecute (const EventContext &ctx) override |
| Execute an algorithm. More...
|
|
virtual const DataObjIDColl & | extraOutputDeps () const override |
| Return the list of extra output dependencies. More...
|
|
virtual bool | filterPassed (const EventContext &ctx) const |
|
virtual void | setFilterPassed (bool state, const EventContext &ctx) const |
|
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 | 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 |
|
|
ToolHandle< IActsExtrapolationTool > | m_extrapolationTool {this, "ExtrapolationTool", ""} |
|
SG::ReadHandleKeyArray< ActsTrk::TrackContainer > | m_tracksContainerKey {this, "ACTSTracksLocation", {},"Track collection (ActsTrk variant)"} |
|
SG::ReadCondHandleKey< InDet::BeamSpotData > | m_beamSpotKey {this, "BeamSpotKey", "BeamSpotData", "SG key for beam spot or empty." } |
|
SG::ReadCondHandleKey< AtlasFieldCacheCondObj > | m_fieldCacheCondObjInputKey {this,"AtlasFieldCacheCondObj","fieldCondObj", "Name of the Magnetic Field conditions object key" } |
|
SG::ReadCondHandleKeyArray< InDetDD::SiDetectorElementCollection > | m_siDetEleCollKey {this, "SiDetectorElementCollections", {}, "Pixel and strip element collections to get geometry information about measurements."} |
|
Gaudi::Property< std::vector< unsigned int > > | m_siDetEleCollToMeasurementType {this, "SiDetEleCollToMeasurementType",{}, "One value per si detector collection: Pixel = 1, Strip = 2"} |
|
SG::WriteHandleKey< xAOD::TrackParticleContainer > | m_trackParticlesOutKey {this, "TrackParticlesOutKey","", "Name of the produced track particle collection" } |
|
Gaudi::Property< double > | m_paramExtrapolationParLimit {this, "ExtrapolationPathLimit",std::numeric_limits<double>::max(), "PathLimit for extrapolating track parameters." } |
|
Gaudi::Property< bool > | m_firstAndLastParamOnly {this, "FirstAndLastParameterOnly",true, "Only convert the first and the last parameter." } |
|
Gaudi::Property< bool > | m_expectIfPixelContributes {this, "expectIfPixelContribution",true, "Only expect pixel hits if there are pixel hits on track." } |
|
Gaudi::Property< std::vector< float > > | m_pixelExpectLayerCylinder |
|
std::shared_ptr< Acts::CylinderSurface > | m_innerExtrapolationVolume |
|
std::unique_ptr< Propagator > | m_propagator |
|
DataObjIDColl | m_extendedExtraObjects |
| Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks. More...
|
|
StoreGateSvc_t | m_evtStore |
| Pointer to StoreGate (event store by default) More...
|
|
StoreGateSvc_t | m_detStore |
| Pointer to StoreGate (detector store by default) More...
|
|
std::vector< SG::VarHandleKeyArray * > | m_vhka |
|
bool | m_varHandleArraysDeclared |
|
◆ Navigator
◆ Propagator
◆ Stepper
◆ StoreGateSvc_t
◆ TrackToTrackParticleCnvAlg()
ActsTrk::TrackToTrackParticleCnvAlg::TrackToTrackParticleCnvAlg |
( |
const std::string & |
name, |
|
|
ISvcLocator * |
pSvcLocator |
|
) |
| |
◆ cardinality()
unsigned int AthReentrantAlgorithm::cardinality |
( |
| ) |
const |
|
overridevirtualinherited |
Cardinality (Maximum number of clones that can exist) special value 0 means that algorithm is reentrant.
Override this to return 0 for reentrant algorithms.
Override this to return 0 for reentrant algorithms.
Definition at line 55 of file AthReentrantAlgorithm.cxx.
◆ convertParticleHypothesis()
Definition at line 106 of file TrackToTrackParticleCnvAlg.h.
107 std::vector<std::pair<Acts::PdgParticle, xAOD::ParticleHypothesis> >::const_iterator
108 iter = std::find_if(s_actsHypothesisToxAOD.begin(),
109 s_actsHypothesisToxAOD.end(),
110 [abs_pdg_id](
const std::pair<Acts::PdgParticle, xAOD::ParticleHypothesis> &elm) {
111 return abs_pdg_id == elm.first;
◆ 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()
◆ evtStore() [1/2]
◆ evtStore() [2/2]
◆ execute()
StatusCode ActsTrk::TrackToTrackParticleCnvAlg::execute |
( |
const EventContext & |
ctx | ) |
const |
|
overridevirtual |
Definition at line 185 of file TrackToTrackParticleCnvAlg.cxx.
188 if (wh_track_particles.record(std::make_unique<xAOD::TrackParticleContainer>(),
189 std::make_unique<xAOD::TrackParticleAuxContainer>()).isFailure()) {
191 return StatusCode::FAILURE;
200 std::size_t nTracks = 0ul;
201 std::vector<const ActsTrk::TrackContainer *> trackContainers;
205 trackContainers.push_back( handle.
cptr() );
206 nTracks += trackContainers.back()->size();
216 std::shared_ptr<Acts::PerigeeSurface> perigee_surface =
makePerigeeSurface(beamspot_data);
217 track_particles->
reserve( nTracks );
232 std::vector<float> tmp_cov_vector;
233 std::vector<ActsTrk::TrackStateBackend::ConstTrackStateProxy::IndexType > tmp_param_state_idx;
234 tmp_param_state_idx.reserve(30);
236 std::vector<std::vector<float>> parametersVec;
237 HitSummaryData hitInfo;
239 unsigned int converted_track_states=0;
243 using namespace Acts::UnitLiterals;
245 for (
const typename ActsTrk::TrackContainer::ConstTrackProxy
track : *tracksContainer) {
253 perigeeParam.parameters()[Acts::eBoundLoc1],
254 perigeeParam.parameters()[Acts::eBoundPhi],
255 perigeeParam.parameters()[Acts::eBoundTheta],
256 perigeeParam.parameters()[Acts::eBoundQOverP] * 1_MeV);
257 if (perigeeParam.covariance().has_value()) {
259 lowerTriangleToVectorScaleLastRow(perigeeParam.covariance().value(),tmp_cov_vector,5, 1_MeV);
275 constexpr
float inv_1_MeV = 1/1_MeV;
283 SumOfValues chi2_stat;
287 measurementToSummaryType,
301 std::array< std::tuple< uint8_t, uint8_t, uint8_t, bool >, 4> copy_summary {
322 for (
auto [src_region, dest_xaod_summary_layer, dest_xaod_summary_hits, add_outlier] : copy_summary ) {
323 setSummaryValue(*track_particle,
326 setSummaryValue(*track_particle,
333 setSummaryValue(*track_particle,
337 setSummaryValue(*track_particle,
340 setSummaryValue(*track_particle,
346 setSummaryValue(*track_particle,
350 setSummaryValue(*track_particle,
354 setSummaryValue(*track_particle,
364 : std::array<unsigned int,4> {0
u,0
u, 0
u,0
u} );
367 setSummaryValue(*track_particle,
368 static_cast<uint8_t>((expect_layer_pattern[0] & (1<<0)) != 0 ),
370 setSummaryValue(*track_particle,
371 static_cast<uint8_t>((expect_layer_pattern[0] & (1<<1)) != 0 ),
373 setSummaryValue(*track_particle,
376 setSummaryValue(*track_particle,
379 setSummaryValue(*track_particle,
382 setSummaryValue(*track_particle,
387 setSummaryValue(*track_particle,
390 setSummaryValue(*track_particle,
394 setSummaryValue(*track_particle,
398 double biased_chi2_variance = chi2_stat.biasedVariance();
399 setSummaryValue(*track_particle,
400 static_cast<uint8_t> (biased_chi2_variance>0.
401 ?
std::min(
static_cast<unsigned int>(std::sqrt(biased_chi2_variance) * 100),255
u)
405 setSummaryValue(*track_particle,
413 tmp_param_state_idx[1]=tmp_param_state_idx.back();
414 tmp_param_state_idx.erase(tmp_param_state_idx.begin()+2,tmp_param_state_idx.end());
418 parametersVec.clear();
419 parametersVec.reserve(tmp_param_state_idx.size());
421 for(std::vector<ActsTrk::TrackStateBackend::ConstTrackStateProxy::IndexType>::const_reverse_iterator
422 idx_iter = tmp_param_state_idx.rbegin();
423 idx_iter != tmp_param_state_idx.rend();
426 ActsTrk::TrackStateBackend::ConstTrackStateProxy
427 state = tracksContainer->trackStateContainer().getTrackState(*idx_iter);
428 const Acts::BoundTrackParameters actsParam =
track.createParametersFromState(state);
430 Acts::Vector3 position = actsParam.position(gctx.
context());
431 Acts::Vector3
momentum = actsParam.momentum();
439 if (actsParam.covariance()) {
441 Acts::GeometryContext tgContext = gctx.
context();
443 magnFieldVect.setZero();
444 fieldCache.
getField(position.data(), magnFieldVect.data());
447 using namespace Acts::UnitLiterals;
448 magnFieldVect *= 1000_T;
452 if (curvilinear_cov_result.has_value()) {
453 Acts::BoundSquareMatrix &curvilinear_cov = curvilinear_cov_result.value();
456 for (
unsigned int col_i=0; col_i<4; ++col_i) {
457 curvilinear_cov(col_i,4) *= 1_MeV;
458 curvilinear_cov(4,col_i) *= 1_MeV;
460 curvilinear_cov(4,4) *= (1_MeV * 1_MeV);
462 std::size_t param_idx = parametersVec.size();
464 lowerTriangleToVector(curvilinear_cov,tmp_cov_vector,5);
465 if (tmp_cov_vector.size() != 15) {
466 ATH_MSG_ERROR(
"Invalid size of lower triangle cov " << tmp_cov_vector.size() <<
" != 15"
467 <<
" input matrix : " << curvilinear_cov.rows() <<
" x " << curvilinear_cov.cols() );
472 parametersVec.emplace_back(std::vector<float>{
473 static_cast<float>(position[0]),
static_cast<float>(position[1]),
static_cast<float>(position[2]),
475 ++converted_track_states;
479 for (
const std::vector<float> ¶m : parametersVec) {
480 if (param.size() != 6) {
481 ATH_MSG_ERROR(
"Invalid size of param element " << param.size() <<
" != 6" );
488 trackLink(*track_particle)
494 ATH_MSG_DEBUG(
"Converted " << nTracks <<
" acts tracks into " << track_particles->
size()
495 <<
" track particles with parameters for " << converted_track_states <<
" track states.");
497 return StatusCode::SUCCESS;
◆ 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
◆ extraOutputDeps()
const DataObjIDColl & AthReentrantAlgorithm::extraOutputDeps |
( |
| ) |
const |
|
overridevirtualinherited |
Return the list of extra output dependencies.
This list is extended to include symlinks implied by inheritance relations.
Definition at line 79 of file AthReentrantAlgorithm.cxx.
86 return Algorithm::extraOutputDeps();
◆ filterPassed()
virtual bool AthReentrantAlgorithm::filterPassed |
( |
const EventContext & |
ctx | ) |
const |
|
inlinevirtualinherited |
◆ initialize()
StatusCode ActsTrk::TrackToTrackParticleCnvAlg::initialize |
( |
| ) |
|
|
overridevirtual |
Definition at line 129 of file TrackToTrackParticleCnvAlg.cxx.
143 cfg.resolvePassive =
false;
144 cfg.resolveMaterial =
true;
145 cfg.resolveSensitive =
true;
146 auto navigtor_logger =
logger->cloneWithSuffix(
"Navigator");
147 m_propagator = std::make_unique<Propagator>(
Stepper(std::make_shared<ATLASMagneticFieldWrapper>()),
155 unsigned int collection_idx=0;
157 if (type <1 || type >2) {
158 ATH_MSG_ERROR(
"Invalid measurement type (" <<
type <<
") given for collection " << collection_idx <<
" : "
160 <<
". Expected 1 for pixel, 2 for strips.");
161 return StatusCode::FAILURE;
167 ATH_MSG_ERROR(
"Expected exactly one value in SiDetEleCollToMeasurementType per SiDetectorElementCollection. But got "
169 return StatusCode::FAILURE;
173 ATH_MSG_ERROR(
"Expected 2 values for PixelExpectLayerCylinder a cylinder radius and half length but got "
175 return StatusCode::FAILURE;
182 return StatusCode::SUCCESS;
◆ initParticleHypothesisMap()
void ActsTrk::TrackToTrackParticleCnvAlg::initParticleHypothesisMap |
( |
| ) |
|
|
staticprivate |
Definition at line 109 of file TrackToTrackParticleCnvAlg.cxx.
110 if (s_actsHypothesisToxAOD.empty()) {
111 s_actsHypothesisToxAOD.reserve(7);
112 s_actsHypothesisToxAOD.push_back( std::make_pair( Acts::eElectron ,
xAOD::electron) );
113 s_actsHypothesisToxAOD.push_back( std::make_pair( Acts::eMuon ,
xAOD::muon) );
114 s_actsHypothesisToxAOD.push_back( std::make_pair( Acts::ePionPlus ,
xAOD::pion) );
115 s_actsHypothesisToxAOD.push_back( std::make_pair( Acts::eProton ,
xAOD::proton) );
116 s_actsHypothesisToxAOD.push_back( std::make_pair( Acts::ePionZero ,
xAOD::pi0) );
117 s_actsHypothesisToxAOD.push_back( std::make_pair( Acts::eNeutron ,
xAOD::neutron) );
118 s_actsHypothesisToxAOD.push_back( std::make_pair( Acts::eGamma ,
xAOD::photon) );
◆ 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.
◆ isClonable()
bool AthReentrantAlgorithm::isClonable |
( |
| ) |
const |
|
overridevirtualinherited |
Specify if the algorithm is clonable.
Reentrant algorithms are clonable.
Reimplemented in Simulation::BeamEffectsAlg, InDet::SiTrackerSpacePointFinder, InDet::SCT_Clusterization, InDet::SiSPSeededTrackFinder, SCTRawDataProvider, InDet::GNNSeedingTrackMaker, SCT_PrepDataToxAOD, RoIBResultToxAOD, SCT_CablingCondAlgFromCoraCool, SCT_ReadCalibDataTestAlg, SCT_CablingCondAlgFromText, InDet::SiSPGNNTrackMaker, SCT_ReadCalibChipDataTestAlg, SCT_TestCablingAlg, SCT_ConfigurationConditionsTestAlg, ITkPixelCablingAlg, SCTEventFlagWriter, SCT_ConditionsSummaryTestAlg, SCT_ModuleVetoTestAlg, SCT_MonitorConditionsTestAlg, SCT_LinkMaskingTestAlg, SCT_MajorityConditionsTestAlg, SCT_RODVetoTestAlg, SCT_SensorsTestAlg, SCT_TdaqEnabledTestAlg, SCT_SiliconConditionsTestAlg, SCTSiLorentzAngleTestAlg, SCT_ByteStreamErrorsTestAlg, SCT_ConditionsParameterTestAlg, SCT_FlaggedConditionTestAlg, SCT_StripVetoTestAlg, SCT_RawDataToxAOD, and SCTSiPropertiesTestAlg.
Definition at line 44 of file AthReentrantAlgorithm.cxx.
◆ makePerigeeSurface()
std::shared_ptr< Acts::PerigeeSurface > ActsTrk::TrackToTrackParticleCnvAlg::makePerigeeSurface |
( |
const InDet::BeamSpotData * |
beamspotptr | ) |
|
|
staticprivate |
Definition at line 500 of file TrackToTrackParticleCnvAlg.cxx.
502 Acts::Vector3 beamspot(0., 0., 0.);
506 beamspot = Acts::Vector3(beamspot_data->beamVtx().position());
507 tiltx = beamspot_data->beamTilt(0);
508 tilty = beamspot_data->beamTilt(1);
510 Acts::Translation3 translation(beamspot);
511 Acts::Transform3
transform( translation * Acts::RotationMatrix3::Identity() );
512 transform *= Acts::AngleAxis3(tilty, Acts::Vector3(0.,1.,0.));
513 transform *= Acts::AngleAxis3(tiltx, Acts::Vector3(1.,0.,0.));
514 return Acts::Surface::makeShared<Acts::PerigeeSurface>(
transform);
◆ msg() [1/2]
◆ msg() [2/2]
◆ msgLvl()
◆ 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.
◆ parametersAtBeamLine()
Acts::BoundTrackParameters ActsTrk::TrackToTrackParticleCnvAlg::parametersAtBeamLine |
( |
const EventContext & |
ctx, |
|
|
const typename ActsTrk::TrackContainer::ConstTrackProxy & |
track, |
|
|
const Acts::PerigeeSurface & |
perigee_surface |
|
) |
| const |
|
private |
Definition at line 517 of file TrackToTrackParticleCnvAlg.cxx.
520 Acts::BoundTrackParameters trackParam =
track.createParametersAtReference();
522 std::optional<const Acts::BoundTrackParameters>
526 Acts::Direction::Backward,
528 if (!perigeeParam.has_value()) {
533 return perigeeParam.value();
◆ renounce()
◆ renounceArray()
◆ setFilterPassed()
virtual void AthReentrantAlgorithm::setFilterPassed |
( |
bool |
state, |
|
|
const EventContext & |
ctx |
|
) |
| const |
|
inlinevirtualinherited |
◆ sysExecute()
StatusCode AthReentrantAlgorithm::sysExecute |
( |
const EventContext & |
ctx | ) |
|
|
overridevirtualinherited |
Execute an algorithm.
We override this in order to work around an issue with the Algorithm base class storing the event context in a member variable that can cause crashes in MT jobs.
Definition at line 67 of file AthReentrantAlgorithm.cxx.
69 return Gaudi::Algorithm::sysExecute (ctx);
◆ sysInitialize()
StatusCode AthReentrantAlgorithm::sysInitialize |
( |
| ) |
|
|
overridevirtualinherited |
Override sysInitialize.
Override sysInitialize from the base class.
Loop through all output handles, and if they're WriteCondHandles, automatically register them and this Algorithm with the CondSvc
Scan through all outputHandles, and if they're WriteCondHandles, register them with the CondSvc
Reimplemented from AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >.
Reimplemented in InputMakerBase, and HypoBase.
Definition at line 96 of file AthReentrantAlgorithm.cxx.
107 if ( cs.retrieve().isFailure() ) {
109 return StatusCode::SUCCESS;
111 if (cs->regHandle(
this,*
h).isFailure()) {
112 sc = StatusCode::FAILURE;
113 ATH_MSG_ERROR(
"unable to register WriteCondHandle " <<
h->fullKey()
◆ 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()
◆ ATLAS_THREAD_SAFE
std::vector<std::pair<Acts::PdgParticle, xAOD::ParticleHypothesis> > s_actsHypothesisToxAOD ActsTrk::TrackToTrackParticleCnvAlg::ATLAS_THREAD_SAFE |
|
staticprivate |
◆ m_beamSpotKey
◆ m_detStore
◆ m_evtStore
◆ m_expectIfPixelContributes
Gaudi::Property<bool> ActsTrk::TrackToTrackParticleCnvAlg::m_expectIfPixelContributes {this, "expectIfPixelContribution",true, "Only expect pixel hits if there are pixel hits on track." } |
|
private |
◆ m_extendedExtraObjects
DataObjIDColl AthReentrantAlgorithm::m_extendedExtraObjects |
|
privateinherited |
Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.
Empty if no symlinks were found.
Definition at line 153 of file AthReentrantAlgorithm.h.
◆ m_extrapolationTool
ToolHandle<IActsExtrapolationTool> ActsTrk::TrackToTrackParticleCnvAlg::m_extrapolationTool {this, "ExtrapolationTool", ""} |
|
private |
◆ m_fieldCacheCondObjInputKey
◆ m_firstAndLastParamOnly
Gaudi::Property<bool> ActsTrk::TrackToTrackParticleCnvAlg::m_firstAndLastParamOnly {this, "FirstAndLastParameterOnly",true, "Only convert the first and the last parameter." } |
|
private |
◆ m_innerExtrapolationVolume
std::shared_ptr<Acts::CylinderSurface> ActsTrk::TrackToTrackParticleCnvAlg::m_innerExtrapolationVolume |
|
private |
◆ m_paramExtrapolationParLimit
Gaudi::Property<double> ActsTrk::TrackToTrackParticleCnvAlg::m_paramExtrapolationParLimit {this, "ExtrapolationPathLimit",std::numeric_limits<double>::max(), "PathLimit for extrapolating track parameters." } |
|
private |
◆ m_pixelExpectLayerCylinder
Gaudi::Property<std::vector<float> > ActsTrk::TrackToTrackParticleCnvAlg::m_pixelExpectLayerCylinder |
|
private |
Initial value:{this, "PixelExpectLayerCylinder",{350,10000.},
"Radius and half length of extrapoltion target when searching for expected pixel layers." }
Definition at line 92 of file TrackToTrackParticleCnvAlg.h.
◆ m_propagator
std::unique_ptr<Propagator> ActsTrk::TrackToTrackParticleCnvAlg::m_propagator |
|
private |
◆ m_siDetEleCollKey
◆ m_siDetEleCollToMeasurementType
Gaudi::Property<std::vector<unsigned int> > ActsTrk::TrackToTrackParticleCnvAlg::m_siDetEleCollToMeasurementType {this, "SiDetEleCollToMeasurementType",{}, "One value per si detector collection: Pixel = 1, Strip = 2"} |
|
private |
◆ m_trackParticlesOutKey
◆ m_tracksContainerKey
◆ m_varHandleArraysDeclared
◆ m_vhka
The documentation for this class was generated from the following files:
void reserve(size_type n)
Attempt to preallocate enough memory for a specified number of elements.
@ neutron
for Fatras usage
@ numberOfPixelHoles
number of pixel layers on track with absence of hits [unit8_t].
void setTrackFitter(const TrackFitter fitter)
Method for setting the fitter, using the TrackFitter enum.
static std::shared_ptr< Acts::PerigeeSurface > makePerigeeSurface(const InDet::BeamSpotData *beamspotptr)
Gaudi::Property< bool > m_expectIfPixelContributes
std::shared_ptr< Acts::CylinderSurface > m_innerExtrapolationVolume
Gaudi::Property< std::vector< float > > m_pixelExpectLayerCylinder
const_pointer_type cptr()
Dereference the pointer.
void setTrackParameters(std::vector< std::vector< float > > ¶meters)
Set the parameters via the passed vector of vectors.
std::array< unsigned int, 4 > expectedLayerPattern(const EventContext &ctx, const IActsExtrapolationTool &extrapolator, Acts::BoundTrackParameters perigee_parameters, const Acts::CylinderSurface &extrapolation_volume)
Extrapolate from the perigee outwards and gather information which detector layers should have hits.
@ numberOfContribPixelBarrelInclinedLayers
number of contributing barrel inclined layers of the pixel detector [unit8_t].
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Gaudi::Property< bool > m_firstAndLastParamOnly
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce(T &h)
void gatherTrackSummaryData(const ActsTrk::TrackContainer &tracksContainer, const typename ActsTrk::TrackContainer::ConstTrackProxy &track, const std::array< const InDetDD::SiDetectorElementCollection *, to_underlying(xAOD::UncalibMeasType::nTypes)> &siDetEleColl, const std::array< unsigned short, to_underlying(xAOD::UncalibMeasType::nTypes)> &measurement_to_summary_type, SumOfValues &chi2_stat_out, HitSummaryData &hit_info_out, std::vector< ActsTrk::TrackStateBackend::ConstTrackStateProxy::IndexType > ¶m_state_idx_out, std::array< std::array< uint8_t, to_underlying(HitCategory::N)>, to_underlying(xAOD::UncalibMeasType::nTypes)> &special_hit_counts_out)
Helper to gather track summary information from the track states of the specified track.
@ numberOfContribPixelBarrelFlatLayers
number of contributing barrel flat layers of the pixel detector [unit8_t].
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
void setDefiningParameters(float d0, float z0, float phi0, float theta, float qOverP)
Set the defining parameters.
@ numberOfPixelHits
these are the pixel hits, including the b-layer [unit8_t].
@ expectInnermostPixelLayerHit
Do we expect a 0th-layer barrel hit for this track?
void setTrackParameterCovarianceMatrix(unsigned int index, std::vector< float > &cov)
Set the cov matrix of the parameter at 'index', using a vector of floats.
const std::string & key() const
Return the StoreGate ID for the referenced object.
@ noHypothesis
For material collection.
constexpr std::underlying_type< T_EnumClass >::type to_underlying(T_EnumClass an_enum)
Helper to convert class enum into an integer.
@ u
Enums for curvilinear frames.
@ numberOfInnermostPixelLayerEndcapOutliers
number of 0th layer endcap outliers
void setBeamlineTiltY(float tiltY)
virtual void setOwner(IDataHandleHolder *o)=0
SG::ReadCondHandle< T > makeHandle(const SG::ReadCondHandleKey< T > &key, const EventContext &ctx=Gaudi::Hive::currentContext())
std::unique_ptr< const Acts::Logger > makeActsAthenaLogger(IMessageSvc *svc, const std::string &name, int level, std::optional< std::string > parent_name)
Acts::GeometryContext context() const
void setFitQuality(float chiSquared, float numberDoF)
Set the 'Fit Quality' information.
@ numberOfContribPixelEndcap
number of contributing endcap layers of the pixel detector [unit8_t].
@ numberOfInnermostPixelLayerOutliers
number of 0th layer barrel outliers
@ numberOfInnermostPixelLayerEndcapHits
these are the hits in the 0th pixel layer endcap [unit8_t].
void getInitializedCache(MagField::AtlasFieldCache &cache) const
get B field cache for evaluation as a function of 2-d (solenoid) or 3-d (toroid) position.
Acts::Navigator Navigator
SummaryType
Enumerates the different types of information stored in Summary.
AthReentrantAlgorithm()
Default constructor:
@ expectNextToInnermostPixelLayerHit
Do we expect a 1st-layer barrel hit for this track?
@ numberOfPixelBarrelFlatHits
these are the pixel hits, in the barrel flat layers [unit8_t].
static void initParticleHypothesisMap()
Helper class to provide type-safe access to aux data.
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
DetectorRegion
Regions for which hit counts are computed.
::StatusCode StatusCode
StatusCode definition for legacy code.
Amg::Vector3D transform(Amg::Vector3D &v, Amg::Transform3D &tr)
Transform a point from a Trasformation3D.
@ numberOfPixelOutliers
these are the pixel outliers, including the b-layer [unit8_t].
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
@ standardDeviationOfChi2OS
100 times the standard deviation of the chi2 from the surfaces [unit8_t].
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
@ numberOfSCTHoles
number of SCT holes [unit8_t].
const T * back() const
Access the last element in the collection as an rvalue.
void setParticleHypothesis(const ParticleHypothesis hypo)
Method for setting the particle type, using the ParticleHypothesis enum.
Include the GeoPrimitives which need to be put first.
virtual bool isValid() override final
Can the handle be successfully dereferenced?
DataObjIDColl m_extendedExtraObjects
Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.
@ numberOfNextToInnermostPixelLayerEndcapHits
these are the hits in the 0.5th and 1st pixel layer endcap rings [unit8_t].
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
ElementLink implementation for ROOT usage.
SG::WriteHandleKey< xAOD::TrackParticleContainer > m_trackParticlesOutKey
@ KalmanFitter
tracks produced by the Kalman Fitter
@ numberOfNextToInnermostPixelLayerOutliers
number of 1st pixel layer barrel outliers
@ numberOfNextToInnermostPixelLayerHits
these are the hits in the 1st pixel barrel layer
virtual StatusCode sysInitialize() override
Override sysInitialize.
SG::ReadCondHandleKey< AtlasFieldCacheCondObj > m_fieldCacheCondObjInputKey
value_type push_back(value_type pElem)
Add an element to the end of the collection.
StatusCode initialize(bool used=true)
Eigen::Matrix< double, 3, 1 > Vector3D
@ numberOfPixelBarrelInclinedHits
these are the pixel hits, in the barrel inclined layers [unit8_t].
void setDefiningParametersCovMatrixVec(const std::vector< float > &cov)
@ numberOfOutliersOnTrack
number of measurements flaged as outliers in TSOS [unit8_t].
SG::ReadCondHandleKey< InDet::BeamSpotData > m_beamSpotKey
Acts::EigenStepper<> Stepper
std::optional< Acts::BoundMatrix > convertActsBoundCovToCurvilinearParam(const Acts::GeometryContext &tgContext, const Acts::BoundTrackParameters ¶m, const Acts::Vector3 &magnFieldVect, const Acts::ParticleHypothesis &particle_hypothesis)
Convert the covariance of the given Acts track parameters into curvilinear parameterisation.
@ numberOfSCTOutliers
number of SCT outliers [unit8_t].
#define ATH_MSG_WARNING(x)
@ numberOfNextToInnermostPixelLayerEndcapOutliers
number of 1st layer endcap disk outliers
Local cache for magnetic field (based on MagFieldServices/AtlasFieldSvcTLS.h)
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
@ SiSPSeededFinder
Tracks from SiSPSeedFinder.
void getField(const double *ATH_RESTRICT xyz, double *ATH_RESTRICT bxyz, double *ATH_RESTRICT deriv=nullptr)
get B field value at given position xyz[3] is in mm, bxyz[3] is in kT if deriv[9] is given,...
std::unique_ptr< Propagator > m_propagator
@ numberOfContribPixelLayers
number of contributing layers of the pixel detector [unit8_t].
@ numberOfSCTHits
number of hits in SCT [unit8_t].
@ numberOfPixelEndcapHits
these are the pixel hits, in the endcap layers [unit8_t].
SG::ReadHandleKeyArray< ActsTrk::TrackContainer > m_tracksContainerKey
Gaudi::Property< double > m_paramExtrapolationParLimit
Class describing a TrackParticle.
Acts::BoundTrackParameters parametersAtBeamLine(const EventContext &ctx, const typename ActsTrk::TrackContainer::ConstTrackProxy &track, const Acts::PerigeeSurface &perigee_surface) const
ToolHandle< IActsExtrapolationTool > m_extrapolationTool
Gaudi::Property< std::vector< unsigned int > > m_siDetEleCollToMeasurementType
static std::vector< std::pair< Acts::PdgParticle, xAOD::ParticleHypothesis > > s_actsHypothesisToxAOD ATLAS_THREAD_SAFE
SG::ReadCondHandleKeyArray< InDetDD::SiDetectorElementCollection > m_siDetEleCollKey
size_type size() const noexcept
Returns the number of elements in the collection.
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
void setBeamlineTiltX(float tiltX)
static xAOD::ParticleHypothesis convertParticleHypothesis(Acts::PdgParticle abs_pdg_id)
@ numberOfInnermostPixelLayerHits
these are the hits in the 0th pixel barrel layer
float beamTilt(int i) const noexcept
Returns the beam sigma for the i+3-th error matrix element (the 'tilt')
void setPatternRecognitionInfo(const std::bitset< xAOD::NumberOfTrackRecoInfo > &patternReco)
Method setting the pattern recognition algorithm, using a bitset.
const_pointer_type cptr()