ATLAS Offline Software
Loading...
Searching...
No Matches
Analysis::Photon Class Reference

#include <Photon.h>

Inheritance diagram for Analysis::Photon:
Collaboration diagram for Analysis::Photon:

Public Types

enum  eg4MomType { Combined = 0 , Uncombined = 1 }
typedef ParticleImpl< egammaNavigation, P4ImplEEtaPhiMegammaImpl_t
typedef egammaImpl_t::navigable_type navigable_type
typedef egammaImpl_t::momentum_type momentum_type
typedef egammaImpl_t::particle_type particle_type
typedef ParticleImpl< egammaNavigation, P4ImplEEtaPhiM, ParticleEvent::Baseself_type
 publish the type of the base class (ie: 'traits-itize' it)
enum  Kind {
  P4EETAPHIM , P4IPTCOTTHPHIM , P4PTETAPHIM , P4PXPYPZE ,
  UNKNOWN
}

Public Member Functions

 Photon ()
 default constructor
 Photon (unsigned int author)
 constructor
 ~Photon ()=default
 destructor
 Photon (const egamma &rhs, bool copyDetails=true, bool copyMinimal=false)
 Photon (const Photon &rhs, bool copyDetails=true, bool copyMinimal=false)
Photonoperator= (const Photon &rhs)
void makePhotonFromEgamma (const egamma &eg)
 create photon from egamma
void print () const
 print method
void setE (double theE)
 set energy data member
void setEta (double theEta)
 set eta data member
void setPhi (double thePhi)
 set phi data member
void setM (double theM)
 set mass data member
void set4Mom (const I4Momentum &theI4Mom)
 set all 4-mom from another I4Momentum reference
void set4Mom (const I4Momentum *const theI4Mom)
 set all 4-mom from another I4Momentum pointer
void set4Mom (const CLHEP::HepLorentzVector &theHlv)
 set all 4-mom from a CLHEP HepLorentzVector
void setUncombinedE (double theE)
 set uncombined energy data member
void setUncombinedEta (double theEta)
 set uncombined eta data member
void setUncombinedPhi (double thePhi)
 set uncombined phi data member
void setUncombinedM (double theM)
 set uncombined mass data member
void setUncombined4Mom (const I4Momentum &theI4Mom)
 set uncombined all 4-mom from another I4Momentum reference
void setUncombined4Mom (const I4Momentum *const theI4Mom)
 set uncombined all 4-mom from another I4Momentum pointer
void setUncombined4Mom (const CLHEP::HepLorentzVector &theHlv)
 set uncombined all 4-mom from a CLHEP HepLorentzVector
const CaloClustercluster () const
 pointer to CaloCluster
const CaloRingsrings () const
 pointer to CaloRings
const Rec::TrackParticletrackParticle (unsigned int index=0) const
 pointer to TrackParticle
unsigned int nTrackParticles () const
const Trk::VxCandidateconversion (unsigned int index=0) const
 pointer to Conversion
unsigned int nConversions () const
template<typename T>
const T * detail (const std::string &name="", unsigned int index=0) const
 retrieve eg-detail objects:
const egDetaildetail (const std::string &className, const std::string &name="", unsigned int index=0) const
 pointer to detail className of container name
const egDetaildetail (int i) const
 pointer to detail i
ElementLink< egDetailContainerdetailElementLink (int i) const
 ElementLink for detail i.
const ElementLinkVector< egDetailContainer > & detailElementLinkVector () const
std::string detailName (int i) const
 name of detail i
int nDetails () const
 number of details in egamma object
double detailValue (egammaParameters::ParamDef key, const std::string &name="", unsigned int index=0) const
 get the float value of key in the container name
ElementLink< Rec::TrackParticleContainertrackParticleElementLink (unsigned int index=0) const
 element link to trackParticle
const ElementLinkVector< Rec::TrackParticleContainer > & trackParticleElementLinkVector () const
const ElementLink< CaloClusterContainer > & clusterElementLink () const
 element link to cluster
ElementLink< VxContainerconversionElementLink (unsigned int index=0) const
 element link to conversion
const ElementLinkVector< VxContainer > & conversionElementLinkVector () const
const ElementLink< CaloRingsContainer > & ringsElementLink () const
 element link to rings
double egammaID (egammaPIDObs::PID, bool *found) const
 access to PID information, as double to work for IsEM and all possible weights as likelihood
double egammaID (egammaPIDObs::PID) const
const egPIDpid () const
void setDetail (const egDetailContainer *, const egDetail *)
 set detail
void setDetailElementLink (const ElementLink< egDetailContainer > &link)
 set detailElementLink
void setDetailElementLinkVector (const ElementLinkVector< egDetailContainer > &v)
void setDetailElementLinkVector (ElementLinkVector< egDetailContainer > &&v)
void set_pid (egPID *)
 set particle ID
bool set_egammaID (egammaPIDObs::PID id, double result)
 set_egamma ID, for doubles and all possible weights as likelihood
bool set_egammaIDint (egammaPIDObs::PID id, unsigned int result)
 set_egamma ID, for usigned int values
void setCluster (const CaloClusterContainer *, int)
 Set cluster.
void setCluster (const CaloClusterContainer *, const CaloCluster *)
 Set cluster.
void setClusterElementLink (const ElementLink< CaloClusterContainer > &link)
 Set Cluster Element Link.
void resetCluster ()
 Reset Cluster.
void setRings (const CaloRingsContainer *, int)
 Set rings object.
void setRings (const CaloRingsContainer *, const CaloRings *)
 Set rings object.
void setRingsElementLink (const ElementLink< CaloRingsContainer > &link)
 Set Rings Element Link.
void resetRings ()
 Reset Cluster.
void setTrackParticle (const Rec::TrackParticleContainer *, int)
 Set Track Particle.
void setTrackParticle (const Rec::TrackParticleContainer *, const Rec::TrackParticle *)
 Set Track Particle.
void setTrackParticleElementLink (const ElementLink< Rec::TrackParticleContainer > &link)
 Set Track Particle Link.
void resetTrackParticle (unsigned int index=0)
 Reset Track Particle.
void setTrackParticleElementLinkVector (const ElementLinkVector< Rec::TrackParticleContainer > &v)
void setTrackParticleElementLinkVector (ElementLinkVector< Rec::TrackParticleContainer > &&v)
void setConversion (const VxContainer *, int)
 Set Conversion.
void setConversion (const VxContainer *, const Trk::VxCandidate *)
 Set Conversion.
void setConversionElementLink (const ElementLink< VxContainer > &link)
 Set Conversion.
void resetConversion (unsigned int index=0)
 Reset Conversion.
void setConversionElementLinkVector (const ElementLinkVector< VxContainer > &link)
void setConversionElementLinkVector (ElementLinkVector< VxContainer > &&link)
unsigned int author () const
 Reconstruction Author.
bool author (const unsigned int author) const
 Reconstruction Author.
void addAuthor (unsigned int author)
 Add author.
void resetAuthor ()
 set_egamma ID
virtual void fillToken (INavigationToken &thisToken) const
 fill token
virtual void fillToken (INavigationToken &thisToken, const std::any &) const
 fill token
bool isElectron (unsigned int mask=egammaPIDObs::ALL, egammaPIDObs::PID pid=egammaPIDObs::IsEM, bool *found=nullptr) const
 ID flag with cuts, true:e/phot, false:bkg.
bool isPhoton (unsigned int mask=egammaPIDObs::ALL, egammaPIDObs::PID pid=egammaPIDObs::IsEM, bool *found=nullptr) const
bool passID (egammaPIDObs::egammaIDQuality id) const
 does electron/photon pass the given quality
bool isSofte (unsigned int mask=egammaPIDObs::ALL, bool *found=nullptr) const
 uses special softe cuts
unsigned int isem (unsigned int mask=egammaPIDObs::ALL, egammaPIDObs::PID pid=egammaPIDObs::IsEM) const
 ID flag with cuts, 0:e, >1:jet.
unsigned int isem (unsigned int mask, egammaPIDObs::PID pid, bool *found) const
unsigned int isemse (unsigned int mask=egammaPIDObs::ALL) const
 ID flag with cuts for softe, 0:e, >1:jet.
unsigned int isemse (unsigned int mask, bool *found) const
bool isGoodOQ (unsigned int mask=egammaPIDObs::ALLOQ, bool *found=nullptr) const
 OQ flag.
