ATLAS Offline Software
Loading...
Searching...
No Matches
JetSubStructureUtils::Charge Class Reference

#include <Charge.h>

Collaboration diagram for JetSubStructureUtils::Charge:

Public Member Functions

 Charge (double k=1.0)
virtual double result (const xAOD::Jet &jet) const

Private Attributes

double m_k

Detailed Description

Definition at line 10 of file Charge.h.

Constructor & Destructor Documentation

◆ Charge()

JetSubStructureUtils::Charge::Charge ( double k = 1.0)
inline

Definition at line 12 of file Charge.h.

12: m_k(k) {};

Member Function Documentation

◆ result()

double Charge::result ( const xAOD::Jet & jet) const
virtual

Definition at line 11 of file Charge.cxx.

12{
13 vector<const xAOD::TrackParticle*> tracks;
14 bool retval = jet.getAssociatedObjects("GhostTrack", tracks);
15 if(!retval) {
16 return -999;
17 }
18
19 double charge = 0;
20 for(unsigned int i=0; i<tracks.size(); i++) {
21 charge += tracks[i]->charge() * pow(tracks[i]->pt(), m_k);
22 }
23 if(jet.pt() == 0) {
24 return -999;
25 }
26 else {
27 charge /= pow(jet.pt(), m_k);
28 }
29
30 return charge;
31}
double charge(const T &p)
Definition AtlasPID.h:997
constexpr int pow(int base, int exp) noexcept
virtual double pt() const
The transverse momentum ( ) of the particle.
Definition Jet_v1.cxx:44
std::vector< const T * > getAssociatedObjects(const std::string &name) const
get associated objects as a vector<object> this compact form throws an exception if the object is not...

Member Data Documentation

◆ m_k

double JetSubStructureUtils::Charge::m_k
private

Definition at line 15 of file Charge.h.


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