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

#include <DijetDEtaCondition.h>

Inheritance diagram for DijetDEtaCondition:
Collaboration diagram for DijetDEtaCondition:

Public Member Functions

 DijetDEtaCondition (double detaMin, double detaMax)
bool isSatisfied (const HypoJetVector &, const std::unique_ptr< ITrigJetHypoInfoCollector > &) const override
std::string toString () const override
virtual unsigned int capacity () const override

Private Member Functions

bool passJetCuts (pHypoJet, pHypoJet) const
bool passDijetDEtaCuts (pHypoJet, pHypoJet) const

Private Attributes

double m_min
double m_max

Static Private Attributes

static const unsigned int s_capacity {2}

Detailed Description

Definition at line 26 of file DijetDEtaCondition.h.

Constructor & Destructor Documentation

◆ DijetDEtaCondition()

DijetDEtaCondition::DijetDEtaCondition ( double detaMin,
double detaMax )

Definition at line 13 of file DijetDEtaCondition.cxx.

14 :
15 m_min(min),
16 m_max(max) {
17}
#define min(a, b)
Definition cfImp.cxx:40
#define max(a, b)
Definition cfImp.cxx:41

Member Function Documentation

◆ capacity()

virtual unsigned int DijetDEtaCondition::capacity ( ) const
inlineoverridevirtual

Implements ICondition.

Definition at line 36 of file DijetDEtaCondition.h.

36{return s_capacity;}
static const unsigned int s_capacity

◆ isSatisfied()

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

Implements ICondition.

Definition at line 21 of file DijetDEtaCondition.cxx.

22 {
23
24 if(ips.size() != 2){
25 std::stringstream ss;
26 ss << "Dijet::isSatisfied must see exactly 2 particles, but received "
27 << ips.size()
28 << '\n';
29
30 throw std::runtime_error(ss.str());
31 }
32
33 auto j0 = ips[0];
34 auto j1 = ips[1];
35
36 auto eta0 = j0->eta();
37 auto eta1 = j1->eta();
38 auto adeta = std::abs(eta0 -eta1);
39
40 bool pass = adeta >= m_min and adeta < m_max;
41
42 if(collector){
43 std::stringstream ss0;
44 const void* address = static_cast<const void*>(this);
45 ss0 << "DijetDEtaCondition: (" << address
46 << ") adeta " << adeta
47 << " pass: " <<std::boolalpha << pass << " jet group: \n";
48
49 std::stringstream ss1;
50
51 for(const auto& ip : ips){
52 address = static_cast<const void*>(ip.get());
53 ss1 << " " << address << " " << ip->eta() << " e " << ip->e() << '\n';
54 }
55 ss1 << '\n';
56 collector -> collect(ss0.str(), ss1.str());
57 }
58 return pass;
59
60}
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...
setEt setPhi setE277 setWeta2 eta1

◆ passDijetDEtaCuts()

bool DijetDEtaCondition::passDijetDEtaCuts ( pHypoJet ,
pHypoJet  ) const
private

◆ passJetCuts()

bool DijetDEtaCondition::passJetCuts ( pHypoJet ,
pHypoJet  ) const
private

◆ toString()

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

Implements ICondition.

Definition at line 62 of file DijetDEtaCondition.cxx.

62 {
63
64
65 std::stringstream ss;
66 const void* address = static_cast<const void*>(this);
67 ss << "DijetDEtaCondition: (" << address << ") Capacity: " << s_capacity
68 << " dEta min: " << m_min
69 << " dEta max: " << m_max <<'\n';
70
71 return ss.str();
72}

Member Data Documentation

◆ m_max

double DijetDEtaCondition::m_max
private

Definition at line 46 of file DijetDEtaCondition.h.

◆ m_min

double DijetDEtaCondition::m_min
private

Definition at line 45 of file DijetDEtaCondition.h.

◆ s_capacity

const unsigned int DijetDEtaCondition::s_capacity {2}
staticprivate

Definition at line 48 of file DijetDEtaCondition.h.

48{2};

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