ATLAS Offline Software
Loading...
Searching...
No Matches
Jet Class Referenceabstract

#include <Jet.h>

Inheritance diagram for Jet:
Collaboration diagram for Jet:

Public Types

enum  CopyDataMembers {
  CopyNone = 0x0 , CopyMoments = 0x1 , CopyTagInfos = 0x2 , CopyAssociations = 0x4 ,
  CopyConstituents = 0x8 , CopyAll = 0xF
}
 @ brief fine control over what's copied in the various stores and constituents More...
typedef INavigable4MomentumCollection collection_type
 Navigable object collection type (obsolete)
typedef INavigable4Momentum constituent_type
 Navigable object type (obsolete)
typedef navigable_t::object_iter constituent_iterator
 Constituent iterator type (obsolete)
typedef navigable_t::external_index_type index_type
 Constituent index type (obsolete)
typedef INavigable4MomentumCollection collection_t
 Navigable object type.
typedef INavigable4Momentum constituent_t
 Constituent iterator type.
typedef navigable_t::object_iter const_iterator
typedef navigable_t::external_index_type index_t
typedef navigable_t::constituent_coll constituent_coll_t
typedef size_t numconstit_t
typedef JetKeyDescriptor::key_t mkey_t
typedef JetKeyDescriptor::category_t mcat_t
typedef JetMoment::float_t shape_t
typedef JetMomentMap shape_map_t
typedef JetAssociationBase assoc_t
typedef std::vector< const assoc_t * > assostore_t
typedef JetTagInfoBase taginfo_t
typedef std::vector< const taginfo_t * > tagstore_t
typedef CLHEP::HepLorentzVector hlv_t
typedef I4Momentum fourmom_t
typedef P4SignalState::State signalstate_t
typedef P4SignalState statename_t
typedef double(Jet::* GET_VALUE) () const
typedef void(Jet::* SET_VALUE) (double v)
typedef Navigable< INavigable4MomentumCollection, double > navigable_type
 publish the type of the base class (ie: 'traits-itize' it)
typedef P4ImplPxPyPzE momentum_type
 publish the type of the base class (ie: 'traits-itize' it)
typedef ParticleEvent::Base particle_type
 publish the type of the base class (ie: 'traits-itize' it)
typedef ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Baseself_type
 publish the type of the base class (ie: 'traits-itize' it)
typedef P4SignalState::State state_t
enum  Kind {
  P4EETAPHIM , P4IPTCOTTHPHIM , P4PTETAPHIM , P4PXPYPZE ,
  UNKNOWN
}

Public Member Functions

 Jet ()
 Default constructor.
 Jet (const collection_t *pColl, const constituent_t *pConst, double wght=1.0)
 Construction from storable object.
 Jet (const collection_t *pColl, index_t ind, double wght=1.0)
 Construction from storable object.
 Jet (const fourmom_t *pMom)
 Construction from I4Momentum type.
 Jet (const fourmom_t &rMom)
 Construction from I4Momentum type.
 Jet (const hlv_t &rVec)
 Construction from CLHEP::HepLorentzVector type.
 Jet (double px, double py, double pz, double e)
 Construction from data.
 Jet (const Jet *pJet)
 Copy constructor.
 Jet (const Jet *pJet, bool copyStores, bool copyConstituents)
 Copy constructor, controlling copies of internals.
 Jet (const Jet &rJet)
 Copy constructor using reference.
 Jet (const Jet *pJet, CopyDataMembers cdm0, CopyDataMembers cdm1=CopyNone, CopyDataMembers cdm2=CopyNone, CopyDataMembers cdm3=CopyNone)
 constructor, with finer controlling of copies of internals, two conventions possible, either do c-style bool | bool [ | bool ] or give [1-4] enums.
virtual Jetclone () const
 clone method : do not clone stores and constituent
virtual Jetclone (bool copyStores, bool copyConstituents=true) const
 clone method : do not clone stores and constituent
virtual ~Jet ()
 Destructor.
const shape_map_tgetMomentMap () const
std::string getMomentMapName () const
virtual void setupKine (const hlv_t &v)
virtual void setE (double e)
 Kinematics are now handled by the base class, except for the following.
virtual void setPx (double Px)
virtual void setPy (double py)
virtual void setPz (double pz)
virtual void setE (double e, signalstate_t s)
virtual void setPx (double Px, signalstate_t s)
virtual void setPy (double py, signalstate_t s)
virtual void setPz (double pz, signalstate_t s)
virtual double ei () const
virtual double pxi () const
virtual double pyi () const
virtual double pzi () const
virtual double pti () const
void setPxPyPzE (double px, double py, double pz, double e)
 compatibility with analysis EDM
void setPtEtaPhiE (double a, double b, double c, double d)
void setPtEtaPhiM (double a, double b, double c, double d)
void setEEtaPhiM (double a, double b, double c, double d)
void setP (const hlv_t &rVec)
 (obsolete) set all 4-mom from CLHEP CLHEP::HepLorentzVector
hlv_t constituent_sum4Mom () const
 Sum of weighted constituent four-momentums.
hlv_t constituent_sum4Mom (signalstate_t s) const
 Sum of weighted constituent four-momentums, with SignalState.
void scale_momentum (double scale_factor)
 scale the jet 4mom by scale_factor
Jetget_scaled_copy (double scale_factor) const
 return a NEW copy of this jet with 4mom scaled
bool addConstituent (const collection_t *pColl, const constituent_t *pConst, double wght=1.0)
 Add a constituent with optional kinematic weight.
bool addConstituent (const collection_t *pColl, index_t ind, double wght=1.0)
 Add a constituent with optional kinematic weight.
bool addConstituent (const collection_t *pColl, index_t ind, size_t sizeHint, bool noKine, double wght=1.0)
 Add a constituent with optional kinematic weight Also allows passing in a size hint, and disabling recalculation of kinematics.
bool removeConstituent (const constituent_t *pConst)
 Remove a constituent.
bool removeConstituent (const collection_t *pColl, index_t ind)
 Remove a constituent.
bool removeConstituent (bool reset=false)
 Remove all constituents.
bool addJet (const Jet *pJet, double wght=1.0)
 Add a jet.
bool reweight (const constituent_t *pConst, double wght)
 Change kinematic weight of constituent.
bool reweight (const collection_t *pColl, index_t ind, double wght)
 Change kinematic weight of constituent.
bool cleanUp ()
 Remove all constituents with kinematic weight = 0.
numconstit_t constituentsN () const
 Number of constituents in jet.
void setConstituentsN (numconstit_t n)
 Set number of constituents in jet.
const_iterator firstConstituent () const
 (obsolete) begin iterator for constituent store
const_iterator lastConstituent () const
 (obsolere) end iterator for constituent store
const_iterator begin () const
 Begin iterator for constituent store.
const_iterator end () const
 End iterator for constituent store.
size_t size () const
 Size of constituent store.
bool contains (const constituent_t *pConst) const
 Check on containment.
bool contains (const collection_t *pColl, index_t ind) const
 Check on containment.
double getWeight (const constituent_t *pConst) const
 Retrieve kinematic weight of constituent.
double getWeight (const collection_t *pColl, index_t ind) const
 Retrieve kinematic weight of constituent.
double getWeight (const_iterator fConst) const
 Retrieve kinematic weight of constituent.
virtual void fillToken (INavigationToken &navToken) const
 Object navigation support, no relational parameter.
virtual void fillToken (INavigationToken &navToken, const std::any &par) const
 Object navigation support, relational parameter.
const collection_tgetContainer (const constituent_t *pConst) const
 Retrieve pointer to constituent object container.
const collection_tgetContainer (const_iterator fConst) const
 Retrieve pointer to constituent object container.
bool getIndex (const constituent_t *pConst, index_t &ind) const
 Retrieve index of object in container.
bool getIndex (const_iterator fConst, index_t &ind) const
 Retrieve index of object in container.
bool isIdentical (const Jet &rJet) const
 Test if Jet is identical to given Jet.
bool isIdentical (const Jet *pJet) const
 Test if Jet is identical to given Jet.
JetgetOverlap (const Jet &rJet, bool noKine=false) const
 Retrieve constituent overlap between jets.
JetgetOverlap (const Jet *pJet, bool noKine=false) const
 Retrieve constituent overlap between jets.
void setShape (const mkey_t &shapeName, shape_t shape, bool addIfMissing=true) const
 Set shape variable.
shape_t getShape (const mkey_t &shapeName, bool addIfMissing=false) const
 Retrieve shape variable.
std::vector< mkey_tgetShapeKeys () const
 Retrieve list of avalailable keys.
void setMoment (const mkey_t &shapeName, shape_t shape, bool addIfMissing=true) const
 Alias for setShape.
shape_t getMoment (const mkey_t &shapeName, bool addIfMissing=false) const
 Alias for getShape.
std::vector< mkey_tgetMomentKeys () const
 Alias for getShapeKeys.
template<typename T>
get (const std::string &mName) const
 Compatibility with JetAnalysisEDM.
template<typename T>
void set (const std::string &mName, const T &v) const
template<typename ASSOC>
const ASSOC * getAssociation (const mkey_t &key, bool useLink=true) const
 Retrieve association object.
const std::vector< mkey_t > & getAssociationKeys () const
const assoc_tgetAssociationBase (const mkey_t &key) const
template<class T>
void setAssociation (const T *pAssoc, bool useLink=false)
 Set association object.
void removeAssociation (const mkey_t &key)
 remove and DELETE association object.
template<typename TAGINFO>
const TAGINFO * getTagInfo (const mkey_t &key, bool useLink=true) const
 Retrieve tag info object.
void setTagInfo (const mkey_t &key, const taginfo_t *pTagInfo, bool useLink=false)
 Set tag info object.
const tagstore_t jetTagInfoVector () const
 (depreciated) Retrieve vector of tag infos
const std::vector< mkey_tinfoKeys () const
 (depreciated) list of tag info keys
const taginfo_ttagInfo (const mkey_t &key) const
 Retrieve tag info object.
template<class TAGINFO>
const TAGINFO * tagInfo (const mkey_t &key) const
 Retrieve a concrete tag info object.
template<class TAGINFO>
void addInfo (const TAGINFO *tag)
 Add tag info object.
void removeInfo (const mkey_t &key)
 (depreciated) Remove tag info object
double getFlavourTagWeight () const
 get the final b-tag result from the default tagger
double getFlavourTagWeight (const std::string &infoName) const
 get the final b-tag result from a specific tagger
signalstate_t constituentSignalState () const
 Get the current Signal state of the jet constituents.
void setConstituentSignalState (signalstate_t s)
 Set the current Signal state of the jet constituents.
bool has_calibrated_constit () const
 True if the jet constituent have a calibrated signal state.
bool finalScaleEqualsEMScale () const
 True if JETFINAL state equals JETEMSCALE state within 0.1 MeV on each E,px,pypz components.
unsigned int RoIword () const
 Return the RoI Word.
bool set_RoIword (unsigned int word)
 set RoI Word
bool operator== (const Jet &rJet) const
 Comparison operator.
bool operator== (const Jet *pJet) const
 Comparison operator.
bool operator!= (const Jet &rJet) const
 Comparison operator.
bool operator!= (const Jet *pJet) const
 Comparison operator.
Jetoperator= (const Jet &rJet)
 Assignment operator.
MsgStream & operator<< (MsgStream &out)
 Output operator.
std::string str ()
 Jet print-out function.
void setRawE (double e)
 Sets uncalibrated \( E \).
void setRawPx (double px)
 Sets uncalibrated \( p_x \).
void setRawPy (double py)
 Sets uncalibrated \( p_y \).
void setRawPz (double pz)
 Sets uncalibrated \( p_z \).
void setCScaleE (double e)
 Sets uncalibrated \( E \).
void setCScalePx (double px)
 Sets uncalibrated \( p_x \).
void setCScalePy (double py)
 Sets uncalibrated \( p_y \).
void setCScalePz (double pz)
 Sets uncalibrated \( p_z \).
void setCalE (double e)
 Sets calibrated \( E \).
void setCalPx (double px)
 Sets calibrated \( p_x \).
void setCalPy (double py)
 Sets calibrated \( p_y \).
void setCalPz (double pz)
 Sets calibrated \( p_z \).
double getRawE () const
double getRawPx () const
double getRawPy () const
double getRawPz () const
double getCScaleE () const
double getCScalePx () const
double getCScalePy () const
double getCScalePz () const
double getCalE () const
double getCalPx () const
double getCalPy () const
double getCalPz () const
size_t id () const
 Index category for jet shapes.
const JetCollectionparentCollection () const
 a pointer to the collection this jet belongs to (can be NULL)
std::string jetAuthor () const
 Author and calibration history are encoded in a simple way inside the jet object.
std::string jetAuthorAndCalibTags () const
 Retrieve the full author-and-tag string of this Jet.
void setJetAuthor (const std::string &author)
 Set author of this Jet (only the author, tags unchanged)
void setJetAuthorAndCalibTags (const std::string &author)
 Set the full author-and-tag string.
bool hasCalibTag (const std::string &tag) const
 test if jet has calib tag tag
int numCalibTag () const
 number of calib tags for this jet
std::string getCalibTag (int i) const
 retrieve calib tag number i (start at 1).
void addCalibTag (const std::string &tag)
 set calib tag tag must be of the form "AAA"
std::vector< double > combinedLikelihood () const
 (depreciated) Likelihood store access
void setCombinedLikelihood (const std::vector< double > &combinedLikelihood)
 (depreciated) Likelihood store setter
const fastjet::PseudoJet * fastjetPtr () const
 Access to the internal fastjet object. CAN RETURN NULL, see the description of m_pseudoJet.
void setFastjetPtr (const fastjet::PseudoJet *fj)
const navigable_typenavigableBase () const
 access to underlying base type (INavigable-like)
const momentum_typemomentumBase (state_t s) const
 access to underlying base type (I4Momentum-like)
const particle_typeparticleBase () const
 access to underlying base type (IParticle-like)
virtual CLHEP::HepLorentzVector hlv (P4SignalState::State s) const =0
 obtain the CLHEP HepLorentzVector
virtual void set4Mom (const I4Momentum &p4)
 set 4Momentum (will throw exception if cannot be implemented)
virtual void set4Mom (const I4Momentum *const theI4Mom)=0
 set 4Momentum (will throw exception if cannot be implemented)
virtual void set4Mom (const CLHEP::HepLorentzVector &theHlv)=0
 set 4Momentum (will throw exception if cannot be implemented)