unsigned int isgoodoq (unsigned int mask=egammaPIDObs::ALLOQ, bool *found=nullptr) const
virtual const I4MomentumErrorerrors () const
 override standard errors to allow lazy loading (lazy loading NOW DISABLED)
void setErrorMatrix (Amg::MatrixX)
void setUncombinedErrorMatrix (Amg::MatrixX)
const momentum_typeget4Mom (egamma::eg4MomType type=egamma::Combined) const
 return the combined or additional uncombined cluster 4mom
const navigable_typenavigableBase () const
 access to underlying base type (INavigable-like)
navigable_typenavigableBase ()
 access to underlying base type (INavigable-like)
const momentum_typemomentumBase () const
 access to underlying base type (I4Momentum-like)
momentum_typemomentumBase ()
 access to underlying base type (I4Momentum-like)
const particle_typeparticleBase () const
 access to underlying base type (IParticle-like)
particle_typeparticleBase ()
 access to underlying base type (IParticle-like)
virtual void set_dataType (ParticleDataType::DataType x)
virtual void set_charge (ChargeType x)
virtual void set_pdgId (int x)
virtual void set_origin (const VxContainer *theContainer, int index)
virtual void set_origin (const VxContainer *theContainer, const Trk::VxCandidate *vertex)
void set_origin (const ElementLink< VxContainer > &origin)
AthenaBarCode_t getAthenaBarCode () const
void setAthenaBarCode (AthenaBarCode_t)
bool hasSameAthenaBarCode (const IAthenaBarCode &) const
bool hasSameAthenaBarCodeExceptVersion (const IAthenaBarCode &) const
AthenaBarCodeVersion_t getVersion () const
void newVersion ()
void setVersion (AthenaBarCodeVersion_t newversion)
virtual double px () const
 x component of momentum
virtual double py () const
 y component of momentum
virtual double pz () const
 z component of momentum
virtual double m () const
 mass
virtual double m2 () const
 mass squared
virtual double p () const
 mass momentum magnitude
virtual double p2 () const
 square of momentum magnitude
virtual double rapidity () const
 rapidity
virtual double eta () const
 pseudo rapidity
