ATLAS Offline Software
Classes | Public Types | Public Member Functions | Static Public Attributes | Protected Attributes | List of all members
jet::JetIsolation::IsolationCalculator Class Reference

IsolationCalculator : base class for isolation calculations. More...

Inheritance diagram for jet::JetIsolation::IsolationCalculator:
Collaboration diagram for jet::JetIsolation::IsolationCalculator:

Classes

struct  IsolationResult
 Holds the 4-vector of all constituents contributing to isolation. More...
 

Public Types

enum  Kinematics { SumPt, Par, Perp, P }
 Define the availble isolation variables. More...
 

Public Member Functions

virtual ~IsolationCalculator ()=default
 
virtual string baseName () const
 
virtual IsolationCalculatorclone (const xAOD::Jet *) const
 
virtual void copyFrom (const IsolationCalculator *o, const xAOD::Jet *)
 
virtual IsolationResult jetIsolation (const xAOD::Jet *, std::vector< jet::ParticlePosition > &) const
 Compute the isolation momentum from jet and jet inputs. More...
 
virtual std::map< std::string, float > calcIsolationAttributes (const xAOD::Jet *jet, std::vector< jet::ParticlePosition > &nearbyConstit) const
 
bool scheduleKinematicCalculation (const std::string &kname)
 
void dump ()
 

Static Public Attributes

static const string s_kname [4] = {"SumPt", "Par", "Perp", "P"}
 names for isolation variables More...
 

Protected Attributes

std::vector< Kinematicsm_kinematics
 
std::vector< string > m_attNames
 kinematics isolation vars to be computed More...
 

Detailed Description

IsolationCalculator : base class for isolation calculations.

Definition at line 22 of file JetIsolationTool.cxx.

Member Enumeration Documentation

◆ Kinematics

Define the availble isolation variables.

Enumerator
SumPt 
Par 
Perp 

Definition at line 26 of file JetIsolationTool.cxx.

26  {
27  SumPt, Par, Perp, P
28  };

Constructor & Destructor Documentation

◆ ~IsolationCalculator()

virtual jet::JetIsolation::IsolationCalculator::~IsolationCalculator ( )
virtualdefault

Member Function Documentation

◆ baseName()

virtual string jet::JetIsolation::IsolationCalculator::baseName ( ) const
inlinevirtual

Reimplemented in jet::JetIsolation::IsolationCalculatorT< ISOCRITERIA, KINEMATICGETTER >.

Definition at line 50 of file JetIsolationTool.cxx.

50 {return "";}

◆ calcIsolationAttributes()

virtual std::map<std::string, float> jet::JetIsolation::IsolationCalculator::calcIsolationAttributes ( const xAOD::Jet jet,
std::vector< jet::ParticlePosition > &  nearbyConstit 
) const
inlinevirtual

Definition at line 64 of file JetIsolationTool.cxx.

64  {
65  IsolationResult result = jetIsolation(jet, nearbyConstit);
66  std::map<std::string, float> result_map;
67  for ( size_t i=0; i<m_kinematics.size(); ++i ) {
68  switch( m_kinematics[i] ) {
69  case Perp:
70  result_map.insert(std::pair<std::string, float>(s_kname[i], result.isoPerp(jet->p4().Vect()) ));
71  break;
72  case SumPt:
73  result_map.insert(std::pair<std::string, float>(s_kname[i], result.isoSumPt() ));
74  break;
75  case Par:
76  result_map.insert(std::pair<std::string, float>(s_kname[i], result.isoPar(jet->p4().Vect()) ));
77  break;
78  case P:
79  result_map.insert(std::pair<std::string, float>(s_kname[i], result.isoP().Vect().Mag() ));
80  break;
81  }
82  }
83  return result_map;
84  }

◆ clone()

virtual IsolationCalculator* jet::JetIsolation::IsolationCalculator::clone ( const xAOD::Jet ) const
inlinevirtual

Reimplemented in jet::JetIsolation::IsolationCalculatorT< ISOCRITERIA, KINEMATICGETTER >.

Definition at line 51 of file JetIsolationTool.cxx.

51 {return nullptr;}

◆ copyFrom()

