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