xAOD::Jet_v1 Class Reference

#include <Jet_v1.h>

Inheritance diagram for xAOD::Jet_v1:
xAOD::IParticle SG::AuxElement SG::IAuxElement

List of all members.

Public Types

typedef JetAttribute::AttributeID AttributeID
typedef
JetAttribute::AssoParticlesID 
AssoParticlesID

Public Member Functions

 Jet_v1 ()
 Default constructor.
 Jet_v1 (const Jet_v1 &)
 Constructor with the 4-momentum properties of the jet.
template<>
bool getAttribute (AttributeID type, double &value) const
template<>
bool getAttribute (const std::string &name, double &value) const
template<>
double getAttribute (const std::string &name) const
template<>
void setAttribute (AttributeID type, const double &value)
template<>
void setAttribute (const std::string &name, const double &value)
Additionnal kinematics for jets.



virtual const JetFourMom_tjetP4 () const
 The full 4-momentum of the particle : internal jet type.
float px () const
 The x-component of the jet's momentum.
float py () const
 The y-component of the jet's momentum.
float pz () const
 The z-component of the jet's momentum.
Access signal state

access the various signal states of the jets For now provide the minimum by returning only FourMomentum. Access by the enum to the historical states



JetFourMom_t jetP4 (JetScale s) const
 Access by the enum to the historical states.
JetFourMom_t jetP4 (const std::string &statename) const
 Generic access to states.
void setJetP4 (const JetFourMom_t &p4)
void setJetP4 (JetScale s, const JetFourMom_t &p4)
 Access by the enum to the historical states.
void setJetP4 (const std::string &sname, const JetFourMom_t &p4)
Access to auxiliary data

Functions to retrieve attributes added to jet objects. They concern any attributes (float, vector<float>, 4-momentum,...) except IParticles (for the later see associatedParticles() function below). Access is done by an enum identifier or by string. They internally translate calls using double or vector<double> (ex: getAttribute<double>() ) in calls using float.

  • This guarantees values are saved as float (less disk space)
  • This avoids potential confusions related to retrieving a number as a float or as a double.


template<class T >
bool getAttribute (AttributeID type, T &value) const
 Retrieve attribute moment by enum.
template<class T >
bool getAttribute (const std::string &name, T &value) const
 Retrieve attribute by string.
template<class T >
T getAttribute (const std::string &name) const
 short form : more convenient and compact. Throws an exception if the moment is missing.
template<class T >
T getAttribute (AttributeID type) const
template<class T >
void setAttribute (const std::string &name, const T &v)
template<class T >
void setAttribute (AttributeID type, const T &value)
 Set number by enum.
const BTaggingbtagging () const
 Access to the associated btagging object.
const ElementLink
< BTaggingContainer > & 
btaggingLink () const
 Access to the associated btagging object.
void setBTaggingLink (const ElementLink< BTaggingContainer > &el)
 Access to btagging objects.
Access object or list of associated objects

Special functions to store list of objects are provided. The reason is we want to internally store every object as link (ElementLink). The setter and getter functions thus perform the conversion automatically from the internal format from/to const Object* or vector<const Object*>



template<typename T >
std::vector< const T * > getAssociatedObjects (const std::string &name) const
template<typename T >
std::vector< const T * > getAssociatedObjects (AssoParticlesID type) const
template<typename T >
bool getAssociatedObjects (const std::string &name, std::vector< const T * > &vec) const
template<typename T >
bool getAssociatedObjects (AssoParticlesID type, std::vector< const T * > &vec) const
template<typename T >
void setAssociatedObjects (const std::string &name, const std::vector< const T * > &vec)
template<typename T >
void setAssociatedObjects (AssoParticlesID type, const std::vector< const T * > &vec)
template<typename T >
const TgetAssociatedObject (const std::string &name) const
template<typename T >
const TgetAssociatedObject (AssoParticlesID type) const
template<typename T >
bool getAssociatedObject (const std::string &name, const T *&vec) const
template<typename T >
bool getAssociatedObject (AssoParticlesID type, const T *&vec) const
template<typename T >
void setAssociatedObject (const std::string &name, const T *vec)
template<typename T >
void setAssociatedObject (AssoParticlesID type, const T *vec)
Metadata like information



float getSizeParameter () const
JetAlgorithmType::ID getAlgorithmType () const
JetInput::Type getInputType () const
void setSizeParameter (float p)
void setAlgorithmType (JetAlgorithmType::ID a)
void setInputType (JetInput::Type t)
Access to internal fastjet object. Reserved to expert usage.

Access to the internal fastjet object. CAN RETURN NULL, see the description of m_pseudoJet



const fastjet::PseudoJet * getPseudoJet () const
template<class PSEUDOJET >
void setPseudoJet (const PSEUDOJET *fj)
void toPersistent ()
 Function making sure that the object is ready for persistification.
void reset ()
 workaround some I/O limitations

Protected Attributes

FastJetLinkBasem_fastJetLink

xAOD::IParticle functions



typedef IParticle::FourMom_t FourMom_t
 Definition of the 4-momentum type.
Jet_v1operator= (const Jet_v1 &other)
 Assignment.
virtual double pt () const
 The transverse momentum ($p_T$) of the particle.
virtual double eta () const
 The pseudorapidity ($\eta$) of the particle.
virtual double phi () const
 The azimuthal angle ($\phi$) of the particle.
virtual double m () const
 The invariant mass of the particle.
virtual double e () const
 The total energy of the particle.
virtual double rapidity () const
 The true rapidity (y) of the particle.
virtual const FourMom_tp4 () const
 The full 4-momentum of the particle.
virtual Type::ObjectType type () const
 The type of the object as a simple enumeration.

