7#ifndef XAODEGAMMA_VERSIONS_EGAMMA_V1_H
8#define XAODEGAMMA_VERSIONS_EGAMMA_V1_H
11#include "AthLinks/ElementLink.h"
36#include "Math/Vector4D.h"
89 virtual double pt()
const override final;
92 virtual
double eta()
const override final;
95 virtual
double phi()
const override final;
98 virtual
double e()
const override;
346 bool selectionisEM(
unsigned int& value,
const std::string& isEM)
const;
361 bool likelihoodValue(
float& value,
const std::string& LHValue=std::string(
"LHValue"))
const;
#define DATAVECTOR_BASE_FIN(T, B)
Used to finish up a forward declaration.
ElementLink implementation for ROOT usage.
void setSelectionisEM(unsigned int value, const std::string &isEM)
Set the isEM word for a selection menu (using the name)
void setAuthor(uint16_t)
set author
bool setShowerShapeValue(float value, const EgammaParameters::ShowerShapeType information)
Set method for Shower Shape values.
void setCaloClusterLinks(const CLELVec_t &links)
set Pointer to the xAOD::CaloCluster
const ElementLink< CaloClusterContainer > & caloClusterLink(size_t index=0) const
ElementLink to the xAOD::CaloCluster/s that match the electron candidate.
void setPassSelection(bool value, const std::string &menu)
Set the selection decision for a menu (using the name)
void setLikelihoodValue(float value, const std::string &LHValue=std::string("LHValue"))
Set the LHValue as float.
GenVecFourMom_t genvecP4() const
The full 4-momentum of the particle : internal egamma type.
EgammaCovMatrix_t covMatrix() const
Returns the 4x4 symmetric covariance matrix .
bool isolation(float &value, const Iso::IsolationType information) const
Accessor for Isolation values.
virtual double pt() const override final
The transverse momentum ( ) of the particle.
IParticle::FourMom_t FourMom_t
Definition of the 4-momentum type.
void setCovMatrix(const EgammaCovMatrix_t &cov)
set the 4x4 symmetric covariance matrix .
void setEta(float eta)
set the eta
bool isolationCaloCorrection(float &value, const Iso::IsolationFlavour flavour, const Iso::IsolationCaloCorrection corr, const Iso::IsolationCorrectionParameter param) const
Accessor for flavour and type depended Isolation Calo correction.
virtual double e() const override
The total energy of the particle.
void setPhi(float phi)
set the phi
size_t nCaloClusters() const
Return the number of xAOD::CaloClusters that define the electron candidate.
virtual Type::ObjectType type() const override=0
The type of the object as a simple enumeration, remains pure virtual in e/gamma.
float isolationValue(const Iso::IsolationType information) const
old Accessor to Isolation values , this just returns the value without internaly checking if it exist...
void setOQ(uint32_t newOQ)
Set the object quality.
bool showerShapeValue(float &value, const EgammaParameters::ShowerShapeType information) const
Accessor for ShowerShape values.
ROOT::Math::LorentzVector< ROOT::Math::PtEtaPhiM4D< double > > GenVecFourMom_t
Base 4 Momentum type for egamma.
std::vector< ElementLink< CaloClusterContainer > > CLELVec_t
Helper type definition.
Egamma_v1(const Egamma_v1 &eg)
Copy constructor (default implementation)
Egamma_v1()
Default constructor.
virtual double eta() const override final
The pseudorapidity ( ) of the particle.
bool passSelection(const std::string &menu) const
Check if the egamma object pass a selection menu (using the name) If the particular menu decision is ...
bool selectionisEM(unsigned int &value, const std::string &isEM) const
Return the isEM word for a selection menu If the menu isEM is stored in this xAOD::Egamma,...
bool isGoodOQ(uint32_t mask) const
Check object quality. Return True is it is Good Object Quality.
void setPt(float pt)
set the Pt
bool likelihoodValue(float &value, const std::string &LHValue=std::string("LHValue")) const
Return the LH value as float If the LH decision is stored in this xAOD::Egamma, then the function fil...
uint32_t OQ() const
Return the object quality bit word.
bool passSelection(bool &value, const std::string &menu) const
Check if the egamma object pass a selection menu (using the name) If the menu decision is stored in t...
bool isolationValue(float &value, const Iso::IsolationType information) const
old Accessor for Isolation values.
bool setIsolation(float value, const Iso::IsolationType information)
set method for Isolation values.
bool setIsolationValue(float value, const Iso::IsolationType information)
old set method for Isolation values.
bool isolationCorrectionBitset(std::bitset< 32 > &value, const Iso::IsolationFlavour flavour) const
Accessor for Isolation corection Bitset.
float likelihoodValue(const std::string &LHValue=std::string("LHValue")) const
Return the LH value as float If the LH Value is not stored in this xAOD::Egamma, an exception will oc...
bool isolationTrackCorrection(float &value, const Iso::IsolationFlavour flavour, const Iso::IsolationTrackCorrection corr) const
Accessor for Isolation Track correction.
virtual double rapidity() const override
The true rapidity (y) of the particle.
void setPtEtaPhi(float pt, float eta, float phi)
set the 4-vec
Egamma_v1 & operator=(const Egamma_v1 &eg)
Assignment Operator. Using the assignment of SG::AuxElement.
uint16_t author(uint16_t bitmask=EgammaParameters::AuthorALL) const
Get author.
void addAuthor(uint16_t)
add author
Eigen::Matrix< float, 4, 4 > EgammaCovMatrix_t
4x4 Covariance Matrix in EtEtaPhiM (needs decision)
const Egamma_v1 * ambiguousObject() const
Get ambiguous.
virtual FourMom_t p4() const override final
The full 4-momentum of the particle as a TLoretzVector.
bool setIsolationTrackCorrection(float value, const Iso::IsolationFlavour flavour, const Iso::IsolationTrackCorrection corr)
Set method for Isolation Track Corrections.
bool setIsolationCorrectionBitset(uint32_t value, const Iso::IsolationFlavour flavour)
Set method for Isolation corection Bitset.
const CLELVec_t & caloClusterLinks() const
Get all cluster links.
virtual double phi() const override final
The azimuthal angle ( ) of the particle.
const xAOD::CaloCluster * caloCluster(size_t index=0) const
Pointer to the xAOD::CaloCluster/s that define the electron candidate.
bool setIsolationCaloCorrection(float value, const Iso::IsolationFlavour flavour, const Iso::IsolationCaloCorrection corr, const Iso::IsolationCorrectionParameter param)
set method for flavour and type depended Isolation Calo Corrections.
Class providing the definition of the 4-vector interface.
Selection rules: declare transient members.
Namespace holding the IsolationType enumeration.
IsolationType
Overall enumeration for isolation types in xAOD files.
IsolationFlavour
Enumeration for different ways of calculating isolation in xAOD files.
IsolationCorrectionParameter
IsolationCaloCorrection
Enumeration for different ways of correcting isolation in xAOD files.
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
CaloCluster_v1 CaloCluster
Define the latest version of the calorimeter cluster class.
CaloClusterContainer_v1 CaloClusterContainer
Define the latest version of the calorimeter cluster container.