|
ATLAS Offline Software
|
Go to the documentation of this file.
39 struct JetSignalState;
109 typedef navigable_t::external_index_type
index_t;
133 typedef CLHEP::HepLorentzVector
hlv_t;
173 Jet(
const Jet* pJet ,
bool copyStores,
bool copyConstituents);
188 virtual Jet*
clone(
bool copyStores,
bool copyConstituents =
true )
const ;
232 virtual double ei()
const;
233 virtual double pxi()
const;
234 virtual double pyi()
const;
235 virtual double pzi()
const;
236 virtual double pti()
const;
289 bool addJet(
const Jet* pJet,
double wght=1.0);
316 size_t sizeHint = 0);
321 size_t sizeHint = 0);
326 size_t sizeHint = 0);
331 size_t sizeHint = 0);
371 const std::any&
par)
const;
425 bool addIfMissing=
true)
const ;
434 bool addIfMissing=
true)
const;
444 T get(
const std::string & mName)
const ;
447 void set(
const std::string & mName,
const T &
v)
const ;
457 template<
typename ASSOC>
482 template<
typename TAGINFO>
499 template<
class TAGINFO>
503 template<
class TAGINFO>
753 template<
typename STORE>
758 bool createIfMissing )
const
763 if ( !createIfMissing )
return false;
771 if ( aInd >=
store->size() )
773 if ( ! createIfMissing )
return false;
774 store->resize(aInd+1);
788 bool createIfMissing)
const;
792 template<
typename OBJ,
class STORE>
796 bool createIfMissing )
const
800 ?
dynamic_cast<const OBJ*
>((
store->operator[])(aInd))
806 template<
typename DATA,
class STORE>
811 bool createIfMissing )
const
857 void diff(
const Jet& rJet1,
const Jet& rJet2, std::map<std::string,double> varDiff);
902 #endif //JETEVENT_JET_H
bool getIndex(const_iterator fConst, index_t &ind) const
Retrieve index of object in container.
void setPtEtaPhiM(double a, double b, double c, double d)
void setP(const hlv_t &rVec)
(obsolete) set all 4-mom from CLHEP CLHEP::HepLorentzVector
Jet * getOverlap(const Jet &rJet, bool noKine=false) const
Retrieve constituent overlap between jets.
virtual void setE(double e)
Kinematics are now handled by the base class, except for the following.
static const size_t s_defaultJetAuthor
ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Base > base_t
Internally used base type mixes particle/navigable/four-momentum interfaces with correct implementati...
virtual double pxi() const
const_iterator end() const
End iterator for constituent store.
char data[hepevt_bytes_allocation_ATLAS]
Jet(const fourmom_t *pMom)
Construction from I4Momentum type.
virtual double py() const
y component of momentum
size_t m_num_combinedLikelihood
virtual void setPz(double pz)
Jet(double px, double py, double pz, double e)
Construction from data.
double getParameter(const constituent_t *pConst) const
Retrieve weight.
static const double m_ignoreWeight
Maximum difference up to which weights are considered equal.
Jet(const Jet *pJet, bool copyStores, bool copyConstituents)
Copy constructor, controlling copies of internals.
unsigned int RoIword() const
Return the RoI Word.
virtual double e() const
energy
void setCalE(double e)
Sets calibrated
void setJetAuthorAndCalibTags(const std::string &author)
Set the full author-and-tag string.
shape_t getShape(const mkey_t &shapeName, bool addIfMissing=false) const
Retrieve shape variable.
double getFlavourTagWeight() const
get the final b-tag result from the default tagger
void putElement(const collection_t *pColl, index_t ind, double wght=1.0, size_t sizeHint=0)
Add element with checking.
const ASSOC * getAssociation(const mkey_t &key, bool useLink=true) const
Retrieve association object.
Jet(const hlv_t &rVec)
Construction from CLHEP::HepLorentzVector type.
Basic data class defines behavior for all Jet objects The Jet class is the principal data class for...
navigable_t::external_index_type index_t
bool set_RoIword(unsigned int word)
set RoI Word
bool removeConstituent(const constituent_t *pConst)
Remove a constituent.
virtual void setPx(double Px)
void setup(const hlv_t &v)
const assoc_t * getAssociationBase(const mkey_t &key) const
virtual double px() const
We re-define here extra class routines that will allow direct access to signal state kinematics witho...
JetKeyDescriptor::category_t mcat_t
void setCScalePz(double pz)
Sets uncalibrated .
const TAGINFO * tagInfo(const mkey_t &key) const
Retrieve a concrete tag info object.
shape_t getMoment(const mkey_t &shapeName, bool addIfMissing=false) const
Alias for getShape.
virtual double ei() const
void setEEtaPhiM(double a, double b, double c, double d)
bool cleanUp()
Remove all constituents with kinematic weight = 0.
double getCScalePy() const
void scale_momentum(double scale_factor)
scale the jet 4mom by scale_factor
void setCScalePx(double px)
Sets uncalibrated .
const taginfo_t * tagInfo(const mkey_t &key) const
Retrieve tag info object.
JetAssociationBase assoc_t
virtual ~Jet()
Destructor.
double getCScaleE() const
base_t::particle_type particle_t
Patricle implementation type
navigable_t::external_index_type index_type
Constituent index type (obsolete)
void setCScaleE(double e)
Sets uncalibrated
friend class JetSignalStateHelper
Set signal state through a friend.
virtual Jet * clone() const
clone method : do not clone stores and constituent
friend class JetCollSigStateHelper
bool isValid(const T &p)
Av: we implement here an ATLAS-sepcific convention: all particles which are 99xxxxx are fine.
bool removeConstituent(bool reset=false)
Remove all constituents.
virtual void setPy(double py, signalstate_t s)
virtual double pzi() const
bool removeConstituent(const collection_t *pColl, index_t ind)
Remove a constituent.
const_iterator firstConstituent() const
(obsolete) begin iterator for constituent store
bool hasCalibTag(const std::string &tag) const
test if jet has calib tag tag
double getWeight(const_iterator fConst) const
Retrieve kinematic weight of constituent.
Jet(const Jet *pJet)
Copy constructor.
INavigable4MomentumCollection collection_type
Navigable object collection type (obsolete)
std::vector< const assoc_t * > assostore_t
void removeAssociation(size_t index)
clear association at given index
void setShape(const mkey_t &shapeName, shape_t shape, bool addIfMissing=true) const
Set shape variable.
I4Momentum_t momentum_type
publish the type of the base class (ie: 'traits-itize' it)
JetKeyDescriptor::key_t mkey_t
bool checkKey(const mcat_t &cat, const mkey_t &key, size_t &aInd, bool createIfMissing) const
const shape_map_t * getMomentMap() const
navigable_t::object_iter const_iterator
void set(const std::string &mName, const T &v) const
std::vector< const taginfo_t * > tagstore_t
void setAssociation(const T *pAssoc, bool useLink=false)
Set association object.
virtual double pti() const
IParticle_t particle_type
publish the type of the base class (ie: 'traits-itize' it)
const TAGINFO * getTagInfo(const mkey_t &key, bool useLink=true) const
Retrieve tag info object.
void removeInfo(const mkey_t &key)
(depreciated) Remove tag info object
size_t id() const
returns this jet unique identifier in its collection
void setRawPy(double py)
Sets uncalibrated .
bool operator!=(const Jet &rJet) const
Comparison operator.
std::string getCalibTag(int i) const
retrieve calib tag number i (start at 1).
const JetCollection * parentCollection() const
a pointer to the collection this jet belongs to (can be NULL)
bool remove(const collection_t *pColl, index_t ind)
void setCalPx(double px)
Sets calibrated .
Jet()
Default constructor.
virtual void setupKine(const hlv_t &v)
P4SignalState::State signalstate_t
hlv_t constituent_sum4Mom() const
Sum of weighted constituent four-momentums.
void setRawE(double e)
Sets uncalibrated
void setCombinedLikelihood(const std::vector< double > &combinedLikelihood)
(depreciated) Likelihood store setter
JetMoment::float_t shape_t
size_t size() const
Size of constituent store.
virtual void setE(double e, signalstate_t s)
Jet(const Jet &rJet)
Copy constructor using reference.
const_iterator lastConstituent() const
(obsolere) end iterator for constituent store
double getWeight(const collection_t *pColl, index_t ind) const
Retrieve kinematic weight of constituent.
int numCalibTag() const
number of calib tags for this jet
navigable_t::constituent_coll constituent_coll_t
navigable_t::object_iter constituent_iterator
Constituent iterator type (obsolete)
bool getIndex(const constituent_t *pConst, index_t &ind) const
Retrieve index of object in container.
std::vector< mkey_t > getShapeKeys() const
Retrieve list of avalailable keys.
std::string getMomentMapName() const
bool finalScaleEqualsEMScale() const
True if JETFINAL state equals JETEMSCALE state within 0.1 MeV on each E,px,pypz components.
Jet * get_scaled_copy(double scale_factor) const
return a NEW copy of this jet with 4mom scaled
std::string jetAuthor() const
Author and calibration history are encoded in a simple way inside the jet object.
tagstore_t * m_tagInfoStore
Tag info store.
const collection_t * getContainer(const constituent_t *pConst) const
Retrieve pointer to constituent object container.
bool contains(const collection_t *pColl, index_t ind) const
Check on containment.
bool remove(const constituent_t *pConst)
Remove constituent.
void insertElement(const collection_t *pColl, const constituent_t *pConst, double wght=1.0, size_t sizeHint=0)
insert element without checking
const std::vector< mkey_t > & getAssociationKeys() const
void setCalPz(double pz)
Sets calibrated .
double getParameter(const_iterator fConst) const
Retrieve weight.
const JetCollection * m_collection
Shape store link.
void setConstituentSignalState(signalstate_t s)
Set the current Signal state of the jet constituents.
bool isIdentical(const Jet &rJet) const
Test if Jet is identical to given Jet.
void addCalibTag(const std::string &tag)
set calib tag tag must be of the form "AAA"
void setRawPz(double pz)
Sets uncalibrated .
void setPtEtaPhiE(double a, double b, double c, double d)
P4SignalState statename_t
double(Jet::* GET_VALUE)() const
void insertElement(const collection_t *pColl, index_t ind, double wght=1.0, size_t sizeHint=0)
insert element without checking
std::vector< mkey_t > getMomentKeys() const
Alias for getShapeKeys.
const tagstore_t jetTagInfoVector() const
(depreciated) Retrieve vector of tag infos
std::vector< double > combinedLikelihood() const
(depreciated) Likelihood store access
Jet & operator=(const Jet &rJet)
Assignment operator.
void(Jet::* SET_VALUE)(double v)
void setCalPy(double py)
Sets calibrated .
bool addConstituent(const collection_t *pColl, const constituent_t *pConst, double wght=1.0)
Add a constituent with optional kinematic weight.
void diff(const Jet &rJet1, const Jet &rJet2, std::map< std::string, double > varDiff)
Difference between jets - Non-Class function required by trigger.
base_t::navigable_type navigable_t
Navigable implementation type
void copy_from_jet(const Jet *pjet, CopyDataMembers cdm0, CopyDataMembers cdm1=CopyNone, CopyDataMembers cdm2=CopyNone, CopyDataMembers cdm3=CopyNone)
size_t m_jetAuthor
Jet author store.
const_iterator begin() const
Begin iterator for constituent store.
base_t::momentum_type momentum_t
Four-momentum implementation type
void setCScalePy(double py)
Sets uncalibrated .
void setFastjetPtr(const fastjet::PseudoJet *fj)
bool has_calibrated_constit() const
True if the jet constituent have a calibrated signal state.
INavigable4MomentumCollection collection_t
Navigable object type.
void putElement(const collection_t *pColl, const constituent_t *pConst, double wght=1.0, size_t sizeHint=0)
Add element with checking.
CLHEP::HepLorentzVector hlv_t
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.
INavigable4Momentum constituent_t
Constituent iterator type.
signalstate_t m_constituentSigState
Constituent Signal State.
bool addJet(const Jet *pJet, double wght=1.0)
Add a jet.
bool operator==(const Jet *pJet) const
Comparison operator.
virtual void fillToken(INavigationToken &navToken) const
Object navigation support, no relational parameter.
void removeAssociation(const mkey_t &key)
remove and DELETE association object.
JetKeyDescriptorInstance * keyDesc() const
virtual void setPz(double pz, signalstate_t s)
assostore_t * m_assocStore
key descriptor for all jet stores
signalstate_t constituentSignalState() const
Get the current Signal state of the jet constituents.
const collection_t * getContainer(const_iterator fConst) const
Retrieve pointer to constituent object container.
void addInfo(const TAGINFO *tag)
Add tag info object.
double getWeight(const constituent_t *pConst) const
Retrieve kinematic weight of constituent.
double getCScalePx() const
INavigable_t navigable_type
publish the type of the base class (ie: 'traits-itize' it)
virtual void fillToken(INavigationToken &navToken, const std::any &par) const
Object navigation support, relational parameter.
const std::vector< mkey_t > infoKeys() const
(depreciated) list of tag info keys
constexpr std::enable_if_t< is_bitmask_v< E >, E & > reset(E &lhs, E rhs)
Convenience function to clear bits in a class enum bitmask.
size_t m_jetId
the identifier of this jet within its collection.
void setMoment(const mkey_t &shapeName, shape_t shape, bool addIfMissing=true) const
Alias for setShape.
static const size_t s_defaultJetId
bool reweight(const constituent_t *pConst, double wght)
Change kinematic weight of constituent.
virtual void updateKine()
Resummation of kinematics from constituents.
T get(const std::string &mName) const
Compatibility with JetAnalysisEDM.
std::string str()
Jet print-out function.
virtual void setPy(double py)
Jet(const collection_t *pColl, const constituent_t *pConst, double wght=1.0)
Construction from storable object.
size_t getIndex(const category_t &cat, const key_t &key, bool createIfMissing=true)
void setPxPyPzE(double px, double py, double pz, double e)
compatibility with analysis EDM
bool contains(const constituent_t *pConst) const
Check on containment.
std::string jetAuthorAndCalibTags() const
Retrieve the full author-and-tag string of this Jet.
const fastjet::PseudoJet * fastjetPtr() const
Access to the internal fastjet object. CAN RETURN NULL, see the description of m_pseudoJet.
MsgStream & operator<<(MsgStream &out)
Output operator.
const OBJ * getObject(const mkey_t &key, STORE *store, const mcat_t &cat, bool createIfMissing) const
Get object from store with category and key.
void setConstituentsN(numconstit_t n)
Set number of constituents in jet.
virtual double pz() const
z component of momentum
double getCScalePz() const
const fastjet::PseudoJet * m_pseudoJet
Pointer to the fastjet object this jet is build from.
Jet(const collection_t *pColl, index_t ind, double wght=1.0)
Construction from storable object.
Jet(const fourmom_t &rMom)
Construction from I4Momentum type.
bool operator==(const Jet &rJet) const
Comparison operator.
INavigable4Momentum constituent_type
Navigable object type (obsolete)
void setTagInfo(const mkey_t &key, const taginfo_t *pTagInfo, bool useLink=false)
Set tag info object.
virtual void setPx(double Px, signalstate_t s)
numconstit_t m_constituentsN
void setRawPx(double px)
Sets uncalibrated .
numconstit_t constituentsN() const
Number of constituents in jet.
static bool nullOp(const constituent_type *)
defaul function for preProcessConstituent and postProcessConstituent
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 operator!=(const Jet *pJet) const
Comparison operator.
void setJetAuthor(const std::string &author)
Set author of this Jet (only the author, tags unchanged)
CopyDataMembers
@ brief fine control over what's copied in the various stores and constituents
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,...
virtual double pyi() const
double getParameter(const collection_t *pColl, index_t ind) const
Retrieve weight.