virtual void jet::JetIsolation::IsolationCalculator::copyFrom ( const IsolationCalculator o,
const xAOD::Jet  
)
inlinevirtual

Definition at line 52 of file JetIsolationTool.cxx.

52  {
55  }

◆ dump()

void jet::JetIsolation::IsolationCalculator::dump ( )
inline

Definition at line 98 of file JetIsolationTool.cxx.

98  {
99  std::cout << "Isolation calculator "<< baseName() <<std::endl;
100  for( size_t i =0 ; i<m_attNames.size(); i++){
101  std::cout << " - "<< m_attNames[i] << std::endl;
102  }
103  }

◆ jetIsolation()

virtual IsolationResult jet::JetIsolation::IsolationCalculator::jetIsolation ( const xAOD::Jet ,
std::vector< jet::ParticlePosition > &   
) const
inlinevirtual

Compute the isolation momentum from jet and jet inputs.

It is assumed the caller has already removed jet constituents from the input list.

Reimplemented in jet::JetIsolation::IsolationCalculatorT< ISOCRITERIA, KINEMATICGETTER >.

Definition at line 60 of file JetIsolationTool.cxx.

60  {
61  return {};
62  }

◆ scheduleKinematicCalculation()

bool jet::JetIsolation::IsolationCalculator::scheduleKinematicCalculation ( const std::string &  kname)
inline

Definition at line 86 of file JetIsolationTool.cxx.

86  {
87  for( size_t i=0; i<4 ;i++){
88  if( s_kname[i]==kname) {
89  m_kinematics.push_back( (Kinematics) i);
90  m_attNames.push_back( baseName()+kname );
91  return true;
92  }
93  }
94  return false;
95  }

Member Data Documentation

◆ m_attNames

std::vector<string> jet::JetIsolation::IsolationCalculator::m_attNames
protected

kinematics isolation vars to be computed

Definition at line 107 of file JetIsolationTool.cxx.

◆ m_kinematics

std::vector<Kinematics> jet::JetIsolation::IsolationCalculator::m_kinematics
protected

Definition at line 106 of file JetIsolationTool.cxx.

◆ s_kname

const string jet::JetIsolation::IsolationCalculator::s_kname = {"SumPt", "Par", "Perp", "P"}
static

names for isolation variables

Definition at line 31 of file JetIsolationTool.cxx.


The documentation for this class was generated from the following file:
jet::JetIsolation::IsolationCalculator::Perp
@ Perp
Definition: JetIsolationTool.cxx:27
jet::JetIsolation::IsolationCalculator::m_kinematics
std::vector< Kinematics > m_kinematics
Definition: JetIsolationTool.cxx:106
get_generator_info.result
result
Definition: get_generator_info.py:21
jet::JetIsolation::IsolationCalculator::P
@ P
Definition: JetIsolationTool.cxx:27
jet::JetIsolation::IsolationCalculator::jetIsolation
virtual IsolationResult jetIsolation(const xAOD::Jet *, std::vector< jet::ParticlePosition > &) const
Compute the isolation momentum from jet and jet inputs.
Definition: JetIsolationTool.cxx:60
jet
Definition: JetCalibTools_PlotJESFactors.cxx:23
lumiFormat.i
int i
Definition: lumiFormat.py:92
jet::JetIsolation::IsolationCalculator::Kinematics
Kinematics
Define the availble isolation variables.
Definition: JetIsolationTool.cxx:26
jet::JetIsolation::IsolationCalculator::SumPt
@ SumPt
Definition: JetIsolationTool.cxx:27
jet::JetIsolation::IsolationCalculator::baseName
virtual string baseName() const
Definition: JetIsolationTool.cxx:50
jet::JetIsolation::IsolationCalculator::Par
@ Par
Definition: JetIsolationTool.cxx:27
jet::JetIsolation::IsolationCalculator::m_attNames
std::vector< string > m_attNames
kinematics isolation vars to be computed
Definition: JetIsolationTool.cxx:107
jet::JetIsolation::IsolationCalculator::s_kname
static const string s_kname[4]
names for isolation variables
Definition: JetIsolationTool.cxx:31