16 : base_class(
type, name, parent)
22 return StatusCode::SUCCESS;
29 for (
Decision* outputDecision : decisions ) {
31 std::set<const Decision*> cache;
32 std::vector<SG::sgkey_t> keys;
33 std::vector<uint32_t> clids;
34 std::vector<Decision::index_type> indices;
35 std::vector<const Decision*> sources;
41 return StatusCode::FAILURE;
46 ATH_MSG_DEBUG(
"Encountered a MET feature in the CentredOnIParticle ROITool. Cannot centre an ROI on this. Attaching a FullScan RoI");
49 outputDecision->setObjectLink(
roiString(), roiEL);
57 const double reta = (*p4EL)->eta();
60 const double rphi = (*p4EL)->phi();
71 bool update_z_width =
true;
74 if ( muon && muon->primaryTrackParticle() ) {
75 zed0 = muon->primaryTrackParticle()->z0();
76 if (
m_useBeamspot ) zed0 += muon->primaryTrackParticle()->vz();
78 else update_z_width =
false;
81 if ( update_z_width ) {
88 double cosheta = std::cosh( (*p4EL)->eta() );
93 ATH_MSG_DEBUG(
"New ROI for xAOD::Particle ET="<< (*p4EL)->p4().Et()
100 zed0, zed0m, zed0p );
112 roisWriteHandle->push_back( newROI );
116 outputDecision->setObjectLink(
roiString(), roiEL);
119 return StatusCode::SUCCESS;
#define ATH_CHECK
Evaluate an expression and check for errors.
Athena::TPCnvVers::Current TrigRoiDescriptor
ElementLink implementation for ROOT usage.
bool isValid() const
Test to see if the link can be dereferenced.
static constexpr bool FULLSCAN
convenient
nope - should be used for standalone also, perhaps need to protect the class def bits ifndef XAOD_ANA...
SG::WriteHandleKey< TrigRoiDescriptorCollection > m_roisWriteHandleKey
Gaudi::Property< bool > m_useZedPosition
Gaudi::Property< double > m_roiZedSinThetaFlag
Gaudi::Property< double > m_roiZedWidth
Gaudi::Property< double > m_roiEtaWidth
virtual StatusCode attachROILinks(TrigCompositeUtils::DecisionContainer &decisions, const EventContext &ctx) const override
Tool interface method.
ViewCreatorCentredOnIParticleROITool(const std::string &type, const std::string &name, const IInterface *parent)
Gaudi::Property< bool > m_useBeamspot
Gaudi::Property< double > m_roiPhiWidth
Gaudi::Property< std::string > m_iParticleLinkName
virtual StatusCode initialize() override
SG::WriteHandle< CONT > createAndStoreNoAux(const SG::WriteHandleKey< CONT > &key, const EventContext &ctx)
Creates and right away records the Container CONT with the key.
xAOD::TrigComposite Decision
const std::string & roiString()
bool typelessFindLinks(const Decision *start, const std::string &linkName, std::vector< sgkey_t > &keyVec, std::vector< CLID > &clidVec, std::vector< Decision::index_type > &indexVec, std::vector< const Decision * > &sourceVec, const unsigned int behaviour, std::set< const Decision * > *fullyExploredFrom)
search back the TC links for the object of type T linked to the one of TC (recursively) Returns the l...
xAOD::TrigCompositeContainer DecisionContainer
static const unsigned int lastFeatureOfType
Run 3 "enum". Only return the final feature along each route through the navigation.
Muon_v1 Muon
Reference the current persistent version: