ATLAS Offline Software
Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
DijetDPhiCondition Class Reference

#include <DijetDPhiCondition.h>

Inheritance diagram for DijetDPhiCondition:
Collaboration diagram for DijetDPhiCondition:

Public Member Functions

 DijetDPhiCondition (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 passDijetDPhiCuts (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 27 of file DijetDPhiCondition.h.

Constructor & Destructor Documentation

◆ DijetDPhiCondition()

DijetDPhiCondition::DijetDPhiCondition ( double  detaMin,
double  detaMax 
)

Definition at line 13 of file DijetDPhiCondition.cxx.

14  :
15  m_min(min), m_max(max) {
16 }

Member Function Documentation

◆ capacity()

virtual unsigned int DijetDPhiCondition::capacity ( ) const
inlineoverridevirtual

Implements ICondition.

Definition at line 37 of file DijetDPhiCondition.h.

37 {return s_capacity;}

◆ isSatisfied()

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

Implements ICondition.

Definition at line 20 of file DijetDPhiCondition.cxx.

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

◆ passDijetDPhiCuts()

bool DijetDPhiCondition::passDijetDPhiCuts ( pHypoJet  ,
pHypoJet   
) const
private

◆ passJetCuts()

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

◆ toString()

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

Implements ICondition.

Definition at line 63 of file DijetDPhiCondition.cxx.

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

Member Data Documentation

◆ m_max

double DijetDPhiCondition::m_max
private

Definition at line 46 of file DijetDPhiCondition.h.

◆ m_min

double DijetDPhiCondition::m_min
private

Definition at line 45 of file DijetDPhiCondition.h.

◆ s_capacity

const unsigned int DijetDPhiCondition::s_capacity {2}
staticprivate

Definition at line 48 of file DijetDPhiCondition.h.


The documentation for this class was generated from the following files:
max
#define max(a, b)
Definition: cfImp.cxx:41
PowhegControl_ttHplus_NLO.ss
ss
Definition: PowhegControl_ttHplus_NLO.py:83
DijetDPhiCondition::s_capacity
static const unsigned int s_capacity
Definition: DijetDPhiCondition.h:48
DijetDPhiCondition::m_min
double m_min
Definition: DijetDPhiCondition.h:45
doubleTestComp.j1
j1
Definition: doubleTestComp.py:21
find_tgc_unfilled_channelids.ip
ip
Definition: find_tgc_unfilled_channelids.py:3
DijetDPhiCondition::m_max
double m_max
Definition: DijetDPhiCondition.h:46
min
#define min(a, b)
Definition: cfImp.cxx:40
RTTAlgmain.address
address
Definition: RTTAlgmain.py:55
Trig::FeatureAccessImpl::collect
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...
Definition: FeatureCollectAthena.h:299