virtual void set_dataType (ParticleDataType::DataType x)
virtual void set_charge (ChargeType x)
virtual void set_pdgId (int x)
virtual void set_origin (const VxContainer *theContainer, int index)
virtual state_t signalState () const
 Retrieve current signal state.
virtual bool hasSignalState (state_t s) const
 check if signal state exists for current implementation
virtual bool isAtSignalState (state_t s) const
 check if we are at the passed state
AthenaBarCode_t getAthenaBarCode () const
void setAthenaBarCode (AthenaBarCode_t)
bool hasSameAthenaBarCode (const IAthenaBarCode &) const
bool hasSameAthenaBarCodeExceptVersion (const IAthenaBarCode &) const
AthenaBarCodeVersion_t getVersion () const
void newVersion ()
void setVersion (AthenaBarCodeVersion_t newversion)
virtual double px () const
 We re-define here extra class routines that will allow direct access to signal state kinematics without changing the current state.
virtual double py () const
 y component of momentum
virtual double pz () const
 z component of momentum
virtual double m () const
 mass
virtual double m2 () const
 mass squared
virtual double p () const
 mass momentum magnitude
virtual double p2 () const
 square of momentum magnitude
virtual double rapidity () const
 rapidity
virtual double eta () const
 pseudo rapidity
virtual double phi () const
 phi in [-pi,pi[
virtual double e () const
 energy
virtual double et () const
 transverse energy defined to be e*sin(theta)
virtual double pt () const
 transverse momentum
virtual double iPt () const
 inverse of transverse momentum
virtual double cosPhi () const
 cosinus phi
virtual double sinPhi () const
 sinus phi
virtual double tanTh () const
 tan theta
virtual double cosTh () const
 cosinus theta
virtual double sinTh () const
 sinus theta
virtual double cotTh () const
 cottan theta
virtual CLHEP::HepLorentzVector hlv () const
 CLHEP HepLorentzVector.
virtual const I4MomentumErrorerrors () const
 Access to errors, if available; returns 0 if no errors.
virtual I4Momentum::Kind kind () const
 add Kind which tells what kind (P4XYZ) the underlying implementation has
virtual std::ostream & dump (std::ostream &out) const
 Print I4Momentum content.
virtual ParticleDataType::DataType dataType () const
 Return enum indicating real data, fast, or full simulation Return Type has a DataType enum with the following values: {Data = 0, Full = 1, FastShower = 2, Fast = 3, True = 4}.
virtual const Trk::RecVertexorigin () const
 Return a RecVertex corresponding to particle Origin.
virtual const ElementLink< VxContainer > & originLink () const
 Return an ElementLink corresponding to particle's Origin.
virtual bool hasCharge () const
 method to check if charge information is available
virtual ChargeType charge () const
 returns charge as a typedef ChargeType currently Charge Type is a double for jets this may be changed to an int and ask jets to extend this interface
virtual bool hasPdgId () const
 method to check if particle id information is available
virtual int pdgId () const
 Return particle id.

Static Public Member Functions

static bool nullOp (const constituent_type *)
 defaul function for preProcessConstituent and postProcessConstituent

Static Public Attributes

static const AthenaBarCode_t UNDEFINEDBARCODE = (AthenaBarCode_t)(-1)
static const AthenaBarCode_t UNDEFINEDVERSION = UNDEFINEDBARCODE

Protected Member Functions

void setup (const hlv_t &v)
void copy_from_jet (const Jet *pjet, CopyDataMembers cdm0, CopyDataMembers cdm1=CopyNone, CopyDataMembers cdm2=CopyNone, CopyDataMembers cdm3=CopyNone)
const shape_map_tgetMomentMap (bool addIfMissing) const
void putElement (const collection_t *pColl, const constituent_t *pConst, double wght=1.0, size_t sizeHint=0)
 Add element with checking.
void putElement (const collection_t *pColl, index_t ind, double wght=1.0, size_t sizeHint=0)
 Add element with checking.
void insertElement (const collection_t *pColl, const constituent_t *pConst, double wght=1.0, size_t sizeHint=0)
 insert element without checking
void insertElement (const collection_t *pColl, index_t ind, double wght=1.0, size_t sizeHint=0)
 insert element without checking
bool remove (const constituent_t *pConst)
 Remove constituent.
bool remove (const collection_t *pColl, index_t ind)
bool remove ()
double getParameter (const constituent_t *pConst) const
 Retrieve weight.
double getParameter (const collection_t *pColl, index_t ind) const
 Retrieve weight.
double getParameter (const_iterator fConst) const
 Retrieve weight.
JetKeyDescriptorInstancekeyDesc () const
void setJetId (size_t id)
template<typename STORE>
bool checkKeyStore (const mcat_t &cat, const mkey_t &key, const STORE *store, size_t &aInd) const
 Check key validity.
template<typename STORE>
bool checkKeyStore (const mcat_t &cat, const mkey_t &key, STORE *&store, size_t &aInd, bool createIfMissing) const
 Check key validity with automatic store generation.
bool checkKey (const mcat_t &cat, const mkey_t &key, size_t &aInd, bool createIfMissing) const
template<typename OBJ, class STORE>
const OBJ * getObject (const mkey_t &key, const STORE *store, const mcat_t &cat) const
 Get object from store with category and key.
template<typename DATA, class STORE>
bool getData (const mkey_t &key, STORE *store, const mcat_t &cat, DATA &data, bool createIfMissing) const
 Get data from store with category and key.
virtual bool setSignalState (state_t s)
 set the current signal state
virtual void resetSignalState ()
 reset the signal state
std::vector< P4ImplPxPyPzE > & momentumVector ()
 access the vector of momentum
int nStates ()
 access the number of state
void setNStates (int n)

Protected Attributes

numconstit_t m_constituentsN
size_t m_jetId
 the identifier of this jet within its collection.
const JetCollectionm_collection
 Shape store link.
size_t m_jetAuthor
 Jet author store.
assostore_tm_assocStore
 key descriptor for all jet stores
tagstore_tm_tagInfoStore
 Tag info store.
signalstate_t m_constituentSigState
 Constituent Signal State.
const fastjet::PseudoJet * m_pseudoJet
 Pointer to the fastjet object this jet is build from.

Static Protected Attributes

static const size_t s_defaultJetId = 0
static const size_t s_defaultJetAuthor = 0

Private Types

typedef ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Basebase_t
 Internally used base type mixes particle/navigable/four-momentum interfaces with correct implementation.
typedef base_t::navigable_type navigable_t
 Navigable implementation type.
typedef base_t::momentum_type momentum_t
 Four-momentum implementation type.
typedef base_t::particle_type particle_t
 Patricle implementation type.

Private Member Functions

void removeAssociation (size_t index)
 Fill a token with association objects.
void removeInfo (unsigned int index)
 Remove tag info for object located at index (internal)
virtual void updateKine (const constituent_t *pConst, double wght=1.0)
 Updates Jet kinematics.
virtual void updateKine (const hlv_t &pVec, double wght=1.0)
 Updates Jet kinematics.
virtual void updateKine ()
 Resummation of kinematics from constituents.

Private Attributes

unsigned int m_RoIword
size_t m_num_combinedLikelihood
Navigable< INavigable4MomentumCollection, double > m_nav
 The navigable part.
std::vector< P4ImplPxPyPzEm_mom
 The 4-momentum part Eventually, perhaps we can use a set since not all intermediate Signal States will be used by every object.
ParticleEvent::Base m_part
 The particle-id part.
int m_nStates
 Number of Signal States.
state_t m_currentState
 Current Signal State.

Static Private Attributes

static const double m_ignoreWeight = 1.0e-06
 Maximum difference up to which weights are considered equal.

Friends

template<class PERS>
class JetConverterBase
class JetCollection
class JetSignalStateHelper
 Set signal state through a friend.
class JetCollSigStateHelper
class JetAssociationBase
class JetTagInfoBase
class ParticleJetCnv_p1
class JetCnv_p1
class JetCnv_p2
class JetCnv_p3
class JetCnv_p4
class JetCollectionCnv_p6

Detailed Description

Basic data class defines behavior for all Jet objects
The Jet class is the principal data class for all reconstructed jets,
independent of the signal course. It describes a navigable composite
reconstruction objects with with a four-momentum representation consistent
with all other reconstruction objects. Its constituents are referenced as
generic INavigable4Momentum types.

All Jet objects hold stores for constituents, shape information,
tagging information, and general associations to other reconstruction
objects. These stores are constructed empty, except for the constituent
store if a (pointer) reference to a storable constituent object is given
to the Jet constructor.

The Jet can be constructed without constituents from just four-momentum
using the CLHEP::HepLorentzVector or the I4Momentum representation, or just
a sequence of four variables corresponding to the momentum components and
the energy.

The default signal state of a Jet depends on where it comes from. If the Jet is retreived from a persistent store (e.g, ESD or AOD), the default signal state is CALIBRATED. If the @ Jet is just constructed in transient memory, its initial (and default) signal state is UNCALIBRATED. If a Jet is a copy of another Jet, its default signal state is the same as the original.

Author
Peter Loch loch@.nosp@m.phys.nosp@m.ics.a.nosp@m.rizo.nosp@m.na.ed.nosp@m.u,
Ambreesh Gupta Ambre.nosp@m.esh..nosp@m.Gupta.nosp@m.@cer.nosp@m.n.ch,
Rolf Seuster Rolf..nosp@m.Seus.nosp@m.ter@c.nosp@m.ern..nosp@m.ch
Date
April 10, 2004 - first implementation after re-design meetings
May 24, 2004 - added constructors for Jets with 4-momentum and
no constitents
Feb. 11, 2008 - new EDM, new inheritance structure and
including information for b-tagging
Feb. 16, 2008 - added signal states and clean-up

Definition at line 45 of file Reconstruction/Jet/JetEvent/JetEvent/Jet.h.

Member Typedef Documentation

◆ assoc_t

◆ assostore_t

typedef std::vector<const assoc_t*> Jet::assostore_t

Definition at line 126 of file Reconstruction/Jet/JetEvent/JetEvent/Jet.h.

◆ base_t

Internally used base type mixes particle/navigable/four-momentum interfaces with correct implementation.

Definition at line 72 of file Reconstruction/Jet/JetEvent/JetEvent/Jet.h.

◆ collection_t

◆ collection_type

Navigable object collection type (obsolete)

Warning
Depreciated type, do not use anymore! Will be removed soon!

Definition at line 86 of file Reconstruction/Jet/JetEvent/JetEvent/Jet.h.

◆ const_iterator

◆ constituent_coll_t

◆ constituent_iterator

Constituent iterator type (obsolete)

Warning
Depreciated type, do not use anymore! Will be removed soon!

Definition at line 96 of file Reconstruction/Jet/JetEvent/JetEvent/Jet.h.

◆ constituent_t

Constituent iterator type.

Definition at line 106 of file Reconstruction/Jet/JetEvent/JetEvent/Jet.h.

◆ constituent_type

Navigable object type (obsolete)

Warning
Depreciated type, do not use anymore! Will be removed soon!

Definition at line 91 of file Reconstruction/Jet/JetEvent/JetEvent/Jet.h.

◆ fourmom_t

◆ GET_VALUE

typedef double(Jet::* Jet::GET_VALUE) () const

Definition at line 138 of file Reconstruction/Jet/JetEvent/JetEvent/Jet.h.

◆ hlv_t

typedef CLHEP::HepLorentzVector Jet::hlv_t

Definition at line 133 of file Reconstruction/Jet/JetEvent/JetEvent/Jet.h.

◆ index_t

◆ index_type

Constituent index type (obsolete)

Warning
Depreciated type, do not use anymore! Will be removed soon!

Navigable object collection type

Definition at line 101 of file Reconstruction/Jet/JetEvent/JetEvent/Jet.h.

◆ mcat_t

◆ mkey_t

◆ momentum_t

Four-momentum implementation type.

Definition at line 77 of file Reconstruction/Jet/JetEvent/JetEvent/Jet.h.

◆ momentum_type

publish the type of the base class (ie: 'traits-itize' it)

Definition at line 55 of file ParticleSigStateImpl.h.

◆ navigable_t

Navigable implementation type.

Definition at line 75 of file Reconstruction/Jet/JetEvent/JetEvent/Jet.h.

◆ navigable_type

publish the type of the base class (ie: 'traits-itize' it)

Definition at line 51 of file ParticleSigStateImpl.h.

◆ numconstit_t

typedef size_t Jet::numconstit_t

Definition at line 112 of file Reconstruction/Jet/JetEvent/JetEvent/Jet.h.

◆ particle_t

Patricle implementation type.

Definition at line 79 of file Reconstruction/Jet/JetEvent/JetEvent/Jet.h.

◆ particle_type

publish the type of the base class (ie: 'traits-itize' it)

Definition at line 59 of file ParticleSigStateImpl.h.

◆ self_type

publish the type of the base class (ie: 'traits-itize' it)

Definition at line 65 of file ParticleSigStateImpl.h.

◆ SET_VALUE

typedef void(Jet::* Jet::SET_VALUE) (double v)

Definition at line 139 of file Reconstruction/Jet/JetEvent/JetEvent/Jet.h.

◆ shape_map_t

◆ shape_t

◆ signalstate_t

◆ state_t

◆ statename_t

◆ taginfo_t

◆ tagstore_t

typedef std::vector<const taginfo_t*> Jet::tagstore_t

Definition at line 130 of file Reconstruction/Jet/JetEvent/JetEvent/Jet.h.

Member Enumeration Documentation

◆ CopyDataMembers

@ brief fine control over what's copied in the various stores and constituents

Enumerator
CopyNone 
CopyMoments 
CopyTagInfos 
CopyAssociations 
CopyConstituents 
CopyAll 

Definition at line 145 of file Reconstruction/Jet/JetEvent/JetEvent/Jet.h.

◆ Kind

enum I4Momentum::Kind
inherited
Enumerator
P4EETAPHIM 
P4IPTCOTTHPHIM 
P4PTETAPHIM 
P4PXPYPZE 
UNKNOWN 

Definition at line 33 of file I4Momentum.h.

Constructor & Destructor Documentation

◆ Jet() [1/11]

Jet::Jet ( )

Default constructor.

@detail Default constructor instantiates empty Jet object without any constituents and with \( P_{jet} = \left(p_x,p_y,p_z,E\right) = (0,0,0,0) \).

@detail Construct a Jet from a INavigable4Momentum object referenced by the pointer to the storable object collection and the pointer to the object.

Parameters
[in]pCollpointer to storable object collection of type INavigable4MomentumContainer
[in]pConstpointer to constituent object of type INavigable4Momentum
[in]wghtoptional kinematic weight of constituent, default 1 @detail Construct a Jet from a INavigable4Momentum object referenced by the pointer to the storable object collection and the index of the object in the collection.
[in]pCollpointer to storable object collection of type INavigable4MomentumContainer
[in]indindex of type size_t referencing the INavigable4Momentum object in its container.
[in]wghtoptional kinematic weight of constituent, default 1 @detail Constructs an empty Jet object without any constituents and with an initial four-momentum given by a $c I4Momentum (base) typed reconstruction object.
[in]pMompointer to an object with I4Momentum interface @detail Constructs an empty Jet object without any constituents and with an initial four-momentum given by a $c I4Momentum (base) typed reconstruction object.
[in]rMomreference to an object with I4Momentum interface @detail Constructs an empty Jet object without any constituents and with an initial four-momentum given by a $c CLHEP::HepLorentzVector typed reconstruction object.
[in]rVecreference to an object with CLHEP::HepLorentzVector interface @detail Constructs an empty Jet object without any constituents and with an initial four-momentum given by a list of numbers representing a four-momentum.
[in]px\( p_x \)
[in]py\( p_y \)
[in]pz\( p_z \)
[in]e\( e \) @detail Constructs a copy of a given Jet object.
[in]pJetpointer to a Jet object @detail Constructs a copy of a given Jet object.
[in]aJet object

Definition at line 98 of file Jet.cxx.

99 : base_t(3, signalstate_t(1)),
101
102{
103 this->setup(hlv_t(0.,0.,0.,0.));
104}
105
106
118Jet::Jet(const collection_t* pColl,
119 const constituent_t* pConst,
120 double wght)
121 : base_t(3, signalstate_t(1)),
123{
124
125 this->setup(hlv_t(0.,0.,0.,0.));
126 this->addConstituent(pColl,pConst,wght);
127}
128
140Jet::Jet(const collection_t* pColl,index_t ind,double wght)
141 : base_t(3, signalstate_t(1)),
143 this->setup(hlv_t(0.,0.,0.,0.));
144 this->addConstituent(pColl,ind,wght);
145}
146
147
154Jet::Jet(const fourmom_t* pMom)
155 : base_t(3, signalstate_t(1)),
157 this->setup(hlv_t(pMom->px(),pMom->py(),pMom->pz(),pMom->e()));
158}
159
166Jet::Jet(const fourmom_t& rMom)
167 : base_t(3, signalstate_t(1)),
169 this->setup(hlv_t(rMom.px(),rMom.py(),rMom.pz(),rMom.e()));
170}
177Jet::Jet(const hlv_t& rVec)
178 : base_t(3, signalstate_t(1)),
180{
181 this->setup(rVec);
182}
192Jet::Jet(double px, double py, double pz, double e)
193 : base_t(3, signalstate_t(1)),
195{
196 this->setup(hlv_t(px,py,pz,e));
197}
202Jet::Jet(const Jet* pJet)
203 : base_t((const base_t) *pJet) ,
205{
206
207 copy_from_jet( pJet, CopyAll);
208
209}
210
211// constructor with arguements
212Jet::Jet(const Jet* pJet, bool copyStores, bool copyConstituents)
213 : base_t( (const base_t) *pJet),
215{
216
217 CopyDataMembers cmd0 = CopyDataMembers ( copyStores ?
218 ( CopyMoments | CopyAssociations | CopyTagInfos ) : CopyNone ) ;
219
220 CopyDataMembers cmd1 = CopyDataMembers ( copyConstituents ? CopyConstituents : CopyNone ) ;
221
222 //std::cout <<"Jet copyStores:"<< copyStores << " "<< cmd0 << "| copyConstituents:"<<copyConstituents<< " "<< cmd1<< " size ="<< this->size() <<std::endl;
223
224 copy_from_jet( pJet, cmd0 , cmd1);
225}
226
227// constructor with arguements
228Jet::Jet(const Jet* pJet,
229 CopyDataMembers cmd0, CopyDataMembers cmd1,
230 CopyDataMembers cmd2, CopyDataMembers cmd3)
231 : base_t( (const base_t) *pJet ),
233{
234 copy_from_jet( pJet, cmd0 , cmd1, cmd2, cmd3 );
235}
236
241
242Jet::Jet(const Jet& rJet)
243 : IAthenaBarCode(),
244 INavigable(),
245 I4Momentum(),
247 base_t(rJet),
249{
250 copy_from_jet(&rJet, CopyAll);
251}
252
253void Jet::setup(const hlv_t& v)
254{
255
256 this->setupKine(v);
257
258}
#define JET_CONSTRUCTOR_BASE
Definition Jet.cxx:82
I4Momentum is an abstract base class providing 4-momentum behavior.
Definition I4Momentum.h:31
CLHEP::HepLorentzVector hlv_t
P4SignalState::State signalstate_t
Jet()
Default constructor.
Definition Jet.cxx:98
void setup(const hlv_t &v)
virtual void setupKine(const hlv_t &v)
Definition Jet.cxx:889
INavigable4Momentum constituent_t
Constituent iterator type.
INavigable4MomentumCollection collection_t
Navigable object type.
ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Base > base_t
Internally used base type mixes particle/navigable/four-momentum interfaces with correct implementati...
bool setup(asg::AnaToolHandle< Interface > &tool, const std::string &type, const std::vector< std::string > &config, const std::string &progressFile="")
mostly useful for athena, which will otherwise re-use the previous tool

◆ Jet() [2/11]

Jet::Jet ( const collection_t * pColl,
const constituent_t * pConst,
double wght = 1.0 )

Construction from storable object.

◆ Jet() [3/11]

Jet::Jet ( const collection_t * pColl,
index_t ind,
double wght = 1.0 )

Construction from storable object.

◆ Jet() [4/11]

Jet::Jet ( const fourmom_t * pMom)

Construction from I4Momentum type.

◆ Jet() [5/11]

Jet::Jet ( const fourmom_t & rMom)

Construction from I4Momentum type.

◆ Jet() [6/11]

Jet::Jet ( const hlv_t & rVec)

Construction from CLHEP::HepLorentzVector type.

◆ Jet() [7/11]

Jet::Jet ( double px,
double py,
double pz,
double e )

Construction from data.

◆ Jet() [8/11]

Jet::Jet ( const Jet * pJet)

Copy constructor.

◆ Jet() [9/11]

Jet::Jet ( const Jet * pJet,
bool copyStores,
bool copyConstituents )

Copy constructor, controlling copies of internals.

◆ Jet() [10/11]

Jet::Jet ( const Jet & rJet)

Copy constructor using reference.

◆ Jet() [11/11]

Jet::Jet ( const Jet * pJet,
CopyDataMembers cdm0,
CopyDataMembers cdm1 = CopyNone,
CopyDataMembers cdm2 = CopyNone,
CopyDataMembers cdm3 = CopyNone )

constructor, with finer controlling of copies of internals, two conventions possible, either do c-style bool | bool [ | bool ] or give [1-4] enums.

◆ ~Jet()

Jet::~Jet ( )
virtual

Destructor.

@detail The Jet destructor destroys the association and tag info stores, if they have ever been created.

It does not destroy the objects in these stores, though. These should be referenced through an @C ElementLink only, i.e, owned by their own collections, or owned by any other data object.

NOTE: Above is not true at the moment. Jet does own the referenced objects. This should change once split store is implemented.

Definition at line 368 of file Jet.cxx.

369{
370 // FIXME jet owns stores for right now
371
372 if( m_jetId != s_defaultJetId){
373 // we may have an entry in a moment map
374 // and need to remove ourselves from the map
375 const shape_map_t *map = getMomentMap();
376 if(map) map->removeRecord( m_jetId );
377 }
378
379 if ( m_assocStore != nullptr ) {
380 for (size_t i = 0; i < m_assocStore->size(); i++)
381 delete (*m_assocStore)[i];
382 delete m_assocStore;
383 }
384 if ( m_tagInfoStore != nullptr ) {
385 for (size_t i = 0; i < m_tagInfoStore->size(); i++)
386 delete (*m_tagInfoStore)[i];
387 delete m_tagInfoStore;
388 }
389
390}
size_t m_jetId
the identifier of this jet within its collection.
tagstore_t * m_tagInfoStore
Tag info store.
static const size_t s_defaultJetId
const shape_map_t * getMomentMap() const
Definition Jet.cxx:1173
assostore_t * m_assocStore
key descriptor for all jet stores

Member Function Documentation

◆ addCalibTag()

void Jet::addCalibTag ( const std::string & tag)

set calib tag tag must be of the form "AAA"

Definition at line 1159 of file Jet.cxx.

1159 {
1160 std::string full_auth = keyDesc()->getKey(JetKeyConstants::InfoCat,m_jetAuthor);
1161 full_auth +="_"+tag;
1163}
size_t getIndex(const category_t &cat, const key_t &key, bool createIfMissing=true)
const key_t & getKey(const category_t &cat, size_t index) const
size_t m_jetAuthor
Jet author store.
JetKeyDescriptorInstance * keyDesc() const
Definition Jet.cxx:788
static const key_t InfoCat
Index category for general jet info.

◆ addConstituent() [1/3]

bool Jet::addConstituent ( const collection_t * pColl,
const constituent_t * pConst,
double wght = 1.0 )

Add a constituent with optional kinematic weight.

@detail This method adds a constituent referenced by a pointer to its storable container and a pointer to itself to a Jet.

The Jet four-momentum is updated with the constituent four-momentum, taking into account an optional kinematic weight. If the constituent object was already a member of the Jet, the old and new weights are added.

Warning
There is no restriction on the numerical range for these weights when adding a constituent. Clients are responsible in their own algorithm implementations to make sure that the weights make sense in the context of their analysis.
Parameters
[in]pCollpointer to storable object collection of type INavigable4MomentumContainer
[in]pConstpointer to constituent object of type INavigable4Momentum
[in]wghtoptional kinematic weight of constituent, default 1

Definition at line 413 of file Jet.cxx.

416{
417 double w = this->contains(pConst) ? wght + this->getWeight(pConst) : wght;
418 this->putElement(pColl,pConst,w);
419 this->updateKine(pConst,wght);
420 return true;
421}
double getWeight(const constituent_t *pConst) const
Retrieve kinematic weight of constituent.
virtual void updateKine()
Resummation of kinematics from constituents.
Definition Jet.cxx:735
void putElement(const collection_t *pColl, const constituent_t *pConst, double wght=1.0, size_t sizeHint=0)
Add element with checking.
bool contains(const constituent_t *pConst) const
Check on containment.

◆ addConstituent() [2/3]

bool Jet::addConstituent ( const collection_t * pColl,
index_t ind,
double wght = 1.0 )

Add a constituent with optional kinematic weight.

@detail This method adds a constituent referenced by a pointer to its storable container and its index in this container, to a Jet.

The Jet four-momentum is updated with the constituent four-momentum, taking into account an optional kinematic weight. If the constituent object was already a member of the Jet, the old and new weights are added.

Warning
There is no restriction on the numerical range for these weights when adding a constituent. Clients are responsible in their own algorithm implementations to make sure that the weights make sense in the context of their analysis.
Parameters
[in]pCollpointer to storable object collection of type INavigable4MomentumContainer
[in]indindex of type size_t referencing the INavigable4Momentum object in its container.
[in]wghtoptional kinematic weight of constituent, default 1

Definition at line 439 of file Jet.cxx.

440{
441
442 const constituent_t * constit = (pColl->operator[])(ind) ;
443 double w = this->contains(pColl,ind) ? wght + this->getWeight(pColl,ind) : wght;
444 this->putElement(pColl,ind,w);
445 this->updateKine(constit,wght);
446 return true;
447}

◆ addConstituent() [3/3]

bool Jet::addConstituent ( const collection_t * pColl,
index_t ind,
size_t sizeHint,
bool noKine,
double wght = 1.0 )

Add a constituent with optional kinematic weight Also allows passing in a size hint, and disabling recalculation of kinematics.

@detail This method adds a constituent referenced by a pointer to its storable container and its index in this container, to a Jet.

The Jet four-momentum is updated with the constituent four-momentum, taking into account an optional kinematic weight. If the constituent object was already a member of the Jet, the old and new weights are added.

Warning
There is no restriction on the numerical range for these weights when adding a constituent. Clients are responsible in their own algorithm implementations to make sure that the weights make sense in the context of their analysis.
Parameters
[in]pCollpointer to storable object collection of type INavigable4MomentumContainer
[in]indindex of type size_t referencing the INavigable4Momentum object in its container.
[in]sizeHintIf nonzero, the expected final size of the jet.
[in]noKineif true, don't recalculate kinematics.
[in]wghtoptional kinematic weight of constituent, default 1

Definition at line 467 of file Jet.cxx.

472{
473 // Avoid multiple linear searches if we can.
474 // Unfortunately, we can't avoid it for the case in which
475 // the constituent is already in the jet (without changing
476 // the Navigable interface, anyway); but that should be the
477 // uncommon case anyway.
478 //std::cout << " adding constit. e="<< this->e() << " c_e="<< (pColl->operator[])(ind)->e() << " size "<< this->size()<< std::endl;
479 if (this->contains(pColl, ind))
480 this->reweight(pColl,ind, wght + this->getWeight(pColl, ind));
481 else
482 this->insertElement(pColl, ind, wght, sizeHint);
483
484 if (!noKine)
485 this->updateKine(((pColl->operator[])(ind))->hlv(),wght);
486 return true;
487}
bool reweight(const constituent_t *pConst, double wght)
Change kinematic weight of constituent.
Definition Jet.cxx:551
void insertElement(const collection_t *pColl, const constituent_t *pConst, double wght=1.0, size_t sizeHint=0)
insert element without checking

◆ addInfo()

template<class TAGINFO>
void Jet::addInfo ( const TAGINFO * tag)

Add tag info object.

◆ addJet()

bool Jet::addJet ( const Jet * pJet,
double wght = 1.0 )

Add a jet.

Definition at line 504 of file Jet.cxx.

