|
ATLAS Offline Software
|
Go to the documentation of this file.
15 #include "GaudiKernel/StatusCode.h"
38 const std::string&
name,
39 const IInterface*
parent) :
53 return StatusCode::FAILURE;
67 " to " <<
m_endLabelIndex <<
", the HypoTool's name must therefore start with legXXX_ rather than HLT_");
68 return StatusCode::FAILURE;
90 return StatusCode::SUCCESS;
95 return StatusCode::SUCCESS;
102 std::vector<JetDecision>& jetHypoInputs)
const {
107 previousDecisionIDs)) {
108 return StatusCode::SUCCESS;
111 std::unique_ptr<ITrigJetHypoInfoCollector> infocollector(
nullptr);
112 std::unique_ptr<ITrigJetHypoInfoCollector> jetdumper(
nullptr);
131 <<
" no of jets ... "
145 pass =
m_helper->pass(hypoJets, jetCollector, infocollector);
147 ATH_MSG_ERROR(
"Exception raised by the TrigJetHypoToolHelper: "
149 return StatusCode::FAILURE;
162 infocollector->
collect(
"TrigJetHypoTool",
msg);
165 return StatusCode::SUCCESS;
182 infocollector->
collect(
"TrigJetHypoTool",
msg);
183 infocollector->
write();
185 std::stringstream
ss;
193 mon_NOutputs = hjv.size();
194 for(
const auto& j : hjv) {
200 float this_negLogSigma2 = 999;
201 j->getAttribute(
"dipz20231122_z", this_z);
202 j->getAttribute(
"dipz20231122_negLogSigma2", this_negLogSigma2);
204 auto mon_dipz_negLogSigma2 =
Monitored::Scalar(
"dipz_negLogSigma2", this_negLogSigma2);
205 auto monitor_group_passingjets =
Monitored::Group(
m_monTool, mon_jetEt, mon_jetEta, mon_jetPhi , mon_dipz_z, mon_dipz_negLogSigma2);
208 auto legInds = jetCollector.
legInds();
209 for (
const auto&
label : legInds) {
213 [](
double sum,
const HypoJetVector::value_type jptr){return sum + jptr->et()*0.001;} ));
217 return StatusCode::SUCCESS;
233 const std::unique_ptr<ITrigJetHypoInfoCollector>& infocollector)
const {
235 if (jetCollector.
empty()) {
238 ", but did not specify which jets participated");
239 return StatusCode::FAILURE;
242 auto legIndices = jetCollector.
legInds();
245 return StatusCode::FAILURE;
249 ATH_MSG_DEBUG(
"There are some indices: " << legIndices.size());
250 for(
size_t i = 0;
i < legIndices.size();
i ++){
257 auto participating_jets = jetCollector.
xAODJets();
263 auto legInds = jetCollector.
legInds();
264 std::stringstream
ss;
266 for(
const auto&
label : legInds){
269 for(
const auto& j :
jets){
270 ss << static_cast<const void*>(j) <<
'\n';
277 return StatusCode::SUCCESS;
282 const std::vector<JetDecision>& jetHypoInputs)
const {
284 auto legIndices = jetCollector.
legInds();
285 for(
const auto& legInd : legIndices){
286 auto participating_jets = jetCollector.
xAODJets(legInd);
290 return StatusCode::SUCCESS;
298 const std::vector<JetDecision>& jetHypoInputs,
303 for (
auto& pair : jetHypoInputs) {
313 passingIDs.insert(
getID(legInd).numeric());
320 return StatusCode::SUCCESS;
Group
Properties of a chain group.
virtual std::string toString() const override
HypoJetVector hypoJets() const
xAOD::TrigCompositeContainer DecisionContainer
bool passed(DecisionID id, const DecisionIDContainer &idSet)
checks if required decision ID is in the set of IDs in the container
std::string find(const std::string &s)
return a remapped string
TrigCompositeUtils::DecisionID numeric() const
numeric ID
bool accumulate(AccumulateMap &map, std::vector< module_t > const &modules, FPGATrackSimMatrixAccumulator const &acc)
Accumulates an accumulator (e.g.
void insertDecisionIDs(const Decision *src, Decision *dest)
Appends the decision IDs of src to the dest decision object.
std::vector< std::string > lineSplitter(const std::string &s, char delimiter)
virtual void write() const =0
virtual void collect(const std::string &, const std::string &)=0
@ u
Enums for curvilinear frames.
std::vector< const xAOD::Jet * > xAODJets() const
It used to be useful piece of code for replacing actual SG with other store of similar functionality ...
::StatusCode StatusCode
StatusCode definition for legacy code.
std::vector< int > legInds() const
Amg::Vector3D transform(Amg::Vector3D &v, Amg::Transform3D &tr)
Transform a point from a Trasformation3D.
#define CHECK(...)
Evaluate an expression and check for errors.
std::vector< pHypoJet > HypoJetVector
Header file to be included by clients of the Monitored infrastructure.
std::string to_string(const DetectorType &type)
xAOD::TrigComposite Decision
HLT::Identifier createLegName(const HLT::Identifier &chainIdentifier, size_t counter)
Generate the HLT::Identifier which corresponds to a specific leg of a given chain.
bool isLegId(const HLT::Identifier &legIdentifier)
Recognise whether the chain ID is a leg ID.
std::set< DecisionID > DecisionIDContainer
void collect(const HLT::TriggerElement *te, std::vector< Trig::Feature< T > > &data, const std::string &label, unsigned int condition, const std::string &teName, const HLT::TrigNavStructure *navstructure)
actual feature acceess implementation It has (thanks to the ClassTraits) functionality to flatten con...
HLT::Identifier getIDFromLeg(const HLT::Identifier &legIdentifier)
Generate the HLT::Identifier which corresponds to the chain name from the leg name.
Declare a monitored scalar variable.