ATLAS Offline Software
Reconstruction/Jet/JetEvent/JetEvent/Jet.h
Go to the documentation of this file.
1 // emacs, this is -*- C++ -*-
2 
3 /*
4  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 #ifndef JETEVENT_JET_H
8 #define JETEVENT_JET_H
9 
10 // navigation
12 #include "Navigation/Navigable.h"
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 
36 class JetCollection;
37 class JetMomentMap;
38 
39 struct JetSignalState;
40 
41 namespace fastjet {
42  class PseudoJet;
43 }
44 
45 class 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 
60 protected:
61 
66 private:
67 
68  // cling 6.20.02 fails to parse this properly if the third template
69  // argument is defaulted.
70  typedef
73 
80 
81 public:
96  typedef navigable_t::object_iter constituent_iterator;
101  typedef navigable_t::external_index_type index_type;
102 
108  typedef navigable_t::object_iter const_iterator;
109  typedef navigable_t::external_index_type index_t;
110  typedef navigable_t::constituent_coll constituent_coll_t;
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 
145  enum CopyDataMembers { CopyNone = 0x0,
146  CopyMoments = 0x1,
150  CopyAll = 0xF };
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 
196 protected:
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 
205 public:
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 
217 public:
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 
250  hlv_t constituent_sum4Mom() const;
251 
254 
256  void scale_momentum(double scale_factor);
257 
259  Jet * get_scaled_copy(double scale_factor) const;
260 
262  // Constituent Management //
264 
265 public:
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);
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 
308 protected:
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 
342 public:
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 
373 protected:
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 
382 public:
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 
399 protected :
401 
403  // Comparators & Overlap //
405 
406 public:
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 
454 public:
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 
471 private:
473  void removeAssociation(size_t index);
474 
476  // TagInfo //
478 
479 public:
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 
509 private:
511  void removeInfo(unsigned int index);
512 
513 
514 
515 public:
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 
580  friend class JetSignalStateHelper;
581  friend class JetCollSigStateHelper;
582 
583  friend class JetAssociationBase;
584  friend class JetTagInfoBase;
585 
586 public:
587  void setRawE(double e);
588  void setRawPx(double px);
589  void setRawPy(double py);
590  void setRawPz(double pz);
592  void setCScaleE(double e);
593  void setCScalePx(double px);
594  void setCScalePy(double py);
595  void setCScalePz(double pz);
597  void setCalE(double e);
598  void setCalPx(double px);
599  void setCalPy(double py);
600  void setCalPz(double pz);
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 
617 private:
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 //
658 public:
659 
661  size_t id() const ;
662 
664  const JetCollection * parentCollection() const ;
665 
666 protected:
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 
683 public:
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 
715 protected:
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;
721  friend class JetCollectionCnv_p6;
722 
723  static const size_t s_defaultJetAuthor;
725  size_t m_jetAuthor;
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  STORE*& store,
757  size_t& aInd,
758  bool createIfMissing ) const
759  {
760  // invalid store pointer
761  if ( store == 0 )
762  {
763  if ( !createIfMissing ) return false;
764  store = new STORE();
765  }
766 
767  // check index
768  aInd = keyDesc()->getIndex(cat,key,createIfMissing);
769  if ( keyDesc()->isValid(aInd) )
770  {
771  if ( aInd >= store->size() )
772  {
773  if ( ! createIfMissing ) return false;
774  store->resize(aInd+1);
775  }
776  return true;
777  }
778  else
779  {
780  return false;
781  }
782  }
783 
784  /* @brief Check validity of key */
785  bool checkKey(const mcat_t& cat,
786  const mkey_t& key,
787  size_t& aInd,
788  bool createIfMissing) const;
789 
790 
792  template<typename OBJ,class STORE>
793  const OBJ* getObject(const mkey_t& key,
794  STORE* store,// not very nice but can not be const if using checkKey (P.A.)
795  const mcat_t& cat,
796  bool createIfMissing ) const
797  {
798  size_t aInd(0);
799  return this->checkKeyStore(cat,key,store,aInd,createIfMissing)
800  ? dynamic_cast<const OBJ*>((store->operator[])(aInd))
801  : (const OBJ*)0;
802  }
803 
804 
806  template<typename DATA,class STORE>
807  bool getData(const mkey_t& key,
808  STORE* store, // not very nice but can not be const if using checkKey (P.A.)
809  const mcat_t& cat,
810  DATA& data,
811  bool createIfMissing ) const
812  {
813  size_t aInd(0);
814  if ( this->checkKeyStore(cat,key,store,aInd, createIfMissing) )
815  {
816  data = (store->operator[])(aInd);
817  return true;
818  }
819  else
820  {
821  return false;
822  }
823  }
824 
826  // Obsolete Methods //
828 
829 
830 
831 private:
832  // remember number of combinedLikelihood values stored in shapes
834 public:
835 
837  std::vector<double> combinedLikelihood() const;
838 
840  void setCombinedLikelihood(const std::vector<double>& combinedLikelihood);
841 
842 
843 protected:
846  const fastjet::PseudoJet *m_pseudoJet;
847 
848 public:
850  const fastjet::PseudoJet * fastjetPtr() const {return m_pseudoJet;}
851  void setFastjetPtr(const fastjet::PseudoJet * fj){ m_pseudoJet = fj;}
852 
853 };
854 
855 
857 void diff(const Jet& rJet1, const Jet& rJet2, std::map<std::string,double> varDiff);
858 
859 #include "JetEvent/Jet.icc"
860 
861 
862 
902 #endif //JETEVENT_JET_H
903 
Jet::getIndex
bool getIndex(const_iterator fConst, index_t &ind) const
Retrieve index of object in container.
Jet::setPtEtaPhiM
void setPtEtaPhiM(double a, double b, double c, double d)
Definition: Jet.cxx:1210
Jet::setP
void setP(const hlv_t &rVec)
(obsolete) set all 4-mom from CLHEP CLHEP::HepLorentzVector
Jet::getOverlap
Jet * getOverlap(const Jet &rJet, bool noKine=false) const
Retrieve constituent overlap between jets.
Jet::setE
virtual void setE(double e)
Kinematics are now handled by the base class, except for the following.
JetMomentMap
Definition: JetMomentMap.h:21
Jet::s_defaultJetAuthor
static const size_t s_defaultJetAuthor
Definition: Reconstruction/Jet/JetEvent/JetEvent/Jet.h:723
Jet::getCalPy
double getCalPy() const
Definition: Jet.cxx:939
store
StoreGateSvc * store
Definition: fbtTestBasics.cxx:71
Jet::base_t
ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Base > base_t
Internally used base type mixes particle/navigable/four-momentum interfaces with correct implementati...
Definition: Reconstruction/Jet/JetEvent/JetEvent/Jet.h:72
Jet::pxi
virtual double pxi() const
Definition: Jet.cxx:944
Jet::end
const_iterator end() const
End iterator for constituent store.
data
char data[hepevt_bytes_allocation_ATLAS]
Definition: HepEvt.cxx:11
Jet::Jet
Jet(const fourmom_t *pMom)
Construction from I4Momentum type.
ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE >::py
virtual double py() const
y component of momentum
Definition: ParticleSigStateImpl.h:679
Jet::m_num_combinedLikelihood
size_t m_num_combinedLikelihood
Definition: Reconstruction/Jet/JetEvent/JetEvent/Jet.h:833
I4Momentum
Definition: I4Momentum.h:31
Jet::setJetId
void setJetId(size_t id)
Definition: Jet.cxx:1199
Jet::setPz
virtual void setPz(double pz)
Jet::getCalPz
double getCalPz() const
Definition: Jet.cxx:940
Jet::Jet
Jet(double px, double py, double pz, double e)
Construction from data.
Jet::getParameter
double getParameter(const constituent_t *pConst) const
Retrieve weight.
Jet::m_ignoreWeight
static const double m_ignoreWeight
Maximum difference up to which weights are considered equal.
Definition: Reconstruction/Jet/JetEvent/JetEvent/Jet.h:620
Jet::Jet
Jet(const Jet *pJet, bool copyStores, bool copyConstituents)
Copy constructor, controlling copies of internals.
ParticleSigStateImpl.h
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
Jet::RoIword
unsigned int RoIword() const
Return the RoI Word.
Definition: Reconstruction/Jet/JetEvent/JetEvent/Jet.h:544
ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE >::e
virtual double e() const
energy
Definition: ParticleSigStateImpl.h:751
Jet::setCalE
void setCalE(double e)
Sets calibrated
Definition: Jet.cxx:918
Jet::setJetAuthorAndCalibTags
void setJetAuthorAndCalibTags(const std::string &author)
Set the full author-and-tag string.
Definition: Jet.cxx:1121
Jet::getShape
shape_t getShape(const mkey_t &shapeName, bool addIfMissing=false) const
Retrieve shape variable.
Definition: Jet.cxx:835
Jet::getFlavourTagWeight
double getFlavourTagWeight() const
get the final b-tag result from the default tagger
Definition: Jet.cxx:988
JetKeyDescriptor.h
Jet::putElement
void putElement(const collection_t *pColl, index_t ind, double wght=1.0, size_t sizeHint=0)
Add element with checking.
CaloCellPos2Ntuple.int
int
Definition: CaloCellPos2Ntuple.py:24
fastjet
Definition: FastJetLinkBase.h:22
Jet::getAssociation
const ASSOC * getAssociation(const mkey_t &key, bool useLink=true) const
Retrieve association object.
Jet::Jet
Jet(const hlv_t &rVec)
Construction from CLHEP::HepLorentzVector type.
Jet
Basic data class defines behavior for all Jet objects The Jet class is the principal data class for...
Definition: Reconstruction/Jet/JetEvent/JetEvent/Jet.h:47
Jet::index_t
navigable_t::external_index_type index_t
Definition: Reconstruction/Jet/JetEvent/JetEvent/Jet.h:109
JetTagInfoBase.h
Jet::CopyNone
@ CopyNone
Definition: Reconstruction/Jet/JetEvent/JetEvent/Jet.h:145
Jet::set_RoIword
bool set_RoIword(unsigned int word)
set RoI Word
Definition: Reconstruction/Jet/JetEvent/JetEvent/Jet.h:547
Jet::removeConstituent
bool removeConstituent(const constituent_t *pConst)
Remove a constituent.
Definition: Jet.cxx:489
JetMoment::float_t
float float_t
Definition: JetMoment.h:13
index
Definition: index.py:1
Jet::setPx
virtual void setPx(double Px)
Jet::setup
void setup(const hlv_t &v)
hist_file_dump.d
d
Definition: hist_file_dump.py:137
Jet::getAssociationBase
const assoc_t * getAssociationBase(const mkey_t &key) const
Definition: Jet.cxx:1082
ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE >::px
virtual double px() const
We re-define here extra class routines that will allow direct access to signal state kinematics witho...
Definition: ParticleSigStateImpl.h:671
Jet::mcat_t
JetKeyDescriptor::category_t mcat_t
Definition: Reconstruction/Jet/JetEvent/JetEvent/Jet.h:116
Jet::shape_map_t
JetMomentMap shape_map_t
Definition: Reconstruction/Jet/JetEvent/JetEvent/Jet.h:121
Jet::setCScalePz
void setCScalePz(double pz)
Sets uncalibrated .
Definition: Jet.cxx:915
Jet::tagInfo
const TAGINFO * tagInfo(const mkey_t &key) const
Retrieve a concrete tag info object.
Jet::getMoment
shape_t getMoment(const mkey_t &shapeName, bool addIfMissing=false) const
Alias for getShape.
Jet::ei
virtual double ei() const
Definition: Jet.cxx:942
Jet::setEEtaPhiM
void setEEtaPhiM(double a, double b, double c, double d)
Definition: Jet.cxx:1213
JetAssociationBase.h
python.AthDsoLogger.out
out
Definition: AthDsoLogger.py:71
Jet::cleanUp
bool cleanUp()
Remove all constituents with kinematic weight = 0.
Definition: Jet.cxx:528
JetKeyDescriptor::key_t
std::string key_t
Definition: JetKeyDescriptor.h:52
Jet::getCScalePy
double getCScalePy() const
Definition: Jet.cxx:934
Jet::scale_momentum
void scale_momentum(double scale_factor)
scale the jet 4mom by scale_factor
Definition: Jet.cxx:573
Jet::setCScalePx
void setCScalePx(double px)
Sets uncalibrated .
Definition: Jet.cxx:911
Jet::tagInfo
const taginfo_t * tagInfo(const mkey_t &key) const
Retrieve tag info object.
Jet::assoc_t
JetAssociationBase assoc_t
Definition: Reconstruction/Jet/JetEvent/JetEvent/Jet.h:125
Jet::~Jet
virtual ~Jet()
Destructor.
Definition: Jet.cxx:367
Jet::getCScaleE
double getCScaleE() const
Definition: Jet.cxx:932
Jet::particle_t
base_t::particle_type particle_t
Patricle implementation type
Definition: Reconstruction/Jet/JetEvent/JetEvent/Jet.h:79
JetMoment.h
Jet::index_type
navigable_t::external_index_type index_type
Constituent index type (obsolete)
Definition: Reconstruction/Jet/JetEvent/JetEvent/Jet.h:101
Jet::getCalE
double getCalE() const
Definition: Jet.cxx:937
Jet::setCScaleE
void setCScaleE(double e)
Sets uncalibrated
Definition: Jet.cxx:909
Jet::JetSignalStateHelper
friend class JetSignalStateHelper
Set signal state through a friend.
Definition: Reconstruction/Jet/JetEvent/JetEvent/Jet.h:580
JetCnv_p4
Definition: JetCnv_p4.h:29
Jet::clone
virtual Jet * clone() const
clone method : do not clone stores and constituent
Definition: Jet.cxx:775
Jet::CopyMoments
@ CopyMoments
Definition: Reconstruction/Jet/JetEvent/JetEvent/Jet.h:146
Jet::JetCollSigStateHelper
friend class JetCollSigStateHelper
Definition: Reconstruction/Jet/JetEvent/JetEvent/Jet.h:581
Jet::remove
bool remove()
isValid
bool isValid(const T &p)
Definition: AtlasPID.h:225
Jet::removeConstituent
bool removeConstituent(bool reset=false)
Remove all constituents.
Jet::setPy
virtual void setPy(double py, signalstate_t s)
Jet::pzi
virtual double pzi() const
Definition: Jet.cxx:948
Jet::getCalPx
double getCalPx() const
Definition: Jet.cxx:938
Jet::removeConstituent
bool removeConstituent(const collection_t *pColl, index_t ind)
Remove a constituent.
Jet::firstConstituent
const_iterator firstConstituent() const
(obsolete) begin iterator for constituent store
Jet::hasCalibTag
bool hasCalibTag(const std::string &tag) const
test if jet has calib tag tag
Definition: Jet.cxx:1127
Jet::getWeight
double getWeight(const_iterator fConst) const
Retrieve kinematic weight of constituent.
Jet::Jet
Jet(const Jet *pJet)
Copy constructor.
Jet::collection_type
INavigable4MomentumCollection collection_type
Navigable object collection type (obsolete)
Definition: Reconstruction/Jet/JetEvent/JetEvent/Jet.h:86
Jet::getRawPz
double getRawPz() const
Definition: Jet.cxx:930
Jet::assostore_t
std::vector< const assoc_t * > assostore_t
Definition: Reconstruction/Jet/JetEvent/JetEvent/Jet.h:126
Jet::removeAssociation
void removeAssociation(size_t index)
clear association at given index
Jet::setShape
void setShape(const mkey_t &shapeName, shape_t shape, bool addIfMissing=true) const
Set shape variable.
Definition: Jet.cxx:796
protected
#define protected
Definition: DetDescrConditionsDict_dict_fixes.cxx:14
JetTagInfoBase
Definition: JetTagInfoBase.h:56
ParticleSigStateImpl::momentum_type
I4Momentum_t momentum_type
publish the type of the base class (ie: 'traits-itize' it)
Definition: ParticleSigStateImpl.h:55
Jet::mkey_t
JetKeyDescriptor::key_t mkey_t
Definition: Reconstruction/Jet/JetEvent/JetEvent/Jet.h:115
Jet::checkKey
bool checkKey(const mcat_t &cat, const mkey_t &key, size_t &aInd, bool createIfMissing) const
Jet::getMomentMap
const shape_map_t * getMomentMap() const
Definition: Jet.cxx:1172
Jet::const_iterator
navigable_t::object_iter const_iterator
Definition: Reconstruction/Jet/JetEvent/JetEvent/Jet.h:108
Jet::set
void set(const std::string &mName, const T &v) const
Jet::tagstore_t
std::vector< const taginfo_t * > tagstore_t
Definition: Reconstruction/Jet/JetEvent/JetEvent/Jet.h:130
Jet::setAssociation
void setAssociation(const T *pAssoc, bool useLink=false)
Set association object.
Jet::pti
virtual double pti() const
Definition: Jet.cxx:950
ParticleSigStateImpl::particle_type
IParticle_t particle_type
publish the type of the base class (ie: 'traits-itize' it)
Definition: ParticleSigStateImpl.h:59
Jet::getTagInfo
const TAGINFO * getTagInfo(const mkey_t &key, bool useLink=true) const
Retrieve tag info object.
Jet::removeInfo
void removeInfo(const mkey_t &key)
(depreciated) Remove tag info object
Definition: Jet.cxx:877
Jet::id
size_t id() const
returns this jet unique identifier in its collection
Definition: Jet.cxx:1193
Jet::setRawPy
void setRawPy(double py)
Sets uncalibrated .
Definition: Jet.cxx:904
Jet::operator!=
bool operator!=(const Jet &rJet) const
Comparison operator.
Jet::CopyTagInfos
@ CopyTagInfos
Definition: Reconstruction/Jet/JetEvent/JetEvent/Jet.h:147
Jet::getCalibTag
std::string getCalibTag(int i) const
retrieve calib tag number i (start at 1).
Definition: Jet.cxx:1144
P4SignalState
Definition: ISignalState.h:26
Jet::parentCollection
const JetCollection * parentCollection() const
a pointer to the collection this jet belongs to (can be NULL)
Definition: Jet.cxx:1195
Jet::remove
bool remove(const collection_t *pColl, index_t ind)
Jet::setCalPx
void setCalPx(double px)
Sets calibrated .
Definition: Jet.cxx:920
Jet::Jet
Jet()
Default constructor.
Definition: Jet.cxx:97
Jet::setupKine
virtual void setupKine(const hlv_t &v)
Definition: Jet.cxx:888
Jet::signalstate_t
P4SignalState::State signalstate_t
Definition: Reconstruction/Jet/JetEvent/JetEvent/Jet.h:135
Jet::constituent_sum4Mom
hlv_t constituent_sum4Mom() const
Sum of weighted constituent four-momentums.
Definition: Jet.cxx:701
Jet::setRawE
void setRawE(double e)
Sets uncalibrated
Definition: Jet.cxx:900
Jet::setCombinedLikelihood
void setCombinedLikelihood(const std::vector< double > &combinedLikelihood)
(depreciated) Likelihood store setter
Definition: Jet.cxx:977
ParticleEvent::Base
Definition: Base.h:34
lumiFormat.i
int i
Definition: lumiFormat.py:85
Jet::shape_t
JetMoment::float_t shape_t
Definition: Reconstruction/Jet/JetEvent/JetEvent/Jet.h:120
P4ImplPxPyPzE.h
beamspotman.n
n
Definition: beamspotman.py:731
Jet::size
size_t size() const
Size of constituent store.
Jet::setE
virtual void setE(double e, signalstate_t s)
Jet::taginfo_t
JetTagInfoBase taginfo_t
Definition: Reconstruction/Jet/JetEvent/JetEvent/Jet.h:129
Jet::Jet
Jet(const Jet &rJet)
Copy constructor using reference.
JetCnv_p3
Definition: JetCnv_p3.h:27
Jet::lastConstituent
const_iterator lastConstituent() const
(obsolere) end iterator for constituent store
Jet::getWeight
double getWeight(const collection_t *pColl, index_t ind) const
Retrieve kinematic weight of constituent.
INavigable4MomentumCollection.h
Jet::numCalibTag
int numCalibTag() const
number of calib tags for this jet
Definition: Jet.cxx:1133
Jet::constituent_coll_t
navigable_t::constituent_coll constituent_coll_t
Definition: Reconstruction/Jet/JetEvent/JetEvent/Jet.h:110
Jet::constituent_iterator
navigable_t::object_iter constituent_iterator
Constituent iterator type (obsolete)
Definition: Reconstruction/Jet/JetEvent/JetEvent/Jet.h:96
Jet.icc
Jet::getIndex
bool getIndex(const constituent_t *pConst, index_t &ind) const
Retrieve index of object in container.
Jet::getShapeKeys
std::vector< mkey_t > getShapeKeys() const
Retrieve list of avalailable keys.
Definition: Jet.cxx:816
Jet::getMomentMapName
std::string getMomentMapName() const
Definition: Jet.cxx:1187
Jet::finalScaleEqualsEMScale
bool finalScaleEqualsEMScale() const
True if JETFINAL state equals JETEMSCALE state within 0.1 MeV on each E,px,pypz components.
Definition: Jet.cxx:952
Jet::fourmom_t
I4Momentum fourmom_t
Definition: Reconstruction/Jet/JetEvent/JetEvent/Jet.h:134
INavigationToken
Definition: INavigationToken.h:24
Jet::operator<<
MsgStream & operator<<(MsgStream &out)
Output operator.
Jet::get_scaled_copy
Jet * get_scaled_copy(double scale_factor) const
return a NEW copy of this jet with 4mom scaled
Definition: Jet.cxx:577
Jet::getRawPy
double getRawPy() const
Definition: Jet.cxx:929
JetConverterBase
Definition: JetConverterBase.h:32
Jet::jetAuthor
std::string jetAuthor() const
Author and calibration history are encoded in a simple way inside the jet object.
Definition: Jet.cxx:1107
Jet::m_tagInfoStore
tagstore_t * m_tagInfoStore
Tag info store.
Definition: Reconstruction/Jet/JetEvent/JetEvent/Jet.h:741
Jet::getContainer
const collection_t * getContainer(const constituent_t *pConst) const
Retrieve pointer to constituent object container.
Jet::contains
bool contains(const collection_t *pColl, index_t ind) const
Check on containment.
Jet::remove
bool remove(const constituent_t *pConst)
Remove constituent.
Jet::insertElement
void insertElement(const collection_t *pColl, const constituent_t *pConst, double wght=1.0, size_t sizeHint=0)
insert element without checking
JetCnv_p2
Definition: JetCnv_p2.h:27
Jet::getAssociationKeys
const std::vector< mkey_t > & getAssociationKeys() const
Definition: Jet.cxx:1076
Jet::setCalPz
void setCalPz(double pz)
Sets calibrated .
Definition: Jet.cxx:924
Jet::getParameter
double getParameter(const_iterator fConst) const
Retrieve weight.
xAOD::double
double
Definition: CompositeParticle_v1.cxx:159
Jet::m_collection
const JetCollection * m_collection
Shape store link.
Definition: Reconstruction/Jet/JetEvent/JetEvent/Jet.h:676
Jet::setConstituentSignalState
void setConstituentSignalState(signalstate_t s)
Set the current Signal state of the jet constituents.
Jet::isIdentical
bool isIdentical(const Jet &rJet) const
Test if Jet is identical to given Jet.
ParticleSigStateImpl
Definition: ParticleSigStateImpl.h:42
JetAssociationBase
Definition: JetAssociationBase.h:21
Jet::addCalibTag
void addCalibTag(const std::string &tag)
set calib tag tag must be of the form "AAA"
Definition: Jet.cxx:1158
Jet::setRawPz
void setRawPz(double pz)
Sets uncalibrated .
Definition: Jet.cxx:906
Jet::setPtEtaPhiE
void setPtEtaPhiE(double a, double b, double c, double d)
Definition: Jet.cxx:1204
P4ImplPxPyPzE
Definition: P4ImplPxPyPzE.h:32
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
Jet::statename_t
P4SignalState statename_t
Definition: Reconstruction/Jet/JetEvent/JetEvent/Jet.h:136
Jet::GET_VALUE
double(Jet::* GET_VALUE)() const
Definition: Reconstruction/Jet/JetEvent/JetEvent/Jet.h:138
Jet::insertElement
void insertElement(const collection_t *pColl, index_t ind, double wght=1.0, size_t sizeHint=0)
insert element without checking
Jet::getMomentKeys
std::vector< mkey_t > getMomentKeys() const
Alias for getShapeKeys.
Jet::jetTagInfoVector
const tagstore_t jetTagInfoVector() const
(depreciated) Retrieve vector of tag infos
Jet::combinedLikelihood
std::vector< double > combinedLikelihood() const
(depreciated) Likelihood store access
Definition: Jet.cxx:965
Jet::operator=
Jet & operator=(const Jet &rJet)
Assignment operator.
Jet::SET_VALUE
void(Jet::* SET_VALUE)(double v)
Definition: Reconstruction/Jet/JetEvent/JetEvent/Jet.h:139
Jet::setCalPy
void setCalPy(double py)
Sets calibrated .
Definition: Jet.cxx:922
Jet::addConstituent
bool addConstituent(const collection_t *pColl, const constituent_t *pConst, double wght=1.0)
Add a constituent with optional kinematic weight.
Definition: Jet.cxx:412
diff
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:630
Jet::navigable_t
base_t::navigable_type navigable_t
Navigable implementation type
Definition: Reconstruction/Jet/JetEvent/JetEvent/Jet.h:75
Jet::copy_from_jet
void copy_from_jet(const Jet *pjet, CopyDataMembers cdm0, CopyDataMembers cdm1=CopyNone, CopyDataMembers cdm2=CopyNone, CopyDataMembers cdm3=CopyNone)
Definition: Jet.cxx:259
Jet::m_jetAuthor
size_t m_jetAuthor
Jet author store.
Definition: Reconstruction/Jet/JetEvent/JetEvent/Jet.h:725
Jet::begin
const_iterator begin() const
Begin iterator for constituent store.
Jet::momentum_t
base_t::momentum_type momentum_t
Four-momentum implementation type
Definition: Reconstruction/Jet/JetEvent/JetEvent/Jet.h:77
createCoolChannelIdFile.par
par
Definition: createCoolChannelIdFile.py:29
Jet::setCScalePy
void setCScalePy(double py)
Sets uncalibrated .
Definition: Jet.cxx:913
Jet::setFastjetPtr
void setFastjetPtr(const fastjet::PseudoJet *fj)
Definition: Reconstruction/Jet/JetEvent/JetEvent/Jet.h:851
Jet::CopyConstituents
@ CopyConstituents
Definition: Reconstruction/Jet/JetEvent/JetEvent/Jet.h:149
plotBeamSpotMon.b
b
Definition: plotBeamSpotMon.py:77
Jet::has_calibrated_constit
bool has_calibrated_constit() const
True if the jet constituent have a calibrated signal state.
Definition: Reconstruction/Jet/JetEvent/JetEvent/Jet.h:533
Jet::collection_t
INavigable4MomentumCollection collection_t
Navigable object type.
Definition: Reconstruction/Jet/JetEvent/JetEvent/Jet.h:104
Jet::putElement
void putElement(const collection_t *pColl, const constituent_t *pConst, double wght=1.0, size_t sizeHint=0)
Add element with checking.
Jet::hlv_t
CLHEP::HepLorentzVector hlv_t
Definition: Reconstruction/Jet/JetEvent/JetEvent/Jet.h:133
JetCollectionCnv_p6
Definition: JetCollectionCnv_p6.h:35
Jet::getData
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.
Definition: Reconstruction/Jet/JetEvent/JetEvent/Jet.h:807
Jet::constituent_t
INavigable4Momentum constituent_t
Constituent iterator type.
Definition: Reconstruction/Jet/JetEvent/JetEvent/Jet.h:106
Jet::m_constituentSigState
signalstate_t m_constituentSigState
Constituent Signal State.
Definition: Reconstruction/Jet/JetEvent/JetEvent/Jet.h:744
Jet::addJet
bool addJet(const Jet *pJet, double wght=1.0)
Add a jet.
Definition: Jet.cxx:503
Jet::operator==
bool operator==(const Jet *pJet) const
Comparison operator.
Jet::fillToken
virtual void fillToken(INavigationToken &navToken) const
Object navigation support, no relational parameter.
Jet::removeAssociation
void removeAssociation(const mkey_t &key)
remove and DELETE association object.
python.PyAthena.v
v
Definition: PyAthena.py:154
ISignalState.h
Jet::keyDesc
JetKeyDescriptorInstance * keyDesc() const
Definition: Jet.cxx:787
Jet::setPz
virtual void setPz(double pz, signalstate_t s)
Jet::m_assocStore
assostore_t * m_assocStore
key descriptor for all jet stores
Definition: Reconstruction/Jet/JetEvent/JetEvent/Jet.h:738
Jet::constituentSignalState
signalstate_t constituentSignalState() const
Get the current Signal state of the jet constituents.
Navigable.h
Jet::getRawPx
double getRawPx() const
Definition: Jet.cxx:928
a
TList * a
Definition: liststreamerinfos.cxx:10
Jet::getContainer
const collection_t * getContainer(const_iterator fConst) const
Retrieve pointer to constituent object container.
Jet::addInfo
void addInfo(const TAGINFO *tag)
Add tag info object.
Jet::getWeight
double getWeight(const constituent_t *pConst) const
Retrieve kinematic weight of constituent.
Jet::m_RoIword
unsigned int m_RoIword
Definition: Reconstruction/Jet/JetEvent/JetEvent/Jet.h:540
JetCnv_p1
Definition: JetCnv_p1.h:27
Jet::getCScalePx
double getCScalePx() const
Definition: Jet.cxx:933
Jet::numconstit_t
size_t numconstit_t
Definition: Reconstruction/Jet/JetEvent/JetEvent/Jet.h:112
ParticleSigStateImpl::navigable_type
INavigable_t navigable_type
publish the type of the base class (ie: 'traits-itize' it)
Definition: ParticleSigStateImpl.h:51
JetCollection
Container for Jets
Definition: JetCollection.h:30
P4SignalState::State
State
Definition: ISignalState.h:28
INavigable4Momentum
Definition: INavigable4Momentum.h:21
CaloCondBlobAlgs_fillNoiseFromASCII.author
string author
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:26
Jet::fillToken
virtual void fillToken(INavigationToken &navToken, const std::any &par) const
Object navigation support, relational parameter.
Jet::infoKeys
const std::vector< mkey_t > infoKeys() const
(depreciated) list of tag info keys
CxxUtils::reset
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.
Definition: bitmask.h:251
Jet::m_jetId
size_t m_jetId
the identifier of this jet within its collection.
Definition: Reconstruction/Jet/JetEvent/JetEvent/Jet.h:672
Jet::setMoment
void setMoment(const mkey_t &shapeName, shape_t shape, bool addIfMissing=true) const
Alias for setShape.
Jet::s_defaultJetId
static const size_t s_defaultJetId
Definition: Reconstruction/Jet/JetEvent/JetEvent/Jet.h:670
Jet::reweight
bool reweight(const constituent_t *pConst, double wght)
Change kinematic weight of constituent.
Definition: Jet.cxx:550
Jet::updateKine
virtual void updateKine()
Resummation of kinematics from constituents.
Definition: Jet.cxx:734
Jet::get
T get(const std::string &mName) const
Compatibility with JetAnalysisEDM.
Jet::str
std::string str()
Jet print-out function.
Definition: Jet.cxx:623
Jet::getRawE
double getRawE() const
Definition: Jet.cxx:927
JetKeyDescriptor::category_t
std::string category_t
Definition: JetKeyDescriptor.h:51
Jet::setPy
virtual void setPy(double py)
Jet::Jet
Jet(const collection_t *pColl, const constituent_t *pConst, double wght=1.0)
Construction from storable object.
JetKeyDescriptorInstance::getIndex
size_t getIndex(const category_t &cat, const key_t &key, bool createIfMissing=true)
Definition: JetKeyDescriptor.cxx:47
Jet::setPxPyPzE
void setPxPyPzE(double px, double py, double pz, double e)
compatibility with analysis EDM
Definition: Jet.cxx:1201
Jet::contains
bool contains(const constituent_t *pConst) const
Check on containment.
Jet::jetAuthorAndCalibTags
std::string jetAuthorAndCalibTags() const
Retrieve the full author-and-tag string of this Jet.
Definition: Jet.cxx:1117
Jet::fastjetPtr
const fastjet::PseudoJet * fastjetPtr() const
Access to the internal fastjet object. CAN RETURN NULL, see the description of m_pseudoJet.
Definition: Reconstruction/Jet/JetEvent/JetEvent/Jet.h:850
CaloCondBlobAlgs_fillNoiseFromASCII.tag
string tag
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:24
Jet::getObject
const OBJ * getObject(const mkey_t &key, STORE *store, const mcat_t &cat, bool createIfMissing) const
Get object from store with category and key.
Definition: Reconstruction/Jet/JetEvent/JetEvent/Jet.h:793
Jet::setConstituentsN
void setConstituentsN(numconstit_t n)
Set number of constituents in jet.
Definition: Reconstruction/Jet/JetEvent/JetEvent/Jet.h:306
ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE >::pz
virtual double pz() const
z component of momentum
Definition: ParticleSigStateImpl.h:687
Jet::getCScalePz
double getCScalePz() const
Definition: Jet.cxx:935
Jet::m_pseudoJet
const fastjet::PseudoJet * m_pseudoJet
Pointer to the fastjet object this jet is build from.
Definition: Reconstruction/Jet/JetEvent/JetEvent/Jet.h:846
Jet::Jet
Jet(const collection_t *pColl, index_t ind, double wght=1.0)
Construction from storable object.
Jet::Jet
Jet(const fourmom_t &rMom)
Construction from I4Momentum type.
Jet::operator==
bool operator==(const Jet &rJet) const
Comparison operator.
Jet::constituent_type
INavigable4Momentum constituent_type
Navigable object type (obsolete)
Definition: Reconstruction/Jet/JetEvent/JetEvent/Jet.h:91
python.compressB64.c
def c
Definition: compressB64.py:93
JetKeyDescriptorInstance
Definition: JetKeyDescriptor.h:100
Jet::CopyAll
@ CopyAll
Definition: Reconstruction/Jet/JetEvent/JetEvent/Jet.h:150
Jet::setTagInfo
void setTagInfo(const mkey_t &key, const taginfo_t *pTagInfo, bool useLink=false)
Set tag info object.
Definition: Jet.cxx:852
Jet::setPx
virtual void setPx(double Px, signalstate_t s)
Jet::m_constituentsN
numconstit_t m_constituentsN
Definition: Reconstruction/Jet/JetEvent/JetEvent/Jet.h:310
Jet::setRawPx
void setRawPx(double px)
Sets uncalibrated .
Definition: Jet.cxx:902
Jet::constituentsN
numconstit_t constituentsN() const
Number of constituents in jet.
Definition: Reconstruction/Jet/JetEvent/JetEvent/Jet.h:300
Jet::nullOp
static bool nullOp(const constituent_type *)
defaul function for preProcessConstituent and postProcessConstituent
Definition: Reconstruction/Jet/JetEvent/JetEvent/Jet.h:636
Jet::checkKeyStore
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.
Definition: Reconstruction/Jet/JetEvent/JetEvent/Jet.h:754
checkFileSG.ind
list ind
Definition: checkFileSG.py:118
TSU::T
unsigned long long T
Definition: L1TopoDataTypes.h:35
Jet::operator!=
bool operator!=(const Jet *pJet) const
Comparison operator.
Jet::setJetAuthor
void setJetAuthor(const std::string &author)
Set author of this Jet (only the author, tags unchanged)
Definition: Jet.cxx:1093
Jet::CopyAssociations
@ CopyAssociations
Definition: Reconstruction/Jet/JetEvent/JetEvent/Jet.h:148
mapkey::key
key
Definition: TElectronEfficiencyCorrectionTool.cxx:37
Jet::CopyDataMembers
CopyDataMembers
@ brief fine control over what's copied in the various stores and constituents
Definition: Reconstruction/Jet/JetEvent/JetEvent/Jet.h:145
Jet::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,...
Jet::pyi
virtual double pyi() const
Definition: Jet.cxx:946
ParticleJetCnv_p1
Definition: ParticleJetCnv_p1.h:28
Jet::getParameter
double getParameter(const collection_t *pColl, index_t ind) const
Retrieve weight.