#include <Jet_v1.h>
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_t & | jetP4 () 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 | |
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.
| |
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 BTagging * | btagging () 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 T * | getAssociatedObject (const std::string &name) const |
template<typename T > | |
const T * | getAssociatedObject (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. | |
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 | |
FastJetLinkBase * | m_fastJetLink |
xAOD::IParticle functions | |
| |
typedef IParticle::FourMom_t | FourMom_t |
Definition of the 4-momentum type. | |
Jet_v1 & | operator= (const Jet_v1 &other) |
Assignment. | |
virtual double | pt () const |
The transverse momentum () of the particle. | |
virtual double | eta () const |
The pseudorapidity () of the particle. | |
virtual double | phi () const |
The azimuthal angle () 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_t & | p4 () 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 IParticle * | rawConstituent (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) |
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 :
xAOD::Jet_v1::Jet_v1 | ( | const Jet_v1 & | o | ) |
Constructor with the 4-momentum properties of the jet.
Copy constructor
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.
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
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
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
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
bool xAOD::Jet_v1::getAttribute | ( | AttributeID | type, | |
double & | value | |||
) | const [inline] |
////////////////////////////// getAttribute specialization for double (convert into float)
Assignment.
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.
void xAOD::Jet_v1::setAssociatedObject | ( | const std::string & | name, | |
const T * | vec | |||
) | [inline] |
void xAOD::Jet_v1::setAssociatedObjects | ( | const std::string & | name, | |
const std::vector< const T * > & | vec | |||
) | [inline] |
void xAOD::Jet_v1::setAttribute | ( | AttributeID | type, | |
const double & | value | |||
) | [inline] |
////////////////////////////// setAttribute specialization for double (convert into float)
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.
FastJetLinkBase* xAOD::Jet_v1::m_fastJetLink [protected] |
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.