 |
ATLAS Offline Software
|
Go to the documentation of this file.
23 return StatusCode::SUCCESS;
34 const std::vector<LinkInfo<ViewContainer>> myViews = findLinks<ViewContainer>(outputDecision,
viewString(), TrigDefs::allFeaturesOfType);
45 ATH_MSG_ERROR(
"Of the " << myViews.size() <<
" Views in the history of Decision object with index " << outputDecision->index()
47 return StatusCode::FAILURE;
53 const std::vector<LinkInfo<ViewContainer>> myView = findLinks<ViewContainer>(outputDecision,
viewString(), TrigDefs::lastFeatureOfType);
54 if (myView.size() != 1) {
55 ATH_MSG_ERROR(
"Did not find exactly one most-recent '" <<
viewString() <<
"' for Decision object index " << outputDecision->index()
56 <<
", found " << myView.size());
57 if (myView.size() > 1) {
58 ATH_MSG_ERROR(
"Was this Decision Object was merged after having followed different reconstruction paths in previous Steps?");
59 ATH_MSG_ERROR(
"Need more information about which of these Views to look in to find the desired '" <<
m_inViewRoIKey.
key() <<
"' TrigRoiDescriptorCollection");
61 return StatusCode::FAILURE;
63 viewToFetchFrom = myView.at(0);
70 if (roiReadHandle->
size() != 1) {
72 <<
" has " << roiReadHandle->
size() <<
" TrigRoiDescriptor inside. We require exactly one.");
73 return StatusCode::FAILURE;
82 auto oldroi = roiReadHandle->
at(0);
83 ATH_MSG_DEBUG(
" Old ROI size " <<
" eta="<< oldroi->eta() <<
" +- " << oldroi->etaPlus()-oldroi->eta() \
84 <<
" phi="<< oldroi->phi() <<
" +- " << oldroi->phiPlus()-oldroi->phi() \
85 <<
" zed="<< oldroi->zed() <<
" +- " << oldroi->zedPlus()-oldroi->zed());
87 const double reta = oldroi->eta();
90 const double rphi = oldroi->phi();
93 const double rzed = oldroi->zed();
96 std::unique_ptr<TrigRoiDescriptor> roi = std::make_unique<TrigRoiDescriptor>(reta, retam, retap, rphi, rphim, rphip, rzed, rzedm, rzedp);
98 <<
" phi="<< roi->
phi() <<
" +- " << roi->
phiPlus()-roi->
phi() \
99 <<
" zed="<< roi->
zed() <<
" +- " << roi->
zedPlus()-roi->
zed());
100 roisWriteHandle->
push_back( roi.release() );
105 outputDecision->setObjectLink(
roiString(), newRoiEL);
108 return StatusCode::SUCCESS;
ElementLink< T > link
Link to the feature.
auto makeHandle(const SG::View *view, const KEY &key, const EventContext &ctx)
Create a view handle from a handle key.
const std::string & key() const
Return the StoreGate ID for the referenced object.
const std::string & roiString()
::StatusCode StatusCode
StatusCode definition for legacy code.
SG::WriteHandle< CONT > createAndStoreNoAux(const SG::WriteHandleKey< CONT > &key, const EventContext &ctx)
Creates and right away records the Container CONT with the key.
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
Class used to describe composite objects in the HLT.
virtual bool isValid() override final
Can the handle be successfully dereferenced?
virtual double zed() const override final
value_type push_back(value_type pElem)
Add an element to the end of the collection.
const std::string & viewString()
virtual double etaPlus() const override final
gets eta at zedPlus
Helper to keep a Decision object, ElementLink and ActiveState (with respect to some requested ChainGr...
virtual double phi() const override final
Methods to retrieve data members.
virtual double eta() const override final
Athena::TPCnvVers::Current TrigRoiDescriptor
const T * at(size_type n) const
Access an element, as an rvalue.
virtual double phiPlus() const override final
gets phiPlus
size_type size() const noexcept
Returns the number of elements in the collection.
virtual double zedPlus() const override final
z at the most forward end of the RoI