13 : base_class(
type, name, parent)
19 return StatusCode::SUCCESS;
26 for (
Decision* outputDecision : decisions ) {
29 if (myClusters.size() == 0) {
31 return StatusCode::FAILURE;
34 ATH_MSG_DEBUG(
"This merged Decision Object has " << myClusters.size() <<
" TrigEMClusters in its history from a previous Step."
38 size_t singleClusterIndex = 0;
43 ATH_MSG_VERBOSE(
"- The TrigEMCluster at index " << myCluster.link.index() <<
" has Et " << (*myCluster.link)->et() <<
" MeV.");
44 if ((*myCluster.link)->et() > maxEt) {
45 maxEt = (*myCluster.link)->
et();
46 singleClusterIndex = myCluster.link.index();
49 ATH_MSG_DEBUG(
"The TrigEMCluster at index " << singleClusterIndex <<
" will be used as the centre of the FTF ROI, as this one has the highest ET (" << maxEt <<
" MeV).");
57 roisWriteHandle->push_back(superRoI);
68 const double reta = c->eta();
71 const double rphi = c->phi();
75 ATH_MSG_DEBUG(
" New ROI for xAOD::TrigEMCluster ET="<< c->et()
80 std::unique_ptr<TrigRoiDescriptor> roi = std::make_unique<TrigRoiDescriptor>(reta, retam, retap, rphi, rphim, rphip);
82 roisWriteHandle->back()->push_back( roi.release() );
84 roisWriteHandle->push_back( roi.release() );
90 const double rzed = 0;
94 std::unique_ptr<TrigRoiDescriptor> roi = std::make_unique<TrigRoiDescriptor>(reta, retam, retap, rphi, rphim, rphip, rzed, rzedm, rzedp );
96 roisWriteHandle->back()->push_back( roi.release() );
98 roisWriteHandle->push_back( roi.release() );
107 outputDecision->setObjectLink(
roiString(), roiEL);
111 return StatusCode::SUCCESS;
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_VERBOSE(x)
float et(const xAOD::jFexSRJetRoI *j)
Athena::TPCnvVers::Current TrigRoiDescriptor
ElementLink implementation for ROOT usage.
bool manageConstituents() const
always manage constituents ???
void setComposite(bool b=true)
nope - should be used for standalone also, perhaps need to protect the class def bits ifndef XAOD_ANA...
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()
void findLinks(const Decision *start, const std::string &linkName, std::vector< LinkInfo< T > > &links, unsigned int behaviour=TrigDefs::allFeaturesOfType, std::set< const xAOD::TrigComposite * > *fullyExploredFrom=nullptr)
search back the TC links for the object of type T linked to the one of TC (recursively) Populates pro...
xAOD::TrigCompositeContainer DecisionContainer
static const unsigned int lastFeatureOfType
Run 3 "enum". Only return the final feature along each route through the navigation.
TrigEMCluster_v1 TrigEMCluster
Define the latest version of the trigger EM cluster class.
Helper to keep a Decision object, ElementLink and ActiveState (with respect to some requested ChainGr...