505{
506 const_iterator fC(pJet->begin());
507 const_iterator lC(pJet->end());
508 for ( ; fC != lC ; ++fC )
509 {
510 index_t ind(index_t(-1));
511 if ( pJet->getIndex(fC,ind) )
512 {
513 if ( !(this->contains(*fC)) )
514 {
515 this->addConstituent(pJet->getContainer(fC),
516 ind,
517 wght*(pJet->getWeight(fC)));
518 }
519 }
520 }
521 return pJet->size() > 0;
522}
const collection_t * getContainer(const constituent_t *pConst) const
Retrieve pointer to constituent object container.
size_t size() const
Size of constituent store.
bool getIndex(const constituent_t *pConst, index_t &ind) const
Retrieve index of object in container.
bool addConstituent(const collection_t *pColl, const constituent_t *pConst, double wght=1.0)
Add a constituent with optional kinematic weight.
Definition Jet.cxx:413
navigable_t::object_iter const_iterator
const_iterator begin() const
Begin iterator for constituent store.
const_iterator end() const
End iterator for constituent store.
navigable_t::external_index_type index_t

◆ begin()

const_iterator Jet::begin ( ) const

Begin iterator for constituent store.

◆ charge()

returns charge as a typedef ChargeType currently Charge Type is a double for jets this may be changed to an int and ask jets to extend this interface

Implements IParticle.

Definition at line 259 of file ParticleSigStateImpl.h.

◆ checkKey()

bool Jet::checkKey ( const mcat_t & cat,
const mkey_t & key,
size_t & aInd,
bool createIfMissing ) const
protected

◆ checkKeyStore() [1/2]

template<typename STORE>
bool Jet::checkKeyStore ( const mcat_t & cat,
const mkey_t & key,
const STORE * store,
size_t & aInd ) const
inlineprotected

Check key validity.

Definition at line 754 of file Reconstruction/Jet/JetEvent/JetEvent/Jet.h.

758 {
759 // invalid store pointer
760 if ( store == 0 )
761 {
762 return false;
763 }
764
765 // check index
766 aInd = keyDesc()->getIndex(cat,key,false);
767 if ( keyDesc()->isValid(aInd) && aInd < store->size() )
768 {
769 return true;
770 }
771 return false;
772 }
bool isValid(const T &p)
Av: we implement here an ATLAS-sepcific convention: all particles which are 99xxxxx are fine.
Definition AtlasPID.h:878

◆ checkKeyStore() [2/2]

template<typename STORE>
bool Jet::checkKeyStore ( const mcat_t & cat,
const mkey_t & key,
STORE *& store,
size_t & aInd,
bool createIfMissing ) const
inlineprotected

Check key validity with automatic store generation.

Definition at line 776 of file Reconstruction/Jet/JetEvent/JetEvent/Jet.h.

781 {
782 // invalid store pointer
783 if ( store == 0 )
784 {
785 if ( !createIfMissing ) return false;
786 store = new STORE();
787 }
788
789 // check index
790 aInd = keyDesc()->getIndex(cat,key,createIfMissing);
791 if ( keyDesc()->isValid(aInd) )
792 {
793 if ( aInd >= store->size() )
794 {
795 if ( ! createIfMissing ) return false;
796 store->resize(aInd+1);
797 }
798 return true;
799 }
800 else
801 {
802 return false;
803 }
804 }
TestStore store
Definition TestStore.cxx:23

◆ cleanUp()

bool Jet::cleanUp ( )

Remove all constituents with kinematic weight = 0.

Definition at line 529 of file Jet.cxx.

530{
531 unsigned int aCtr = 0;
532 // check content
533 if ( this->size() > 0 )
534 {
535 const_iterator fC(this->begin());
536 const_iterator lC(this->end());
537 for ( ; fC != lC; ++fC )
538 {
539 double weight(this->getWeight(fC));
540 if ( std::abs(weight)< m_ignoreWeight )
541 {
542 ++aCtr;
543 this->removeConstituent(*fC);
544 }
545 }
546 }
547 return aCtr > 0;
548}
bool removeConstituent(const constituent_t *pConst)
Remove a constituent.
Definition Jet.cxx:490
static const double m_ignoreWeight
Maximum difference up to which weights are considered equal.

◆ clone() [1/2]

Jet * Jet::clone ( ) const
virtual

clone method : do not clone stores and constituent

Definition at line 776 of file Jet.cxx.

777{
778 Jet* jet = new Jet(this, false, false);
779 return jet;
780}

◆ clone() [2/2]

Jet * Jet::clone ( bool copyStores,
bool copyConstituents = true ) const
virtual

clone method : do not clone stores and constituent

Definition at line 782 of file Jet.cxx.

783{
784 Jet* jet = new Jet(this, copyStores,copyConstituents);
785 return jet;
786}

◆ combinedLikelihood()

std::vector< double > Jet::combinedLikelihood ( ) const

(depreciated) Likelihood store access

Definition at line 966 of file Jet.cxx.

967{
968 std::vector<double> combinedLikelihood;
970 const std::string base="LikeLihood_";
971 for(unsigned int i=0; i<m_num_combinedLikelihood; i++){
972 combinedLikelihood[i] = getShape(base+std::to_string(i)) ;
973 }
974
975 return combinedLikelihood;
976}
std::vector< double > combinedLikelihood() const
(depreciated) Likelihood store access
Definition Jet.cxx:966
shape_t getShape(const mkey_t &shapeName, bool addIfMissing=false) const
Retrieve shape variable.
Definition Jet.cxx:836
std::string base
Definition hcg.cxx:81

◆ constituent_sum4Mom() [1/2]

Jet::hlv_t Jet::constituent_sum4Mom ( ) const

Sum of weighted constituent four-momentums.

Definition at line 702 of file Jet.cxx.

703{
704 hlv_t fmom(0.,0.,0.,0.);
705 JetConstituentIterator fC = JetConstituentIterator::first(this);
706 JetConstituentIterator lC = JetConstituentIterator::last(this);
707
708 for (;fC!=lC;++fC)
709 {
710 if (! fC.get_real_constit()) continue; // constit may be invalid if broken EL
711 fmom += (fC.hlv() * this->getWeight(fC.get_real_constit()));
712 }
713 return fmom;
714}
static JetConstituentIterator last(const Jet *jet)
get the end iterator
static JetConstituentIterator first(const Jet *jet)
get a default iterator
const Jet::constituent_t * get_real_constit()
access to the real constituent pointer
virtual CLHEP::HepLorentzVector hlv() const
CLHEP HepLorentzVector.

◆ constituent_sum4Mom() [2/2]

Jet::hlv_t Jet::constituent_sum4Mom ( Jet::signalstate_t s) const

Sum of weighted constituent four-momentums, with SignalState.

Definition at line 716 of file Jet.cxx.

717{
718 hlv_t fmom(0.,0.,0.,0.);
719 JetConstituentIterator fC = JetConstituentIterator::first(this,s);
720 JetConstituentIterator lC = JetConstituentIterator::last(this);
721
722 for (;fC!=lC;++fC)
723 {
724 if (! fC.get_real_constit()) continue; // constit may be invalid if broken EL
725 fmom += (fC.hlv() * this->getWeight(fC.get_real_constit()));
726 }
727 return fmom;
728}

◆ constituentSignalState()

signalstate_t Jet::constituentSignalState ( ) const

Get the current Signal state of the jet constituents.

◆ constituentsN()

numconstit_t Jet::constituentsN ( ) const
inline

Number of constituents in jet.

Use this rather than size()

Definition at line 300 of file Reconstruction/Jet/JetEvent/JetEvent/Jet.h.

300{return m_constituentsN;}

◆ contains() [1/2]

bool Jet::contains ( const collection_t * pColl,
index_t ind ) const

Check on containment.

◆ contains() [2/2]

bool Jet::contains ( const constituent_t * pConst) const

Check on containment.

◆ copy_from_jet()

void Jet::copy_from_jet ( const Jet * pjet,
CopyDataMembers cdm0,
CopyDataMembers cdm1 = CopyNone,
CopyDataMembers cdm2 = CopyNone,
CopyDataMembers cdm3 = CopyNone )
protected

Definition at line 260 of file Jet.cxx.

262{
263 CopyDataMembers cdm = CopyDataMembers(cdm0 | cdm1 | cdm2 | cdm3);
264
265
266 //std::cout<<"Jet::copy_from_jet this="<< this->constit4MomGetter.empty() << " pjet="<< pJet->constit4MomGetter.empty() << std::endl;
267
268 // copy all kinematics
270 this->set4Mom(pJet->hlv());
271
273 this->set4Mom(pJet->hlv(P4SignalState::JETEMSCALE));
277 this->setConstituentSignalState(pJet->constituentSignalState());
278
279
280 this->m_RoIword = pJet->m_RoIword;
281 m_jetAuthor = pJet->m_jetAuthor;
282 m_num_combinedLikelihood = pJet->m_num_combinedLikelihood;
283
284 m_pseudoJet = pJet->m_pseudoJet;
285
286 // copy members if requested
287 if ( cdm & CopyConstituents )
288 {
289 //std::cout<< "copy constituent "<< std::endl;
290 const_iterator firstConst = pJet->firstConstituent();
291 const_iterator lastConst = pJet->lastConstituent();
292 for ( ; firstConst != lastConst; ++firstConst )
293 {
294 Jet::index_type theIndex;
295 if ( pJet->getIndex(firstConst,theIndex) ) // getIndex by iterator more efficient ?
296 {
297 this->putElement(pJet->getContainer(firstConst),
298 theIndex,
299 pJet->getWeight(firstConst));
300 }
301 }
302 } else {
303 this->navigableBase().removeAll();
304 }
305
306 // this line MUST stay after copyconstituents otherwise m_constituentsN will be double.
307 m_constituentsN = pJet->m_constituentsN;
308
309 if ( cdm & CopyMoments )
310 {
311 const shape_map_t* oMap = pJet->getMomentMap();
312 //std::cout << " Copying moment other map "<< oMap<< " author="<< pJet->jetAuthor() <<" id="<< pJet->id()<< std::endl;
313 if ( oMap != nullptr ){
314
315 const JetMomentMap::record_t *oldrec = oMap->getRecord( pJet->id() );
316 // copy the moments :
317 //std::cout << " oldrec = "<< oldrec << std::endl;
318 if( oldrec){
319 const shape_map_t* mMap = this->getMomentMap(true);
320 // this should guaranty we have a map.
321
322 JetMomentMap::record_t *newrec =
323 new JetMomentMap::record_t( *oldrec );
324
325 // assign them in the map
326 mMap->assignRecord(m_jetId, newrec);
327 }
328 }
329 }
330
331
332 if ( cdm & CopyAssociations )
333 if ( bool(pJet->m_assocStore) )
334 {
336
337 const assostore_t& old = *pJet->m_assocStore;
338 m_assocStore->reserve (old.size());
339 for (size_t i = 0; i < old.size(); i++)
340 if (bool(old[i])) m_assocStore->push_back (old[i]->clone());
341 else m_assocStore->push_back ( nullptr );
342 }
343 if ( cdm & CopyTagInfos )
344 if ( bool(pJet->m_tagInfoStore) )
345 {
347
348 const tagstore_t& old = *pJet->m_tagInfoStore;
349 m_tagInfoStore->reserve (old.size());
350 for (size_t i = 0; i < old.size(); i++)
351 if (bool(old[i])) m_tagInfoStore->push_back (old[i]->clone());
352 else m_tagInfoStore->push_back(nullptr);
353 }
354
355}
base_t::record_t record_t
const fastjet::PseudoJet * m_pseudoJet
Pointer to the fastjet object this jet is build from.
virtual Jet * clone() const
clone method : do not clone stores and constituent
Definition Jet.cxx:776
std::vector< const assoc_t * > assostore_t
std::vector< const taginfo_t * > tagstore_t
navigable_t::external_index_type index_type
Constituent index type (obsolete)
CopyDataMembers
@ brief fine control over what's copied in the various stores and constituents
void setConstituentSignalState(signalstate_t s)
Set the current Signal state of the jet constituents.
bool removeAll()
Definition Navigable.h:237

◆ cosPhi()

double ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Base >::cosPhi ( ) const
inlinevirtualinherited

cosinus phi

Implements I4Momentum.

Definition at line 198 of file ParticleSigStateImpl.h.

784{
785 return momentumBase().cosPhi();
786}
double cosPhi() const

◆ cosTh()

double ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Base >::cosTh ( ) const
inlinevirtualinherited

cosinus theta

Implements I4Momentum.

Definition at line 210 of file ParticleSigStateImpl.h.

808{
809 return momentumBase().cosTh();
810}
double cosTh() const

◆ cotTh()

double ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Base >::cotTh ( ) const
inlinevirtualinherited

cottan theta

Implements I4Momentum.

Definition at line 218 of file ParticleSigStateImpl.h.

824{
825 return momentumBase().cotTh();
826}
double cotTh() const

◆ dataType()

Return enum indicating real data, fast, or full simulation Return Type has a DataType enum with the following values: {Data = 0, Full = 1, FastShower = 2, Fast = 3, True = 4}.

IParticle interface forwarding

Implements IParticle.

Definition at line 241 of file ParticleSigStateImpl.h.

868{
869 return m_part.dataType();
870}

◆ dump()

std::ostream & ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Base >::dump ( std::ostream & out) const
inlinevirtualinherited

Print I4Momentum content.

Implements I4Momentum.

Definition at line 232 of file ParticleSigStateImpl.h.

857{
858 momentumBase().dump ( out );
859 out << "\n";
860 m_part.dump( out );
861 return out;
862}
std::ostream & dump(std::ostream &out) const
Print I4Momentum content.
hub for various interface implementations

◆ e()

double ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Base >::e ( ) const
inlinevirtualinherited

energy

Implements I4Momentum.

Definition at line 182 of file ParticleSigStateImpl.h.

752{
753 return momentumBase().e();
754}
double e() const
get energy data member

◆ ei()

double Jet::ei ( ) const
virtual

Definition at line 943 of file Jet.cxx.

◆ end()

const_iterator Jet::end ( ) const

End iterator for constituent store.

◆ errors()

const I4MomentumError * ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Base >::errors ( ) const
inlinevirtualinherited

Access to errors, if available; returns 0 if no errors.

Implements I4Momentum.

Definition at line 225 of file ParticleSigStateImpl.h.

841{
842 return momentumBase().errors();
843}
virtual const I4MomentumError * errors() const

◆ et()

transverse energy defined to be e*sin(theta)

Implements I4Momentum.

Definition at line 186 of file ParticleSigStateImpl.h.

760{
761 return momentumBase().et();
762}
double et() const

◆ eta()

double ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Base >::eta ( void ) const
inlinevirtualinherited

pseudo rapidity

Implements I4Momentum.

Definition at line 174 of file ParticleSigStateImpl.h.

736{
737 return momentumBase().eta();
738}
double eta() const

◆ fastjetPtr()

const fastjet::PseudoJet * Jet::fastjetPtr ( ) const
inline

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

