ATLAS Offline Software
Loading...
Searching...
No Matches
CP::IsolationWP Class Reference

#include <IsolationWP.h>

Collaboration diagram for CP::IsolationWP:

Public Member Functions

 IsolationWP (const std::string &name)
 ~IsolationWP ()=default
const std::string & name () const
void name (const std::string &name)
asg::AcceptData accept (const xAOD::IParticle &p) const
asg::AcceptData accept (const strObj &p) const
void addCut (std::unique_ptr< IsolationCondition > cut)
const asg::AcceptInfogetAccept () const
const std::vector< std::unique_ptr< IsolationCondition > > & conditions () const

Private Attributes

std::string m_name {}
std::vector< std::unique_ptr< IsolationCondition > > m_cuts
asg::AcceptInfo m_acceptInfo

Detailed Description

Definition at line 16 of file IsolationWP.h.

Constructor & Destructor Documentation

◆ IsolationWP()

CP::IsolationWP::IsolationWP ( const std::string & name)

Definition at line 42 of file IsolationWP.cxx.

42: m_name(name) {}
const std::string & name() const
std::string m_name
Definition IsolationWP.h:31

◆ ~IsolationWP()

CP::IsolationWP::~IsolationWP ( )
default

Member Function Documentation

◆ accept() [1/2]

asg::AcceptData CP::IsolationWP::accept ( const strObj & p) const

Definition at line 23 of file IsolationWP.cxx.

23 {
24 asg::AcceptData result(&m_acceptInfo);
25 for (const auto& c : m_cuts) {
26 if (c->accept(p)) { result.setCutResult(c->name(), true); }
27 else{
28 result.clear();
29 return result;
30 }
31 }
32 return result;
33 }
asg::AcceptInfo m_acceptInfo
Definition IsolationWP.h:33
std::vector< std::unique_ptr< IsolationCondition > > m_cuts
Definition IsolationWP.h:32

◆ accept() [2/2]

asg::AcceptData CP::IsolationWP::accept ( const xAOD::IParticle & p) const

Definition at line 11 of file IsolationWP.cxx.

11 {
12 asg::AcceptData result(&m_acceptInfo);
13 for (const auto& c : m_cuts) {
14 if (c->accept(p)) result.setCutResult(c->name(), true);
15 else{
16 result.clear();
17 return result;
18 }
19 }
20 return result;
21 }

◆ addCut()

void CP::IsolationWP::addCut ( std::unique_ptr< IsolationCondition > cut)

Definition at line 35 of file IsolationWP.cxx.

35 {
36 m_acceptInfo.addCut(i->name(), i->name());
37 m_cuts.emplace_back(std::move(i));
38 }

◆ conditions()

const std::vector< std::unique_ptr< IsolationCondition > > & CP::IsolationWP::conditions ( ) const

Definition at line 40 of file IsolationWP.cxx.

40{ return m_cuts; }

◆ getAccept()

const asg::AcceptInfo & CP::IsolationWP::getAccept ( ) const

Definition at line 39 of file IsolationWP.cxx.

39{ return m_acceptInfo; }

◆ name() [1/2]

const std::string & CP::IsolationWP::name ( ) const

Definition at line 9 of file IsolationWP.cxx.

9{ return m_name; }

◆ name() [2/2]

void CP::IsolationWP::name ( const std::string & name)

Definition at line 10 of file IsolationWP.cxx.

10{ m_name = name; }

Member Data Documentation

◆ m_acceptInfo

asg::AcceptInfo CP::IsolationWP::m_acceptInfo
private

Definition at line 33 of file IsolationWP.h.

◆ m_cuts

std::vector<std::unique_ptr<IsolationCondition> > CP::IsolationWP::m_cuts
private

Definition at line 32 of file IsolationWP.h.

◆ m_name

std::string CP::IsolationWP::m_name {}
private

Definition at line 31 of file IsolationWP.h.

31{};

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