ATLAS Offline Software
Loading...
Searching...
No Matches
Reconstruction/Jet/JetEvent/JetEvent/Jet.h
Go to the documentation of this file.
1// emacs, this is -*- C++ -*-
2
3/*
4 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
5*/
6
7#ifndef JETEVENT_JET_H
8#define JETEVENT_JET_H
9
10// navigation
13
14// four-momentum
16
17// signal state
19
20// particle character
22
26#include "JetEvent/JetMoment.h"
27//#include "JetEvent/JetMomentMap.h"
28
29#include <vector>
30#include <any>
31
33// Signal State Friend //
35
36class JetCollection;
37class JetMomentMap;
38
39struct JetSignalState;
40
41namespace fastjet {
42 class PseudoJet;
43}
44
45class Jet : public ParticleSigStateImpl<Navigable<INavigable4MomentumCollection,double>,
46 P4ImplPxPyPzE>
47{
48 // make the templated converter base friend
49 template <class PERS>
50 friend class JetConverterBase;
51
52 // make the JetCollection a friend
53 friend class JetCollection;
54
55
57 // Jet Types //
59
60protected:
61
65
66private:
67
68 // cling 6.20.02 fails to parse this properly if the third template
69 // argument is defaulted.
70 typedef
73
80
81public:
102
111
112 typedef size_t numconstit_t;
113
114 // types for categories and keys
117
118
119 // types for jet shape (moment) information
122
123
124 // types for associations
126 typedef std::vector<const assoc_t*> assostore_t;
127
128 // types for tag info
130 typedef std::vector<const taginfo_t*> tagstore_t;
131
132 // types for kinematics
133 typedef CLHEP::HepLorentzVector hlv_t;
137
138 typedef double (Jet::*GET_VALUE)() const;
139 typedef void (Jet::*SET_VALUE)(double v);
140
142 // Enumeration //
144
151
153 // Constructors & Destructor //
155
157 Jet();
159 Jet(const collection_t* pColl,const constituent_t* pConst,double wght=1.0);
161 Jet(const collection_t* pColl,index_t ind,double wght=1.0);
163 Jet(const fourmom_t* pMom);
165 Jet(const fourmom_t& rMom);
167 Jet(const hlv_t& rVec);
169 Jet(double px, double py, double pz, double e);
171 Jet(const Jet* pJet );
173 Jet(const Jet* pJet , bool copyStores, bool copyConstituents);
175 Jet(const Jet& rJet);
176
181 Jet(const Jet* pJet,
184
186 virtual Jet* clone() const ;
188 virtual Jet* clone(bool copyStores, bool copyConstituents = true ) const ;
189
190
191
192
194 virtual ~Jet();
195
196protected:
197
198 void setup(const hlv_t& v);
199 void copy_from_jet( const Jet* pjet, CopyDataMembers cdm0, CopyDataMembers cdm1 = CopyNone,
201
202
203 const shape_map_t* getMomentMap(bool addIfMissing) const;
204
205public:
206
207 const shape_map_t* getMomentMap() const;
208 std::string getMomentMapName() const;
209
210
211 virtual void setupKine(const hlv_t& v);
212
214 // Kinematic with SignalState //
216
217public:
218
219 // Signal State functions already implemented generically in ParticleSigStateImpl
220
222 virtual void setE (double e );
223 virtual void setPx(double Px);
224 virtual void setPy(double py);
225 virtual void setPz(double pz);
226
227 virtual void setE (double e , signalstate_t s);
228 virtual void setPx(double Px, signalstate_t s);
229 virtual void setPy(double py, signalstate_t s);
230 virtual void setPz(double pz, signalstate_t s);
231
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;
237
239 void setPxPyPzE(double px, double py, double pz, double e);
240 void setPtEtaPhiE( double a, double b, double c, double d );
241 void setPtEtaPhiM( double a, double b, double c, double d );
242 void setEEtaPhiM( double a, double b, double c, double d );
243 // void setPhi(double phi);
244 // void setEta(double phi); NOT provided on purpose to avoid potential confusion with PtEtaPhiE/M based implementations.
245
247 void setP(const hlv_t& rVec);
248
251
254
256 void scale_momentum(double scale_factor);
257
259 Jet * get_scaled_copy(double scale_factor) const;
260
262 // Constituent Management //
264
265public:
266
268 bool addConstituent(const collection_t* pColl,
269 const constituent_t* pConst,
270 double wght=1.0);
272 bool addConstituent(const collection_t* pColl,index_t ind,double wght=1.0);
276 bool addConstituent(const collection_t* pColl,
277 index_t ind,
278 size_t sizeHint,
279 bool noKine,
280 double wght=1.0);
282 bool removeConstituent(const constituent_t* pConst);
284 bool removeConstituent(const collection_t* pColl,index_t ind);
286 bool removeConstituent(bool reset=false);
287
289 bool addJet(const Jet* pJet,double wght=1.0);
290
292 bool reweight(const constituent_t* pConst,double wght);
294 bool reweight(const collection_t* pColl,index_t ind,double wght);
295
297 bool cleanUp();
298
301
307
308protected:
309
311
313 void putElement(const collection_t* pColl,
314 const constituent_t* pConst,
315 double wght = 1.0,
316 size_t sizeHint = 0);
318 void putElement(const collection_t* pColl,
319 index_t ind,
320 double wght = 1.0,
321 size_t sizeHint = 0);
323 void insertElement(const collection_t* pColl,
324 const constituent_t* pConst,
325 double wght = 1.0,
326 size_t sizeHint = 0);
328 void insertElement(const collection_t* pColl,
329 index_t ind,
330 double wght = 1.0,
331 size_t sizeHint = 0);
332
334 bool remove(const constituent_t* pConst);
335 bool remove(const collection_t* pColl,index_t ind);
336 bool remove();
337
339 // Constituent Access //
341
342public:
343
348
354 size_t size() const;
356 bool contains(const constituent_t* pConst) const;
358 bool contains(const collection_t* pColl,index_t ind) const;
359
361 double getWeight(const constituent_t* pConst) const;
363 double getWeight(const collection_t* pColl,index_t ind) const;
365 double getWeight(const_iterator fConst) const;
366
368 virtual void fillToken(INavigationToken& navToken) const;
370 virtual void fillToken(INavigationToken& navToken,
371 const std::any& par) const;
372
373protected:
374
376 double getParameter(const constituent_t* pConst) const;
378 double getParameter(const collection_t* pColl,index_t ind) const;
380 double getParameter(const_iterator fConst) const;
381
382public:
384 const collection_t* getContainer(const constituent_t* pConst) const;
387
389 bool getIndex(const constituent_t* pConst,index_t& ind) const;
391 bool getIndex(const_iterator fConst,index_t& ind) const;
392
393
394
396 // Access jet key system //
398
399protected :
401
403 // Comparators & Overlap //
405
406public:
407
408
410 bool isIdentical(const Jet& rJet) const;
412 bool isIdentical(const Jet* pJet) const;
413
415 Jet* getOverlap(const Jet& rJet, bool noKine = false) const;
417 Jet* getOverlap(const Jet* pJet, bool noKine = false) const;
418
420 // Shapes //
422
424 void setShape(const mkey_t& shapeName,shape_t shape,
425 bool addIfMissing=true) const ;
427 shape_t getShape(const mkey_t& shapeName,bool addIfMissing=false) const;
428
430 std::vector<mkey_t> getShapeKeys() const;
431
433 void setMoment(const mkey_t& shapeName,shape_t shape,
434 bool addIfMissing=true) const;
436 shape_t getMoment(const mkey_t& shapeName,bool addIfMissing=false) const;
437
439 std::vector<mkey_t> getMomentKeys() const;
440
441
443 template<typename T>
444 T get(const std::string & mName) const ;
445
446 template<typename T>
447 void set(const std::string & mName, const T & v) const ;
448
449
451 // Associations //
453
454public:
455
457 template<typename ASSOC>
458 const ASSOC* getAssociation(const mkey_t& key, bool useLink = true) const;
459 const std::vector<mkey_t>& getAssociationKeys() const;
460 const assoc_t* getAssociationBase (const mkey_t& key) const;
461
463 template <class T>
464 void setAssociation(const T* pAssoc,bool useLink = false );
465
467 void removeAssociation( const mkey_t& key );
468// /** @brief Fill a token with association objects */
469// void fillAssoToken(INavigationToken& token) const;
470
471private:
474
476 // TagInfo //
478
479public:
480
482 template<typename TAGINFO>
483 const TAGINFO* getTagInfo(const mkey_t& key,bool useLink=true ) const ;
484
486 void setTagInfo(const mkey_t& key,const taginfo_t* pTagInfo,
487 bool useLink=false);
488
491
493 const std::vector<mkey_t> infoKeys() const;
494
496 const taginfo_t* tagInfo(const mkey_t& key) const;
497
499 template<class TAGINFO>
500 const TAGINFO* tagInfo(const mkey_t& key) const;
501
503 template<class TAGINFO>
504 void addInfo(const TAGINFO* tag);
505
507 void removeInfo(const mkey_t& key);
508
509private:
511 void removeInfo(unsigned int index);
512
513
514
515public:
517 // weight for Flavour tagging //
519
521 double getFlavourTagWeight() const;
522
524 double getFlavourTagWeight(const std::string& infoName) const;
525
528
531
533 bool has_calibrated_constit() const {return int(constituentSignalState())>0;};
534
536 bool finalScaleEqualsEMScale() const ;
537
538
539 private:
540 unsigned int m_RoIword;
541
542 public:
544 unsigned int RoIword() const {return m_RoIword;};
545
547 bool set_RoIword( unsigned int word ) {m_RoIword = word; return true;};
548
550 // Operators //
552
554 bool operator==(const Jet& rJet) const;
556 bool operator==(const Jet* pJet) const;
558 bool operator!=(const Jet& rJet) const;
560 bool operator!=(const Jet* pJet) const;
562 Jet& operator=(const Jet& rJet);
564 MsgStream& operator<<(MsgStream& out);
565
567 // Offline/Online Trigger Comparisons //
569
571 std::string str();
572
573 protected:
574
576 // Protected SignalState Management //
578
582
583 friend class JetAssociationBase;
584 friend class JetTagInfoBase;
585
586public:
587 void setRawE(double e);
588 void setRawPx(double px);
589 void setRawPy(double py);
590 void setRawPz(double pz);
591
592 void setCScaleE(double e);
593 void setCScalePx(double px);
594 void setCScalePy(double py);
595 void setCScalePz(double pz);
596
597 void setCalE(double e);
598 void setCalPx(double px);
599 void setCalPy(double py);
600 void setCalPz(double pz);
601
602 double getRawE() const;
603 double getRawPx() const;
604 double getRawPy() const;
605 double getRawPz() const;
606
607 double getCScaleE() const;
608 double getCScalePx() const;
609 double getCScalePy() const;
610 double getCScalePz() const;
611
612 double getCalE() const;
613 double getCalPx() const;
614 double getCalPy() const;
615 double getCalPz() const;
616
617private:
618
620 static const double m_ignoreWeight;
621
623 // Protected Kinematics Recombination Scheme //
625
627 virtual void updateKine(const constituent_t* pConst,double wght=1.0);
629 virtual void updateKine(const hlv_t& pVec,double wght=1.0);
631 virtual void updateKine();
632
633 public:
634
636 static bool nullOp( const constituent_type* /* constituent */ )
637 { return true; };
638
639
640 protected:
642 // Protected Index Construction Support //
644
645 // /** @brief Index category for jet shapes */
646 // static mcat_t m_shpCat;
647 // /** @brief Index category for jet associations */
648 // static mcat_t m_assCat;
649 // /** @brief Index category for jet tag info */
650 // static mcat_t m_tagCat;
651 // /** @brief Index category for general jet info */
652 // static mcat_t m_infCat;
653
654
656 // Jet Identification //
658public:
659
661 size_t id() const ;
662
664 const JetCollection * parentCollection() const ;
665
666protected:
667
668 void setJetId(size_t id);
669
670 static const size_t s_defaultJetId;
672 mutable size_t m_jetId;
673
675 //mutable DataLink<shape_map_t> m_momentMapLink;
677
678
680 // Jet Author //
682
683public:
684
691
693 std::string jetAuthor() const;
694
696 std::string jetAuthorAndCalibTags() const;
697
698
700 void setJetAuthor(const std::string& author) ;
701
703 void setJetAuthorAndCalibTags(const std::string& author) ;
704
706 bool hasCalibTag(const std::string& tag) const;
708 int numCalibTag() const ;
710 std::string getCalibTag(int i) const;
712 void addCalibTag(const std::string& tag);
713
714
715protected:
716 friend class ParticleJetCnv_p1;
717 friend class JetCnv_p1;
718 friend class JetCnv_p2;
719 friend class JetCnv_p3;
720 friend class JetCnv_p4;
722
723 static const size_t s_defaultJetAuthor;
726
727
729 // Protected Store //
731
732
734 //JetKeyDescriptorInstance* m_jetKeyDescr;
735
736
739
742
745
747 // Helpers //
749
750
751
753 template<typename STORE>
754 bool checkKeyStore(const mcat_t& cat,
755 const mkey_t& key,
756 const STORE* store,
757 size_t& aInd) const
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 }
773
775 template<typename STORE>
776 bool checkKeyStore(const mcat_t& cat,
777 const mkey_t& key,
778 STORE*& store,
779 size_t& aInd,
780 bool createIfMissing ) const
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 }
805
806 /* @brief Check validity of key */
807 bool checkKey(const mcat_t& cat,
808 const mkey_t& key,
809 size_t& aInd,
810 bool createIfMissing) const;
811
812
814 template<typename OBJ,class STORE>
815 const OBJ* getObject(const mkey_t& key,
816 const STORE* store,
817 const mcat_t& cat) const
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 }
824
825
827 template<typename DATA,class STORE>
828 bool getData(const mkey_t& key,
829 STORE* store, // not very nice but can not be const if using checkKey (P.A.)
830 const mcat_t& cat,
831 DATA& data,
832 bool createIfMissing ) const
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 }
845
847 // Obsolete Methods //
849
850
851
852private:
853 // remember number of combinedLikelihood values stored in shapes
855public:
856
858 std::vector<double> combinedLikelihood() const;
859
861 void setCombinedLikelihood(const std::vector<double>& combinedLikelihood);
862
863
864protected:
867 const fastjet::PseudoJet *m_pseudoJet;
868
869public:
871 const fastjet::PseudoJet * fastjetPtr() const {return m_pseudoJet;}
872 void setFastjetPtr(const fastjet::PseudoJet * fj){ m_pseudoJet = fj;}
873
874};
875
876
878void diff(const Jet& rJet1, const Jet& rJet2, std::map<std::string,double> varDiff);
879
880#include "JetEvent/Jet.icc"
881
882
883
923#endif //JETEVENT_JET_H
924
bool isValid(const T &p)
Av: we implement here an ATLAS-sepcific convention: all particles which are 99xxxxx are fine.
Definition AtlasPID.h:878
#define protected
char data[hepevt_bytes_allocation_ATLAS]
Definition HepEvt.cxx:11
DataVector< INavigable4Momentum > INavigable4MomentumCollection
static Double_t a
void diff(const Jet &rJet1, const Jet &rJet2, std::map< std::string, double > varDiff)
Difference between jets - Non-Class function required by trigger.
Definition Jet.cxx:631
I4Momentum is an abstract base class providing 4-momentum behavior.
Definition I4Momentum.h:31
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)
std::string category_t
const collection_t * getContainer(const constituent_t *pConst) const
Retrieve pointer to constituent object container.
std::vector< double > combinedLikelihood() const
(depreciated) Likelihood store access
Definition Jet.cxx:966
double getRawPz() const
Definition Jet.cxx:931
void removeAssociation(const mkey_t &key)
remove and DELETE association object.
bool removeConstituent(const constituent_t *pConst)
Remove a constituent.
Definition Jet.cxx:490
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.
Definition Jet.cxx:1194
double getCScalePy() const
Definition Jet.cxx:935
void setJetAuthorAndCalibTags(const std::string &author)
Set the full author-and-tag string.
Definition Jet.cxx:1122
double(Jet::* GET_VALUE)() const
double getCalPy() const
Definition Jet.cxx:940
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
Definition Jet.cxx:878
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)
Definition Jet.cxx:1094
virtual void fillToken(INavigationToken &navToken) const
Object navigation support, no relational parameter.
virtual double pzi() const
Definition Jet.cxx:949
virtual void setPx(double Px)
virtual double pyi() const
Definition Jet.cxx:947
bool addJet(const Jet *pJet, double wght=1.0)
Add a jet.
Definition Jet.cxx:504
base_t::momentum_type momentum_t
Four-momentum implementation type.
void set(const std::string &mName, const T &v) const
bool remove()
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
Definition Jet.cxx:1077
bool reweight(const constituent_t *pConst, double wght)
Change kinematic weight of constituent.
Definition Jet.cxx:551
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)
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.
Definition Jet.cxx:953
double getCScalePz() const
Definition Jet.cxx:936
void setCalE(double e)
Sets calibrated .
Definition Jet.cxx:919
double getRawPy() const
Definition Jet.cxx:930
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
Definition Jet.cxx:1188
virtual void updateKine()
Resummation of kinematics from constituents.
Definition Jet.cxx:735
void scale_momentum(double scale_factor)
scale the jet 4mom by scale_factor
Definition Jet.cxx:574
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.
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
Definition Jet.cxx:776
void addCalibTag(const std::string &tag)
set calib tag tag must be of the form "AAA"
Definition Jet.cxx:1159
double getRawPx() const
Definition Jet.cxx:929
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).
Definition Jet.cxx:1145
void setFastjetPtr(const fastjet::PseudoJet *fj)
double getCalE() const
Definition Jet.cxx:938
std::string jetAuthorAndCalibTags() const
Retrieve the full author-and-tag string of this Jet.
Definition Jet.cxx:1118
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.
Definition Jet.cxx:1108
std::vector< const taginfo_t * > tagstore_t
void setCombinedLikelihood(const std::vector< double > &combinedLikelihood)
(depreciated) Likelihood store setter
Definition Jet.cxx:978
double getCScalePx() const
Definition Jet.cxx:934
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.
Definition Jet.cxx:413
const JetCollection * parentCollection() const
a pointer to the collection this jet belongs to (can be NULL)
Definition Jet.cxx:1196
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.
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.
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
Definition Jet.cxx:578
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.
Definition Jet.cxx:853
Jet()
Default constructor.
Definition Jet.cxx:98
double getCalPx() const
Definition Jet.cxx:939
virtual double pti() const
Definition Jet.cxx:951
virtual ~Jet()
Destructor.
Definition Jet.cxx:368
void setCalPy(double py)
Sets calibrated .
Definition Jet.cxx:923
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
Definition Jet.cxx:1083
const shape_map_t * getMomentMap() const
Definition Jet.cxx:1173
navigable_t::object_iter const_iterator
JetKeyDescriptor::key_t mkey_t
void setPtEtaPhiE(double a, double b, double c, double d)
Definition Jet.cxx:1205
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.
Definition Jet.cxx:797
virtual double pxi() const
Definition Jet.cxx:945
const_iterator begin() const
Begin iterator for constituent store.
MsgStream & operator<<(MsgStream &out)
Output operator.
Definition Jet.cxx:1218
double getCScaleE() const
Definition Jet.cxx:933
void copy_from_jet(const Jet *pjet, CopyDataMembers cdm0, CopyDataMembers cdm1=CopyNone, CopyDataMembers cdm2=CopyNone, CopyDataMembers cdm3=CopyNone)
Definition Jet.cxx:260
virtual void setupKine(const hlv_t &v)
Definition Jet.cxx:889
std::vector< mkey_t > getShapeKeys() const
Retrieve list of avalailable keys.
Definition Jet.cxx:817
virtual void setPx(double Px, signalstate_t s)
base_t::particle_type particle_t
Patricle implementation type.
void setCalPz(double pz)
Sets calibrated .
Definition Jet.cxx:925
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
Definition Jet.cxx:989
hlv_t constituent_sum4Mom() const
Sum of weighted constituent four-momentums.
Definition Jet.cxx:702
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
Definition Jet.cxx:943
unsigned int RoIword() const
Return the RoI Word.
INavigable4MomentumCollection collection_t
Navigable object type.
void setCScaleE(double e)
Sets uncalibrated .
Definition Jet.cxx:910
void setCScalePy(double py)
Sets uncalibrated .
Definition Jet.cxx:914
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.
Definition Jet.cxx:529
void setRawPx(double px)
Sets uncalibrated .
Definition Jet.cxx:903
void setCScalePx(double px)
Sets uncalibrated .
Definition Jet.cxx:912
const std::vector< mkey_t > infoKeys() const
(depreciated) list of tag info keys
const_iterator firstConstituent() const
(obsolete) begin iterator for constituent store
double getRawE() const
Definition Jet.cxx:928
void setJetId(size_t id)
Definition Jet.cxx:1200
void setRawE(double e)
Sets uncalibrated .
Definition Jet.cxx:901
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)
Definition Jet.cxx:1211
Jet(const fourmom_t &rMom)
Construction from I4Momentum type.
bool removeConstituent(const collection_t *pColl, index_t ind)
Remove a constituent.
void setRawPy(double py)
Sets uncalibrated .
Definition Jet.cxx:905
void setConstituentsN(numconstit_t n)
Set number of constituents in jet.
INavigable4Momentum constituent_type
Navigable object type (obsolete)
void setCalPx(double px)
Sets calibrated .
Definition Jet.cxx:921
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...
void setPxPyPzE(double px, double py, double pz, double e)
compatibility with analysis EDM
Definition Jet.cxx:1202
std::string str()
Jet print-out function.
Definition Jet.cxx:624
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
Definition Jet.cxx:1128
void setCScalePz(double pz)
Sets uncalibrated .
Definition Jet.cxx:916
bool operator==(const Jet &rJet) const
Comparison operator.
int numCalibTag() const
number of calib tags for this jet
Definition Jet.cxx:1134
T get(const std::string &mName) const
Compatibility with JetAnalysisEDM.
double getCalPz() const
Definition Jet.cxx:941
JetKeyDescriptorInstance * keyDesc() const
Definition Jet.cxx:788
void setRawPz(double pz)
Sets uncalibrated .
Definition Jet.cxx:907
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)
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)
Definition Jet.cxx:1214
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.
Definition Jet.cxx:836
double getParameter(const collection_t *pColl, index_t ind) const
Retrieve weight.
typename NavigationDefaults::DefaultChildColl< INavigable4MomentumCollection, double >::type constituent_coll
Definition Navigable.h:101
NavigableIterator< INavigable4MomentumCollection, double, typename NavigationDefaults::DefaultChildColl< INavigable4MomentumCollection, double >::type > object_iter
Definition Navigable.h:159
SG::GenerateIndexingPolicy< INavigable4MomentumCollection >::type::index_type external_index_type
Definition Navigable.h:156
Definition index.py:1
float float_t
Definition JetMoment.h:13