Definition at line 871 of file Reconstruction/Jet/JetEvent/JetEvent/Jet.h.

871{return m_pseudoJet;}

◆ fillToken() [1/2]

virtual void Jet::fillToken ( INavigationToken & navToken) const
virtual

Object navigation support, no relational parameter.

Reimplemented from ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE >.

◆ fillToken() [2/2]

virtual void Jet::fillToken ( INavigationToken & navToken,
const std::any & par ) const
virtual

Object navigation support, relational parameter.

Implements INavigable.

◆ finalScaleEqualsEMScale()

bool Jet::finalScaleEqualsEMScale ( ) const

True if JETFINAL state equals JETEMSCALE state within 0.1 MeV on each E,px,pypz components.

Definition at line 953 of file Jet.cxx.

953 {
954 bool ok = jet_component_identity( getRawE() , getCalE() );
958 return ok;
959}
bool jet_component_identity(double p1, double p2, double epsilon=0.1)
Definition Jet.cxx:73
double getRawPz() const
Definition Jet.cxx:931
double getCalPy() const
Definition Jet.cxx:940
double getRawPy() const
Definition Jet.cxx:930
double getRawPx() const
Definition Jet.cxx:929
double getCalE() const
Definition Jet.cxx:938
double getCalPx() const
Definition Jet.cxx:939
double getRawE() const
Definition Jet.cxx:928
double getCalPz() const
Definition Jet.cxx:941

◆ firstConstituent()

const_iterator Jet::firstConstituent ( ) const

(obsolete) begin iterator for constituent store

◆ get()

template<typename T>
T Jet::get ( const std::string & mName) const

Compatibility with JetAnalysisEDM.

◆ get_scaled_copy()

Jet * Jet::get_scaled_copy ( double scale_factor) const

return a NEW copy of this jet with 4mom scaled

Definition at line 578 of file Jet.cxx.

578 {
579 Jet* newjet = new Jet(this,true,true);
580 newjet->scale_momentum(scale_factor);
581 return newjet;
582}
void scale_momentum(double scale_factor)
scale the jet 4mom by scale_factor
Definition Jet.cxx:574

◆ getAssociation()

template<typename ASSOC>
const ASSOC * Jet::getAssociation ( const mkey_t & key,
bool useLink = true ) const

Retrieve association object.

◆ getAssociationBase()

const Jet::assoc_t * Jet::getAssociationBase ( const mkey_t & key) const

Definition at line 1083 of file Jet.cxx.

1084{
1086}
const OBJ * getObject(const mkey_t &key, const STORE *store, const mcat_t &cat) const
Get object from store with category and key.
static const key_t AssoCat
Index category for jet associations.

◆ getAssociationKeys()

const std::vector< Jet::mkey_t > & Jet::getAssociationKeys ( ) const

Definition at line 1077 of file Jet.cxx.

1078{
1080}
const std::vector< key_t > & getKeys(const category_t &cat) const

◆ getAthenaBarCode()

AthenaBarCode_t ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Base >::getAthenaBarCode ( ) const
inlinevirtualinherited

IAthenaBarCode interface forwarding

Reimplemented from IAthenaBarCode.

Definition at line 120 of file ParticleSigStateImpl.h.

929{
931}
AthenaBarCode_t getAthenaBarCode() const
const AthenaBarCodeImpl & getAthenaBarCodeImpl() const
Definition Base.h:96

◆ getCalE()

double Jet::getCalE ( ) const

Definition at line 938 of file Jet.cxx.

938{ return e(P4SignalState::JETFINAL); }

◆ getCalibTag()

std::string Jet::getCalibTag ( int i) const

retrieve calib tag number i (start at 1).

returns "" if non-existant

Definition at line 1145 of file Jet.cxx.

1145 {
1146 std::string full_auth = keyDesc()->getKey(JetKeyConstants::InfoCat,m_jetAuthor);
1147 size_t p = full_auth.find_first_of('_');
1148 int c=0;
1149 while(p != std::string::npos){
1150 c++;
1151 if( c==i ){
1152 return full_auth.substr(p+1,full_auth.find_first_of('_',p+1)-p-1);
1153 }
1154 p = full_auth.find_first_of('_',p+1);
1155 }
1156 return "";
1157}
virtual double p() const =0
momentum magnitude

◆ getCalPx()

double Jet::getCalPx ( ) const

◆ getCalPy()

double Jet::getCalPy ( ) const

◆ getCalPz()

double Jet::getCalPz ( ) const

◆ getContainer() [1/2]

const collection_t * Jet::getContainer ( const constituent_t * pConst) const

Retrieve pointer to constituent object container.

◆ getContainer() [2/2]

const collection_t * Jet::getContainer ( const_iterator fConst) const

Retrieve pointer to constituent object container.

◆ getCScaleE()

double Jet::getCScaleE ( ) const

Definition at line 933 of file Jet.cxx.

◆ getCScalePx()

double Jet::getCScalePx ( ) const

Definition at line 934 of file Jet.cxx.

◆ getCScalePy()

double Jet::getCScalePy ( ) const

Definition at line 935 of file Jet.cxx.

◆ getCScalePz()

double Jet::getCScalePz ( ) const

Definition at line 936 of file Jet.cxx.

◆ getData()

template<typename DATA, class STORE>
bool Jet::getData ( const mkey_t & key,
STORE * store,
const mcat_t & cat,
DATA & data,
bool createIfMissing ) const
inlineprotected

Get data from store with category and key.

Definition at line 828 of file Reconstruction/Jet/JetEvent/JetEvent/Jet.h.

833 {
834 size_t aInd(0);
835 if ( this->checkKeyStore(cat,key,store,aInd, createIfMissing) )
836 {
837 data = (store->operator[])(aInd);
838 return true;
839 }
840 else
841 {
842 return false;
843 }
844 }
char data[hepevt_bytes_allocation_ATLAS]
Definition HepEvt.cxx:11
bool checkKeyStore(const mcat_t &cat, const mkey_t &key, const STORE *store, size_t &aInd) const
Check key validity.

◆ getFlavourTagWeight() [1/2]

double Jet::getFlavourTagWeight ( ) const

get the final b-tag result from the default tagger

Definition at line 989 of file Jet.cxx.

990{
991 double w = 0.;
992 if ( this->jetAuthor().find("Atlfast") != std::string::npos) {
993 // Fastsim
994 w = -30.;
995 const JetTagInfoBase* pos(this->tagInfo("SV1IP3D"));
996 if (pos != nullptr) {
997 std::vector<double> prob = pos->tagLikelihood();
998 if(prob.size()>1) {
999 double pb = prob[0];
1000 double pu = prob[1];
1001 if (pb != 0 && pu != 0)
1002 w = log(pb/pu);
1003 else
1004 w = 0.; //Hopefully a warning appears in the BTagger Tool
1005 }
1006 } else {
1007 // Use "binary" random b-tag only if no IP3D nor SV1 Info
1008 if (m_num_combinedLikelihood > 0) {
1009 std::vector<double> Likelihood = combinedLikelihood();
1010 if (Likelihood[0] > 0.9) w = 100;
1011 }
1012 }
1013 } else {
1014 // FullSim
1015 bool found = false;
1016 // get W from IP3D:
1017 const JetTagInfoBase* pos(this->tagInfo("IP3D"));
1018 if( pos != nullptr ) {
1019 found = true;
1020 std::vector<double> prob = pos->tagLikelihood();
1021 if(prob.size()>1) {
1022 double pb = prob[0];
1023 double pu = prob[1];
1024 if (pb > 0. && pu > 0.) {
1025 if(pb!=1.||pu!=1.e9) {
1026 w = log(pb/pu);
1027 }
1028 } else
1029 w = 0.; //Hopefully a warning appears in the BTagger Tool
1030 }
1031 }
1032 // get W from SV:
1033 pos = this->tagInfo("SV1");
1034 if( pos != nullptr ) {
1035 found = true;
1036 std::vector<double> prob = pos->tagLikelihood();
1037 if(prob.size()>1) {
1038 double pb = prob[0];
1039 double pu = prob[1];
1040 if (pb > 0. && pu > 0.) //Hopefully a warning appears in the BTagger Tool if not the case
1041 w += log(pb/pu);
1042 }
1043 }
1044 if (!found) w = -30.;
1045 }
1046 return w;
1047}
const taginfo_t * tagInfo(const mkey_t &key) const
Retrieve tag info object.
std::string jetAuthor() const
Author and calibration history are encoded in a simple way inside the jet object.
Definition Jet.cxx:1108
std::string find(const std::string &s)
return a remapped string
Definition hcg.cxx:138

◆ getFlavourTagWeight() [2/2]

double Jet::getFlavourTagWeight ( const std::string & infoName) const

get the final b-tag result from a specific tagger

Definition at line 1049 of file Jet.cxx.

1050{
1051 double w = -100.;
1052 const JetTagInfoBase* pos(this->tagInfo(infoName));
1053 if( pos != nullptr ) {
1054 std::vector<double> prob = pos->tagLikelihood();
1055 if(prob.size() == 1) {
1056 w = prob[0];
1057 } else {
1058 if(prob.size() > 1) {
1059 double pb = prob[0];
1060 double pu = prob[1];
1061 if(pb<=0.) { // A different protection than the above one... In any case, this is not OK and should be watched out !
1062 w = -30.;
1063 } else if (pu<=0.) {
1064 w = +100.;
1065 } else {
1066 w = log(pb/pu);
1067 }
1068 }
1069 }
1070 }
1071 return w;
1072}

◆ getIndex() [1/2]

bool Jet::getIndex ( const constituent_t * pConst,
index_t & ind ) const

Retrieve index of object in container.

◆ getIndex() [2/2]

bool Jet::getIndex ( const_iterator fConst,
index_t & ind ) const

Retrieve index of object in container.

◆ getMoment()

shape_t Jet::getMoment ( const mkey_t & shapeName,
bool addIfMissing = false ) const

Alias for getShape.

◆ getMomentKeys()

std::vector< mkey_t > Jet::getMomentKeys ( ) const

Alias for getShapeKeys.

◆ getMomentMap() [1/2]

const Jet::shape_map_t * Jet::getMomentMap ( ) const

Definition at line 1173 of file Jet.cxx.

1174{
1175
1176 // jets must be identified
1177 if(m_jetId == s_defaultJetId ) return nullptr;
1178
1179 if( m_collection ){
1180 // This jet belongs to a JetCollection, ask the map
1181 return m_collection->getMomentMap();
1182 }
1183 // Else, this is an orphan jet, return the global instance :
1185
1186}
const JetCollection * m_collection
Shape store link.
static OrphanJetMomentMap instance

◆ getMomentMap() [2/2]

const Jet::shape_map_t * Jet::getMomentMap ( bool addIfMissing) const
protected

Definition at line 1164 of file Jet.cxx.

1165{
1166 if( (m_jetId == s_defaultJetId) && addIfMissing ){
1167 // we need an id to be registered in a map
1169 }
1170 return getMomentMap();
1171}
size_t getNewId()
Definition JetMapBase.h:171

◆ getMomentMapName()

std::string Jet::getMomentMapName ( ) const

Definition at line 1188 of file Jet.cxx.

1188 {
1189 std::string mapname = jetAuthor();
1190 mapname +="MomentMap";
1191 return mapname;
1192}

◆ getObject()

template<typename OBJ, class STORE>
const OBJ * Jet::getObject ( const mkey_t & key,
const STORE * store,
const mcat_t & cat ) const
inlineprotected

Get object from store with category and key.

Definition at line 815 of file Reconstruction/Jet/JetEvent/JetEvent/Jet.h.

818 {
819 size_t aInd(0);
820 return this->checkKeyStore(cat,key,store,aInd)
821 ? dynamic_cast<const OBJ*>((store->operator[])(aInd))
822 : (const OBJ*)0;
823 }
bool const RAWDATA *ch2 const

◆ getOverlap() [1/2]

Jet * Jet::getOverlap ( const Jet & rJet,
bool noKine = false ) const

Retrieve constituent overlap between jets.

◆ getOverlap() [2/2]

Jet * Jet::getOverlap ( const Jet * pJet,
bool noKine = false ) const

Retrieve constituent overlap between jets.

Definition at line 654 of file Jet.cxx.

655{
656 if ( pJet->size() == 0 || this->size() == 0 ) return (Jet*)nullptr;
657
658 // Dereferencing ELs is a little expensive.
659 // Get the constituents into a vector so that we only
660 // need to do it once.
661 std::vector<const constituent_type*> constituents (this->begin(),
662 this->end());
663 //unused - fix warning
664 //size_t sz = std::min (this->size(), pJet->size());
665
666 // Defer allocating the new jet until we know we have something
667 // to put into it.
668 Jet* newJet = nullptr;
669 // de-compose Jet
670 const_iterator fC(pJet->begin());
671 const_iterator lC(pJet->end());
672 for ( ; fC != lC; ++fC )
673 {
674 const constituent_type* c = *fC;
675 if ( std::find (constituents.begin(), constituents.end(), c) !=
676 constituents.end() )
677 {
678 if (!newJet){
679 newJet = new Jet(this, true, false); // we copy the stores, not the constituent
680 newJet->set4Mom(hlv_t(0. ,0. , 0., 0.)) ; //and reset its fourmom to nill
681 }
683#ifndef NDEBUG
684 bool result =
685#endif
686 this->getIndex (fC, index);
687 assert (result);
688 newJet->addConstituent(this->getContainer(fC),
689 index);
690// sz,
691// noKine);
692 //std::cout<< "getoverlap new e="<< newJet->e() << " / e1="<< e() << " e2="<< pJet->e()<<" | eta= "<< newJet->eta() << " f="<< newJet->pt()/pt() << std::endl;
693 }
694 }
695 return newJet;
696}
INavigable4Momentum constituent_type
Navigable object type (obsolete)
str index
Definition DeMoScan.py:362

◆ getParameter() [1/3]

double Jet::getParameter ( const collection_t * pColl,
index_t ind ) const
protected

Retrieve weight.

◆ getParameter() [2/3]

double Jet::getParameter ( const constituent_t * pConst) const
protected

Retrieve weight.

◆ getParameter() [3/3]

double Jet::getParameter ( const_iterator fConst) const
protected

Retrieve weight.

◆ getRawE()

double Jet::getRawE ( ) const

Definition at line 928 of file Jet.cxx.

928{ return e(P4SignalState::JETEMSCALE); }

◆ getRawPx()

double Jet::getRawPx ( ) const

Definition at line 929 of file Jet.cxx.

929{ return px(P4SignalState::JETEMSCALE); }

◆ getRawPy()

double Jet::getRawPy ( ) const

Definition at line 930 of file Jet.cxx.

930{ return py(P4SignalState::JETEMSCALE); }

◆ getRawPz()

double Jet::getRawPz ( ) const

Definition at line 931 of file Jet.cxx.

931{ return pz(P4SignalState::JETEMSCALE); }

◆ getShape()

Jet::shape_t Jet::getShape ( const mkey_t & shapeName,
bool addIfMissing = false ) const

Retrieve shape variable.

Definition at line 836 of file Jet.cxx.

837{
838
839 size_t keyIndex;
840 if ( this->checkKey(JetKeyConstants::ShapeCat,shapeName,keyIndex,false) )
841 {
842 const shape_map_t* pMap = this->getMomentMap(addIfMissing);
843 return pMap != nullptr ? pMap->getMoment(m_jetId,keyIndex) : shape_t();
844 }
845 return shape_t();
846}
bool checkKey(const mcat_t &cat, const mkey_t &key, size_t &aInd, bool createIfMissing) const
static const key_t ShapeCat
Index category for jet shapes.

◆ getShapeKeys()

std::vector< Jet::mkey_t > Jet::getShapeKeys ( ) const

Retrieve list of avalailable keys.

Definition at line 817 of file Jet.cxx.

818{
819 std::vector<Jet::mkey_t> keys;
820 const shape_map_t* pMap = this->getMomentMap();
821 if ( pMap != nullptr )
822 {
823 size_t n(pMap->numberOfMoments(m_jetId));
824 keys.reserve(n/2);
825 for ( size_t i(0); i < n; ++i )
826 {
827 float data(0.);
828 if ( pMap->getMoment(m_jetId,i,data) )
830 }
831 }
832
833 return keys;
834}
getKey(filename)

◆ getTagInfo()

template<typename TAGINFO>
const TAGINFO * Jet::getTagInfo ( const mkey_t & key,
bool useLink = true ) const

Retrieve tag info object.

◆ getVersion()

Reimplemented from IAthenaBarCode.

Definition at line 125 of file ParticleSigStateImpl.h.

962{
964}
AthenaBarCodeVersion_t getVersion() const

◆ getWeight() [1/3]

double Jet::getWeight ( const collection_t * pColl,
index_t ind ) const

Retrieve kinematic weight of constituent.

◆ getWeight() [2/3]

double Jet::getWeight ( const constituent_t * pConst) const

Retrieve kinematic weight of constituent.

◆ getWeight() [3/3]

double Jet::getWeight ( const_iterator fConst) const

Retrieve kinematic weight of constituent.

◆ has_calibrated_constit()

bool Jet::has_calibrated_constit ( ) const
inline

True if the jet constituent have a calibrated signal state.

Definition at line 533 of file Reconstruction/Jet/JetEvent/JetEvent/Jet.h.

533{return int(constituentSignalState())>0;};
signalstate_t constituentSignalState() const
Get the current Signal state of the jet constituents.

◆ hasCalibTag()

bool Jet::hasCalibTag ( const std::string & tag) const

test if jet has calib tag tag

Definition at line 1128 of file Jet.cxx.

1128 {
1129 std::string full_auth = keyDesc()->getKey(JetKeyConstants::InfoCat,m_jetAuthor);
1130 std::string full_tag = ""; full_tag+="_"; full_tag+=tag;
1131 return ( full_auth.find(full_tag) != std::string::npos );
1132}

◆ hasCharge()

bool ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Base >::hasCharge ( ) const
inlinevirtualinherited

method to check if charge information is available

Implements IParticle.

Definition at line 253 of file ParticleSigStateImpl.h.

892{
893 return m_part.hasCharge();
894}

◆ hasPdgId()

bool ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Base >::hasPdgId ( ) const
inlinevirtualinherited

method to check if particle id information is available

Implements IParticle.

Definition at line 263 of file ParticleSigStateImpl.h.

908{
909 return m_part.hasPdgId();
910}

◆ hasSameAthenaBarCode()

bool ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Base >::hasSameAthenaBarCode ( const IAthenaBarCode & bc) const
inlinevirtualinherited

Reimplemented from IAthenaBarCode.

Definition at line 123 of file ParticleSigStateImpl.h.

946{
948}
bool hasSameAthenaBarCode(const IAthenaBarCode &obj) const

◆ hasSameAthenaBarCodeExceptVersion()

bool ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Base >::hasSameAthenaBarCodeExceptVersion ( const IAthenaBarCode & bc) const
inlinevirtualinherited

Reimplemented from IAthenaBarCode.

Definition at line 124 of file ParticleSigStateImpl.h.

954{
956}
bool hasSameAthenaBarCodeExceptVersion(const IAthenaBarCode &obj) const

◆ hasSignalState()

bool ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Base >::hasSignalState ( state_t s) const
inlinevirtualinherited

check if signal state exists for current implementation

Implements ISignalState.

Definition at line 313 of file ParticleSigStateImpl.h.

1172{
1173 // UNKNOWN is not an actual SignalState!
1174 if(int(s)<0)
1175 return false;
1176
1177 return (int(s) < m_nStates);
1178}

◆ hlv() [1/2]

◆ hlv() [2/2]

CLHEP::HepLorentzVector ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Base >::hlv ( ) const
inlinevirtualinherited

CLHEP HepLorentzVector.

Implements I4Momentum.

Definition at line 222 of file ParticleSigStateImpl.h.

833{
834 return momentumBase().hlv();
835}
CLHEP::HepLorentzVector hlv() const

◆ id()

size_t Jet::id ( ) const

Index category for jet shapes.

Index category for jet associations

Index category for jet tag info

Index category for general jet info returns this jet unique identifier in its collection

Definition at line 1194 of file Jet.cxx.

1194{return m_jetId;}

◆ infoKeys()

const std::vector< mkey_t > Jet::infoKeys ( ) const

(depreciated) list of tag info keys

◆ insertElement() [1/2]

void Jet::insertElement ( const collection_t * pColl,
const constituent_t * pConst,
double wght = 1.0,
size_t sizeHint = 0 )
protected

insert element without checking

◆ insertElement() [2/2]

void Jet::insertElement ( const collection_t * pColl,
index_t ind,
double wght = 1.0,
size_t sizeHint = 0 )
protected

insert element without checking

◆ iPt()

double ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Base >::iPt ( ) const
inlinevirtualinherited

inverse of transverse momentum

Implements I4Momentum.

Definition at line 194 of file ParticleSigStateImpl.h.

776{
777 return momentumBase().iPt();
778}
double iPt() const

◆ isAtSignalState()

bool ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Base >::isAtSignalState ( state_t s) const
inlinevirtualinherited

check if we are at the passed state

Implements ISignalState.

Definition at line 316 of file ParticleSigStateImpl.h.

◆ isIdentical() [1/2]

bool Jet::isIdentical ( const Jet & rJet) const

Test if Jet is identical to given Jet.

◆ isIdentical() [2/2]

bool Jet::isIdentical ( const Jet * pJet) const

Test if Jet is identical to given Jet.

Definition at line 589 of file Jet.cxx.

590{
591 // need to have same size (number of constituents)
592 if ( pJet->size() != this->size() ) return false;
593
594 if( pJet->size() == 0 ){
595 // fall back on mometum comparison
596 bool isEqual = ( fabs( pJet->e() - e() )< m_ignoreWeight ) ;
597 isEqual = isEqual && ( fabs( pJet->px() - px() )< m_ignoreWeight) ;
598 isEqual = isEqual && ( fabs( pJet->py() - py() )< m_ignoreWeight) ;
599 isEqual = isEqual && ( fabs( pJet->pz() - pz() )< m_ignoreWeight) ;
600 return isEqual;
601 }
602
603 bool isEqual = true;
604 const_iterator fC(pJet->begin());
605 const_iterator lC(pJet->end());
606
607 while ( isEqual && fC != lC )
608 {
609 double wJ(pJet->getWeight(fC));
610 const_iterator fK(this->begin());
611 const_iterator lK(this->end());
612 while ( ( fK != lK ) && ((*fC) != (*fK) ||
613 fabs(this->getWeight(fK)-wJ) >= m_ignoreWeight) )
614
615 { ++fK; }
616 isEqual = fK != lK;
617 ++fC;
618 }
619
620 return isEqual;
621}
virtual double pz() const =0
z component of momentum
virtual double px() const =0
x component of momentum
virtual double e() const =0
energy
virtual double py() const =0
y component of momentum
bool isEqual(double x1, double x2, double thresh=1e-6)
Definition FLOATassert.h:26

◆ jetAuthor()

Jet::mkey_t Jet::jetAuthor ( ) const

Author and calibration history are encoded in a simple way inside the jet object.

This is done through a string of the form JetAuthor_AAAA_BB_CCC_ were AAAA , BBB, etc... are expected to tag calibration applied to this jet

Retrieve the author of this Jet (only the author, without tags)

Definition at line 1108 of file Jet.cxx.

1109{
1110 std::string full_auth = keyDesc()->getKey(JetKeyConstants::InfoCat,m_jetAuthor);
1111 // return the first part in JetAuth_XXX_YYY
1112 size_t found=full_auth.find_first_of('_');
1113 return found != std::string::npos ? full_auth.substr(0 , found) : std::move(full_auth);
1114}

◆ jetAuthorAndCalibTags()

std::string Jet::jetAuthorAndCalibTags ( ) const

Retrieve the full author-and-tag string of this Jet.

Definition at line 1118 of file Jet.cxx.

1118 {
1120}

◆ jetTagInfoVector()

const tagstore_t Jet::jetTagInfoVector ( ) const

(depreciated) Retrieve vector of tag infos

◆ keyDesc()

JetKeyDescriptorInstance * Jet::keyDesc ( ) const
protected

Definition at line 788 of file Jet.cxx.

788 {
789 if( m_collection ) return m_collection->keyDesc();
791}
static JetKeyDescriptorInstance * instance()

◆ kind()

add Kind which tells what kind (P4XYZ) the underlying implementation has

Implements I4Momentum.

Definition at line 229 of file ParticleSigStateImpl.h.

849{
850 return momentumBase().kind();
851}
I4Momentum::Kind kind() const

◆ lastConstituent()

const_iterator Jet::lastConstituent ( ) const

(obsolere) end iterator for constituent store

◆ m()

double ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Base >::m ( void ) const
inlinevirtualinherited

mass

Implements I4Momentum.

Definition at line 154 of file ParticleSigStateImpl.h.

696{
697 return momentumBase().m();
698}
double m() const

◆ m2()

double ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Base >::m2 ( ) const
inlinevirtualinherited

mass squared

Implements I4Momentum.

Definition at line 158 of file ParticleSigStateImpl.h.

704{
705 return momentumBase().m2();
706}
double m2() const

◆ momentumBase()

access to underlying base type (I4Momentum-like)

Definition at line 100 of file ParticleSigStateImpl.h.

◆ momentumVector()

std::vector< P4ImplPxPyPzE > & ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Base >::momentumVector ( )
inlineprotectedinherited

access the vector of momentum

Definition at line 330 of file ParticleSigStateImpl.h.

330{return m_mom;}

◆ navigableBase()

access to underlying base type (INavigable-like)

Definition at line 96 of file ParticleSigStateImpl.h.

440{
441 return m_nav;
442}

◆ newVersion()

void ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Base >::newVersion ( )
inlinevirtualinherited

Reimplemented from IAthenaBarCode.

Definition at line 126 of file ParticleSigStateImpl.h.

◆ nStates()

int ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Base >::nStates ( )
inlineprotectedinherited

access the number of state

Definition at line 333 of file ParticleSigStateImpl.h.

333{return m_nStates;}

◆ nullOp()

bool Jet::nullOp ( const constituent_type * )
inlinestatic

defaul function for preProcessConstituent and postProcessConstituent

Definition at line 636 of file Reconstruction/Jet/JetEvent/JetEvent/Jet.h.

637 { return true; };

◆ numCalibTag()

int Jet::numCalibTag ( ) const

number of calib tags for this jet

Definition at line 1134 of file Jet.cxx.

1134 {
1135 std::string full_auth = keyDesc()->getKey(JetKeyConstants::InfoCat,m_jetAuthor);
1136 size_t p = full_auth.find_first_of('_');
1137 int c=0;
1138 while(p != std::string::npos){
1139 c++;
1140 p = full_auth.find_first_of('_',p+1);
1141 }
1142 return c;
1143}

◆ operator!=() [1/2]

bool Jet::operator!= ( const Jet & rJet) const

Comparison operator.

◆ operator!=() [2/2]

bool Jet::operator!= ( const Jet * pJet) const

Comparison operator.

◆ operator<<()

MsgStream & Jet::operator<< ( MsgStream & out)

Output operator.

Definition at line 1218 of file Jet.cxx.

1218 {
1219 return ( out << str() );
1220}
std::string str()
Jet print-out function.
Definition Jet.cxx:624

◆ operator=()

Jet & Jet::operator= ( const Jet & rJet)

Assignment operator.

◆ operator==() [1/2]

bool Jet::operator== ( const Jet & rJet) const

Comparison operator.

◆ operator==() [2/2]

bool Jet::operator== ( const Jet * pJet) const

Comparison operator.

◆ origin()

const Trk::RecVertex * ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Base >::origin ( ) const
inlinevirtualinherited

Return a RecVertex corresponding to particle Origin.

Implements IParticle.

Definition at line 245 of file ParticleSigStateImpl.h.

876{
877 return m_part.origin();
878}

◆ originLink()

const ElementLink< VxContainer > & ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Base >::originLink ( ) const
inlinevirtualinherited

Return an ElementLink corresponding to particle's Origin.

Implements IParticle.

Definition at line 249 of file ParticleSigStateImpl.h.

884{
885 return m_part.originLink();
886}

◆ p()

double ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Base >::p ( ) const
inlinevirtualinherited

mass momentum magnitude

Implements I4Momentum.

Definition at line 162 of file ParticleSigStateImpl.h.

712{
713 return momentumBase().p();
714}
double p() const

◆ p2()

double ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Base >::p2 ( ) const
inlinevirtualinherited

square of momentum magnitude

Implements I4Momentum.

Definition at line 166 of file ParticleSigStateImpl.h.

720{
721 return momentumBase().p2();
722}
double p2() const

◆ parentCollection()

const JetCollection * Jet::parentCollection ( ) const

a pointer to the collection this jet belongs to (can be NULL)

Definition at line 1196 of file Jet.cxx.

1196 {
1197 return m_collection;
1198}

◆ particleBase()

