ATLAS Offline Software
Loading...
Searching...
No Matches
NNJVTCondition Class Reference

#include <NNJVTCondition.h>

Inheritance diagram for NNJVTCondition:
Collaboration diagram for NNJVTCondition:

Public Member Functions

 NNJVTCondition (const std::string &nnjvt_name)
bool isSatisfied (const HypoJetVector &, const std::unique_ptr< ITrigJetHypoInfoCollector > &) const override
std::string toString () const override
virtual unsigned int capacity () const override

Private Attributes

std::string m_nnjvt_name
std::unique_ptr< SG::ConstAccessor< float > > m_nnjvt_acc
std::unique_ptr< SG::ConstAccessor< char > > m_nnjvtpass_acc

Static Private Attributes

static const unsigned int s_capacity {1}

Detailed Description

Definition at line 24 of file NNJVTCondition.h.

Constructor & Destructor Documentation

◆ NNJVTCondition()

NNJVTCondition::NNJVTCondition ( const std::string & nnjvt_name)

Definition at line 11 of file NNJVTCondition.cxx.

11 :
12 m_nnjvt_name(nnjvt_name)
13{
14 m_nnjvt_acc = std::make_unique<SG::ConstAccessor<float> >(m_nnjvt_name);
15 m_nnjvtpass_acc = std::make_unique<SG::ConstAccessor<char> >(m_nnjvt_name+"Pass");
16}
std::string m_nnjvt_name
std::unique_ptr< SG::ConstAccessor< float > > m_nnjvt_acc
std::unique_ptr< SG::ConstAccessor< char > > m_nnjvtpass_acc

Member Function Documentation

◆ capacity()

virtual unsigned int NNJVTCondition::capacity ( ) const
inlineoverridevirtual

Implements ICondition.

Definition at line 32 of file NNJVTCondition.h.

32{return s_capacity;}
static const unsigned int s_capacity

◆ isSatisfied()

bool NNJVTCondition::isSatisfied ( const HypoJetVector & ips,
const std::unique_ptr< ITrigJetHypoInfoCollector > & collector ) const
overridevirtual

Implements ICondition.

Definition at line 18 of file NNJVTCondition.cxx.

18 {
19
20 if(ips.size() != 1){
21 std::stringstream ss;
22 ss << "NNJVTCondition::isSatisfied must see exactly 1 particle, but received "
23 << ips.size()
24 << '\n';
25 throw std::runtime_error(ss.str());
26 }
27
28 auto jet = ips[0];
29 auto xJet = *jet->xAODJet();
30
31 // Rely on the pass decorations to assess the NNJVT decision
32 bool pass = (*m_nnjvtpass_acc)(*xJet);
33 float nnjvt = (*m_nnjvt_acc)(*xJet);
34
35 if(collector){
36 std::stringstream ss0;
37 const void* address = static_cast<const void*>(this);
38 ss0 << "NNJVTCondition: (" << address
39 << ") nnjvt " << nnjvt
40 << " pt " << jet->pt()
41 << " eta " << jet->eta()
42 << " pass: " <<std::boolalpha << pass << " jet group: \n";
43
44 std::stringstream ss1;
45
46 for(const auto& ip : ips){
47 address = static_cast<const void*>(ip.get());
48 ss1 << " " << address << " " << ip->eta() << " pt " << ip->pt() << '\n';
49 }
50 ss1 << '\n';
51 collector -> collect(ss0.str(), ss1.str());
52 }
53 return pass;
54
55}
static Double_t ss
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...

◆ toString()

std::string NNJVTCondition::toString ( ) const
overridevirtual

Implements ICondition.

Definition at line 57 of file NNJVTCondition.cxx.

57 {
58
59 std::stringstream ss;
60 const void* address = static_cast<const void*>(this);
61 ss << "NNJVTCondition: (" << address << ") Capacity: " << s_capacity
62 << " decoration name: " << m_nnjvt_name << '\n';
63
64 return ss.str();
65}

Member Data Documentation

◆ m_nnjvt_acc

std::unique_ptr<SG::ConstAccessor<float> > NNJVTCondition::m_nnjvt_acc
private

Definition at line 38 of file NNJVTCondition.h.

◆ m_nnjvt_name

std::string NNJVTCondition::m_nnjvt_name
private

Definition at line 36 of file NNJVTCondition.h.

◆ m_nnjvtpass_acc

std::unique_ptr<SG::ConstAccessor<char> > NNJVTCondition::m_nnjvtpass_acc
private

Definition at line 39 of file NNJVTCondition.h.

◆ s_capacity

const unsigned int NNJVTCondition::s_capacity {1}
staticprivate

Definition at line 41 of file NNJVTCondition.h.

41{1};

The documentation for this class was generated from the following files: