diff --git a/Generators/Rivet_i/src/LogLevels.h b/Generators/Rivet_i/src/LogLevels.h deleted file mode 100644 index 0787973c3e664f5c31ac9a9a5bf25504516a786d..0000000000000000000000000000000000000000 --- a/Generators/Rivet_i/src/LogLevels.h +++ /dev/null @@ -1,63 +0,0 @@ -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - -/* - * LogLevels.h - * Rivet_i - * - * Created by James Monk on 18/06/2008. - * - * Converts between the Gaudi Logging levels and the Rivet ones - * - */ - -#ifndef RIVET_I_LOGLEVELS_H -#define RIVET_I_LOGLEVELS_H - -#include "Rivet/Tools/Logging.hh" -#include "GaudiKernel/IMessageSvc.h" - -Rivet::Log::Level rivetLevel(MSG::Level gaudiLevel){ - - switch(gaudiLevel){ - case MSG::NIL : - return Rivet::Log::ERROR; - break; - - case MSG::VERBOSE : - return Rivet::Log::TRACE; - break; - - case MSG::DEBUG : - return Rivet::Log::DEBUG; - break; - - case MSG::INFO : - return Rivet::Log::INFO; - break; - - case MSG::WARNING : - return Rivet::Log::WARN; - break; - - case MSG::ERROR : - return Rivet::Log::ERROR; - break; - - case MSG::FATAL : - return Rivet::Log::ERROR; - break; - - case MSG::ALWAYS : - return Rivet::Log::TRACE; - break; - - default: - return Rivet::Log::INFO; - } - return Rivet::Log::INFO; -} - - -#endif diff --git a/Generators/Rivet_i/src/Rivet_i.h b/Generators/Rivet_i/src/Rivet_i.h deleted file mode 100644 index 852c9b626cd799556371108ec10b6f50f7dec628..0000000000000000000000000000000000000000 --- a/Generators/Rivet_i/src/Rivet_i.h +++ /dev/null @@ -1,113 +0,0 @@ -/* - Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration -*/ - -#ifndef RIVET_I_H -#define RIVET_I_H - -#include "AthenaBaseComps/AthAlgorithm.h" -#include "GaudiKernel/ServiceHandle.h" - -#include "Rivet/AnalysisHandler.hh" - -#include <vector> -#include <string> - -class ISvcLocator; -//class ITHistSvc; - - -/// Interface to the Rivet analysis package -/// @author James Monk <jmonk@cern.ch> -/// @author Andy Buckley <andy.buckley@cern.ch> -class Rivet_i : public AthAlgorithm { -public: - - /// Standard algorithm constructor - Rivet_i(const std::string &name, ISvcLocator *pSvcLocator); - - /// @brief Initialise the Rivet interface and Athena services. - /// - /// Pass a list of analyses to the Rivet AnalysisHandler, which dynamically - /// loads the necessary libraries (including user-written analyses). - StatusCode initialize(); - - /// Run the Rivet analyses on one event, which is retrieved from StoreGate. - StatusCode execute(); - - /// Finalise each analysis and commit the plots to an AIDA tree and the - /// THistSvc ROOT tree. - StatusCode finalize(); - - -private: - - /// Book an AIDA::IDataPointSet into the THistSvc as a TH1D at path @param path -// StatusCode regHist(const AIDA::IDataPointSet& dps, const std::string& path); - - /// Book an AIDA::IDataPointSet into the THistSvc as a TGraph at path @param path -// StatusCode regGraph(const AIDA::IDataPointSet& dps, const std::string& path); - - // Check and potentially modify events for correct units, beam particles, ... - const HepMC::GenEvent* checkEvent(const HepMC::GenEvent* event); - - /// A pointer to the THistSvc - //ServiceHandle<ITHistSvc> m_histSvc; - - /// The stream name for storing the output plots under (default "/Rivet") - std::string m_stream; - - /// The base file name to write results to. - std::string m_file; - - //specify a pre-existing yoda file to initialize from - std::string m_preload; - - /// @brief The analysis plugin search path - /// - /// This will be used to internally set RIVET_ANALYSIS_PATH, if not already set in the environment. - std::string m_anapath; - - /// @brief Whether to avoid the beam consistency checks - /// - /// Default is false: checks will be made to ensure that the supplied - /// events have beams of the sort that the analysis was written to expect. - bool m_ignorebeams; - - /// @brief Will we convert Rivet's internal histo format into a ROOT histo for streaming with THistSvc? - /// - /// The default is yes - /// Currently (03.01.12) there is no conversion for 2D distributions, in which case you - /// want to set this to False - bool m_doRootHistos; - - /// The name of the run (prepended to plot paths). - std::string m_runname; - - /// The GenEvent StoreGate key (default "GEN_EVENT") - std::string m_genEventKey; - - /// A Rivet analysis handler - Rivet::AnalysisHandler* m_analysisHandler; - - /// A list of names of the analyses to run (set from the job properties) - std::vector<std::string> m_analysisNames; - - /// The cross section for this run of events, set from the job properties. - double m_crossSection; - - /// The uncertainity of the cross section for this run of events, set from the job properties. - double m_crossSection_uncert; - - /// Flag to determine whether Rivet init has already happened (in execute()) - bool m_init; - - ///Skip variation weights and only run nominal - bool m_skipweights; - - ///Weight cap to set allowed maximum for weights - double m_weightcap; - -}; - -#endif diff --git a/Trigger/TrigSteer/DecisionHandling/src/ComboHypo.cxx b/Trigger/TrigSteer/DecisionHandling/src/ComboHypo.cxx index db68821b5ad6d17c1d150c2f20705ca70f2b6ee7..2b6a97af2319fdb8afaab133084da8f2ff243b32 100644 --- a/Trigger/TrigSteer/DecisionHandling/src/ComboHypo.cxx +++ b/Trigger/TrigSteer/DecisionHandling/src/ComboHypo.cxx @@ -208,14 +208,15 @@ StatusCode ComboHypo::execute(const EventContext& context ) const { for (const ElementLink<DecisionContainer>& dEL : it->second){ uint32_t featureKey = 0, roiKey = 0; uint16_t featureIndex = 0, roiIndex = 0; + // NOTE: roiKey, roiIndex are only currently used in the discrimination for L1 Decision objects (which don't have a 'feature' link) + // NOTE: We should make it configurable to choose either the feature or the ROI here, as done in the InputMaker base class when merging. ATH_CHECK( extractFeatureAndRoI(dEL, featureKey, featureIndex, roiKey, roiIndex) ); - const uint32_t uniquenessHash = (featureKey != 0 ? (featureKey + featureIndex) : (roiKey + roiIndex)); - if (uniquenessHash == 0) { - ATH_MSG_ERROR("Object has no feature, and no initialRoI. Cannot get obtain unique element to avoid double-counting."); - return StatusCode::FAILURE; - } + const uint32_t uniquenessHash = (featureKey != 0 ? (featureKey + featureIndex) : (roiKey + roiIndex)); + if (uniquenessHash == 0) { + ATH_MSG_ERROR("Object has no feature, and no initialRoI. Cannot get obtain unique element to avoid double-counting."); + return StatusCode::FAILURE; + } uniqueDecisionFeatures.insert( uniquenessHash ); - // TODO - do something with the ROI } // save combinations of all legs for the tools