access to underlying base type (IParticle-like)

Definition at line 105 of file ParticleSigStateImpl.h.

470{
471 return m_part;
472}

◆ pdgId()

int ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Base >::pdgId ( ) const
inlinevirtualinherited

Return particle id.

Implements IParticle.

Definition at line 267 of file ParticleSigStateImpl.h.

916{
917 return m_part.pdgId();
918}

◆ phi()

double ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Base >::phi ( void ) const
inlinevirtualinherited

phi in [-pi,pi[

Implements I4Momentum.

Definition at line 178 of file ParticleSigStateImpl.h.

744{
745 return momentumBase().phi();
746}
double phi() const

◆ pt()

double ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Base >::pt ( void ) const
inlinevirtualinherited

transverse momentum

Implements I4Momentum.

Definition at line 190 of file ParticleSigStateImpl.h.

768{
769 return momentumBase().pt();
770}
double pt() const

◆ pti()

double Jet::pti ( ) const
virtual

Definition at line 951 of file Jet.cxx.

◆ putElement() [1/2]

void Jet::putElement ( const collection_t * pColl,
const constituent_t * pConst,
double wght = 1.0,
size_t sizeHint = 0 )
protected

Add element with checking.

◆ putElement() [2/2]

void Jet::putElement ( const collection_t * pColl,
index_t ind,
double wght = 1.0,
size_t sizeHint = 0 )
protected

Add element with checking.

◆ px()

double ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Base >::px ( ) const
inlinevirtualinherited

We re-define here extra class routines that will allow direct access to signal state kinematics without changing the current state.

I4Momentum interface forwarding x component of momentum

Implements I4Momentum.

Definition at line 142 of file ParticleSigStateImpl.h.

672{
673 return momentumBase().px();
674}
double px() const
{@ a la I4Momentum -like interface

◆ pxi()

double Jet::pxi ( ) const
virtual

Definition at line 945 of file Jet.cxx.

945{ return this->px(); }

◆ py()

double ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Base >::py ( ) const
inlinevirtualinherited

y component of momentum

Implements I4Momentum.

Definition at line 146 of file ParticleSigStateImpl.h.

680{
681 return momentumBase().py();
682}
double py() const
get py data member

◆ pyi()

double Jet::pyi ( ) const
virtual

Definition at line 947 of file Jet.cxx.

947{ return this->py(); }

◆ pz()

double ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Base >::pz ( ) const
inlinevirtualinherited

z component of momentum

Implements I4Momentum.

Definition at line 150 of file ParticleSigStateImpl.h.

688{
689 return momentumBase().pz();
690}
double pz() const
get pz data member

◆ pzi()

double Jet::pzi ( ) const
virtual

Definition at line 949 of file Jet.cxx.

949{ return this->pz(); }

◆ rapidity()

double ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Base >::rapidity ( ) const
inlinevirtualinherited

rapidity

Implements I4Momentum.

Definition at line 170 of file ParticleSigStateImpl.h.

728{
729 return momentumBase().rapidity();
730}
double rapidity() const

◆ remove() [1/3]

bool Jet::remove ( )
protected

◆ remove() [2/3]

bool Jet::remove ( const collection_t * pColl,
index_t ind )
protected

◆ remove() [3/3]

bool Jet::remove ( const constituent_t * pConst)
protected

Remove constituent.

◆ removeAssociation() [1/2]

void Jet::removeAssociation ( const mkey_t & key)

remove and DELETE association object.

◆ removeAssociation() [2/2]

void Jet::removeAssociation ( size_t index)
private

Fill a token with association objects.

clear association at given index

◆ removeConstituent() [1/3]

bool Jet::removeConstituent ( bool reset = false)

Remove all constituents.

◆ removeConstituent() [2/3]

bool Jet::removeConstituent ( const collection_t * pColl,
index_t ind )

Remove a constituent.

◆ removeConstituent() [3/3]

bool Jet::removeConstituent ( const constituent_t * pConst)

Remove a constituent.

Definition at line 490 of file Jet.cxx.

491{
492 if ( this->contains(pConst) )
493 {
494 double w(this->getWeight(pConst));
495 //this->updateKine(pConst->hlv(),-w);
496 this->updateKine(pConst,-w);
497 this->remove(pConst);
498 return true;
499 }
500 return false;
501}
bool remove()

◆ removeInfo() [1/2]

void Jet::removeInfo ( const mkey_t & key)

(depreciated) Remove tag info object

Definition at line 878 of file Jet.cxx.

879{
880 if ( bool(m_tagInfoStore) ) {
881 size_t aInd;
882 if ( this->checkKeyStore(JetKeyConstants::TagCat,key,m_tagInfoStore,aInd, false) ) {
883 removeInfo(aInd);
884 }
885 }
886}
void removeInfo(const mkey_t &key)
(depreciated) Remove tag info object
Definition Jet.cxx:878
static const key_t TagCat
Index category for jet tag info.

◆ removeInfo() [2/2]

void Jet::removeInfo ( unsigned int index)
private

Remove tag info for object located at index (internal)

Definition at line 872 of file Jet.cxx.

873{
874 delete (m_tagInfoStore->operator[])(index);
875 (m_tagInfoStore->operator[])(index) = nullptr;
876}

◆ resetSignalState()

void ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Base >::resetSignalState ( )
inlineprotectedvirtualinherited

reset the signal state

Implements ISignalState.

Definition at line 327 of file ParticleSigStateImpl.h.

◆ reweight() [1/2]

bool Jet::reweight ( const collection_t * pColl,
index_t ind,
double wght )

Change kinematic weight of constituent.

Definition at line 562 of file Jet.cxx.

563{
564 // std::cout << "reweighting "<< wght << std::endl;
565 return this->removeConstituent(pColl,ind)
566 ? this->addConstituent(pColl,ind,wght)
567 : false;
568}

◆ reweight() [2/2]

bool Jet::reweight ( const constituent_t * pConst,
double wght )

Change kinematic weight of constituent.

Definition at line 551 of file Jet.cxx.

552{
553 if ( this->contains(pConst) )
554 {
555 const collection_t* pColl = this->getContainer(pConst);
556 this->removeConstituent(pConst);
557 return this->addConstituent(pColl,pConst,wght);
558 }
559 return false;
560}

◆ RoIword()

unsigned int Jet::RoIword ( ) const
inline

Return the RoI Word.

Definition at line 544 of file Reconstruction/Jet/JetEvent/JetEvent/Jet.h.

544{return m_RoIword;};

◆ scale_momentum()

void Jet::scale_momentum ( double scale_factor)

scale the jet 4mom by scale_factor

Definition at line 574 of file Jet.cxx.

574 {
575 this->set4Mom(this->hlv()*scale_factor);
576}

◆ set()

template<typename T>
void Jet::set ( const std::string & mName,
const T & v ) const

◆ set4Mom() [1/3]

◆ set4Mom() [2/3]

virtual void I4Momentum::set4Mom ( const I4Momentum *const theI4Mom)
pure virtualinherited

set 4Momentum (will throw exception if cannot be implemented)

Implemented in CaloCell, CaloCluster, egamma, Nav4MomWrapper< Navigable_t, P4Momentum_t >, Nav4MomWrapper< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE >, P4EEtaPhiM, P4EEtaPhiMBase, P4Impl< P4Mom_t >, P4Impl< P4ImplEEtaPhiM >, P4Impl< P4ImplIPtCotThPhiM >, P4Impl< P4ImplPtEtaPhiM >, P4Impl< P4ImplPxPyPzE >, P4IPtCotThPhiM, P4IPtCotThPhiMBase, P4PtEtaPhiM, P4PtEtaPhiMBase, P4PxPyPzE, P4PxPyPzEBase, ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM >, ParticleImpl< ::Analysis::TauJetNavigation, ::P4ImplEEtaPhiM >, ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< egammaNavigation, P4ImplEEtaPhiM >, ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleImpl< NavigableTerminalNode, P4ImplEEtaPhiM, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplIPtCotThPhiM, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NeutrinoNavigation, P4ImplPxPyPzE >, ParticleImpl< TruthParticleNavigation, TruthParticleMomentum, TruthParticleBase >, ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Base >, Rec::TrackParticle, and TruthParticle.

◆ set4Mom() [3/3]

void ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Base >::set4Mom ( const I4Momentum & p4)
inlinevirtualinherited

set 4Momentum (will throw exception if cannot be implemented)

Implements I4Momentum.

Definition at line 291 of file ParticleSigStateImpl.h.

1060{
1061 return momentumBase().set4Mom( p4 );
1062}
void set4Mom(const I4Momentum &theI4Mom)
set all 4-mom from another I4Momentum reference

◆ set_charge()

void ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Base >::set_charge ( ChargeType x)
inlinevirtualinherited

Definition at line 300 of file ParticleSigStateImpl.h.

1093{
1094 m_part.set_charge(x);
1095}

◆ set_dataType()

Definition at line 299 of file ParticleSigStateImpl.h.

1085{
1086 m_part.set_dataType(x);
1087}

◆ set_origin()

void ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Base >::set_origin ( const VxContainer * theContainer,
int index )
inlinevirtualinherited

Definition at line 302 of file ParticleSigStateImpl.h.

1110{
1111 m_part.set_origin(theContainer, index);
1112}

◆ set_pdgId()

void ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Base >::set_pdgId ( int x)
inlinevirtualinherited

Definition at line 301 of file ParticleSigStateImpl.h.

1101{
1102 m_part.set_pdgId(x);
1103}

◆ set_RoIword()

bool Jet::set_RoIword ( unsigned int word)
inline

set RoI Word

Definition at line 547 of file Reconstruction/Jet/JetEvent/JetEvent/Jet.h.

547{m_RoIword = word; return true;};

◆ setAssociation()

template<class T>
void Jet::setAssociation ( const T * pAssoc,
bool useLink = false )

Set association object.

◆ setAthenaBarCode()

void ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Base >::setAthenaBarCode ( AthenaBarCode_t id)
inlinevirtualinherited

Reimplemented from IAthenaBarCode.

Definition at line 121 of file ParticleSigStateImpl.h.

937{
939}
void setAthenaBarCode(AthenaBarCode_t id)

◆ setCalE()

void Jet::setCalE ( double e)

Sets calibrated \( E \).

Definition at line 919 of file Jet.cxx.

virtual void setE(double e)
Kinematics are now handled by the base class, except for the following.

◆ setCalPx()

void Jet::setCalPx ( double px)

Sets calibrated \( p_x \).

Definition at line 921 of file Jet.cxx.

virtual void setPx(double Px)

◆ setCalPy()

void Jet::setCalPy ( double py)

Sets calibrated \( p_y \).

Definition at line 923 of file Jet.cxx.

virtual void setPy(double py)

◆ setCalPz()

void Jet::setCalPz ( double pz)

Sets calibrated \( p_z \).

Definition at line 925 of file Jet.cxx.

virtual void setPz(double pz)

◆ setCombinedLikelihood()

void Jet::setCombinedLikelihood ( const std::vector< double > & combinedLikelihood)

(depreciated) Likelihood store setter

Definition at line 978 of file Jet.cxx.

980{
981 const std::string base="LikeLihood_";
982 for(unsigned int i=0; i<combinedLikelihood.size(); i++){
983 setShape(base+std::to_string(i), combinedLikelihood[i] );
984 }
986}
void setShape(const mkey_t &shapeName, shape_t shape, bool addIfMissing=true) const
Set shape variable.
Definition Jet.cxx:797

◆ setConstituentSignalState()

void Jet::setConstituentSignalState ( signalstate_t s)

Set the current Signal state of the jet constituents.

◆ setConstituentsN()

void Jet::setConstituentsN ( numconstit_t n)
inline

Set number of constituents in jet.

this just sets a number, no actual effect on constituents. Used when constituents are physically removed when jet is saved on disk.

Definition at line 306 of file Reconstruction/Jet/JetEvent/JetEvent/Jet.h.

◆ setCScaleE()

void Jet::setCScaleE ( double e)

Sets uncalibrated \( E \).

Definition at line 910 of file Jet.cxx.

◆ setCScalePx()

void Jet::setCScalePx ( double px)

Sets uncalibrated \( p_x \).

Definition at line 912 of file Jet.cxx.

◆ setCScalePy()

void Jet::setCScalePy ( double py)

Sets uncalibrated \( p_y \).

Definition at line 914 of file Jet.cxx.

◆ setCScalePz()

void Jet::setCScalePz ( double pz)

Sets uncalibrated \( p_z \).

Definition at line 916 of file Jet.cxx.

◆ setE() [1/2]

virtual void Jet::setE ( double e)
virtual

Kinematics are now handled by the base class, except for the following.

◆ setE() [2/2]

virtual void Jet::setE ( double e,
signalstate_t s )
virtual

◆ setEEtaPhiM()

void Jet::setEEtaPhiM ( double a,
double b,
double c,
double d )

Definition at line 1214 of file Jet.cxx.

1214 {
1215 set4Mom( P4EEtaPhiM(a,b,c,d) );
1216}
static Double_t a

◆ setFastjetPtr()

void Jet::setFastjetPtr ( const fastjet::PseudoJet * fj)
inline

Definition at line 872 of file Reconstruction/Jet/JetEvent/JetEvent/Jet.h.

872{ m_pseudoJet = fj;}

◆ setJetAuthor()

void Jet::setJetAuthor ( const std::string & author)

Set author of this Jet (only the author, tags unchanged)

Definition at line 1094 of file Jet.cxx.

1095{
1097
1098 std::string full_auth = keyDesc()->getKey(JetKeyConstants::InfoCat,m_jetAuthor);
1099 size_t pos = full_auth.find_first_of('_');
1100
1101 if( pos != std::string::npos) // we add the _XXX_YYY part to author
1102 m_jetAuthor = keyDesc()->getIndex(JetKeyConstants::InfoCat,author+full_auth.substr(pos),true);
1103 else
1105}

◆ setJetAuthorAndCalibTags()

void Jet::setJetAuthorAndCalibTags ( const std::string & author)

Set the full author-and-tag string.

Definition at line 1122 of file Jet.cxx.

1122 {
1124}

◆ setJetId()

void Jet::setJetId ( size_t id)
protected

Definition at line 1200 of file Jet.cxx.

1200{ m_jetId = id ; }
size_t id() const
Index category for jet shapes.
Definition Jet.cxx:1194

◆ setMoment()

void Jet::setMoment ( const mkey_t & shapeName,
shape_t shape,
bool addIfMissing = true ) const

Alias for setShape.

◆ setNStates()

void ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Base >::setNStates ( int n)
inlineprotectedinherited

Definition at line 334 of file ParticleSigStateImpl.h.

334{m_nStates = n;}

◆ setP()

void Jet::setP ( const hlv_t & rVec)

(obsolete) set all 4-mom from CLHEP CLHEP::HepLorentzVector

◆ setPtEtaPhiE()

void Jet::setPtEtaPhiE ( double a,
double b,
double c,
double d )

Definition at line 1205 of file Jet.cxx.

1205 {
1206 double pz = pt*std::sinh( eta) ;
1207 double px = pt*std::cos(phi);
1208 double py = pt*std::sin(phi);
1209 setPx(px);setPy(py);setPz(pz);setE(e);
1210}
virtual double phi() const =0
phi in [-pi,pi[
virtual double pt() const =0
transverse momentum
virtual double eta() const =0
pseudo rapidity

◆ setPtEtaPhiM()

void Jet::setPtEtaPhiM ( double a,
double b,
double c,
double d )

Definition at line 1211 of file Jet.cxx.

1211 {
1212 set4Mom( P4PtEtaPhiM(a,b,c,d) );
1213}

◆ setPx() [1/2]

virtual void Jet::setPx ( double Px)
virtual

◆ setPx() [2/2]

virtual void Jet::setPx ( double Px,
signalstate_t s )
virtual

◆ setPxPyPzE()

void Jet::setPxPyPzE ( double px,
double py,
double pz,
double e )

compatibility with analysis EDM

Definition at line 1202 of file Jet.cxx.

1202 {
1203 setPx(px);setPy(py);setPz(pz);setE(e);
1204}

◆ setPy() [1/2]

virtual void Jet::setPy ( double py)
virtual

◆ setPy() [2/2]

virtual void Jet::setPy ( double py,
signalstate_t s )
virtual

◆ setPz() [1/2]

virtual void Jet::setPz ( double pz)
virtual

◆ setPz() [2/2]

virtual void Jet::setPz ( double pz,
signalstate_t s )
virtual

◆ setRawE()

void Jet::setRawE ( double e)

Sets uncalibrated \( E \).

Definition at line 901 of file Jet.cxx.

◆ setRawPx()

void Jet::setRawPx ( double px)

Sets uncalibrated \( p_x \).

Definition at line 903 of file Jet.cxx.

◆ setRawPy()

void Jet::setRawPy ( double py)

Sets uncalibrated \( p_y \).

Definition at line 905 of file Jet.cxx.

◆ setRawPz()

void Jet::setRawPz ( double pz)

Sets uncalibrated \( p_z \).

Definition at line 907 of file Jet.cxx.

◆ setShape()

void Jet::setShape ( const mkey_t & shapeName,
shape_t shape,
bool addIfMissing = true ) const

Set shape variable.

Definition at line 797 of file Jet.cxx.

799{
800 // use check function to find index of moment - index is generated if
801 // not yet in key descriptor store
802 size_t keyIndex;
803 if ( this->checkKey(JetKeyConstants::ShapeCat,shapeName,keyIndex,true) )
804 {
805 // access jet moment map
806 const shape_map_t* map = this->getMomentMap(createIfMissing);
807 // store data
808 if ( map != nullptr )
809 {
810 map->setMoment(m_jetId,keyIndex,shapeValue);
811 // m_newMomKeys = true;
812 }
813 }
814}

◆ setSignalState()

bool ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Base >::setSignalState ( state_t s)
inlineprotectedvirtualinherited

set the current signal state

Implements ISignalState.

Definition at line 324 of file ParticleSigStateImpl.h.

1158{
1159 if(!hasSignalState(s))
1160 {
1161 return false;
1162 } else {
1163 m_currentState = s;
1164 return true;
1165 }
1166}

◆ setTagInfo()

void Jet::setTagInfo ( const mkey_t & key,
const taginfo_t * pTagInfo,
bool useLink = false )

Set tag info object.

Definition at line 853 of file Jet.cxx.

856{
857 // use check function
858 size_t aInd;
859 //
860 if ( ! bool(m_tagInfoStore) )
861 {
862 // checkKey automatically build new store !!!
864 }
865 if ( this->checkKeyStore(JetKeyConstants::TagCat,key,m_tagInfoStore,aInd, true) )
866 {
867 removeInfo(aInd);
868 (m_tagInfoStore->operator[])(aInd) = pTagInfo;
869 }
870}

◆ setup()

void Jet::setup ( const hlv_t & v)
protected

◆ setupKine()

void Jet::setupKine ( const hlv_t & v)
virtual

Definition at line 889 of file Jet.cxx.

890{
893 this->set4Mom(vIn, statename_t::JETFINAL);
894}

◆ setVersion()

void ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Base >::setVersion ( AthenaBarCodeVersion_t newversion)
inlinevirtualinherited

Reimplemented from IAthenaBarCode.

Definition at line 127 of file ParticleSigStateImpl.h.

978{
980}
void setVersion(AthenaBarCodeVersion_t newversion)

◆ signalState()

Retrieve current signal state.

Implements ISignalState.

Definition at line 310 of file ParticleSigStateImpl.h.

1150{
1151 return m_currentState;
1152}

◆ sinPhi()

double ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Base >::sinPhi ( ) const
inlinevirtualinherited

sinus phi

Implements I4Momentum.

Definition at line 202 of file ParticleSigStateImpl.h.

792{
793 return momentumBase().sinPhi();
794}
double sinPhi() const

◆ sinTh()

double ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Base >::sinTh ( ) const
inlinevirtualinherited

sinus theta

Implements I4Momentum.

Definition at line 214 of file ParticleSigStateImpl.h.

816{
817 return momentumBase().sinTh();
818}
double sinTh() const

◆ size()

size_t Jet::size ( ) const

Size of constituent store.

◆ str()

std::string Jet::str ( )

Jet print-out function.

Definition at line 624 of file Jet.cxx.

624 {
625 std::ostringstream out;
626 out << jetAuthor() << ": NConstituents: " << size() << "; Eta: " << eta() << "; Phi: " << phi() << "; Pt: " << pt();
627 return out.str();
628}

◆ tagInfo() [1/2]

const taginfo_t * Jet::tagInfo ( const mkey_t & key) const

Retrieve tag info object.

◆ tagInfo() [2/2]

template<class TAGINFO>
const TAGINFO * Jet::tagInfo ( const mkey_t & key) const

Retrieve a concrete tag info object.

◆ tanTh()

double ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Base >::tanTh ( ) const
inlinevirtualinherited

tan theta

Implements I4Momentum.

Definition at line 206 of file ParticleSigStateImpl.h.

800{
801 return momentumBase().tanTh();
802}
double tanTh() const

◆ updateKine() [1/3]

void Jet::updateKine ( )
privatevirtual

Resummation of kinematics from constituents.

Recalculate overall jet kinematics from all constituents.

This method removes all corrections or calibrations applied and sets the overall Jet kinematics to the (weighted) sum of constituent four-momentums.

Definition at line 735 of file Jet.cxx.

736{
737 // reset four momentum
738 this->setPx(0.);
739 this->setPy(0.);
740 this->setPz(0.);
741 this->setE(0.);
742
743 // loop children
744
745 JetConstituentIterator fC = JetConstituentIterator::first(this, m_constituentSigState);
746 JetConstituentIterator lC = JetConstituentIterator::last(this);
747 for (;fC!=lC;++fC)
748 {
749 if (! fC.get_real_constit()) continue; // constit may be invalid if broken EL
750 this->updateKine(fC.hlv(),this->getWeight(fC.get_real_constit()));
751 }
752}
signalstate_t m_constituentSigState
Constituent Signal State.

◆ updateKine() [2/3]

void Jet::updateKine ( const constituent_t * pConst,
double wght = 1.0 )
privatevirtual

Updates Jet kinematics.

Definition at line 762 of file Jet.cxx.

763{
764
765 // Attempt to cast into an ISignalState object
766 const ISignalState* pSigState = dynamic_cast<const ISignalState*>(pConst);
767
768 if(bool(pSigState) && m_constituentSigState != P4SignalState::UNKNOWN)
769 {
770 // Copy kinematics for the chosen Signal State
771 this->updateKine(pSigState->hlv(m_constituentSigState),wght);
772 } else
773 this->updateKine(pConst->hlv(),wght);
774}
virtual CLHEP::HepLorentzVector hlv(P4SignalState::State s) const =0
obtain the CLHEP HepLorentzVector

◆ updateKine() [3/3]

void Jet::updateKine ( const hlv_t & pVec,
double wght = 1.0 )
privatevirtual

Updates Jet kinematics.

Update the Jet four-momentum by adding another four-vector with a weight.

Definition at line 757 of file Jet.cxx.

758{
759 this->set4Mom(this->hlv()+rVec*wght);
760}

◆ JetAssociationBase

friend class JetAssociationBase
friend

Definition at line 583 of file Reconstruction/Jet/JetEvent/JetEvent/Jet.h.

◆ JetCnv_p1

friend class JetCnv_p1
friend

Definition at line 717 of file Reconstruction/Jet/JetEvent/JetEvent/Jet.h.

◆ JetCnv_p2

friend class JetCnv_p2
friend

Definition at line 718 of file Reconstruction/Jet/JetEvent/JetEvent/Jet.h.

◆ JetCnv_p3

friend class JetCnv_p3
friend

Definition at line 719 of file Reconstruction/Jet/JetEvent/JetEvent/Jet.h.

◆ JetCnv_p4

friend class JetCnv_p4
friend

Definition at line 720 of file Reconstruction/Jet/JetEvent/JetEvent/Jet.h.

◆ JetCollection

friend class JetCollection
friend

Definition at line 53 of file Reconstruction/Jet/JetEvent/JetEvent/Jet.h.

◆ JetCollectionCnv_p6

friend class JetCollectionCnv_p6
friend

Definition at line 721 of file Reconstruction/Jet/JetEvent/JetEvent/Jet.h.

◆ JetCollSigStateHelper

friend class JetCollSigStateHelper
friend

Definition at line 581 of file Reconstruction/Jet/JetEvent/JetEvent/Jet.h.

◆ JetConverterBase

template<class PERS>
friend class JetConverterBase
friend

Definition at line 50 of file Reconstruction/Jet/JetEvent/JetEvent/Jet.h.

◆ JetSignalStateHelper

friend class JetSignalStateHelper
friend

Set signal state through a friend.

Definition at line 580 of file Reconstruction/Jet/JetEvent/JetEvent/Jet.h.

◆ JetTagInfoBase

friend class JetTagInfoBase
friend

Definition at line 584 of file Reconstruction/Jet/JetEvent/JetEvent/Jet.h.

◆ ParticleJetCnv_p1

friend class ParticleJetCnv_p1
friend

Definition at line 716 of file Reconstruction/Jet/JetEvent/JetEvent/Jet.h.

Member Data Documentation

◆ m_assocStore

assostore_t* Jet::m_assocStore
protected

key descriptor for all jet stores

Association store

Definition at line 738 of file Reconstruction/Jet/JetEvent/JetEvent/Jet.h.

◆ m_collection

const JetCollection* Jet::m_collection
protected

Shape store link.

Definition at line 676 of file Reconstruction/Jet/JetEvent/JetEvent/Jet.h.

◆ m_constituentSigState

signalstate_t Jet::m_constituentSigState
protected

Constituent Signal State.

Definition at line 744 of file Reconstruction/Jet/JetEvent/JetEvent/Jet.h.

◆ m_constituentsN

numconstit_t Jet::m_constituentsN
protected

Definition at line 310 of file Reconstruction/Jet/JetEvent/JetEvent/Jet.h.

◆ m_currentState

Current Signal State.

Definition at line 357 of file ParticleSigStateImpl.h.

◆ m_ignoreWeight

const double Jet::m_ignoreWeight = 1.0e-06
staticprivate

Maximum difference up to which weights are considered equal.

Definition at line 620 of file Reconstruction/Jet/JetEvent/JetEvent/Jet.h.

◆ m_jetAuthor

size_t Jet::m_jetAuthor
protected

Jet author store.

Definition at line 725 of file Reconstruction/Jet/JetEvent/JetEvent/Jet.h.

◆ m_jetId

size_t Jet::m_jetId
mutableprotected

the identifier of this jet within its collection.

(can be 0 if jet is orphan)

Definition at line 672 of file Reconstruction/Jet/JetEvent/JetEvent/Jet.h.

◆ m_mom

The 4-momentum part Eventually, perhaps we can use a set since not all intermediate Signal States will be used by every object.

Definition at line 348 of file ParticleSigStateImpl.h.

◆ m_nav

The navigable part.

Definition at line 342 of file ParticleSigStateImpl.h.

◆ m_nStates

Number of Signal States.

Definition at line 354 of file ParticleSigStateImpl.h.

◆ m_num_combinedLikelihood

size_t Jet::m_num_combinedLikelihood
private

Definition at line 854 of file Reconstruction/Jet/JetEvent/JetEvent/Jet.h.

◆ m_part

The particle-id part.

Definition at line 351 of file ParticleSigStateImpl.h.

◆ m_pseudoJet

const fastjet::PseudoJet* Jet::m_pseudoJet
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.

Definition at line 867 of file Reconstruction/Jet/JetEvent/JetEvent/Jet.h.

◆ m_RoIword

unsigned int Jet::m_RoIword
private

Definition at line 540 of file Reconstruction/Jet/JetEvent/JetEvent/Jet.h.

◆ m_tagInfoStore

tagstore_t* Jet::m_tagInfoStore
protected

Tag info store.

Definition at line 741 of file Reconstruction/Jet/JetEvent/JetEvent/Jet.h.

◆ s_defaultJetAuthor

const size_t Jet::s_defaultJetAuthor = 0
staticprotected

Definition at line 723 of file Reconstruction/Jet/JetEvent/JetEvent/Jet.h.

◆ s_defaultJetId

const size_t Jet::s_defaultJetId = 0
staticprotected

Definition at line 670 of file Reconstruction/Jet/JetEvent/JetEvent/Jet.h.

◆ UNDEFINEDBARCODE

const AthenaBarCode_t IAthenaBarCode::UNDEFINEDBARCODE = (AthenaBarCode_t)(-1)
staticinherited

Definition at line 52 of file AthenaKernel/AthenaKernel/IAthenaBarCode.h.

◆ UNDEFINEDVERSION

const AthenaBarCode_t IAthenaBarCode::UNDEFINEDVERSION = UNDEFINEDBARCODE
staticinherited

Definition at line 53 of file AthenaKernel/AthenaKernel/IAthenaBarCode.h.


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