Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
IConstituentUserInfo.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 // IConstituentUserInfo.h
6 
7 #ifndef jet__IConstituentUserInfo_H
8 #define jet__IConstituentUserInfo_H
9 
10 // David Adams
11 // January 2014
12 //
13 // Interface for ATLAS user info for fastjet pseudojet.
14 // The user info includes a pointer to an IParticle and a label
15 // for the collection from which the pseudojet was constructed.
16 // The labels may be indexed (mapped to integer indices).
17 
18 #include "fastjet/PseudoJet.hh"
20 #include "xAODJet/JetTypes.h"
21 
22 namespace jet {
23 
24 class LabelIndex;
25 
26 class IConstituentUserInfo : public fastjet::PseudoJet::UserInfoBase {
27 
28 public:
29 
30  typedef int Index;
31  typedef std::string Label;
32 
33  // Return the particle pointer.
34  virtual const SG::AuxElement* element() const =0;
35  virtual const xAOD::IParticle* particle() const =0;
36 
37  // Return the label.
38  virtual Label label() const =0;
39 
40  // Return the index.
41  // Returns 0 if undefined.
42  virtual Index index() const;
43 
44  // Return the index-to-label map.
45  // Returns null if undefined.
46  virtual const LabelIndex* labelMap() const;
47 
49  virtual bool isGhost() const ;
50 
52  virtual xAOD::JetConstitScale constitScale() const ;
53 
54 
55 };
56 
57 } // end jet namespace
58 
59 #endif
jet::LabelIndex
Definition: LabelIndex.h:22
SG::AuxElement
Base class for elements of a container that can have aux data.
Definition: AuxElement.h:483
jet::IConstituentUserInfo::particle
virtual const xAOD::IParticle * particle() const =0
jet::IConstituentUserInfo::element
virtual const SG::AuxElement * element() const =0
xAOD::IParticle
Class providing the definition of the 4-vector interface.
Definition: Event/xAOD/xAODBase/xAODBase/IParticle.h:41
jet::IConstituentUserInfo::Label
std::string Label
Definition: IConstituentUserInfo.h:31
jet
Definition: JetCalibTools_PlotJESFactors.cxx:23
jet::IConstituentUserInfo::Index
int Index
Definition: IConstituentUserInfo.h:30
jet::IConstituentUserInfo::isGhost
virtual bool isGhost() const
Returns true if this constituent is a ghost.
Definition: IConstituentUserInfo.cxx:26
IParticleContainer.h
jet::IConstituentUserInfo::labelMap
virtual const LabelIndex * labelMap() const
Definition: IConstituentUserInfo.cxx:20
jet::IConstituentUserInfo::index
virtual Index index() const
Definition: IConstituentUserInfo.cxx:14
jet::IConstituentUserInfo::label
virtual Label label() const =0
jet::IConstituentUserInfo::constitScale
virtual xAOD::JetConstitScale constitScale() const
Return the constituent scale used to build the PseudoJet.
Definition: IConstituentUserInfo.cxx:32
xAOD::JetConstitScale
JetConstitScale
Definition: JetTypes.h:20
jet::IConstituentUserInfo
Definition: IConstituentUserInfo.h:26
JetTypes.h