Jet constituents access

Access to the jet constituents. Constiuents are stored internally as IParticle. getConstituents() returns a special object : JetConstituentVector. The default 4-vectors of the constituents (ex: clusters) possibly differ from the 4-vector used in the jet finding procedure (ex: when find jets with non calibrated "EM scale" clusters). The JetConstituentVector behaves almost exactly as a simple vector<const IParticle*> AND guarantees that the 4-vectors it contains correpond to the 4-vector used at jet finding time. See the JetConstituentVector.h header for more details

A direct access method rawConstituent() is provided for experts usage only. jet finding.



void addConstituent (const ElementLink< IParticleContainer > &link, float weight=1.0)
 Add a constituent directly in the ElementLink format.
void addConstituent (const IParticle *p, float weight=1.0)
JetConstitScale getConstituentsSignalState () const
 The state at which constituents were when this jet was found.
void setConstituentsSignalState (JetConstitScale t)
 Set the state at which constituents were when this jet was found. This function is called by jet builders.
JetConstituentVector getConstituents () const
 Return a vector of consituents. The object behaves like vector<const IParticle*>. See JetConstituentVector.h header for more details.
size_t numConstituents () const
 Number of constituents in this jets (this is valid even when reading a file where the constituents have been removed).
const IParticlerawConstituent (size_t i) const
 Direct access to constituents. *WARNING* expert use only.
const std::vector< ElementLink
< IParticleContainer > > & 
constituentLinks () const
 Direct access to constituents. *WARNING* expert use only.
void setNumConstituents (size_t n)

Detailed Description

Class describing a jet

Jet is a generic class used to represent any "types" of hadronic jet within the Atlas Software. The various "types" of jets include for example jets build from calorimeter cluster or from reconstructed tracks or from truth particle, etc... The Jet class provides 4 main features :

Author:
Pierre-Antoine Delsart <delsart@in2p3.fr>
Attila Krasznahorkay <Attila.Krasznahorkay@cern.ch>
Revision
675972
Date
2015-06-17 15:07:55 +0200 (Wed, 17 Jun 2015)

Constructor & Destructor Documentation

xAOD::Jet_v1::Jet_v1 ( const Jet_v1 o  ) 

Constructor with the 4-momentum properties of the jet.

Copy constructor


Member Function Documentation

void xAOD::Jet_v1::addConstituent ( const IParticle p,
float  weight = 1.0 
)

Add an IParticle as as constituent. Warning ! A link to the *original* container of this particle p will be used internally. Thus one can not persistify correctly constituents from a container in VIEW mode.

const BTagging * xAOD::Jet_v1::btagging (  )  const

Access to the associated btagging object.

Access to btagging objects.

template<typename T >
bool xAOD::Jet_v1::getAssociatedObject ( const std::string &  name,
const T *&  vec 
) const [inline]

get a single associated object returns false if the object is not existing

template<typename T >
const T * xAOD::Jet_v1::getAssociatedObject ( const std::string &  name  )  const [inline]

get a single associated object this compact form throws an exception if the object is not existing

template<typename T >
bool xAOD::Jet_v1::getAssociatedObjects ( const std::string &  name,
std::vector< const T * > &  vec 
) const [inline]

get associated objects as a vector<object> returns false if the object is not existing If internal links are invalid (ex: because of thinning) they replaced by a null pointer AND the function returns false

template<typename T >
std::vector< const T * > xAOD::Jet_v1::getAssociatedObjects ( const std::string &  name  )  const [inline]

get associated objects as a vector<object> this compact form throws an exception if the object is not existing If internal links are invalid (ex: because of thinning) they replaced by a null pointer

template<>
bool xAOD::Jet_v1::getAttribute ( AttributeID  type,
double &  value 
) const [inline]

////////////////////////////// getAttribute specialization for double (convert into float)

Jet_v1 & xAOD::Jet_v1::operator= ( const Jet_v1 other  ) 

Assignment.

Parameters:
other The object from which we're assigning.

We don't copy container/index, as assignment doesn't change where this object is. However, if we have aux data, then we copy aux data if we're copying from an object that also has it; otherwise, if we're copying from an object with no aux data, then we clear ours.

Reimplemented from SG::AuxElement.

float xAOD::Jet_v1::px (  )  const

The x-component of the jet's momentum.

Assuming that when one of px py pz is called the other will be too. So provoke the build of FourMom_t.

template<typename T >
void xAOD::Jet_v1::setAssociatedObject ( const std::string &  name,
const T vec 
) [inline]

set a single associated object T must inherit AuxElement (if T inherits IParticle, objects are stored as IParticle but can still be retrieved as their exact type) returns false if the association failed

template<typename T >
void xAOD::Jet_v1::setAssociatedObjects ( const std::string &  name,
const std::vector< const T * > &  vec 
) [inline]

set associated objects from a vector of arbitrary object. T must inherit AuxElement (if T inherits IParticle, objects are stored as IParticle but can still be retrieved as their exact type) returns false if the association failed

template<>
void xAOD::Jet_v1::setAttribute ( AttributeID  type,
const double &  value 
) [inline]

////////////////////////////// setAttribute specialization for double (convert into float)

template<class PSEUDOJET >
void xAOD::Jet::setPseudoJet ( const PSEUDOJET *  fj  )  [inline]

Set the fast jet pointer. Expert usage only. This function is templated in order to avoid a dependency of xAODJet on fastjet.


Member Data Documentation

Pointer to the fastjet object this jet is build from. WARNING : this pointer is meant to be used in reco flow only. It is transient only, provided only to ease calculation of some jet quantities, and will be invalid for jets read from files.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 1 Dec 2017 for RootCore Packages by  doxygen 1.6.1