virtual double phi () const
 phi in [-pi,pi[
virtual double e () const
 energy
virtual double et () const
 transverse energy defined to be e*sin(theta)
virtual double pt () const
 transverse momentum
virtual double iPt () const
 inverse of transverse momentum
virtual double cosPhi () const
 cosinus phi
virtual double sinPhi () const
 sinus phi
virtual double tanTh () const
 tan theta
virtual double cosTh () const
 cosinus theta
virtual double sinTh () const
 sinus theta
virtual double cotTh () const
 cottan theta
virtual CLHEP::HepLorentzVector hlv () const
 CLHEP HepLorentzVector.
virtual I4Momentum::Kind kind () const
 add Kind which tells what kind (P4XYZ) the underlying implementation has
virtual std::ostream & dump (std::ostream &out) const
 Print I4Momentum content.
virtual ParticleDataType::DataType dataType () const
 Return enum indicating real data, fast, or full simulation Return Type has a DataType enum with the following values: {Data = 0, Full = 1, FastShower = 2, Fast = 3, True = 4}.
virtual const Trk::RecVertexorigin () const
 Return a RecVertex corresponding to particle Origin.
virtual const ElementLink< VxContainer > & originLink () const
 Return an ElementLink corresponding to particle's Origin.
virtual bool hasCharge () const
 method to check if charge information is available
virtual ChargeType charge () const
 returns charge as a typedef ChargeType currently Charge Type is a double for jets this may be changed to an int and ask jets to extend this interface
virtual bool hasPdgId () const
 method to check if particle id information is available
virtual int pdgId () const
 Return enum indicating particle id the enum file is available in Event/EventKernel/PdtPdg.h.

Static Public Attributes

static const AthenaBarCode_t UNDEFINEDBARCODE = (AthenaBarCode_t)(-1)
static const AthenaBarCode_t UNDEFINEDVERSION = UNDEFINEDBARCODE

Protected Attributes

momentum_type m_momentumCluster

Private Attributes

ElementLink< CaloClusterContainerm_cluster
ElementLinkVector< Rec::TrackParticleContainerm_trackParticle
ElementLinkVector< VxContainerm_conversion
ElementLinkVector< egDetailContainerm_egDetails
ElementLink< CaloRingsContainerm_rings
unsigned int m_author
egPIDm_egPID
egammaNavigation m_nav
 The navigable part.
P4ImplEEtaPhiM m_mom
 The 4-momentum part.
ParticleEvent::Base m_part
 The particle-id part.

Detailed Description

Member Typedef Documentation

◆ egammaImpl_t

Definition at line 68 of file egamma.h.

◆ momentum_type

Definition at line 70 of file egamma.h.

◆ navigable_type

Definition at line 69 of file egamma.h.

◆ particle_type

Definition at line 71 of file egamma.h.

◆ self_type

publish the type of the base class (ie: 'traits-itize' it)

Definition at line 62 of file ParticleImpl.h.

Member Enumeration Documentation

◆ eg4MomType

enum egamma::eg4MomType
inherited
Enumerator
Combined 
Uncombined 

Definition at line 75 of file egamma.h.

75 {
76 // standard cluster-track combined 4Mom
77 Combined = 0,
78 // uncombined cluster 4Mom
79 Uncombined = 1
80 };
@ Uncombined
Definition egamma.h:79
@ Combined
Definition egamma.h:77

◆ Kind

enum I4Momentum::Kind
inherited
Enumerator
P4EETAPHIM 
P4IPTCOTTHPHIM 
P4PTETAPHIM 
P4PXPYPZE 
UNKNOWN 

Definition at line 33 of file I4Momentum.h.

Constructor & Destructor Documentation

◆ Photon() [1/4]

Analysis::Photon::Photon ( )
inline

default constructor

Definition at line 24 of file Reconstruction/egamma/egammaEvent/egammaEvent/Photon.h.

24 :
25 egamma()
26 { };
egamma()
Default constructor.
Definition egamma.cxx:24

◆ Photon() [2/4]

Analysis::Photon::Photon ( unsigned int author)
inline

constructor

Definition at line 29 of file Reconstruction/egamma/egammaEvent/egammaEvent/Photon.h.

29 :
31 { };
unsigned int author() const
Reconstruction Author.
Definition egamma.h:244

◆ ~Photon()

Analysis::Photon::~Photon ( )
default

destructor

◆ Photon() [3/4]

Analysis::Photon::Photon ( const egamma & rhs,
bool copyDetails = true,
bool copyMinimal = false )
inline

Definition at line 36 of file Reconstruction/egamma/egammaEvent/egammaEvent/Photon.h.

36 :
37 egamma(rhs, copyDetails, copyMinimal)
38 { };

◆ Photon() [4/4]

Analysis::Photon::Photon ( const Photon & rhs,
bool copyDetails = true,
bool copyMinimal = false )
inline

Definition at line 40 of file Reconstruction/egamma/egammaEvent/egammaEvent/Photon.h.

40 :
41 egamma(rhs, copyDetails, copyMinimal)
42 { };

Member Function Documentation

◆ addAuthor()

void egamma::addAuthor ( unsigned int author)
inlineinherited

Add author.

Definition at line 248 of file egamma.h.

248{m_author |= author; }
unsigned int m_author
Definition egamma.h:305

◆ author() [1/2]

unsigned int egamma::author ( ) const
inlineinherited

Reconstruction Author.

Definition at line 244 of file egamma.h.

244{return m_author; }

◆ author() [2/2]

bool egamma::author ( const unsigned int author) const
inherited

Reconstruction Author.

Definition at line 350 of file egamma.cxx.

351{
352 //
353 // method to check the author
354 //
355
356 return (m_author & author) != 0;
357}

◆ charge()

virtual ChargeType ParticleImpl< egammaNavigation, P4ImplEEtaPhiM, ParticleEvent::Base >::charge ( ) const
virtualinherited

returns charge as a typedef ChargeType currently Charge Type is a double for jets this may be changed to an int and ask jets to extend this interface

Implements IParticle.

◆ cluster()

const CaloCluster * egamma::cluster ( ) const
inherited

pointer to CaloCluster

Definition at line 360 of file egamma.cxx.

361{
362 //
363 // method to acces the cluster object
364 //
365
366 return (m_cluster.isValid()) ? *m_cluster : nullptr;
367}
ElementLink< CaloClusterContainer > m_cluster
Definition egamma.h:299

◆ clusterElementLink()

const ElementLink< CaloClusterContainer > & egamma::clusterElementLink ( ) const
inherited

element link to cluster

Definition at line 427 of file egamma.cxx.

428{
429 return m_cluster;
430}

◆ conversion()

const Trk::VxCandidate * egamma::conversion ( unsigned int index = 0) const
inherited

pointer to Conversion

Definition at line 411 of file egamma.cxx.

412{
413 if(index < m_conversion.size()){
414 return ((m_conversion.at(index)).isValid()) ? *(m_conversion.at(index)) : nullptr;
415 }
416 return nullptr;
417
418}
ElementLinkVector< VxContainer > m_conversion
Definition egamma.h:301

◆ conversionElementLink()

ElementLink< VxContainer > egamma::conversionElementLink ( unsigned int index = 0) const
inherited

element link to conversion

Definition at line 450 of file egamma.cxx.

451{
452 if(index < m_conversion.size()){
453 return m_conversion.at(index);
454 }
455 return {};
456
457}

◆ conversionElementLinkVector()

const ElementLinkVector< VxContainer > & egamma::conversionElementLinkVector ( ) const
inherited

Definition at line 461 of file egamma.cxx.

462{
463 return m_conversion;
464}

◆ cosPhi()

virtual double ParticleImpl< egammaNavigation, P4ImplEEtaPhiM, ParticleEvent::Base >::cosPhi ( ) const
virtualinherited

cosinus phi

Implements I4Momentum.

◆ cosTh()

virtual double ParticleImpl< egammaNavigation, P4ImplEEtaPhiM, ParticleEvent::Base >::cosTh ( ) const
virtualinherited

cosinus theta

Implements I4Momentum.

◆ cotTh()

virtual double ParticleImpl< egammaNavigation, P4ImplEEtaPhiM, ParticleEvent::Base >::cotTh ( ) const
virtualinherited

cottan theta

Implements I4Momentum.

◆ dataType()

Return enum indicating real data, fast, or full simulation Return Type has a DataType enum with the following values: {Data = 0, Full = 1, FastShower = 2, Fast = 3, True = 4}.

IParticle interface forwarding

Implements IParticle.

◆ detail() [1/3]

const egDetail * egamma::detail ( const std::string & className,
const std::string & name = "",
unsigned int index = 0 ) const
inherited

pointer to detail className of container name

Definition at line 842 of file egamma.cxx.

845{
846 size_t nsize = m_egDetails.size();
847// const egDetail* ptr = 0;
848 for (size_t i = 0; i < nsize; i++) {
849 if (m_egDetails[i].isValid() &&
850 (*m_egDetails[i])->className() == className)
851 {
852 if (name.empty()) {
853// if (ptr) //this is potentially highly confusing now with the ElementLinkVectors and the conversion refits, rather return the first match if there are multiple matches
854// return 0;
855// else
856 if((*m_egDetails[i])->linkIndex() == (int)index)
857 return *m_egDetails[i];
858// ptr = *m_egDetails[i];
859 }
860 else if (m_egDetails.elementDataID(i) == name && (*m_egDetails[i])->linkIndex() == (int)index)
861 return *m_egDetails[i];
862 }
863 }
864// return ptr;
865 return nullptr;
866}
bool isValid(const T &p)
Av: we implement here an ATLAS-sepcific convention: all particles which are 99xxxxx are fine.
Definition AtlasPID.h:878
ElementLinkVector< egDetailContainer > m_egDetails
Definition egamma.h:302
@ linkIndex
link index for multiple track and vertex matches

◆ detail() [2/3]

template<typename T>
const T * egamma::detail ( const std::string & name = "",
unsigned int index = 0 ) const
inherited

retrieve eg-detail objects:

Definition at line 318 of file egamma.h.

318 {
319 std::size_t nsize = m_egDetails.size();
320 std::size_t iloop = 0;
321// int nptr = 0;
322 const T* ptr = 0;
323// const T* tmp = 0;
324
325 for (; iloop != nsize; iloop++) {
326 if (key.empty()) {
327 if(!m_egDetails[iloop]) continue;
328 ptr = dynamic_cast<const T*>(*(m_egDetails[iloop]));
329 if (0 != ptr && ptr->linkIndex() == (int)index) {
330// nptr++; //this is potentially highly confusing now with the ElementLinkVectors and the conversion refits, rather return the first match if there are multiple matches
331// ptr = tmp;
332 return ptr;
333 }
334 }
335 else if (m_egDetails[iloop].isValid() &&
336 key == m_egDetails.elementDataID(iloop))
337 {
338 if(!m_egDetails[iloop]) continue;
339 ptr = dynamic_cast<const T*>(*(m_egDetails[iloop]));
340 if (0 != ptr && ptr->linkIndex() == (int)index){
341 return ptr;
342 }
343 }
344 }
345 return ptr;
346// return (nptr==1) ? ptr : 0;
347}
unsigned long long T
void * ptr(T *p)
Definition SGImplSvc.cxx:74

◆ detail() [3/3]

const egDetail * egamma::detail ( int i) const
inherited

pointer to detail i

Definition at line 834 of file egamma.cxx.

835{
836 if (i < 0 || i >= (int)m_egDetails.size())
837 return nullptr;
838 return *m_egDetails[i];
839}

◆ detailElementLink()

ElementLink< egDetailContainer > egamma::detailElementLink ( int i) const
inherited

ElementLink for detail i.

Definition at line 869 of file egamma.cxx.

870{
871 if (i < 0 || i >= (int)m_egDetails.size())
872 return {};
873 return m_egDetails[i];
874}

◆ detailElementLinkVector()

const ElementLinkVector< egDetailContainer > & egamma::detailElementLinkVector ( ) const
inherited

Definition at line 877 of file egamma.cxx.

878{
879 return m_egDetails;
880}

◆ detailName()

std::string egamma::detailName ( int i) const
inherited

name of detail i

Definition at line 883 of file egamma.cxx.

884{
885 if (i < 0 || i >= (int)m_egDetails.size())
886 return "";
887 return m_egDetails.elementDataID(i);
888}

◆ detailValue()

double egamma::detailValue ( egammaParameters::ParamDef key,
const std::string & name = "",
unsigned int index = 0 ) const
inherited

get the float value of key in the container name

Definition at line 899 of file egamma.cxx.

901{
902 size_t nsize = m_egDetails.size();
903
904 const egDetail* ptr = nullptr;
905 for (size_t i = 0; i < nsize; i++) {
906 if (m_egDetails[i].isValid()) {
907 if (name.empty()) {
908 ptr = *m_egDetails[i];
909 }
910 else if (m_egDetails.elementDataID(i) == name)
911 ptr = *m_egDetails[i];
912 }
913 if ( ptr && ptr->hasParameter(key) && ptr->linkIndex() == (int)index)
914 return ptr->parameter(key);
915 }
916
918}
const double EgParamUndefined

◆ dump()

virtual std::ostream & ParticleImpl< egammaNavigation, P4ImplEEtaPhiM, ParticleEvent::Base >::dump ( std::ostream & out) const
virtualinherited

Print I4Momentum content.

Implements I4Momentum.

◆ e()

virtual double ParticleImpl< egammaNavigation, P4ImplEEtaPhiM, ParticleEvent::Base >::e ( ) const
virtualinherited

energy

Implements I4Momentum.

◆ egammaID() [1/2]

double egamma::egammaID ( egammaPIDObs::PID idflag) const
inherited

Definition at line 318 of file egamma.cxx.

319{
320 //
321 // method to retrieve the PID
322 // set as double to work for IsEM but also for all weights as likelihood
323 //
324
325 return m_egPID->egammaID(idflag, nullptr);
326}
egPID * m_egPID
Definition egamma.h:307

◆ egammaID() [2/2]

double egamma::egammaID ( egammaPIDObs::PID idflag,
bool * found ) const
inherited

access to PID information, as double to work for IsEM and all possible weights as likelihood

Definition at line 308 of file egamma.cxx.

309{
310 //
311 // method to retrieve the PID
312 // set as double to work for IsEM but also for all weights as likelihood
313 //
314
315 return m_egPID->egammaID(idflag, found);
316}

◆ errors()

const I4MomentumError * egamma::errors ( ) const
virtualinherited

override standard errors to allow lazy loading (lazy loading NOW DISABLED)

Reimplemented from ParticleImpl< egammaNavigation, P4ImplEEtaPhiM >.

Definition at line 964 of file egamma.cxx.

965{
966 return momentumBase().errors();
967}
virtual const I4MomentumError * errors() const
const momentum_type & momentumBase() const

◆ et()

virtual double ParticleImpl< egammaNavigation, P4ImplEEtaPhiM, ParticleEvent::Base >::et ( ) const
virtualinherited

transverse energy defined to be e*sin(theta)

Implements I4Momentum.

◆ eta()

virtual double ParticleImpl< egammaNavigation, P4ImplEEtaPhiM, ParticleEvent::Base >::eta ( void ) const
virtualinherited

pseudo rapidity

Implements I4Momentum.

◆ fillToken() [1/2]

void egamma::fillToken ( INavigationToken & thisToken) const
virtualinherited

fill token

Reimplemented from ParticleImpl< egammaNavigation, P4ImplEEtaPhiM >.

Definition at line 118 of file egamma.cxx.

119{
120
121 bool checkFlag = false;
122
124 // First check on track //
126
127 const Rec::TrackParticle* aTrack = this->trackParticle();
128 if ( aTrack != nullptr )
129 {
130 // check requested object type with token type
131 NavigationToken<Rec::TrackParticle>* trackToken =
132 dynamic_cast< NavigationToken<Rec::TrackParticle>* >(&theToken);
133 if ( trackToken != nullptr )
134 {
135 // request is honored
136 trackToken->setObject(aTrack);
137 checkFlag = true;
138 }
139
140 // alternative token type may phrase the same request
141 if ( ! checkFlag )
142 {
143 NavigationToken<Rec::TrackParticle,double>* parTrackToken =
144 dynamic_cast< NavigationToken<Rec::TrackParticle,double>* >
145 (&theToken);
146 if ( parTrackToken != nullptr )
147 {
148 parTrackToken->setObject(aTrack);
149 checkFlag = true;
150 }
151 }
152 }
153
155 // At this point only a request for Rec::TrackParticle could have been
156 // honored. This is indicated by checkFlag = true. If checkFlag = false,
157 // a test on a request for CaloCluster is performed.
159
160 // bail out if request for Rec::TrackParticle is already honored
161 if ( checkFlag ) return;
162
164 // Check on cluster //
166
167 const CaloCluster* aCluster = this->cluster();
168 if ( aCluster != nullptr )
169 {
170 // check on requested type
171 NavigationToken<CaloCluster>* clusToken =
172 dynamic_cast< NavigationToken<CaloCluster>* >(&theToken);
173 if ( clusToken != nullptr )
174 {
175 clusToken->setObject(aCluster);
176 checkFlag = true;
177 }
178 // allow for visitor with relational parameter type
179 if ( ! checkFlag )
180 {
181 NavigationToken<CaloCluster,double>* parClusToken =
182 dynamic_cast< NavigationToken<CaloCluster,double>* >(&theToken);
183 if ( parClusToken != nullptr )
184 {
185 parClusToken->setObject(aCluster);
186 checkFlag = true;
187 }
188 }
189 }
190
191 // concrete type request for CaloCluster honored
192 if ( checkFlag ) return;
193
195 // Pass on the token to composite constituents: ie. CaloCluster! //
197
198 if ( aCluster!= nullptr ) aCluster->fillToken(theToken);
199
201 // At this point no request for concrete egamma constituents has been
202 // submitted if checkFlag = false. Now we need to check if a generic
203 // type has been requested (i.e. a base type for tracks and clusters).
205
206 // try for generic type requests
207 if ( aTrack != nullptr ) theToken.trySetObject(aTrack);
208 if ( aCluster!= nullptr ) theToken.trySetObject(aCluster);
209}
CaloCluster_v1 CaloCluster
Define the latest version of the calorimeter cluster class.
virtual void fillToken(INavigationToken &iToken) const
fill token for navigation
void setObject(const_child_ptr data)
const Rec::TrackParticle * trackParticle(unsigned int index=0) const
pointer to TrackParticle
Definition egamma.cxx:391
const CaloCluster * cluster() const
pointer to CaloCluster
Definition egamma.cxx:360

◆ fillToken() [2/2]

void egamma::fillToken ( INavigationToken & thisToken,
const std::any & theWeight ) const
virtualinherited

fill token

Reimplemented from ParticleImpl< egammaNavigation, P4ImplEEtaPhiM >.

Definition at line 215 of file egamma.cxx.

217{
218 bool checkFlag = false;
219
221 // First check on track //
223 const Rec::TrackParticle* aTrack = this->trackParticle();
224 if ( aTrack != nullptr )
225 {
226 // check requested object type with token type
227 NavigationToken<Rec::TrackParticle>* trackToken =
228 dynamic_cast< NavigationToken<Rec::TrackParticle>* >(&theToken);
229 if ( trackToken != nullptr )
230 {
231 // request is honored
232 trackToken->setObject(aTrack);
233 checkFlag = true;
234 }
235
236 // alternative token type may phrase the same request
237 if ( ! checkFlag )
238 {
239 NavigationToken<Rec::TrackParticle,double>* parTrackToken =
240 dynamic_cast< NavigationToken<Rec::TrackParticle,double>* >
241 (&theToken);
242 if ( parTrackToken != nullptr )
243 {
244 // no weight change in propagation
245 parTrackToken->setObject(aTrack,
246 std::any_cast<double>(theWeight));
247 checkFlag = true;
248 }
249 }
250 }
251
252 // checks on track successful (see above)
253 if ( checkFlag ) return;
254
256 // Check on cluster //
258
259 const CaloCluster* aCluster = this->cluster();
260 if ( aCluster != nullptr )
261 {
262 // check on requested type
263 NavigationToken<CaloCluster>* clusToken =
264 dynamic_cast< NavigationToken<CaloCluster>* >(&theToken);
265 if ( clusToken != nullptr )
266 {
267 clusToken->setObject(aCluster);
268 checkFlag = true;
269 }
270 // allow for visitor with relational parameter type
271 if ( ! checkFlag )
272 {
273 NavigationToken<CaloCluster,double>* parClusToken =
274 dynamic_cast< NavigationToken<CaloCluster,double>* >(&theToken);
275 if ( parClusToken != nullptr )
276 {
277 parClusToken->setObject(aCluster,
278 std::any_cast<double>(theWeight));
279 checkFlag = true;
280 }
281 }
282 }
283
284 // concrete check for CaloCluster honored
285 if ( checkFlag ) return;
286
288 // Pass on the token to composite constituents: ie. CaloCluster! //
290
291 if ( aCluster != nullptr ) aCluster->fillToken(theToken,theWeight);
292
293
295 // At this point no request for concrete egamma constituents has been
296 // submitted if checkFlag = false. Now we need to check if a generic
297 // type has been requested (i.e. a base type for tracks and clusters).
299
300 // try for generic type requests
301 if ( aTrack != nullptr ) theToken.trySetObject(aTrack, theWeight);
302 if ( aCluster != nullptr ) theToken.trySetObject(aCluster,theWeight);
303}

◆ get4Mom()

const egamma::momentum_type & egamma::get4Mom ( egamma::eg4MomType type = egamma::Combined) const
inlineinherited

return the combined or additional uncombined cluster 4mom

return the combined, or additional uncombined cluster 4mom

Definition at line 395 of file egamma.h.

396{
397 if ( type==egamma::Combined ) return this->momentumBase();
398 else return m_momentumCluster;
399}
momentum_type m_momentumCluster
Definition egamma.h:313

◆ getAthenaBarCode()

AthenaBarCode_t ParticleImpl< egammaNavigation, P4ImplEEtaPhiM, ParticleEvent::Base >::getAthenaBarCode ( ) const
virtualinherited

IAthenaBarCode interface forwarding

Reimplemented from IAthenaBarCode.

◆ getVersion()

Reimplemented from IAthenaBarCode.

◆ hasCharge()

virtual bool ParticleImpl< egammaNavigation, P4ImplEEtaPhiM, ParticleEvent::Base >::hasCharge ( ) const
virtualinherited

method to check if charge information is available

Implements IParticle.

◆ hasPdgId()

virtual bool ParticleImpl< egammaNavigation, P4ImplEEtaPhiM, ParticleEvent::Base >::hasPdgId ( ) const
virtualinherited

method to check if particle id information is available

Implements IParticle.

◆ hasSameAthenaBarCode()

bool ParticleImpl< egammaNavigation, P4ImplEEtaPhiM, ParticleEvent::Base >::hasSameAthenaBarCode ( const IAthenaBarCode & ) const
virtualinherited

Reimplemented from IAthenaBarCode.

◆ hasSameAthenaBarCodeExceptVersion()

bool ParticleImpl< egammaNavigation, P4ImplEEtaPhiM, ParticleEvent::Base >::hasSameAthenaBarCodeExceptVersion ( const IAthenaBarCode & ) const
virtualinherited

Reimplemented from IAthenaBarCode.

◆ hlv()

virtual CLHEP::HepLorentzVector ParticleImpl< egammaNavigation, P4ImplEEtaPhiM, ParticleEvent::Base >::hlv ( ) const
virtualinherited

CLHEP HepLorentzVector.

Implements I4Momentum.

◆ iPt()

virtual double ParticleImpl< egammaNavigation, P4ImplEEtaPhiM, ParticleEvent::Base >::iPt ( ) const
virtualinherited

inverse of transverse momentum

Implements I4Momentum.

◆ isElectron()

bool egamma::isElectron ( unsigned int mask = egammaPIDObs::ALL,
egammaPIDObs::PID pid = egammaPIDObs::IsEM,
bool * found = nullptr ) const
inherited

ID flag with cuts, true:e/phot, false:bkg.

Definition at line 655 of file egamma.cxx.

658{
659 //
660 // boolean method to define if egamma object is identified
661 // by standard cut-based selection
662 //
663
664 return (m_egPID->isEM(mask, pid, found)==0);
665}
const egPID * pid() const
Definition egamma.cxx:642

◆ isem() [1/2]

unsigned int egamma::isem ( unsigned int mask,
egammaPIDObs::PID pid,
bool * found ) const
inherited

Definition at line 781 of file egamma.cxx.

784{
785 //
786 // method which applies a mask to the isEM variable
787 // and returns the corresponding decoded value
788 //
789
790 return m_egPID->isEM(mask, pid, found);
791}

◆ isem() [2/2]

unsigned int egamma::isem ( unsigned int mask = egammaPIDObs::ALL,
egammaPIDObs::PID pid = egammaPIDObs::IsEM ) const
inherited

ID flag with cuts, 0:e, >1:jet.

Definition at line 769 of file egamma.cxx.

771{
772 //
773 // method which applies a mask to the isEM variable
774 // and returns the corresponding decoded value
775 //
776
777 return m_egPID->isEM(mask, pid, nullptr);
778}

◆ isemse() [1/2]

unsigned int egamma::isemse ( unsigned int mask,
bool * found ) const
inherited

Definition at line 805 of file egamma.cxx.

806{
807 //
808 // method which applies a mask to the isEMsofte variable
809 // and returns the corresponding decoded value
810 //
811
812 return m_egPID->isEMsofte(mask, found);
813}

◆ isemse() [2/2]

unsigned int egamma::isemse ( unsigned int mask = egammaPIDObs::ALL) const
inherited

ID flag with cuts for softe, 0:e, >1:jet.

Definition at line 794 of file egamma.cxx.

795{
796 //
797 // method which applies a mask to the isEMsofte variable
798 // and returns the corresponding decoded value
799 //
800
801 return m_egPID->isEMsofte(mask, nullptr);
802}

◆ isGoodOQ()

bool egamma::isGoodOQ ( unsigned int mask = egammaPIDObs::ALLOQ,
bool * found = nullptr ) const
inherited

OQ flag.

Definition at line 817 of file egamma.cxx.

818{
819 return (m_egPID->IsGoodOQ(mask, found) == 0);
820}

◆ isgoodoq()

unsigned int egamma::isgoodoq ( unsigned int mask = egammaPIDObs::ALLOQ,
bool * found = nullptr ) const
inherited

Definition at line 823 of file egamma.cxx.

824{
825 //
826 // method which applies a mask to theIsGoodOQ variable
827 // and returns the corresponding decoded value
828 //
829
830 return m_egPID->IsGoodOQ(mask, found);
831}

◆ isPhoton()

bool egamma::isPhoton ( unsigned int mask = egammaPIDObs::ALL,
egammaPIDObs::PID pid = egammaPIDObs::IsEM,
bool * found = nullptr ) const
inherited

Definition at line 668 of file egamma.cxx.

671{
672 //
673 // boolean method to define if egamma object is identified
674 // by standard cut-based selection
675 //
676
677 return (m_egPID->isEM(mask, pid, found)==0);
678}

◆ isSofte()

bool egamma::isSofte ( unsigned int mask = egammaPIDObs::ALL,
bool * found = nullptr ) const
inherited

uses special softe cuts

Definition at line 681 of file egamma.cxx.

682{
683 //
684 // boolean method to define if egamma object is identified
685 // by cut-based selection optimized for non-isolated objects
686 //
687
688 return (m_egPID->isEMsofte(mask, found)==0);
689}

◆ kind()

virtual I4Momentum::Kind ParticleImpl< egammaNavigation, P4ImplEEtaPhiM, ParticleEvent::Base >::kind ( ) const
virtualinherited

add Kind which tells what kind (P4XYZ) the underlying implementation has

Implements I4Momentum.

◆ m()

virtual double ParticleImpl< egammaNavigation, P4ImplEEtaPhiM, ParticleEvent::Base >::m ( void ) const
virtualinherited

mass

Implements I4Momentum.

◆ m2()

virtual double ParticleImpl< egammaNavigation, P4ImplEEtaPhiM, ParticleEvent::Base >::m2 ( ) const
virtualinherited

mass squared

Implements I4Momentum.

◆ makePhotonFromEgamma()

void Analysis::Photon::makePhotonFromEgamma ( const egamma & eg)

create photon from egamma

Definition at line 19 of file Photon.cxx.

20{
21 if ( this != &eg ) {
23 }
24}
egamma & operator=(const egamma &rhs)
Definition egamma.cxx:83

◆ momentumBase() [1/2]

access to underlying base type (I4Momentum-like)

◆ momentumBase() [2/2]

const momentum_type & ParticleImpl< egammaNavigation, P4ImplEEtaPhiM, ParticleEvent::Base >::momentumBase ( ) const
inherited

access to underlying base type (I4Momentum-like)

◆ navigableBase() [1/2]

access to underlying base type (INavigable-like)

◆ navigableBase() [2/2]

const navigable_type & ParticleImpl< egammaNavigation, P4ImplEEtaPhiM, ParticleEvent::Base >::navigableBase ( ) const
inherited

access to underlying base type (INavigable-like)

◆ nConversions()

unsigned int egamma::nConversions ( ) const
inherited

Definition at line 421 of file egamma.cxx.

422{
423 return m_conversion.size();
424}

◆ nDetails()

int egamma::nDetails ( ) const
inherited

number of details in egamma object

Definition at line 891 of file egamma.cxx.

892{
893 return m_egDetails.size();
894}

◆ newVersion()

void ParticleImpl< egammaNavigation, P4ImplEEtaPhiM, ParticleEvent::Base >::newVersion ( )
virtualinherited

Reimplemented from IAthenaBarCode.

◆ nTrackParticles()

unsigned int egamma::nTrackParticles ( ) const
inherited

Definition at line 405 of file egamma.cxx.

406{
407 return m_trackParticle.size();
408}
ElementLinkVector< Rec::TrackParticleContainer > m_trackParticle
Definition egamma.h:300

◆ operator=()

Photon & Analysis::Photon::operator= ( const Photon & rhs)

Definition at line 11 of file Photon.cxx.

11 {
12 if ( this != &rhs ) {
13 egamma::operator=( rhs );
14 }
15 return *this;
16}

◆ origin()

virtual const Trk::RecVertex * ParticleImpl< egammaNavigation, P4ImplEEtaPhiM, ParticleEvent::Base >::origin ( ) const
virtualinherited

Return a RecVertex corresponding to particle Origin.

Implements IParticle.

◆ originLink()

virtual const ElementLink< VxContainer > & ParticleImpl< egammaNavigation, P4ImplEEtaPhiM, ParticleEvent::Base >::originLink ( ) const
virtualinherited

Return an ElementLink corresponding to particle's Origin.

Implements IParticle.

◆ p()

virtual double ParticleImpl< egammaNavigation, P4ImplEEtaPhiM, ParticleEvent::Base >::p ( ) const
virtualinherited

mass momentum magnitude

Implements I4Momentum.

◆ p2()

virtual double ParticleImpl< egammaNavigation, P4ImplEEtaPhiM, ParticleEvent::Base >::p2 ( ) const
virtualinherited

square of momentum magnitude

Implements I4Momentum.

◆ particleBase() [1/2]

access to underlying base type (IParticle-like)

◆ particleBase() [2/2]

const particle_type & ParticleImpl< egammaNavigation, P4ImplEEtaPhiM, ParticleEvent::Base >::particleBase ( ) const
inherited

access to underlying base type (IParticle-like)

◆ passID()

bool egamma::passID ( egammaPIDObs::egammaIDQuality id) const
inherited

does electron/photon pass the given quality

Definition at line 692 of file egamma.cxx.

693{
694 //
695 // boolean method to define if egamma object is identified
696 // by standard cut-based selection
697 //
698
699 switch(id) {
706
713
720
727
734
741
750
755
757 return true;
758
759 default:
760 return false;
761 }
762}
bool isPhoton(unsigned int mask=egammaPIDObs::ALL, egammaPIDObs::PID pid=egammaPIDObs::IsEM, bool *found=nullptr) const
Definition egamma.cxx:668
bool isElectron(unsigned int mask=egammaPIDObs::ALL, egammaPIDObs::PID pid=egammaPIDObs::IsEM, bool *found=nullptr) const
ID flag with cuts, true:e/phot, false:bkg.
Definition egamma.cxx:655
const unsigned int ElectronLooseIso
Loose electron selecton with isolation.
const unsigned int PhotonLooseARIso
Loose photon selection with Ambiguity resolver and Isolation.
const unsigned int ElectronLoosePP
Loose++ electron selection.
const unsigned int PhotonTightAR
Tight photon selection with Ambiguity resolver.
const unsigned int ElectronMediumPPIso
Medium++ electron selecton with isolation.
const unsigned int ElectronLoose
Loose electron selection.
const unsigned int PhotonTightIso
Tight photon selection with isolation.
const unsigned int PhotonTight
Tight photon selection.
const unsigned int ElectronTightIso
Tight electron selection with isolation requirement.
const unsigned int ElectronMedium
Medium electron selecton.
const unsigned int PhotonTightARIso
Tight photon selection with isolation and Ambiguity resolver.
const unsigned int PhotonLoose
Loose photon selection.
const unsigned int frwdElectronTight
forward electron flavours
const unsigned int ElectronMediumPP
Medium++ electron selecton.
const unsigned int PhotonMediumAR
Medium photon selection.
const unsigned int frwdElectronLoose
@ IsEMLoose
cut-based identification for egamma objects (Loose)
@ IsEMTight
cut-based identification for egamma objects (Tight)
@ IsEMMedium
cut-based identification for egamma objects (Medium)
@ IsEM
cut-based identification for egamma objects (cluster and track-based)
const unsigned int ElectronMediumIso
MediumIso electron selecton.
const unsigned int ElectronTightPP
Tight++ electron selecton.
const unsigned int ElectronTight
Tight electron selection.
const unsigned int ElectronTightPPIso
Tight++ electron selecton with isolation.
const unsigned int PhotonLooseIso
Loose photon selection with Isolation.
const unsigned int PhotonMedium
Medium photon selection.
const unsigned int PhotonLooseAR
Loose photon selection with Ambiguity resolver.

◆ pdgId()

virtual int ParticleImpl< egammaNavigation, P4ImplEEtaPhiM, ParticleEvent::Base >::pdgId ( ) const
virtualinherited

Return enum indicating particle id the enum file is available in Event/EventKernel/PdtPdg.h.

Implements IParticle.

◆ phi()

virtual double ParticleImpl< egammaNavigation, P4ImplEEtaPhiM, ParticleEvent::Base >::phi ( void ) const
virtualinherited

phi in [-pi,pi[

Implements I4Momentum.

◆ pid()

const egPID * egamma::pid ( ) const
inherited

Definition at line 642 of file egamma.cxx.

643{
644 return m_egPID;
645}

◆ print()

void egamma::print ( ) const
inherited

print method

Definition at line 106 of file egamma.cxx.

107{
108 // loop over egDetails and print later.
109}

◆ pt()

virtual double ParticleImpl< egammaNavigation, P4ImplEEtaPhiM, ParticleEvent::Base >::pt ( void ) const
virtualinherited

transverse momentum

Implements I4Momentum.

◆ px()

virtual double ParticleImpl< egammaNavigation, P4ImplEEtaPhiM, ParticleEvent::Base >::px ( ) const
virtualinherited

x component of momentum

I4Momentum interface forwarding

Implements I4Momentum.

◆ py()

virtual double ParticleImpl< egammaNavigation, P4ImplEEtaPhiM, ParticleEvent::Base >::py ( ) const
virtualinherited

y component of momentum

Implements I4Momentum.

◆ pz()

virtual double ParticleImpl< egammaNavigation, P4ImplEEtaPhiM, ParticleEvent::Base >::pz ( ) const
virtualinherited

z component of momentum

Implements I4Momentum.

◆ rapidity()

virtual double ParticleImpl< egammaNavigation, P4ImplEEtaPhiM, ParticleEvent::Base >::rapidity ( ) const
virtualinherited

rapidity

Implements I4Momentum.

◆ resetAuthor()

void egamma::resetAuthor ( )
inlineinherited

set_egamma ID

Definition at line 250 of file egamma.h.

250{m_author = 0; }

◆ resetCluster()

void egamma::resetCluster ( )
inherited

Reset Cluster.

Definition at line 499 of file egamma.cxx.

500{
501 m_cluster.reset();
502}

◆ resetConversion()

void egamma::resetConversion ( unsigned int index = 0)
inherited

Reset Conversion.

Definition at line 563 of file egamma.cxx.

564{
565 if(index < m_conversion.size()){
566 (m_conversion.at(index)).reset();
567 }
568}

◆ resetRings()

void egamma::resetRings ( )
inherited

Reset Cluster.

Definition at line 479 of file egamma.cxx.

480{
481 m_rings.reset();
482}
ElementLink< CaloRingsContainer > m_rings
Definition egamma.h:303

◆ resetTrackParticle()

void egamma::resetTrackParticle ( unsigned int index = 0)
inherited

Reset Track Particle.

Definition at line 518 of file egamma.cxx.

519{
520 if(index < m_trackParticle.size()){
521 (m_trackParticle.at(index)).reset();
522 }
523}

◆ rings()

const CaloRings * egamma::rings ( ) const
inherited

pointer to CaloRings

Definition at line 370 of file egamma.cxx.

371{
372 //
373 // methods to access RingerRings
374 //
375
376 return (m_rings.isValid()) ? *m_rings : nullptr;
377}

◆ ringsElementLink()

const ElementLink< CaloRingsContainer > & egamma::ringsElementLink ( ) const
inherited

element link to rings

Definition at line 379 of file egamma.cxx.

380{
381 //
382 // methods to access RingerRings ElementLink
383 //
384 return m_rings;
385}

◆ set4Mom() [1/3]

void egamma::set4Mom ( const CLHEP::HepLorentzVector & theHlv)
inlinevirtualinherited

set all 4-mom from a CLHEP HepLorentzVector

Reimplemented from ParticleImpl< egammaNavigation, P4ImplEEtaPhiM >.

Definition at line 390 of file egamma.h.

391{ this->momentumBase().set4Mom (hlv); }
virtual CLHEP::HepLorentzVector hlv() const =0
CLHEP HepLorentzVector.
void set4Mom(const I4Momentum &theI4Mom)
set all 4-mom from another I4Momentum reference

◆ set4Mom() [2/3]

void egamma::set4Mom ( const I4Momentum & theI4Mom)
inlinevirtualinherited

set all 4-mom from another I4Momentum reference

Reimplemented from ParticleImpl< egammaNavigation, P4ImplEEtaPhiM >.

Definition at line 378 of file egamma.h.

379{ this->momentumBase().set4Mom (mom); }

◆ set4Mom() [3/3]

void egamma::set4Mom ( const I4Momentum *const theI4Mom)
inlinevirtualinherited

set all 4-mom from another I4Momentum pointer

Reimplemented from ParticleImpl< egammaNavigation, P4ImplEEtaPhiM >.

Definition at line 384 of file egamma.h.

385{ this->momentumBase().set4Mom (mom); }

◆ set_charge()

virtual void ParticleImpl< egammaNavigation, P4ImplEEtaPhiM, ParticleEvent::Base >::set_charge ( ChargeType x)
virtualinherited

◆ set_dataType()

virtual void ParticleImpl< egammaNavigation, P4ImplEEtaPhiM, ParticleEvent::Base >::set_dataType ( ParticleDataType::DataType x)
virtualinherited

◆ set_egammaID()

bool egamma::set_egammaID ( egammaPIDObs::PID id,
double result )
inherited

set_egamma ID, for doubles and all possible weights as likelihood

Definition at line 329 of file egamma.cxx.

330{
331 //
332 // method to set the PID
333 // set as double to work for IsEM but also for all weights as likelihood
334 //
335
336 return m_egPID->set_egammaID(idflag,result);
337}

◆ set_egammaIDint()

bool egamma::set_egammaIDint ( egammaPIDObs::PID id,
unsigned int result )
inherited

set_egamma ID, for usigned int values

Definition at line 340 of file egamma.cxx.

341{
342 //
343 // method to set the PID for ints directly
344 //
345
346 return m_egPID->set_egammaIDint(idflag,result);
347}

◆ set_origin() [1/3]

void ParticleImpl< egammaNavigation, P4ImplEEtaPhiM, ParticleEvent::Base >::set_origin ( const ElementLink< VxContainer > & origin)
inherited

◆ set_origin() [2/3]

virtual void ParticleImpl< egammaNavigation, P4ImplEEtaPhiM, ParticleEvent::Base >::set_origin ( const VxContainer * theContainer,
const Trk::VxCandidate * vertex )
virtualinherited

◆ set_origin() [3/3]

virtual void ParticleImpl< egammaNavigation, P4ImplEEtaPhiM, ParticleEvent::Base >::set_origin ( const VxContainer * theContainer,
int index )
virtualinherited

◆ set_pdgId()

virtual void ParticleImpl< egammaNavigation, P4ImplEEtaPhiM, ParticleEvent::Base >::set_pdgId ( int x)
virtualinherited

◆ set_pid()

void egamma::set_pid ( egPID * ptr)
inherited

set particle ID

Definition at line 648 of file egamma.cxx.

649{
650 if (m_egPID != nullptr) delete m_egPID;
651 m_egPID = ptr;
652}

◆ setAthenaBarCode()

void ParticleImpl< egammaNavigation, P4ImplEEtaPhiM, ParticleEvent::Base >::setAthenaBarCode ( AthenaBarCode_t )
virtualinherited

Reimplemented from IAthenaBarCode.

◆ setCluster() [1/2]

void egamma::setCluster ( const CaloClusterContainer * pCont,
const CaloCluster * cluster )
inherited

Set cluster.

Definition at line 505 of file egamma.cxx.

506{
507 m_cluster.toContainedElement(*pCont, cluster);
508}

◆ setCluster() [2/2]

void egamma::setCluster ( const CaloClusterContainer * pCont,
int index )
inherited

Set cluster.

Definition at line 467 of file egamma.cxx.

468{
469 m_cluster.toIndexedElement( *pCont, index);
470}

◆ setClusterElementLink()

void egamma::setClusterElementLink ( const ElementLink< CaloClusterContainer > & link)
inherited

Set Cluster Element Link.

Definition at line 512 of file egamma.cxx.

513{
514 m_cluster = link;
515}

◆ setConversion() [1/2]

void egamma::setConversion ( const VxContainer * pCont,
const Trk::VxCandidate * conv )
inherited

Set Conversion.

Definition at line 579 of file egamma.cxx.

580{
581 ElementLink<VxContainer> link;
582 link.toContainedElement(*pCont, conv);
583 m_conversion.push_back(link);
584}

◆ setConversion() [2/2]

void egamma::setConversion ( const VxContainer * pCont,
int index )
inherited

Set Conversion.

Definition at line 571 of file egamma.cxx.

572{
573 ElementLink<VxContainer> link;
574 link.toIndexedElement(*pCont, index);
575 m_conversion.push_back(link);
576}

◆ setConversionElementLink()

void egamma::setConversionElementLink ( const ElementLink< VxContainer > & link)
inherited

Set Conversion.

Definition at line 588 of file egamma.cxx.

589{
590 m_conversion.push_back(link);
591}

◆ setConversionElementLinkVector() [1/2]

void egamma::setConversionElementLinkVector ( const ElementLinkVector< VxContainer > & link)
inherited

Definition at line 595 of file egamma.cxx.

596{
597 m_conversion = v;
598}

◆ setConversionElementLinkVector() [2/2]

void egamma::setConversionElementLinkVector ( ElementLinkVector< VxContainer > && link)
inherited

Definition at line 602 of file egamma.cxx.

603{
604 m_conversion = std::move(v);
605}

◆ setDetail()

void egamma::setDetail ( const egDetailContainer * cont,
const egDetail * ptr )
inherited

set detail

Definition at line 609 of file egamma.cxx.

611{
612 ElementLink<egDetailContainer> link;
613 link.toContainedElement( *cont, ptr);
614 m_egDetails.push_back( link );
615}

◆ setDetailElementLink()

void egamma::setDetailElementLink ( const ElementLink< egDetailContainer > & link)
inherited

set detailElementLink

Definition at line 619 of file egamma.cxx.

620{
621 m_egDetails.push_back( link );
622}

◆ setDetailElementLinkVector() [1/2]

void egamma::setDetailElementLinkVector ( const ElementLinkVector< egDetailContainer > & v)
inherited

Definition at line 627 of file egamma.cxx.

628{
629 m_egDetails = v;
630}

◆ setDetailElementLinkVector() [2/2]

void egamma::setDetailElementLinkVector ( ElementLinkVector< egDetailContainer > && v)
inherited

Definition at line 635 of file egamma.cxx.

636{
637 m_egDetails = std::move(v);
638}

◆ setE()

void egamma::setE ( double theE)
inlineinherited

set energy data member

Definition at line 354 of file egamma.h.

355{ this->momentumBase().setE (ene); }
void setE(const double theE)
set energy data member

◆ setErrorMatrix()

void egamma::setErrorMatrix ( Amg::MatrixX thematrix)
inherited

Definition at line 970 of file egamma.cxx.

971{
972 const unsigned int Nrows =thematrix.rows();
973 CLHEP::HepSymMatrix thematrixCLHEP(Nrows,0);
974
975 for (unsigned int i=0; i<Nrows;++i) {
976 for (unsigned int j=0; j<Nrows;++j){
977 thematrixCLHEP[i][j]= thematrix(i,j);
978 }
979 }
980 this->momentumBase().setErrors(thematrixCLHEP);
981}
void setErrors(const ErrorMatrixEEtaPhiM &err)
set the errors

◆ setEta()

void egamma::setEta ( double theEta)
inlineinherited

set eta data member

Definition at line 360 of file egamma.h.

361{ this->momentumBase().setEta (eta); }
virtual double eta() const =0
pseudo rapidity
void setEta(const double theEta)
set eta data member

◆ setM()

void egamma::setM ( double theM)
inlineinherited

set mass data member

Definition at line 372 of file egamma.h.

373{ this->momentumBase().setM (m); }
virtual double m() const =0
mass
void setM(const double theM)
set mass data member

◆ setPhi()

void egamma::setPhi ( double thePhi)
inlineinherited

set phi data member

Definition at line 366 of file egamma.h.

367{ this->momentumBase().setPhi (phi); }
virtual double phi() const =0
phi in [-pi,pi[
void setPhi(const double thePhi)
set phi data member

◆ setRings() [1/2]

void egamma::setRings ( const CaloRingsContainer * pCont,
const CaloRings * cluster )
inherited

Set rings object.

Definition at line 485 of file egamma.cxx.

486{
487 m_rings.toContainedElement(*pCont, cluster);
488}

◆ setRings() [2/2]

void egamma::setRings ( const CaloRingsContainer * pCont,
int index )
inherited

Set rings object.

Definition at line 473 of file egamma.cxx.

474{
475 m_rings.toIndexedElement( *pCont, index);
476}

◆ setRingsElementLink()

void egamma::setRingsElementLink ( const ElementLink< CaloRingsContainer > & link)
inherited

Set Rings Element Link.

Definition at line 492 of file egamma.cxx.

493{
494 m_rings = link;
495}

◆ setTrackParticle() [1/2]

void egamma::setTrackParticle ( const Rec::TrackParticleContainer * pCont,
const Rec::TrackParticle * track )
inherited

Set Track Particle.

Definition at line 534 of file egamma.cxx.

535{
536 ElementLink<Rec::TrackParticleContainer> link;
537 link.toContainedElement(*pCont, track);
538 m_trackParticle.push_back(link);
539}

◆ setTrackParticle() [2/2]

void egamma::setTrackParticle ( const Rec::TrackParticleContainer * pCont,
int index )
inherited

Set Track Particle.

Definition at line 526 of file egamma.cxx.

527{
528 ElementLink<Rec::TrackParticleContainer> link;
529 link.toIndexedElement(*pCont, index);
530 m_trackParticle.push_back(link);
531}

◆ setTrackParticleElementLink()

void egamma::setTrackParticleElementLink ( const ElementLink< Rec::TrackParticleContainer > & link)
inherited

Set Track Particle Link.

Definition at line 543 of file egamma.cxx.

544{
545 m_trackParticle.push_back(link);
546}

◆ setTrackParticleElementLinkVector() [1/2]

void egamma::setTrackParticleElementLinkVector ( const ElementLinkVector< Rec::TrackParticleContainer > & v)
inherited

Definition at line 550 of file egamma.cxx.

551{
553}

◆ setTrackParticleElementLinkVector() [2/2]

void egamma::setTrackParticleElementLinkVector ( ElementLinkVector< Rec::TrackParticleContainer > && v)
inherited

Definition at line 557 of file egamma.cxx.

558{
559 m_trackParticle = std::move(v);
560}

◆ setUncombined4Mom() [1/3]

void egamma::setUncombined4Mom ( const CLHEP::HepLorentzVector & theHlv)
inherited

set uncombined all 4-mom from a CLHEP HepLorentzVector

set combined all 4-mom from a CLHEP::HepLorentzVector

Definition at line 959 of file egamma.cxx.

960{ m_momentumCluster.set4Mom (hlv); }

◆ setUncombined4Mom() [2/3]

void egamma::setUncombined4Mom ( const I4Momentum & theI4Mom)
inherited

set uncombined all 4-mom from another I4Momentum reference

set combined all 4-mom from another I4Momentum reference

Definition at line 947 of file egamma.cxx.

948{ m_momentumCluster.set4Mom (mom); }

◆ setUncombined4Mom() [3/3]

void egamma::setUncombined4Mom ( const I4Momentum *const theI4Mom)
inherited

set uncombined all 4-mom from another I4Momentum pointer

set combined all 4-mom from another I4Momentum pointer

Definition at line 953 of file egamma.cxx.

954{ m_momentumCluster.set4Mom (mom); }

◆ setUncombinedE()

void egamma::setUncombinedE ( double theE)
inherited

set uncombined energy data member

set combined energy data member

Definition at line 923 of file egamma.cxx.

924{ m_momentumCluster.setE (ene); }

◆ setUncombinedErrorMatrix()

void egamma::setUncombinedErrorMatrix ( Amg::MatrixX thematrix)
inherited

Definition at line 984 of file egamma.cxx.

985{
986 //This should be symmetrix in any case
987 const unsigned int Nrows =thematrix.rows();
988 CLHEP::HepSymMatrix thematrixCLHEP(Nrows,0);
989
990for (unsigned int i=0; i<Nrows;++i) {
991 for (unsigned int j=0; j<Nrows;++j){
992 thematrixCLHEP[i][j]= thematrix(i,j);
993 }
994 }
995 m_momentumCluster.setErrors(thematrixCLHEP);
996}

◆ setUncombinedEta()

void egamma::setUncombinedEta ( double theEta)
inherited

set uncombined eta data member

set combined eta data member

Definition at line 929 of file egamma.cxx.

930{ m_momentumCluster.setEta (eta); }

◆ setUncombinedM()

void egamma::setUncombinedM ( double theM)
inherited

set uncombined mass data member

set combined mass data member

Definition at line 941 of file egamma.cxx.

942{ m_momentumCluster.setM (m); }

◆ setUncombinedPhi()

void egamma::setUncombinedPhi ( double thePhi)
inherited

set uncombined phi data member

set combined phi data member

Definition at line 935 of file egamma.cxx.

936{ m_momentumCluster.setPhi (phi); }

◆ setVersion()

void ParticleImpl< egammaNavigation, P4ImplEEtaPhiM, ParticleEvent::Base >::setVersion ( AthenaBarCodeVersion_t newversion)
virtualinherited

Reimplemented from IAthenaBarCode.

◆ sinPhi()

virtual double ParticleImpl< egammaNavigation, P4ImplEEtaPhiM, ParticleEvent::Base >::sinPhi ( ) const
virtualinherited

sinus phi

Implements I4Momentum.

◆ sinTh()

virtual double ParticleImpl< egammaNavigation, P4ImplEEtaPhiM, ParticleEvent::Base >::sinTh ( ) const
virtualinherited

sinus theta

Implements I4Momentum.

◆ tanTh()

virtual double ParticleImpl< egammaNavigation, P4ImplEEtaPhiM, ParticleEvent::Base >::tanTh ( ) const
virtualinherited

tan theta

Implements I4Momentum.

◆ trackParticle()

const Rec::TrackParticle * egamma::trackParticle ( unsigned int index = 0) const
inherited

pointer to TrackParticle

Definition at line 391 of file egamma.cxx.

392{
393 //
394 // method to acces the track object
395 //
396
397 if(index < m_trackParticle.size()){
398 return ((m_trackParticle.at(index)).isValid()) ? *(m_trackParticle.at(index)) : nullptr;
399 }
400 return nullptr;
401
402}

◆ trackParticleElementLink()

ElementLink< Rec::TrackParticleContainer > egamma::trackParticleElementLink ( unsigned int index = 0) const
inherited

element link to trackParticle

Definition at line 433 of file egamma.cxx.

434{
435 if(index < m_trackParticle.size()){
436 return m_trackParticle.at(index);
437 }
438 return {};
439
440}

◆ trackParticleElementLinkVector()

const ElementLinkVector< Rec::TrackParticleContainer > & egamma::trackParticleElementLinkVector ( ) const
inherited

Definition at line 444 of file egamma.cxx.

445{
446 return m_trackParticle;
447}

Member Data Documentation

◆ m_author

unsigned int egamma::m_author
privateinherited

Definition at line 305 of file egamma.h.

◆ m_cluster

ElementLink<CaloClusterContainer> egamma::m_cluster
privateinherited

Definition at line 299 of file egamma.h.

◆ m_conversion

ElementLinkVector<VxContainer> egamma::m_conversion
privateinherited

Definition at line 301 of file egamma.h.

◆ m_egDetails

ElementLinkVector<egDetailContainer> egamma::m_egDetails
privateinherited

Definition at line 302 of file egamma.h.

◆ m_egPID

egPID* egamma::m_egPID
privateinherited

Definition at line 307 of file egamma.h.

◆ m_mom

The 4-momentum part.

Definition at line 310 of file ParticleImpl.h.

◆ m_momentumCluster

momentum_type egamma::m_momentumCluster
protectedinherited

Definition at line 313 of file egamma.h.

◆ m_nav

The navigable part.

Definition at line 307 of file ParticleImpl.h.

◆ m_part

The particle-id part.

Definition at line 313 of file ParticleImpl.h.

◆ m_rings

ElementLink<CaloRingsContainer> egamma::m_rings
privateinherited

Definition at line 303 of file egamma.h.

◆ m_trackParticle

ElementLinkVector<Rec::TrackParticleContainer> egamma::m_trackParticle
privateinherited

Definition at line 300 of file egamma.h.

◆ UNDEFINEDBARCODE

const AthenaBarCode_t IAthenaBarCode::UNDEFINEDBARCODE = (AthenaBarCode_t)(-1)
staticinherited

Definition at line 52 of file AthenaKernel/AthenaKernel/IAthenaBarCode.h.

◆ UNDEFINEDVERSION

const AthenaBarCode_t IAthenaBarCode::UNDEFINEDVERSION = UNDEFINEDBARCODE
staticinherited

Definition at line 53 of file AthenaKernel/AthenaKernel/IAthenaBarCode.h.


The documentation for this class was generated from the following files: