Processing math: 100%
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Public Types | Public Member Functions | Static Public Attributes | Protected Member Functions | Private Types | Private Member Functions | Private Attributes | Friends | List of all members
xAOD::CaloCluster_v1 Class Reference

Description of a calorimeter cluster. More...

#include <CaloCluster_v1.h>

Inheritance diagram for xAOD::CaloCluster_v1:
Collaboration diagram for xAOD::CaloCluster_v1:

Public Types

typedef float flt_t
 
typedef CaloSampling::CaloSample CaloSample
 
typedef uint8_t ncells_t
 Type for number-of-cells-in-sampling counter. More...
 
typedef std::vector< uint16_tncells_store_t
 Store type for number-of-cells-in-sampling counter. More...
 
using TypelessConstAccessor = ConstAuxElement::TypelessConstAccessor
 
template<class T , class ALLOC = AuxAllocator_t<T>>
using ConstAccessor = SG::ConstAccessor< T, ALLOC >
 
template<class T , class ALLOC = AuxAllocator_t<T>>
using Accessor = SG::Accessor< T, ALLOC >
 
template<class T , class ALLOC = AuxAllocator_t<T>>
using Decorator = SG::Decorator< T, ALLOC >
 
Public types
enum  ClusterSize {
  SW_55ele = 1, SW_35ele = 2, SW_37ele = 3, SW_55gam = 4,
  SW_35gam = 5, SW_37gam = 6, SW_55Econv = 7, SW_35Econv = 8,
  SW_37Econv = 9, SW_softe = 10, Topo_420 = 11, Topo_633 = 12,
  SW_7_11 = 13, SuperCluster =14, Tower_01_01 = 15, Tower_005_005 = 16,
  Tower_fixed_area = 17, CSize_Unknown = 99
}
 Enumeration to identify different cluster sizes. More...
 
enum  MomentType {
  FIRST_PHI = 101, FIRST_ETA = 102, SECOND_R = 201, SECOND_LAMBDA = 202,
  DELTA_PHI = 301, DELTA_THETA = 302, DELTA_ALPHA = 303, CENTER_X = 401,
  CENTER_Y = 402, CENTER_Z = 403, CENTER_MAG = 404, CENTER_LAMBDA = 501,
  LATERAL = 601, LONGITUDINAL = 602, ENG_FRAC_EM = 701, ENG_FRAC_MAX = 702,
  ENG_FRAC_CORE = 703, FIRST_ENG_DENS = 804, SECOND_ENG_DENS = 805, ISOLATION = 806,
  ENG_BAD_CELLS = 807, N_BAD_CELLS = 808, N_BAD_CELLS_CORR = 809, BAD_CELLS_CORR_E = 813,
  BADLARQ_FRAC = 821, ENG_POS = 822, SIGNIFICANCE = 823, CELL_SIGNIFICANCE = 824,
  CELL_SIG_SAMPLING = 825, AVG_LAR_Q = 826, AVG_TILE_Q = 827, ENG_BAD_HV_CELLS = 828,
  N_BAD_HV_CELLS = 829, PTD = 830, MASS = 831, EM_PROBABILITY = 900,
  HAD_WEIGHT = 901, OOC_WEIGHT = 902, DM_WEIGHT = 903, TILE_CONFIDENCE_LEVEL = 904,
  SECOND_TIME = 910, NCELL_SAMPLING = 920, VERTEX_FRACTION = 1000, NVERTEX_FRACTION = 1001,
  ETACALOFRAME = 1100, PHICALOFRAME = 1101, ETA1CALOFRAME = 1102, PHI1CALOFRAME = 1103,
  ETA2CALOFRAME = 1104, PHI2CALOFRAME = 1105, ENG_CALIB_TOT = 10001, ENG_CALIB_OUT_L = 10010,
  ENG_CALIB_OUT_M = 10011, ENG_CALIB_OUT_T = 10012, ENG_CALIB_DEAD_L = 10020, ENG_CALIB_DEAD_M = 10021,
  ENG_CALIB_DEAD_T = 10022, ENG_CALIB_EMB0 = 10030, ENG_CALIB_EME0 = 10031, ENG_CALIB_TILEG3 = 10032,
  ENG_CALIB_DEAD_TOT = 10040, ENG_CALIB_DEAD_EMB0 = 10041, ENG_CALIB_DEAD_TILE0 = 10042, ENG_CALIB_DEAD_TILEG3 = 10043,
  ENG_CALIB_DEAD_EME0 = 10044, ENG_CALIB_DEAD_HEC0 = 10045, ENG_CALIB_DEAD_FCAL = 10046, ENG_CALIB_DEAD_LEAKAGE = 10047,
  ENG_CALIB_DEAD_UNCLASS = 10048, ENG_CALIB_FRAC_EM = 10051, ENG_CALIB_FRAC_HAD = 10052, ENG_CALIB_FRAC_REST = 10053,
  ENERGY_DigiHSTruth = 40101, ETA_DigiHSTruth = 401024, PHI_DigiHSTruth = 401034, TIME_DigiHSTruth = 40104,
  ENERGY_CALIB_DigiHSTruth = 40105, ETA_CALIB_DigiHSTruth = 40106, PHI_CALIB_DigiHSTruth = 40107, TIME_CALIB_DigiHSTruth = 40108,
  FIRST_PHI_DigiHSTruth = 50101, FIRST_ETA_DigiHSTruth = 50102, SECOND_R_DigiHSTruth = 50201, SECOND_LAMBDA_DigiHSTruth = 50202,
  DELTA_PHI_DigiHSTruth = 50301, DELTA_THETA_DigiHSTruth = 50302, DELTA_ALPHA_DigiHSTruth = 50303, CENTER_X_DigiHSTruth = 50401,
  CENTER_Y_DigiHSTruth = 50402, CENTER_Z_DigiHSTruth = 50403, CENTER_MAG_DigiHSTruth = 50404, CENTER_LAMBDA_DigiHSTruth = 50501,
  LATERAL_DigiHSTruth = 50601, LONGITUDINAL_DigiHSTruth = 50602, ENG_FRAC_EM_DigiHSTruth = 50701, ENG_FRAC_MAX_DigiHSTruth = 50702,
  ENG_FRAC_CORE_DigiHSTruth = 75003, FIRST_ENG_DENS_DigiHSTruth = 50804, SECOND_ENG_DENS_DigiHSTruth = 50805, ISOLATION_DigiHSTruth = 50806,
  ENG_BAD_CELLS_DigiHSTruth = 50807, N_BAD_CELLS_DigiHSTruth = 50808, N_BAD_CELLS_CORR_DigiHSTruth = 50809, BAD_CELLS_CORR_E_DigiHSTruth = 50813,
  BADLARQ_FRAC_DigiHSTruth = 50821, ENG_POS_DigiHSTruth = 50822, SIGNIFICANCE_DigiHSTruth = 50823, CELL_SIGNIFICANCE_DigiHSTruth = 50824,
  CELL_SIG_SAMPLING_DigiHSTruth = 50825, AVG_LAR_Q_DigiHSTruth = 50826, AVG_TILE_Q_DigiHSTruth = 50827, ENG_BAD_HV_CELLS_DigiHSTruth = 50828,
  N_BAD_HV_CELLS_DigiHSTruth = 50829, EM_PROBABILITY_DigiHSTruth = 50900, HAD_WEIGHT_DigiHSTruth = 50901, OOC_WEIGHT_DigiHSTruth = 50902,
  DM_WEIGHT_DigiHSTruth = 50903
}
 Enums to identify different moments. More...
 
enum  State {
  UNKNOWN = -1, UNCALIBRATED = 0, CALIBRATED = 1, ALTCALIBRATED = 2,
  NSTATES = 3
}
 enum of possible signal states. More...
 

Public Member Functions

 CaloCluster_v1 ()
 Default constructor. More...
 
 CaloCluster_v1 (const CaloCluster_v1 &other)
 Copy constructor. More...
 
virtual ~CaloCluster_v1 ()
 Destructor. More...
 
CaloCluster_v1operator= (const xAOD::CaloCluster_v1 &other)
 Assignment operator. More...
 
unsigned int getClusterEtaSize () const
 Get eta size from cluster size. More...
 
unsigned int getClusterPhiSize () const
 Get phi size from cluster size. More...
 
void setBadChannelList (const CaloClusterBadChannelList &bcl)
 
const CaloClusterBadChannelListbadChannelList () const
 
const CaloCluster_v1getSisterCluster () const
 Get a pointer to a 'sister' cluster (eg the non-calibrated counterpart) More...
 
const ElementLink< xAOD::CaloClusterContainer_v1 > & getSisterClusterLink () const
 Get a link to a 'sister' cluster (eg the non-calibrated counterpart) More...
 
bool setSisterClusterLink (const ElementLink< CaloClusterContainer_v1 > &sister)
 Set a link to a 'sister' cluster (eg the non-calibrated counterpart) More...
 
void toPersistent ()
 Function preparing the object to be persistified. More...
 
template<class T , class ALLOC = AuxAllocator_t<T>>
XAOD_AUXDATA_DEPRECATED Accessor< T, ALLOC >::reference_type auxdata (const std::string &name)
 Fetch an aux data variable, as a non-const reference. More...
 
template<class T , class ALLOC = AuxAllocator_t<T>>
XAOD_AUXDATA_DEPRECATED Accessor< T, ALLOC >::const_reference_type auxdata (const std::string &name) const
 Fetch an aux data variable, as a const reference. More...
 
template<class T , class ALLOC = AuxAllocator_t<T>>
XAOD_AUXDATA_DEPRECATED bool isAvailableWritable (const std::string &name, const std::string &clsname="")
 Check if an aux variable is available for writing. More...
 
void assign (const AuxElement &other, bool warnUnlocked=false)
 Assignment. More...
 
const SG::AuxVectorDatacontainer () const
 Return the container holding this element. More...
 
SG::AuxVectorDatacontainer ()
 Return the container holding this element. More...
 
template<class T , class ALLOC = AuxAllocator_t<T>>
XAOD_AUXDATA_DEPRECATED Accessor< T, ALLOC >::const_reference_type auxdataConst (const std::string &name) const
 Fetch an aux data variable, as a const reference. More...
 
template<class T , class ALLOC = AuxAllocator_t<T>>
XAOD_AUXDATA_DEPRECATED Accessor< T, ALLOC >::const_reference_type auxdataConst (const std::string &name, const std::string &clsname) const
 Fetch an aux data variable, as a const reference. More...
 
template<class T , class ALLOC = AuxAllocator_t<T>>
XAOD_AUXDATA_DEPRECATED bool isAvailableWritableAsDecoration (const std::string &name, const std::string &clsname="") const
 Check if an aux variable is available for writing as a decoration. More...
 
template<class T , class ALLOC = AuxAllocator_t<T>>
XAOD_AUXDATA_DEPRECATED Decorator< T, ALLOC >::reference_type auxdecor (const std::string &name) const
 Fetch an aux decoration, as a non-const reference. More...
 
template<class T , class ALLOC = AuxAllocator_t<T>>
XAOD_AUXDATA_DEPRECATED Decorator< T, ALLOC >::reference_type auxdecor (const std::string &name, const std::string &clsname) const
 Fetch an aux decoration, as a non-const reference. More...
 
void makePrivateStore ()
 Create a new (empty) private store for this object. More...
 
template<class U1 >
void makePrivateStore (const U1 &other, bool warnUnlocked=false)
 Create a new private store for this object and copy aux data. More...
 
template<class U1 >
void makePrivateStore (const U1 *other, bool warnUnlocked=false)
 Create a new private store for this object and copy aux data. More...
 
void releasePrivateStore ()
 Release and free any private store associated with this object. More...
 
void setStore (const SG::IConstAuxStore *store)
 Set the store associated with this object. More...
 
void setStore (SG::IAuxStore *store)
 Set the store associated with this object. More...
 
void setStore (const DataLink< SG::IConstAuxStore > &store)
 Set the store associated with this object. More...
 
void setConstStore (const SG::IConstAuxStore *store)
 Synonym for setStore with IConstAuxStore. More...
 
void setNonConstStore (SG::IAuxStore *store)
 Synonym for setStore with IAuxStore. More...
 
bool usingPrivateStore () const
 Test to see if this object is currently using a private store. More...
 
bool usingStandaloneStore () const
 Test to see if this object is currently using a standalone store. More...
 
const SG::IConstAuxStoregetConstStore () const
 Return the current store, as a const interface. More...
 
SG::IAuxStoregetStore () const
 Return the current store, as a non-const interface. More...
 
void clearCache ()
 Clear the cached aux data pointers. More...
 
const SG::auxid_set_tgetAuxIDs () const
 Return a set of identifiers for existing data items for this object. More...
 
const SG::auxid_set_tgetDecorIDs () const
 Return a set of identifiers for decorations for this object. More...
 
bool hasStore () const
 Return true if this object has an associated store. More...
 
bool hasNonConstStore () const
 Return true if this object has an associated non-const store. More...
 
bool clearDecorations () const
 Clear all decorations. More...
 
bool trackIndices () const
 Return true if index tracking is enabled for this object. More...
 
size_t index () const
 Return the index of this element within its container. More...
 
size_t index () const
 Return the index of this element within its container. More...
 
convinience functions

{ The transverse energy of the cluster (negative for neg-Energy clusters with zero mass)

double et () const
 
Energy/Eta/Phi/number of cells per sampling

}

Retrieve energy in a given sampling

float eSample (const CaloSample sampling) const
 
float etaSample (const CaloSample sampling) const
 Retrieve barycenter \eta in a given sample. More...
 
float phiSample (const CaloSample sampling) const
 Retrieve barycenter \varphi in a given sample. More...
 
float energy_max (const CaloSample sampling) const
 Retrieve maximum cell energy in given sampling. More...
 
float etamax (const CaloSample sampling) const
 Retrieve \eta of cell with maximum energy in given sampling. More...
 
float phimax (const CaloSample sampling) const
 Retrieve \varphi of cell with maximum energy in given sampling. More...
 
float etasize (const CaloSample sampling) const
 Returns cluster size in \eta for a given sampling. More...
 
float phisize (const CaloSample sampling) const
 Returns cluster size in \varphi for a given sampling. More...
 
int numberCellsInSampling (const CaloSample samp, bool isInnerWheel=false) const
 Returns number of cells in given sampling. More...
 
void setNumberCellsInSampling (CaloSampling::CaloSample samp, int ncells, bool isInnerWheel=false)
 Set the number of cells in a sampling layer. More...
 
int numberCells () const
 Return total number of cells in cluster. More...
 
template<class CDATA >
bool getNumberCellsInSampling (CDATA &cdata) const
 Get number of cells for all sampling layer. More...
 
float energyBE (const unsigned layer) const
 Get the energy in one layer of the EM Calo. More...
 
float etaBE (const unsigned layer) const
 Get the eta in one layer of the EM Calo. More...
 
float phiBE (const unsigned layer) const
 Get the phi in one layer of the EM Calo. More...
 
bool setEnergy (const CaloSample sampling, const float e)
 Set energy for a given sampling. Returns false if the sample isn't part of the cluster. More...
 
bool setEta (const CaloSample sampling, const float eta)
 Set \eta in a given sampling. Returns false if the sample isn't part of the cluster. More...
 
bool setPhi (const CaloSample sampling, const float phi)
 Set \varphi in a given sampling. Returns false if the sample isn't part of the cluster. More...
 
bool setEmax (const CaloSample sampling, const float eMax)
 Set the Energy of the cell with the highest energy in a particular sampling. More...
 
bool setEtamax (const CaloSample sampling, const float etaMax)
 Set the eta of the cell with the highest energy in a particular sampling. More...
 
bool setPhimax (const CaloSample sampling, const float phiMax)
 Set the phi of the cell with the highest energy in a particular sampling. More...
 
bool setEtasize (const CaloSample sampling, const float etaSize)
 Set the cluster size in \varphi for a given sampling. More...
 
bool setPhisize (const CaloSample sampling, const float phiSize)
 Set the cluster size in \vareta for a given sampling. More...
 
Cluster moments

Set individual moment

void insertMoment (MomentType type, double value)
 
bool retrieveMoment (MomentType type, double &value) const
 Retrieve individual moment. More...
 
double getMomentValue (MomentType type) const
 Retrieve individual moment - no check for existance! Returns -999 on error. More...
 
void insertMoment (MomentType type, const ncells_store_t &values)
 Insert number of cells/sampling moment (non-scalar) More...
 
bool retrieveMoment (MomentType type, ncells_store_t &values) const
 Retrieve non-scalar moments. More...
 
Special Cluster Variables

Set raw \eta of cluster seed

void setEta0 (flt_t)
 
flt_t eta0 () const
 Returns raw \eta of cluster seed. More...
 
void setPhi0 (flt_t)
 Set raw \phi of cluster seed. More...
 
flt_t phi0 () const
 Returns raw \phi of cluster seed. More...
 
void setTime (flt_t)
 Set cluster time. More...
 
flt_t time () const
 Access cluster time. More...
 
void setSecondTime (flt_t stime)
 Set second moment of cell timing distribution. More...
 
flt_t secondTime () const
 Access second moment of cell timing distribution. More...
 
unsigned samplingPattern () const
 Access to sampling pattern (one bit per sampling) (Method may be removed later) More...
 
void setSamplingPattern (const unsigned sp, const bool clearSamplingVars=false)
 Set sampling pattern (one bit per sampling. More...
 
void clearSamplingData ()
 Clear the sampling data. More...
 
unsigned nSamples () const
 
bool hasSampling (const CaloSample s) const
 Checks if certain smapling contributes to cluster. More...
 
ClusterSize clusterSize () const
 Get cluster size. More...
 
void setClusterSize (const ClusterSize)
 Get cluster size. More...
 
bool inBarrel () const
 Returns true if at least one clustered cell in the barrel. More...
 
bool inEndcap () const
 Returns true if at least one clustered cell in the endcap. More...
 
4Momentum setter (signal-state dependent)

}@

Set Energy for the current signal state

void setE (flt_t)
 
void setEta (flt_t)
 Set Eta for the current signal state. More...
 
void setPhi (flt_t)
 Set Phi for the current signal state. More...
 
void setM (flt_t)
 Set Mass for the current signal state. More...
 

Static Public Attributes

static constexpr bool supportsThinning = true
 Mark that this type supports thinning operations. More...
 

Protected Member Functions

bool noPrivateData () const
 True if this element has no private data. More...
 
bool havePrivateData () const
 True if this element currently has private data. More...
 
bool hadPrivateData () const
 True if this element had private data before it was added to its current container. More...
 

Private Types

enum  PrivateStoreState : uint8_t { PrivateStoreState::NO_PRIVATE = 0, PrivateStoreState::HAVE_PRIVATE = 1, PrivateStoreState::HAD_PRIVATE = 2 }
 The current private data state. More...
 

Private Member Functions

unsigned sampVarIdx (const CaloSample) const
 
float getSamplVarFromAcc (const Accessor< std::vector< float > > &acc, const CaloSample sampling, const float errorvalue=CaloClusterDetails::defaultErrorValue) const
 
bool setSamplVarFromAcc (const Accessor< std::vector< float > > &acc, const CaloSample sampling, const float value)
 
void releasePrivateStoreForDtor ()
 Out-of-line portion of destructor. More...
 
void setIndex (size_t index, SG::AuxVectorData *container)
 Set the index/container for this element. More...
 
bool setIndexPrivate (size_t index, SG::AuxVectorData *container)
 Set the index/container for this element. More...
 
void makePrivateStore1 (const void *other, bool warnUnlocked)
 Create a new private store for this object and copy aux data. More...
 
void makePrivateStore1 (const AuxElement *other, bool warnUnlocked)
 Create a new private store for this object and copy aux data. More...
 
AuxElementStandaloneData * setStore1 (const SG::IConstAuxStore *store)
 Set the store associated with this object. More...
 
void clearAux ()
 Clear all aux data associated with this element. More...
 
void copyAux (const ConstAuxElement &other, bool warnUnlocked=false)
 Copy aux data from another object. More...
 
void setNoPrivateData ()
 Record that this element does not have private data. More...
 
void setHavePrivateData ()
 Record that this element currently has private data. More...
 
void setHadPrivateData ()
 Record that this element used to have private data. More...
 
Managing compound cell-in-sampling counting data
template<class UNSIGNED >
UNSIGNED extractLowerCount (ncells_store_t::value_type cdata) const
 extract lower cell count from data More...
 
template<class UNSIGNED >
UNSIGNED extractUpperCount (ncells_store_t::value_type cdata) const
 extract upper cell count from data More...
 
template<class UNSIGNED >
ncells_store_t::value_type setLowerCount (ncells_store_t::value_type cdata, UNSIGNED clower)
 
template<class UNSIGNED >
ncells_store_t::value_type setUpperCount (ncells_store_t::value_type cdata, UNSIGNED cupper)
 
template<class UNSIGNED >
UNSIGNED lowerCellCountBound () const
 lower value boundary for cell count More...
 
template<class UNSIGNED >
UNSIGNED upperCellCountBound () const
 upper boundary for cell count More...
 
template<class UNSIGNED , class CCTYPE >
CCTYPE adjustToRange (UNSIGNED count) const
 < reduce value range to min and max counts
More...
 

Private Attributes

unsigned m_samplingPattern
 bit-pattern describing the calo samplings contributing to this cluster More...
 
State m_signalState
 Current signal state. More...
 
std::unique_ptr< CaloClusterCellLinkm_cellLinks
 Unique ptr to cell links. More...
 
CaloRecoStatus m_recoStatus
 Reco status (transient only) More...
 
double m_secondTime = { -1. }
 Second cell time moment (transient only) More...
 
const SG::AuxVectorDatam_container
 The container of which this object is an element. More...
 
size_t m_index
 The index of this element within its container. More...
 
PrivateStoreState m_privateStoreState
 

Friends

class ::CaloClusterChangeSignalState
 

Functions implementing the xAOD::IParticle interface

typedef IParticle::FourMom_t FourMom_t
 Definition of the 4-momentum type. More...
 
typedef ROOT::Math::LorentzVector< ROOT::Math::PtEtaPhiM4D< double > > GenVecFourMom_t
 Base 4 Momentum type for calo. More...
 
virtual double pt () const
 The transverse momentum ( p_T) of the particle (negative for negative-energy clusters) More...
 
virtual double eta () const
 The pseudorapidity ( \eta) of the particle. More...
 
virtual double phi () const
 The azimuthal angle ( \phi) of the particle. More...
 
virtual double m () const
 The invariant mass of the particle. More...
 
virtual double e () const
 The total energy of the particle. More...
 
virtual double rapidity () const
 The true rapidity (y) of the particle. More...
 
GenVecFourMom_t genvecP4 () const
 The full 4-momentum of the particle : GenVector type. More...
 
GenVecFourMom_t genvecP4 (const State s) const
 The full 4-momentum of the particle : GenVector type. More...
 
virtual FourMom_t p4 () const
 The full 4-momentum of the particle. More...
 
FourMom_t p4 (const State s) const
 
virtual Type::ObjectType type () const
 The type of the object as a simple enumeration. More...
 

4Momentum in different signal states

}@

Get Energy in signal state UNCALIBRATED

flt_t rawE () const
 
void setRawE (flt_t)
 Set Energy for signal state UNCALIBRATED. More...
 
flt_t rawEta () const
 Get \eta in signal state UNCALIBRATED. More...
 
void setRawEta (flt_t)
 Set \eta for signal state UNCALIBRATED. More...
 
flt_t rawPhi () const
 Get \phi in signal state UNCALIBRATED. More...
 
void setRawPhi (flt_t)
 Set \phi for signal state UNCALIBRATED. More...
 
flt_t rawM () const
 Get mass in signal state UNCALIBRATED. More...
 
void setRawM (flt_t)
 Set mass for singal state UNCALIBRATED. More...
 
flt_t altE () const
 Get Energy in signal state ALTCALIBRATED. More...
 
void setAltE (flt_t)
 Set Energy for signal state ALTCALIBRATED. More...
 
flt_t altEta () const
 Get \eta in signal state ALTCALIBRATED. More...
 
void setAltEta (flt_t)
 Set \eta for signal state ALTCALIBRATED. More...
 
flt_t altPhi () const
 Get \phi in signal state ALTCALIBRATED. More...
 
void setAltPhi (flt_t)
 Set \phi for signal state ALTCALIBRATED. More...
 
flt_t altM () const
 Get mass in signal state ALTCALIBRATED. More...
 
void setAltM (flt_t)
 Set mass for singal state ALTCALIBRATED. More...
 
flt_t calE () const
 Geet Energy in signal state CALIBRATED. More...
 
void setCalE (flt_t)
 Set Energy for signal state CALIBRATED. More...
 
flt_t calEta () const
 Get \eta in signal state CALIBRATED. More...
 
void setCalEta (flt_t)
 Set \eta for signal state CALIBRATED. More...
 
flt_t calPhi () const
 Get \phi in signal state CALIBRATED. More...
 
void setCalPhi (flt_t)
 Set \phi for signal state CALIBRATED. More...
 
flt_t calM () const
 Get mass in signal state CALIBRATED. More...
 
void setCalM (flt_t)
 Set mass for singal state CALIBRATED. More...
 
State signalState () const
 Get the current signal state. More...
 
double pt (const State s) const
 pt with a given signal state More...
 
double e (const State s) const
 energy with a given signal state More...
 
double eta (const State s) const
 eta with a given signal state More...
 
double phi (const State s) const
 phi with a given signal state More...
 
double m (const State s) const
 m with a given signal state More...
 
bool setSignalState (const State s)
 Switch signal state. More...
 

Athena-only methods, used during building stage

Set up an ElementLink to a CaloClusterCellLink object Takes ownership of CCCL.

Deprecated; use the unique_ptr version for new code.

typedef CaloClusterCellLink::const_iterator const_cell_iterator
 Iterator of the underlying CaloClusterCellLink (explicitly const version) More...
 
typedef CaloClusterCellLink::iterator cell_iterator
 Iterator of the underlying CaloClusterCellLink (non-const version) More...
 
typedef const_cell_iterator const_iterator
 STL-compatible iterators. More...
 
typedef cell_iterator iterator
 
void addCellLink (CaloClusterCellLink *CCCL)
 
void addCellLink (std::unique_ptr< CaloClusterCellLink > CCCL)
 Set up an ElementLink to a CaloClusterCellLink object. More...
 
bool setLink (CaloClusterCellLinkContainer *CCCL, IProxyDict *sg=nullptr)
 Set up an ElementLink to a CaloClusterCellLink object. More...
 
bool setLink (CaloClusterCellLinkContainer *CCCL, const EventContext &ctx)
 Push the CaloClusterCellLink object into the cell-link container and hand-over ownership to it. More...
 
const CaloClusterCellLinkgetCellLinks () const
 Get a pointer to the CaloClusterCellLink object (const version) More...
 
CaloClusterCellLinkgetOwnCellLinks ()
 Get a pointer to the owned CaloClusterCellLink object (non-const version) More...
 
bool addCell (const unsigned index, const double weight)
 Method to add a cell to the cluster (Beware: Kinematics not updated!) More...
 
bool removeCell (const CaloCell *ptr)
 Method to remove a cell to the cluster (slow!) (Beware: Kinematics not updated!) More...
 
size_t size () const
 size method (forwarded from CaloClusterCellLink obj) More...
 
const_cell_iterator cell_cbegin () const
 
const_cell_iterator cell_cend () const
 
const_cell_iterator cell_begin () const
 Iterator of the underlying CaloClusterCellLink (const version) More...
 
const_cell_iterator cell_end () const
 
cell_iterator cell_begin ()
 
cell_iterator cell_end ()
 
const_iterator begin () const
 
const_iterator end () const
 
const_iterator cbegin () const
 
const_iterator cend () const
 
iterator begin ()
 
iterator end ()
 
void reweightCell (cell_iterator it, const double weight)
 Method to reweight a cell in the cluster (Beware: Kinematics not updated!) More...
 
CaloRecoStatusrecoStatus ()
 Accesssor to CaloRecoStatus (non-const) More...
 
const CaloRecoStatusrecoStatus () const
 Accesssor to CaloRecoStatus (const) More...
 

Detailed Description

Description of a calorimeter cluster.

Author
Attila Krasznahorkay Attil.nosp@m.a.Kr.nosp@m.aszna.nosp@m.hork.nosp@m.ay@ce.nosp@m.rn.c.nosp@m.h
Walter Lampl Walte.nosp@m.r.La.nosp@m.mpl@c.nosp@m.ern..nosp@m.ch
Peter Loch Peter.nosp@m..Loc.nosp@m.h@cer.nosp@m.n.ch
Since
23-March-2021: added methods to set and retrieve second moment of cell time distribution (persistified as a cluster moment)

Definition at line 62 of file CaloCluster_v1.h.

Member Typedef Documentation

◆ Accessor

template<class T , class ALLOC = AuxAllocator_t<T>>
using SG::AuxElement::Accessor = SG::Accessor<T, ALLOC>
inherited

Definition at line 572 of file AuxElement.h.

◆ CaloSample

Definition at line 69 of file CaloCluster_v1.h.

◆ cell_iterator

Iterator of the underlying CaloClusterCellLink (non-const version)

Definition at line 819 of file CaloCluster_v1.h.

◆ const_cell_iterator

Iterator of the underlying CaloClusterCellLink (explicitly const version)

Definition at line 796 of file CaloCluster_v1.h.

◆ const_iterator

STL-compatible iterators.

Definition at line 825 of file CaloCluster_v1.h.

◆ ConstAccessor

template<class T , class ALLOC = AuxAllocator_t<T>>
using SG::AuxElement::ConstAccessor = SG::ConstAccessor<T, ALLOC>
inherited

Definition at line 569 of file AuxElement.h.

◆ Decorator

template<class T , class ALLOC = AuxAllocator_t<T>>
using SG::AuxElement::Decorator = SG::Decorator<T, ALLOC>
inherited

Definition at line 575 of file AuxElement.h.

◆ flt_t

Definition at line 67 of file CaloCluster_v1.h.

◆ FourMom_t

Definition of the 4-momentum type.

Definition at line 346 of file CaloCluster_v1.h.

◆ GenVecFourMom_t

typedef ROOT::Math::LorentzVector<ROOT::Math::PtEtaPhiM4D<double> > xAOD::CaloCluster_v1::GenVecFourMom_t

Base 4 Momentum type for calo.

Definition at line 349 of file CaloCluster_v1.h.

◆ iterator

Definition at line 826 of file CaloCluster_v1.h.

◆ ncells_store_t

Store type for number-of-cells-in-sampling counter.

Due to the severe change of granularity of EME2 from the inner to the outer wheel, clusters spanning the region around |\eta| = 2.5 provide the exclusive count of EME2 cells together with the count of cells in the inner wheel. The persistent store to hold both counts for one given index (given by CaloSampling::CaloSample) therefore holds two 8-bit words/sampling.

Definition at line 83 of file CaloCluster_v1.h.

◆ ncells_t

Type for number-of-cells-in-sampling counter.

The total number of cells in a given cluster from any given sampling is limited to [0,255] and thus stored in an 8-bit word.

Definition at line 75 of file CaloCluster_v1.h.

◆ TypelessConstAccessor

using SG::AuxElement::TypelessConstAccessor = ConstAuxElement::TypelessConstAccessor
inherited

Definition at line 566 of file AuxElement.h.

Member Enumeration Documentation

◆ ClusterSize

Enumeration to identify different cluster sizes.

Enumerator
SW_55ele 
SW_35ele 
SW_37ele 
SW_55gam 
SW_35gam 
SW_37gam 
SW_55Econv 
SW_35Econv 
SW_37Econv 
SW_softe 
Topo_420 
Topo_633 
SW_7_11 
SuperCluster 
Tower_01_01 
Tower_005_005 
Tower_fixed_area 
CSize_Unknown 

Definition at line 89 of file CaloCluster_v1.h.

89  {
90  // electrons
91  SW_55ele = 1,
92  SW_35ele = 2,
93  SW_37ele = 3,
94  // photons
95  SW_55gam = 4,
96  SW_35gam = 5,
97  SW_37gam = 6,
98  // early converted photons
99  SW_55Econv = 7,
100  SW_35Econv = 8,
101  SW_37Econv = 9,
102  // soft electrons
103  SW_softe = 10,
104  // topological clusters
105  Topo_420 = 11,
106  Topo_633 = 12,
107  // transient cluster for AODCellContainer
108  SW_7_11 = 13,
109  //New (2016) egamma cluster
110  SuperCluster=14,
111  //New (2020) cluster representation of towers
112  Tower_01_01 = 15,
113  Tower_005_005 = 16,
114  Tower_fixed_area = 17,
115  CSize_Unknown = 99
116  };

◆ MomentType

Enums to identify different moments.

Each enum corresponds to a different characteristic moment of a CaloCluster. The enums are loosly grouped by their type - i.e. first moment over an angle, second moment, angular deviations etc.

Enumerator
FIRST_PHI 

First Moment in \phi.

FIRST_ETA 

First Moment in \eta.

SECOND_R 

Second Moment in r.

SECOND_LAMBDA 

Second Moment in \lambda.

DELTA_PHI 

Angular shower axis deviation ( \phi) from IP-to-Center.

DELTA_THETA 

Angular shower axis deviation ( \theta) from IP-to-Center.

DELTA_ALPHA 

Angular shower axis deviation ( \Delta\alpha) from IP-to-Center.

CENTER_X 

Cluster Centroid ( x)

CENTER_Y 

Cluster Centroid ( y)

CENTER_Z 

Cluster Centroid ( z)

CENTER_MAG 

Cluster Centroid ( \sqrt(x^2+y^2+z^2))

CENTER_LAMBDA 

Shower depth at Cluster Centroid.

LATERAL 

Normalized lateral moment.

LONGITUDINAL 

Normalized longitudinal moment.

ENG_FRAC_EM 

Energy fraction in EM calorimeters.

ENG_FRAC_MAX 

Energy fraction of hottest cell.

ENG_FRAC_CORE 

Energy fraction of the sum of the hottest cells in each sampling.

FIRST_ENG_DENS 

First Moment in E/V.

SECOND_ENG_DENS 

Second Moment in E/V.

ISOLATION 

Energy weighted fraction of non-clustered perimeter cells.

ENG_BAD_CELLS 

Total em-scale energy of bad cells in this cluster.

N_BAD_CELLS 

number of bad cells

N_BAD_CELLS_CORR 

Number of bad cells with energy density average correction applied.

BAD_CELLS_CORR_E 

Energy of bad cells with energy density average correction applied.

BADLARQ_FRAC 

Energy fraction of LAr cells with quality larger than a given cut.

ENG_POS 

Total positive Energy of this cluster.

SIGNIFICANCE 

Cluster significance.

CELL_SIGNIFICANCE 

Cell significance = E/sig of the cell with the largest |E|/sig.

CELL_SIG_SAMPLING 

CaloSample of the cell with the largest |E|/sig.

AVG_LAR_Q 

Sum(E_cell_LAr^2 Q_cell_LAr)/Sum(E_cell_LAr^2)

AVG_TILE_Q 

Sum(E_cell_Tile^2 Q_cell_Tile)/Sum(E_cell_Tile^2)

ENG_BAD_HV_CELLS 

Total em-scale energy of cells with bad HV in this cluster.

N_BAD_HV_CELLS 

number of cells with bad HV

PTD 

relative spread of pT of constiuent cells = sqrt(n)*RMS/Mean

MASS 

cell based mass i.e. the mass of the 4-vector sum of all massless positive energetic cells

EM_PROBABILITY 

Classification probability to be em-like.

HAD_WEIGHT 

Hadronic weight (E_w/E_em)

OOC_WEIGHT 

Out-of-cluster weight (E_ooc/E_w)

DM_WEIGHT 

Dead-material weight (E_dm/E_ooc)

TILE_CONFIDENCE_LEVEL 

Confidence Level of a tile calorimeter cluster to be noise.

SECOND_TIME 

Second moment of cell time distribution in cluster.

NCELL_SAMPLING 

Number of cells in sampling layer.

VERTEX_FRACTION 

Vertex fraction of this cluster wrt.

primary vertex of the event. Calculated in CaloRec/CaloClusterVertexFractionMaker.cxx

NVERTEX_FRACTION 

slightly updated vertex fraction more pile up independent (similar to nJVF)

ETACALOFRAME 

Eta in the calo frame (for egamma)

PHICALOFRAME 

Phi in the calo frame (for egamma)

ETA1CALOFRAME 

Eta of sampling 1 in the calo frame (for egamma)

PHI1CALOFRAME 

Phi of sampling 1 in the calo frame (for egamma)

ETA2CALOFRAME 

Eta of sampling 2 in the calo frame (for egamma)

PHI2CALOFRAME 

Phi of sampling 2 in the calo frame (for egamma)

ENG_CALIB_TOT 

Calibration Hit energy inside the cluster.

ENG_CALIB_OUT_L 

Attached Calibration Hit energy outside clusters but inside the calorimeter with loose matching (Angle < 1.0)

ENG_CALIB_OUT_M 

Attached Calibration Hit energy outside clusters but inside the calorimeter with medium matching (Angle < 0.5).

ENG_CALIB_OUT_T 

Attached Calibration Hit energy outside clusters but inside the calorimeter with tight matching (Angle < 0.3).

ENG_CALIB_DEAD_L 

Attached Calibration Hit energy in dead material with loose matching (Angle < 1.0).

ENG_CALIB_DEAD_M 

Attached Calibration Hit energy in dead material with medium matching (Angle < 0.5).

ENG_CALIB_DEAD_T 

Attached Calibration Hit energy in dead material with tight matching (Angle < 0.3).

ENG_CALIB_EMB0 

Calibration Hit energy inside the cluster barrel presampler.

ENG_CALIB_EME0 

Calibration Hit energy inside the cluster endcap presampler.

ENG_CALIB_TILEG3 

Calibration Hit energy inside the cluster scintillator.

ENG_CALIB_DEAD_TOT 

Attached Calibration Hit energy in dead material.

ENG_CALIB_DEAD_EMB0 

Attached Calibration Hit energy in dead material before EMB0, between EMB0 and EMB1.

ENG_CALIB_DEAD_TILE0 

Attached Calibration Hit energy in dead material between EMB3 and TILE0.

ENG_CALIB_DEAD_TILEG3 

Attached Calibration Hit energy in dead material before scintillator.

ENG_CALIB_DEAD_EME0 

Attached Calibration Hit energy in dead material before EME0, between EME0 and EME1.

ENG_CALIB_DEAD_HEC0 

Attached Calibration Hit energy in dead material between EME3 and HEC0.

ENG_CALIB_DEAD_FCAL 

Attached Calibration Hit energy in dead material before FCAL, between FCAL and HEC.

ENG_CALIB_DEAD_LEAKAGE 

Attached Calibration Hit energy in dead material behind calorimeters.

ENG_CALIB_DEAD_UNCLASS 

Attached Calibration Hit energy in dead material in unclassified areas of the detector.

ENG_CALIB_FRAC_EM 

Calibration Hit energy inside the cluster caused by e/gamma/pi0.

ENG_CALIB_FRAC_HAD 

Calibration Hit energy inside the cluster caused by charged pi+ and pi-.

ENG_CALIB_FRAC_REST 

Calibration Hit energy inside the cluster caused by other particles.

ENERGY_DigiHSTruth 

First Moment in \phi.

ETA_DigiHSTruth 

Eta moment that I am trying to include.

PHI_DigiHSTruth 

phi moment I would like to have

TIME_DigiHSTruth 

First Moment in \phi.

ENERGY_CALIB_DigiHSTruth 

First Moment in \phi.

ETA_CALIB_DigiHSTruth 

First Moment in \phi.

PHI_CALIB_DigiHSTruth 

First Moment in \phi.

TIME_CALIB_DigiHSTruth 

First Moment in \phi.

FIRST_PHI_DigiHSTruth 

First Moment in \phi.

FIRST_ETA_DigiHSTruth 

First Moment in \eta.

SECOND_R_DigiHSTruth 

Second Moment in r.

SECOND_LAMBDA_DigiHSTruth 

Second Moment in \lambda.

DELTA_PHI_DigiHSTruth 
DELTA_THETA_DigiHSTruth 
DELTA_ALPHA_DigiHSTruth 
CENTER_X_DigiHSTruth 

Cluster Centroid ( x)

CENTER_Y_DigiHSTruth 

Cluster Centroid ( y)

CENTER_Z_DigiHSTruth 

Cluster Centroid ( z)

CENTER_MAG_DigiHSTruth 
CENTER_LAMBDA_DigiHSTruth 

Shower depth at Cluster Centroid.

LATERAL_DigiHSTruth 

Normalized lateral moment.

LONGITUDINAL_DigiHSTruth 

Normalized longitudinal moment.

ENG_FRAC_EM_DigiHSTruth 

Energy fraction in EM calorimeters.

ENG_FRAC_MAX_DigiHSTruth 

Energy fraction of hottest cell.

ENG_FRAC_CORE_DigiHSTruth 
FIRST_ENG_DENS_DigiHSTruth 

First Moment in E/V.

SECOND_ENG_DENS_DigiHSTruth 

Second Moment in E/V.

ISOLATION_DigiHSTruth 
ENG_BAD_CELLS_DigiHSTruth 
N_BAD_CELLS_DigiHSTruth 

number of bad cells

N_BAD_CELLS_CORR_DigiHSTruth 
BAD_CELLS_CORR_E_DigiHSTruth 
BADLARQ_FRAC_DigiHSTruth 
ENG_POS_DigiHSTruth 

Total positive Energy of this cluster.

SIGNIFICANCE_DigiHSTruth 

Cluster significance.

CELL_SIGNIFICANCE_DigiHSTruth 
CELL_SIG_SAMPLING_DigiHSTruth 
AVG_LAR_Q_DigiHSTruth 
AVG_TILE_Q_DigiHSTruth 
ENG_BAD_HV_CELLS_DigiHSTruth 
N_BAD_HV_CELLS_DigiHSTruth 

number of cells with bad HV

EM_PROBABILITY_DigiHSTruth 

Classification probability to be em-like.

HAD_WEIGHT_DigiHSTruth 

Hadronic weight (E_w/E_em)

OOC_WEIGHT_DigiHSTruth 

Out-of-cluster weight (E_ooc/E_w)

DM_WEIGHT_DigiHSTruth 

Dead-material weight (E_dm/E_ooc)

Definition at line 123 of file CaloCluster_v1.h.

123  {
124  FIRST_PHI = 101,
125  FIRST_ETA = 102,
126  SECOND_R = 201,
127  SECOND_LAMBDA = 202,
128  DELTA_PHI = 301,
131  DELTA_THETA = 302,
133  DELTA_ALPHA = 303,
134  CENTER_X = 401,
135  CENTER_Y = 402,
136  CENTER_Z = 403,
137  CENTER_MAG = 404,
139  CENTER_LAMBDA = 501,
140  LATERAL = 601,
141  LONGITUDINAL = 602,
142  ENG_FRAC_EM = 701,
143  ENG_FRAC_MAX = 702,
144  ENG_FRAC_CORE = 703,
146  FIRST_ENG_DENS = 804,
147  SECOND_ENG_DENS = 805,
148  ISOLATION = 806,
151  ENG_BAD_CELLS = 807,
152  N_BAD_CELLS = 808,
153  N_BAD_CELLS_CORR = 809,
156  BAD_CELLS_CORR_E = 813,
158  BADLARQ_FRAC = 821,
159  ENG_POS = 822,
160  SIGNIFICANCE = 823,
161  CELL_SIGNIFICANCE = 824,
164  CELL_SIG_SAMPLING = 825,
166  AVG_LAR_Q = 826,
168  AVG_TILE_Q = 827,
170  ENG_BAD_HV_CELLS = 828,
171  N_BAD_HV_CELLS = 829,
172  PTD = 830,
175  MASS = 831,
176  EM_PROBABILITY = 900,
177  HAD_WEIGHT = 901,
178  OOC_WEIGHT = 902,
179  DM_WEIGHT = 903,
180  TILE_CONFIDENCE_LEVEL = 904,
183  SECOND_TIME = 910,
185  NCELL_SAMPLING = 920,
186 
187  VERTEX_FRACTION = 1000,
188  NVERTEX_FRACTION = 1001,
190  ETACALOFRAME = 1100,
191  PHICALOFRAME = 1101,
192  ETA1CALOFRAME = 1102,
193  PHI1CALOFRAME = 1103,
194  ETA2CALOFRAME = 1104,
195  PHI2CALOFRAME = 1105,
196 
198  ENG_CALIB_TOT = 10001,
199  ENG_CALIB_OUT_L = 10010,
203  ENG_CALIB_OUT_M = 10011,
207  ENG_CALIB_OUT_T = 10012,
211  ENG_CALIB_DEAD_L = 10020,
214  ENG_CALIB_DEAD_M = 10021,
217  ENG_CALIB_DEAD_T = 10022,
220  ENG_CALIB_EMB0 = 10030,
223  ENG_CALIB_EME0 = 10031,
225  ENG_CALIB_TILEG3 = 10032,
227  ENG_CALIB_DEAD_TOT = 10040,
230  ENG_CALIB_DEAD_EMB0 = 10041,
233  ENG_CALIB_DEAD_TILE0 = 10042,
235  ENG_CALIB_DEAD_TILEG3 = 10043,
238  ENG_CALIB_DEAD_EME0 = 10044,
241  ENG_CALIB_DEAD_HEC0 = 10045,
244  ENG_CALIB_DEAD_FCAL = 10046,
246  ENG_CALIB_DEAD_LEAKAGE = 10047,
249  ENG_CALIB_DEAD_UNCLASS = 10048,
251  ENG_CALIB_FRAC_EM = 10051,
254  ENG_CALIB_FRAC_HAD = 10052,
256  ENG_CALIB_FRAC_REST = 10053,
257 
258 
259  ENERGY_DigiHSTruth = 40101,
260  ETA_DigiHSTruth = 401024,
261  PHI_DigiHSTruth = 401034,
262  TIME_DigiHSTruth = 40104,
263  ENERGY_CALIB_DigiHSTruth = 40105,
264  ETA_CALIB_DigiHSTruth = 40106,
265  PHI_CALIB_DigiHSTruth = 40107,
266  TIME_CALIB_DigiHSTruth = 40108,
267  FIRST_PHI_DigiHSTruth = 50101,
268  FIRST_ETA_DigiHSTruth = 50102,
269  SECOND_R_DigiHSTruth = 50201,
270  SECOND_LAMBDA_DigiHSTruth = 50202,
271  DELTA_PHI_DigiHSTruth = 50301,
272  DELTA_THETA_DigiHSTruth = 50302,
273  DELTA_ALPHA_DigiHSTruth = 50303,
274  CENTER_X_DigiHSTruth = 50401,
275  CENTER_Y_DigiHSTruth = 50402,
276  CENTER_Z_DigiHSTruth = 50403,
277  CENTER_MAG_DigiHSTruth = 50404,
278  CENTER_LAMBDA_DigiHSTruth = 50501,
279  LATERAL_DigiHSTruth = 50601,
280  LONGITUDINAL_DigiHSTruth = 50602,
281  ENG_FRAC_EM_DigiHSTruth = 50701,
282  ENG_FRAC_MAX_DigiHSTruth = 50702,
286  ISOLATION_DigiHSTruth = 50806,
288  N_BAD_CELLS_DigiHSTruth = 50808,
291  BADLARQ_FRAC_DigiHSTruth = 50821,
292  ENG_POS_DigiHSTruth = 50822,
293  SIGNIFICANCE_DigiHSTruth = 50823,
296  AVG_LAR_Q_DigiHSTruth = 50826,
297  AVG_TILE_Q_DigiHSTruth = 50827,
301  HAD_WEIGHT_DigiHSTruth = 50901,
302  OOC_WEIGHT_DigiHSTruth = 50902,
303  DM_WEIGHT_DigiHSTruth = 50903
304  };

◆ PrivateStoreState

enum SG::IAuxElement::PrivateStoreState : uint8_t
strongprivateinherited

The current private data state.

Enumerator
NO_PRIVATE 
HAVE_PRIVATE 
HAD_PRIVATE 

Definition at line 131 of file IAuxElement.h.

132  {
133  NO_PRIVATE = 0,
134  HAVE_PRIVATE = 1,
135  HAD_PRIVATE = 2,
136  };

◆ State

enum of possible signal states.

Enumerator
UNKNOWN 
UNCALIBRATED 
CALIBRATED 
ALTCALIBRATED 
NSTATES 

Definition at line 307 of file CaloCluster_v1.h.

307  {
308  UNKNOWN = -1,
309  UNCALIBRATED = 0,
310  CALIBRATED = 1,
311  ALTCALIBRATED = 2,
312  NSTATES = 3
313  };

Constructor & Destructor Documentation

◆ CaloCluster_v1() [1/2]

xAOD::CaloCluster_v1::CaloCluster_v1 ( )

Default constructor.

Definition at line 23 of file CaloCluster_v1.cxx.

24  : IParticle(),
26  m_cellLinks(nullptr)
27  {
29  }

◆ CaloCluster_v1() [2/2]

xAOD::CaloCluster_v1::CaloCluster_v1 ( const CaloCluster_v1 other)

Copy constructor.

Definition at line 32 of file CaloCluster_v1.cxx.

33  : IParticle(other),
34  m_samplingPattern(other.samplingPattern()),
35  m_cellLinks(nullptr),
36  m_recoStatus(other.m_recoStatus),
37  m_secondTime(other.m_secondTime) {
38  setSignalState(other.signalState());
39  this->makePrivateStore(other);
40 #if !(defined(SIMULATIONBASE) || defined(XAOD_ANALYSIS))
41  const CaloClusterCellLink* links=other.getCellLinks();
42  if (links) {
43  this->addCellLink(std::make_unique<CaloClusterCellLink>(*links));
44  }
45  static const Accessor<ElementLink<CaloClusterCellLinkContainer> > accCellLinks("CellLink");
46  if (accCellLinks.isAvailable(*this)) { //In case an element link was copied by makePrivateStore, invalidate it
47  accCellLinks(*this).reset();
48  } //end if have element link to CaloClusterCellLink
49 #endif // not defined(SIMULATIONBASE) || defined(XAOD_ANALYSIS)
50  }

◆ ~CaloCluster_v1()

xAOD::CaloCluster_v1::~CaloCluster_v1 ( )
virtual

Destructor.

Definition at line 78 of file CaloCluster_v1.cxx.

78  {
79  }

Member Function Documentation

◆ addCell()

bool xAOD::CaloCluster_v1::addCell ( const unsigned  index,
const double  weight 
)
inline

Method to add a cell to the cluster (Beware: Kinematics not updated!)

Parameters
indexIndex of the cell in the CaloCelLContainer
weightWeight of the cell in the cluster
Returns
true if the link to the CaloClusterCellLinkContainer exists, false otherwise

Definition at line 774 of file CaloCluster_v1.h.

774  {
775  if (!m_cellLinks) {
776  return false;
777  }
778  return m_cellLinks->addCell(index, weight);
779  }

◆ addCellLink() [1/2]

void xAOD::CaloCluster_v1::addCellLink ( CaloClusterCellLink CCCL)
inline

Definition at line 724 of file CaloCluster_v1.h.

724  {
725  m_cellLinks.reset(CCCL);
726  }

◆ addCellLink() [2/2]

void xAOD::CaloCluster_v1::addCellLink ( std::unique_ptr< CaloClusterCellLink CCCL)
inline

Set up an ElementLink to a CaloClusterCellLink object.

Definition at line 729 of file CaloCluster_v1.h.

729  {
730  m_cellLinks=std::move(CCCL);
731  }

◆ adjustToRange()

template<class UNSIGNED , class CCTYPE >
CCTYPE xAOD::CaloCluster_v1::adjustToRange ( UNSIGNED  count) const
inlineprivate

< reduce value range to min and max counts

Definition at line 704 of file CaloCluster_v1.h.

705  { return static_cast<CCTYPE>(std::min(std::max(count,lowerCellCountBound< UNSIGNED >()),upperCellCountBound< UNSIGNED >())); }

◆ altE()

flt_t xAOD::CaloCluster_v1::altE ( ) const

Get Energy in signal state ALTCALIBRATED.

◆ altEta()

flt_t xAOD::CaloCluster_v1::altEta ( ) const

Get \eta in signal state ALTCALIBRATED.

◆ altM()

flt_t xAOD::CaloCluster_v1::altM ( ) const

Get mass in signal state ALTCALIBRATED.

◆ altPhi()

flt_t xAOD::CaloCluster_v1::altPhi ( ) const

Get \phi in signal state ALTCALIBRATED.

◆ assign()

void SG::AuxElement::assign ( const AuxElement other,
bool  warnUnlocked = false 
)
inherited

Assignment.

Parameters
otherThe object from which we're assigning.
warnUnlockedIf true, then warn when we skip unlocked decorations.

We don't copy container/index, as assignment doesn't change where this object is. However, if we have aux data, then we copy aux data if we're copying from an object that also has it; otherwise, if we're copying from an object with no aux data, then we clear ours.

◆ auxdata() [1/4]

template<class T , class ALLOC = AuxAllocator_t<T>>
XAOD_AUXDATA_DEPRECATED Accessor<T, ALLOC>::reference_type SG::AuxElement::auxdata ( const std::string &  name)
inherited

Fetch an aux data variable, as a non-const reference.

Parameters
nameName of the aux variable.

This method has to translate from the aux data name to the internal representation each time it is called. Using this method inside of loops is discouraged; instead use the Accessor class.

◆ auxdata() [2/4]

template<class T , class ALLOC = AuxAllocator_t<T>>
XAOD_AUXDATA_DEPRECATED Accessor<T, ALLOC>::const_reference_type SG::AuxElement::auxdata ( const std::string &  name) const
inherited

Fetch an aux data variable, as a const reference.

Parameters
nameName of the aux variable.

This method has to translate from the aux data name to the internal representation each time it is called. Using this method inside of loops is discouraged; instead use the Accessor or ConstAccessor classes.

◆ auxdata() [3/4]

template<class T >
XAOD_AUXDATA_DEPRECATED T& xAOD::IParticle::auxdata ( const std::string &  name,
const std::string &  clsname = "" 
)
inlineinherited

Fetch an aux data variable, as a non-const reference.

This function provides an easy way for users to decorate objects with auxiliary data.

Take note that this function is slow. Should not be used inside time-critical code.

Parameters
nameName of the aux variable
clsnameThe name of the associated class. May be blank
Returns
A modifiable reference to the decoration

Definition at line 98 of file Event/xAOD/xAODBase/xAODBase/IParticle.h.

99  {
100 
101  return SG::Accessor< T >(name, clsname)(*this);
102  }

◆ auxdata() [4/4]

template<class T >
XAOD_AUXDATA_DEPRECATED const T& xAOD::IParticle::auxdata ( const std::string &  name,
const std::string &  clsname = "" 
) const
inlineinherited

Fetch an aux data variable, as a const reference.

This function provides an easy way for users to retrieve auxiliary decorations from an object.

Take note that this function is slow. Should not be used inside time-critical code.

Parameters
nameName of the aux variable
clsnameThe name of the associated class. May be blank
Returns
A constant reference to the decoration

Definition at line 118 of file Event/xAOD/xAODBase/xAODBase/IParticle.h.

119  {
120 
121  return SG::ConstAccessor< T >( name, clsname )( *this );
122  }

◆ auxdataConst() [1/2]

template<class T , class ALLOC = AuxAllocator_t<T>>
XAOD_AUXDATA_DEPRECATED Accessor<T, ALLOC>::const_reference_type SG::AuxElement::auxdataConst ( const std::string &  name) const
inherited

Fetch an aux data variable, as a const reference.

Parameters
nameName of the aux variable.

This method has to translate from the aux data name to the internal representation each time it is called. Using this method inside of loops is discouraged; instead use the ConstAccessor class.

◆ auxdataConst() [2/2]

template<class T , class ALLOC = AuxAllocator_t<T>>
XAOD_AUXDATA_DEPRECATED Accessor<T, ALLOC>::const_reference_type SG::AuxElement::auxdataConst ( const std::string &  name,
const std::string &  clsname 
) const
inherited

Fetch an aux data variable, as a const reference.

Parameters
nameName of the aux variable.
clsnameThe name of the associated class. May be blank.

This method has to translate from the aux data name to the internal representation each time it is called. Using this method inside of loops is discouraged; instead use the ConstAccessor class.

◆ auxdecor() [1/2]

template<class T , class ALLOC = AuxAllocator_t<T>>
XAOD_AUXDATA_DEPRECATED Decorator<T, ALLOC>::reference_type SG::AuxElement::auxdecor ( const std::string &  name) const
inherited

Fetch an aux decoration, as a non-const reference.

Parameters
nameName of the aux variable.

This method has to translate from the aux data name to the internal representation each time it is called. Using this method inside of loops is discouraged; instead use the Accessor class.

If the container is locked, this will allow fetching only variables that do not yet exist (in which case they will be marked as decorations) or variables already marked as decorations.

◆ auxdecor() [2/2]

template<class T , class ALLOC = AuxAllocator_t<T>>
XAOD_AUXDATA_DEPRECATED Decorator<T, ALLOC>::reference_type SG::AuxElement::auxdecor ( const std::string &  name,
const std::string &  clsname 
) const
inherited

Fetch an aux decoration, as a non-const reference.

Parameters
nameName of the aux variable.
clsnameThe name of the associated class. May be blank.

This method has to translate from the aux data name to the internal representation each time it is called. Using this method inside of loops is discouraged; instead use the Accessor class.

If the container is locked, this will allow fetching only variables that do not yet exist (in which case they will be marked as decorations) or variables already marked as decorations.

◆ badChannelList()

const CaloClusterBadChannelList & xAOD::CaloCluster_v1::badChannelList ( ) const

Definition at line 279 of file CaloCluster_v1.cxx.

279  {
280  static const Accessor<xAOD::CaloClusterBadChannelList> accBCL("BadChannelList");
281  return accBCL(*this);
282  }

◆ begin() [1/2]

iterator xAOD::CaloCluster_v1::begin ( )
inline

Definition at line 831 of file CaloCluster_v1.h.

831 { return cell_begin(); }

◆ begin() [2/2]

const_iterator xAOD::CaloCluster_v1::begin ( ) const
inline

Definition at line 827 of file CaloCluster_v1.h.

827 { return cell_cbegin(); }

◆ calE()

flt_t xAOD::CaloCluster_v1::calE ( ) const

Geet Energy in signal state CALIBRATED.

◆ calEta()

flt_t xAOD::CaloCluster_v1::calEta ( ) const

Get \eta in signal state CALIBRATED.

◆ calM()

flt_t xAOD::CaloCluster_v1::calM ( ) const

Get mass in signal state CALIBRATED.

◆ calPhi()

flt_t xAOD::CaloCluster_v1::calPhi ( ) const

Get \phi in signal state CALIBRATED.

◆ cbegin()

const_iterator xAOD::CaloCluster_v1::cbegin ( ) const
inline

Definition at line 829 of file CaloCluster_v1.h.

829 { return cell_cbegin(); }

◆ cell_begin() [1/2]

cell_iterator xAOD::CaloCluster_v1::cell_begin ( )
inline

Definition at line 821 of file CaloCluster_v1.h.

821 { return getOwnCellLinks()->begin();}

◆ cell_begin() [2/2]

const_cell_iterator xAOD::CaloCluster_v1::cell_begin ( ) const
inline

Iterator of the underlying CaloClusterCellLink (const version)

Definition at line 815 of file CaloCluster_v1.h.

815 { return cell_cbegin(); }

◆ cell_cbegin()

const_cell_iterator xAOD::CaloCluster_v1::cell_cbegin ( ) const
inline

Definition at line 798 of file CaloCluster_v1.h.

799  {
801  if (!links) {
803  }
804  return links->begin();
805  }

◆ cell_cend()

const_cell_iterator xAOD::CaloCluster_v1::cell_cend ( ) const
inline

Definition at line 806 of file CaloCluster_v1.h.

806  {
808  if (!links) {
810  }
811  return getCellLinks()->end();
812  }

◆ cell_end() [1/2]

cell_iterator xAOD::CaloCluster_v1::cell_end ( )
inline

Definition at line 822 of file CaloCluster_v1.h.

822 { return getOwnCellLinks()->end();}

◆ cell_end() [2/2]

const_cell_iterator xAOD::CaloCluster_v1::cell_end ( ) const
inline

Definition at line 816 of file CaloCluster_v1.h.

816 { return cell_cend(); }

◆ cend()

const_iterator xAOD::CaloCluster_v1::cend ( ) const
inline

Definition at line 830 of file CaloCluster_v1.h.

830 { return cell_cend(); }

◆ clearAux()

void SG::AuxElement::clearAux ( )
privateinherited

Clear all aux data associated with this element.

If this object has no associated store, this does nothing. If the associated aux data is const, this throws ExcConstAuxData.

Definition at line 580 of file AuxElement.cxx.

581 {
582  if (!m_container) return;
583  if (!m_container->hasStore()) return;
585  throw SG::ExcConstAuxData ("clearAux", SG::null_auxid);
586 
588  for (SG::auxid_t auxid : m_container->getWritableAuxIDs()) {
589  r.clear (auxid, *container(), index(), 1);
590  }
591 }

◆ clearCache()

void SG::AuxElement::clearCache ( )
inherited

Clear the cached aux data pointers.

You should call this any time something changes in the aux store that could invalidate the vector pointers.

Definition at line 339 of file AuxElement.cxx.

340 {
341  if (container())
342  container()->clearCache();
343 }

◆ clearDecorations()

bool SG::AuxElement::clearDecorations ( ) const
inherited

Clear all decorations.

Erase all decorations from an associated store, restoring the state to when lock was called.

Returns true if there were any decorations that were cleared, false if the store did not contain any decorations.

Definition at line 428 of file AuxElement.cxx.

429 {
430  if (havePrivateData())
431  return m_container->clearDecorations();
432  return false;
433 }

◆ clearSamplingData()

void xAOD::CaloCluster_v1::clearSamplingData ( )

Clear the sampling data.

Definition at line 671 of file CaloCluster_v1.cxx.

671  {
672 
673  static const Accessor< std::vector< float > > etaAcc( "eta_sampl" );
674  static const Accessor< std::vector< float > > phiAcc( "phi_sampl" );
675  static const Accessor< std::vector< float > > eAcc( "e_sampl" );
676  static const Accessor< std::vector< float > > emaxAcc( "emax_sampl" );
677  static const Accessor< std::vector< float > > etamaxAcc( "etamax_sampl" );
678  static const Accessor< std::vector< float > > phimaxAcc( "phimax_sampl" );
679  static const Accessor< std::vector< float > > etasizeAcc( "etasize_sampl" );
680  static const Accessor< std::vector< float > > phisizeAcc( "phisize_sampl" );
681 
682  static const std::array< const Accessor< std::vector< float > >*, 8 > allAcc = {
683  { &etaAcc, &phiAcc, &eAcc, &emaxAcc, &phimaxAcc, &etamaxAcc,
684  &etasizeAcc, &phisizeAcc } };
685  for (const auto *a : allAcc) {
686  if (a->isAvailableWritable(*this)) {
687  (*a)(*this).clear();
688  }
689  }
690  }

◆ clusterSize()

CaloCluster_v1::ClusterSize xAOD::CaloCluster_v1::clusterSize ( ) const

Get cluster size.

Definition at line 364 of file CaloCluster_v1.cxx.

364  {
365  static const Accessor<unsigned> acc("clusterSize");
366  return (CaloCluster_v1::ClusterSize)acc(*this);
367  }

◆ container() [1/2]

SG::AuxVectorData* SG::AuxElement::container ( )
inherited

Return the container holding this element.

◆ container() [2/2]

const SG::AuxVectorData* SG::AuxElement::container ( ) const
inherited

Return the container holding this element.

◆ copyAux()

void SG::AuxElement::copyAux ( const ConstAuxElement other,
bool  warnUnlocked = false 
)
privateinherited

Copy aux data from another object.

Parameters
otherThe object from which to copy.
warnUnlockedIf true, then warn when we skip unlocked decorations.

If this object has no associated store, this does nothing. If the associated aux data is const, this throws ExcConstAuxData.

All aux data items from other are copied to this object. Any aux data items associated with this object that are not present in other are cleared. (If other has no aux data, then all aux data items for this object are cleared.)

Definition at line 607 of file AuxElement.cxx.

609 {
610  if (!m_container) return;
611  if (!m_container->hasStore()) return;
613  throw SG::ExcConstAuxData ("copyAux");
614 
615  const SG::AuxVectorData* ocont = other.container();
616 
617  if (!ocont || !ocont->hasStore()) {
618  this->clearAux();
619  return;
620  }
621 
622  size_t oindex = other.index();
623  SG::auxid_set_t other_ids = ocont->getAuxIDs();
624 #ifndef XAOD_STANDALONE
625  SG::auxid_set_t other_decors = ocont->getDecorIDs();
626 #endif
627 
629 
630  SG::AuxVectorData& cont = *container();
631  for (SG::auxid_t auxid : other_ids) {
632 #ifndef XAOD_STANDALONE
633  if (other_decors.test (auxid)) {
634  // Don't copy decorations --- another thread may be modifying them.
635  other_ids.reset (auxid);
636  // Warn if we skip a decoration (except for mcEventWeights,
637  // for which this is expected).
638  if (warnUnlocked && r.getName(auxid) != "mcEventWeights") {
639  std::ostringstream ss;
640  ss << "skipped unlocked decoration " << r.getName(auxid)
641  << " (" << auxid << ")";
642  ATHCONTAINERS_WARNING("copyAux", ss.str());
643  }
644  }
645  else
646 #endif
647  if (!r.isLinked (auxid)) {
648  r.copy (auxid, cont, index(), *ocont, oindex, 1);
649  }
650  }
651 
652  for (SG::auxid_t auxid : m_container->getWritableAuxIDs()) {
653  if (!other_ids.test (auxid)) {
654  r.clear (auxid, cont, index(), 1);
655  }
656  }
657 }

◆ e() [1/2]

double xAOD::CaloCluster_v1::e ( ) const
virtual

The total energy of the particle.

Implements xAOD::IParticle.

Definition at line 265 of file CaloCluster_v1.cxx.

265  {
266  return e(m_signalState);
267  }

◆ e() [2/2]

double xAOD::CaloCluster_v1::e ( const State  s) const

energy with a given signal state

Return eta for a specific signal state.

Parameters
sThe desired signal state.

Definition at line 167 of file CaloCluster_v1.cxx.

168  {
169  switch (s) {
170  case CALIBRATED:
171  return calE();
172  break;
173  case UNCALIBRATED:
174  return rawE();
175  break;
176  case ALTCALIBRATED:
177  return altE();
178  break;
179  default:
180  return 0;
181  }
182  }

◆ end() [1/2]

iterator xAOD::CaloCluster_v1::end ( )
inline

Definition at line 832 of file CaloCluster_v1.h.

832 { return cell_end(); }

◆ end() [2/2]

const_iterator xAOD::CaloCluster_v1::end ( ) const
inline

Definition at line 828 of file CaloCluster_v1.h.

828 { return cell_cend(); }

◆ energy_max()

float xAOD::CaloCluster_v1::energy_max ( const CaloSample  sampling) const

Retrieve maximum cell energy in given sampling.

Definition at line 556 of file CaloCluster_v1.cxx.

556  {
557  static const Accessor< std::vector <float > > emaxAcc("emax_sampl");
558  if (!emaxAcc.isAvailable( *this )){
559  return 0.0;
560  }
561  return getSamplVarFromAcc(emaxAcc,sampling,0.0); //Return energy 0 in case of failure (eg. sampling not set)
562  }

◆ energyBE()

float xAOD::CaloCluster_v1::energyBE ( const unsigned  layer) const

Get the energy in one layer of the EM Calo.

Parameters
layerLayer between 0 (Presampler) and 3 (Back)
Returns
energy Works for both, barrel and endcap

Definition at line 623 of file CaloCluster_v1.cxx.

623  {
624  static const Accessor< std::vector <float > > eAcc("e_sampl");
626  }

◆ eSample()

float xAOD::CaloCluster_v1::eSample ( const CaloSample  sampling) const

Definition at line 514 of file CaloCluster_v1.cxx.

514  {
515  static const Accessor< std::vector <float > > eAcc("e_sampl");
516  return getSamplVarFromAcc(eAcc,sampling,0.0); //Return energy 0 in case of failure (eg. sampling not set)
517  }

◆ et()

double xAOD::CaloCluster_v1::et ( ) const
inline

Definition at line 859 of file CaloCluster_v1.h.

859  {
860  if (this->m() == 0) {
861  return this->pt();
862  }
863 
864  return this->p4().Et();
865  }

◆ eta() [1/2]

double xAOD::CaloCluster_v1::eta ( ) const
virtual

The pseudorapidity ( \eta) of the particle.

Implements xAOD::IParticle.

Definition at line 251 of file CaloCluster_v1.cxx.

252  {
253  return eta (m_signalState);
254  }

◆ eta() [2/2]

double xAOD::CaloCluster_v1::eta ( const State  s) const

eta with a given signal state

Return eta for a specific signal state.

Parameters
sThe desired signal state.

Definition at line 188 of file CaloCluster_v1.cxx.

189  {
190  switch (s) {
191  case CALIBRATED:
192  return calEta();
193  break;
194  case UNCALIBRATED:
195  return rawEta();
196  break;
197  case ALTCALIBRATED:
198  return altEta();
199  break;
200  default:
201  return -999;
202  }
203  }

◆ eta0()

flt_t xAOD::CaloCluster_v1::eta0 ( ) const

Returns raw \eta of cluster seed.

◆ etaBE()

float xAOD::CaloCluster_v1::etaBE ( const unsigned  layer) const

Get the eta in one layer of the EM Calo.

Parameters
layerLayer between 0 (Presampler) and 3 (Back)
Returns
energy Works for both, barrel and endcap

Definition at line 628 of file CaloCluster_v1.cxx.

628  {
629  static const Accessor< std::vector <float > > eAcc("e_sampl");
630  static const Accessor< std::vector <float > > etaAcc("eta_sampl");
631  return CaloClusterDetails::etaBE(sample,m_samplingPattern,eAcc(*this),etaAcc(*this));
632  }

◆ etamax()

float xAOD::CaloCluster_v1::etamax ( const CaloSample  sampling) const

Retrieve \eta of cell with maximum energy in given sampling.

Definition at line 569 of file CaloCluster_v1.cxx.

569  {
570  static const Accessor< std::vector <float > > etamaxAcc("etamax_sampl");
571  if (!etamaxAcc.isAvailable( *this )){
572  return -999;
573  }
574  return getSamplVarFromAcc(etamaxAcc,sampling);
575  }

◆ etaSample()

float xAOD::CaloCluster_v1::etaSample ( const CaloSample  sampling) const

Retrieve barycenter \eta in a given sample.

Definition at line 525 of file CaloCluster_v1.cxx.

525  {
526  static const Accessor< std::vector <float > > etaAcc("eta_sampl");
527  if (!etaAcc.isAvailable( *this )){
528  return -999;
529  }
530 
531  return getSamplVarFromAcc(etaAcc,sampling);
532  }

◆ etasize()

float xAOD::CaloCluster_v1::etasize ( const CaloSample  sampling) const

Returns cluster size in \eta for a given sampling.

Definition at line 596 of file CaloCluster_v1.cxx.

596  {
597  static const Accessor< std::vector <float > > etasizeAcc("etasize_sampl");
598  if (!etasizeAcc.isAvailable( *this )){
599  return -999;
600  }
601  return getSamplVarFromAcc(etasizeAcc, sampling);
602  }

◆ extractLowerCount()

template<class UNSIGNED >
UNSIGNED xAOD::CaloCluster_v1::extractLowerCount ( ncells_store_t::value_type  cdata) const
inlineprivate

extract lower cell count from data

Definition at line 696 of file CaloCluster_v1.h.

◆ extractUpperCount()

template<class UNSIGNED >
UNSIGNED xAOD::CaloCluster_v1::extractUpperCount ( ncells_store_t::value_type  cdata) const
inlineprivate

extract upper cell count from data

Definition at line 697 of file CaloCluster_v1.h.

◆ genvecP4() [1/2]

CaloCluster_v1::GenVecFourMom_t xAOD::CaloCluster_v1::genvecP4 ( ) const

The full 4-momentum of the particle : GenVector type.

Definition at line 457 of file CaloCluster_v1.cxx.

457  {
458  return genvecP4(m_signalState);
459  }

◆ genvecP4() [2/2]

CaloCluster_v1::GenVecFourMom_t xAOD::CaloCluster_v1::genvecP4 ( const State  s) const

The full 4-momentum of the particle : GenVector type.

Definition at line 445 of file CaloCluster_v1.cxx.

445  {
446  switch (s) {
447  case CALIBRATED:
448  return GenVecFourMom_t(pt(s),calEta(),calPhi(),calM());
449  case UNCALIBRATED:
450  return GenVecFourMom_t(pt(s),rawEta(),rawPhi(), rawM());
451  case ALTCALIBRATED:
452  return GenVecFourMom_t(pt(s),altEta(),altPhi(), altM());
453  default:
454  return GenVecFourMom_t();
455  }
456  }

◆ getAuxIDs()

const SG::auxid_set_t & SG::AuxElement::getAuxIDs ( ) const
inherited

Return a set of identifiers for existing data items for this object.

If this object has a private or standalone store, then information from that will be returned. Otherwise, if this element is part of a container, then information for the container will be returned. Otherwise, return an empty set.

Definition at line 355 of file AuxElement.cxx.

356 {
357 #ifdef ATHCONTAINERS_R21_COMPAT
358  if (havePrivateData())
359  return m_container->getConstStore()->getAuxIDs();
360  if (container())
361  return container()->getAuxIDs();
362  static const SG::auxid_set_t null_set;
363  return null_set;
364 #else
366 #endif
367 }

◆ getCellLinks()

const CaloClusterCellLink * xAOD::CaloCluster_v1::getCellLinks ( ) const

Get a pointer to the CaloClusterCellLink object (const version)

Returns
ptr to CaloClusterCellLink obj, NULL if no valid link

Definition at line 859 of file CaloCluster_v1.cxx.

860  {
861  if (m_cellLinks) {
862  return m_cellLinks.get();
863  }
864  static const Accessor<ElementLink<CaloClusterCellLinkContainer> > accCellLinks("CellLink");
865  if (!accCellLinks.isAvailable(*this)){
866  return nullptr;
867  }
868 
869  const ElementLink<CaloClusterCellLinkContainer>& el=accCellLinks(*this);
870  if (el.isValid()){
871  return *el;
872  }
873 
874  return nullptr;
875  }

◆ getClusterEtaSize()

unsigned int xAOD::CaloCluster_v1::getClusterEtaSize ( ) const

Get eta size from cluster size.

Definition at line 777 of file CaloCluster_v1.cxx.

777  {
778  const unsigned clustersize=clusterSize();
779  unsigned int size = 0;
780  if(clustersize==SW_55ele ||
781  clustersize==SW_55gam ||
782  clustersize==SW_55Econv){
783  size = 5;
784  }else if(clustersize==SW_35ele ||
785  clustersize==SW_37ele ||
786  clustersize==SW_35gam ||
787  clustersize==SW_37gam ||
788  clustersize==SW_35Econv ||
789  clustersize==SW_37Econv){
790  size = 3;
791  }else if(clustersize==SW_7_11){
792  size = 7;
793  }
794 
795  return size;
796 
797  }

◆ getClusterPhiSize()

unsigned int xAOD::CaloCluster_v1::getClusterPhiSize ( ) const

Get phi size from cluster size.

Definition at line 799 of file CaloCluster_v1.cxx.

799  {
800  const ClusterSize clustersize=clusterSize();
801  unsigned int size = 0;
802  if(clustersize==SW_55ele ||
803  clustersize==SW_55gam ||
804  clustersize==SW_55Econv ||
805  clustersize==SW_35ele ||
806  clustersize==SW_35gam ||
807  clustersize==SW_35Econv){
808  size = 5;
809  }else if(
810  clustersize==SW_37ele ||
811  clustersize==SW_37gam ||
812  clustersize==SW_37Econv){
813  size = 7;
814  }else if(clustersize==SW_7_11){
815  size = 11;
816  }
817  return size;
818  }

◆ getConstStore()

const SG::IConstAuxStore * SG::AuxElement::getConstStore ( ) const
inherited

Return the current store, as a const interface.

This will be non-zero if either a const or non-const store is associated with this object. This will fetch either a private or standalone store.

Definition at line 304 of file AuxElement.cxx.

305 {
306  if (havePrivateData()) {
307  return m_container->getConstStore();
308  }
309  return 0;
310 }

◆ getDecorIDs()

const SG::auxid_set_t & SG::AuxElement::getDecorIDs ( ) const
inherited

Return a set of identifiers for decorations for this object.

   If this object has a private or standalone store, then information
   from that will be returned.  Otherwise, if this element
   is part of a container, then information for the container
   will be returned.  Otherwise, return an empty set.

Definition at line 378 of file AuxElement.cxx.

379 {
380 #ifdef ATHCONTAINERS_R21_COMPAT
381  if (havePrivateData())
383  if (container())
384  return container()->getDecorIDs();
385  static const SG::auxid_set_t null_set;
386  return null_set;
387 #else
389 #endif
390 }

◆ getMomentValue()

double xAOD::CaloCluster_v1::getMomentValue ( CaloCluster_v1::MomentType  type) const
inline

Retrieve individual moment - no check for existance! Returns -999 on error.

Definition at line 897 of file CaloCluster_v1.h.

897  {
898  double value=-999;
899  (void)this->retrieveMoment(type,value);
900  return value;
901  }

◆ getNumberCellsInSampling()

template<class CDATA >
bool xAOD::CaloCluster_v1::getNumberCellsInSampling ( CDATA &  cdata) const
inline

Get number of cells for all sampling layer.

This returns the number of cells in all sampling layers covered by the cluster, in a basic data type (c.f. retrieveMoment, which returns the internally used data store type) defined by the client. Only the inclucive number of cells per sampling are considered.

Definition at line 430 of file CaloCluster_v1.h.

430  {
431  ncells_store_t clist;
432  if ( !retrieveMoment(NCELL_SAMPLING,clist) ) { return false; }
433  cdata.clear(); cdata.reserve(clist.size());
434  for ( auto cn : clist ) { cdata.push_back(extractLowerCount<typename CDATA::value_type>(cn)); }
435  return true;
436  }

◆ getOwnCellLinks()

CaloClusterCellLink* xAOD::CaloCluster_v1::getOwnCellLinks ( )
inline

Get a pointer to the owned CaloClusterCellLink object (non-const version)

Returns
ptr to CaloClusterCellLink obj, NULL if no valid owned cell links.

Definition at line 765 of file CaloCluster_v1.h.

765  {
766  return m_cellLinks.get();
767  }

◆ getSamplVarFromAcc()

float xAOD::CaloCluster_v1::getSamplVarFromAcc ( const Accessor< std::vector< float > > &  acc,
const CaloSample  sampling,
const float  errorvalue = CaloClusterDetails::defaultErrorValue 
) const
private

Definition at line 494 of file CaloCluster_v1.cxx.

494  {
495  return CaloClusterDetails::getSamplVar(sampling,m_samplingPattern,acc(*this),errorvalue);
496  }

◆ getSisterCluster()

const CaloCluster_v1 * xAOD::CaloCluster_v1::getSisterCluster ( ) const

Get a pointer to a 'sister' cluster (eg the non-calibrated counterpart)

Definition at line 911 of file CaloCluster_v1.cxx.

911  {
912  static const Accessor< ElementLink< xAOD::CaloClusterContainer_v1 > > accSisterCluster("SisterCluster");
913  if (!accSisterCluster.isAvailable(*this)){
914  return nullptr;
915  }
916  const ElementLink<CaloClusterContainer_v1>& el = accSisterCluster(*this);
917  if (el.isValid()) {
918  return *el;
919  }
920  return nullptr;
921  }

◆ getSisterClusterLink()

const ElementLink< xAOD::CaloClusterContainer_v1 > & xAOD::CaloCluster_v1::getSisterClusterLink ( ) const

Get a link to a 'sister' cluster (eg the non-calibrated counterpart)

Definition at line 923 of file CaloCluster_v1.cxx.

923  {
924  static const Accessor< ElementLink< xAOD::CaloClusterContainer_v1 > > accSisterCluster("SisterCluster");
926  if (!accSisterCluster.isAvailable(*this)){
927  return empty;
928  }
929  return accSisterCluster(*this);
930  }

◆ getStore()

SG::IAuxStore * SG::AuxElement::getStore ( ) const
inherited

Return the current store, as a non-const interface.

This will be non-zero if a non-const store is associated with this object. This will fetch either a private or standalone store.

Definition at line 319 of file AuxElement.cxx.

320 {
321  if (havePrivateData()) {
322 #ifdef ATHCONTAINERS_R21_COMPAT
324 #else
325  SG::AuxVectorData* container_nc ATLAS_THREAD_SAFE = const_cast<SG::AuxVectorData*>(container());
326 #endif
327  return container_nc->getStore();
328  }
329  return 0;
330 }

◆ hadPrivateData()

bool SG::IAuxElement::hadPrivateData ( ) const
protectedinherited

True if this element had private data before it was added to its current container.

◆ hasNonConstStore()

bool SG::AuxElement::hasNonConstStore ( ) const
inherited

Return true if this object has an associated non-const store.

This will be true for either a private or standalone store.

Definition at line 411 of file AuxElement.cxx.

412 {
413  if (havePrivateData())
414  return m_container->hasNonConstStore();
415  return false;
416 }

◆ hasSampling()

bool xAOD::CaloCluster_v1::hasSampling ( const CaloSample  s) const
inline

Checks if certain smapling contributes to cluster.

Definition at line 882 of file CaloCluster_v1.h.

882  {
884  }

◆ hasStore()

bool SG::AuxElement::hasStore ( ) const
inherited

Return true if this object has an associated store.

This will be true for either a private or standalone store.

Definition at line 398 of file AuxElement.cxx.

399 {
400  if (havePrivateData())
401  return m_container->hasStore();
402  return false;
403 }

◆ havePrivateData()

bool SG::IAuxElement::havePrivateData ( ) const
protectedinherited

True if this element currently has private data.

◆ inBarrel()

bool xAOD::CaloCluster_v1::inBarrel ( ) const
inline

Returns true if at least one clustered cell in the barrel.

Definition at line 887 of file CaloCluster_v1.h.

887  {
889  }

◆ index() [1/2]

size_t SG::IAuxElement::index ( ) const
inherited

Return the index of this element within its container.

◆ index() [2/2]

size_t SG::IAuxElement::index
inherited

Return the index of this element within its container.

Inherited from IAuxElement.

◆ inEndcap()

bool xAOD::CaloCluster_v1::inEndcap ( ) const
inline

Returns true if at least one clustered cell in the endcap.

Definition at line 892 of file CaloCluster_v1.h.

892  {
894  }

◆ insertMoment() [1/2]

void xAOD::CaloCluster_v1::insertMoment ( MomentType  type,
const ncells_store_t values 
)

Insert number of cells/sampling moment (non-scalar)

Warning
Due to the store complexity, clients should use the xAOD::CaloCluster_v1::setNumberCellsInSampling method.

Definition at line 713 of file CaloCluster_v1.cxx.

713  {
714  const Accessor<ncells_store_t>* acc = momentContainerAccessorV1(type);
715  // only implemented for one moment
716  if ( acc != nullptr ) { (*acc)(*this) = values; }
717  }

◆ insertMoment() [2/2]

void xAOD::CaloCluster_v1::insertMoment ( MomentType  type,
double  value 
)

Definition at line 708 of file CaloCluster_v1.cxx.

708  {
709  const Accessor<float>* acc = momentAccessorV1(type);
710  if ( acc != nullptr ) { (*acc)(*this) = value; } // new protection needed non-scalar moment type!
711  }

◆ isAvailable()

template<class T >
XAOD_AUXDATA_DEPRECATED bool xAOD::IParticle::isAvailable ( const std::string &  name,
const std::string &  clsname = "" 
) const
inlineinherited

Check if a user property is available for reading or not.

This function should be used to check if a user property which may or may not exist, is set on the object.

Parameters
nameName of the auxiliary variable
clsnameThe name of the associated class. May be blank
Returns
Whether the decoration exists or not

Definition at line 135 of file Event/xAOD/xAODBase/xAODBase/IParticle.h.

136  {
137 
138  return SG::ConstAccessor< T >(name, clsname).isAvailable(*this);
139  }

◆ isAvailableWritable() [1/2]

template<class T , class ALLOC = AuxAllocator_t<T>>
XAOD_AUXDATA_DEPRECATED bool SG::AuxElement::isAvailableWritable ( const std::string &  name,
const std::string &  clsname = "" 
)
inherited

Check if an aux variable is available for writing.

Parameters
nameName of the aux variable.
clsnameThe name of the associated class. May be blank.

This method has to translate from the aux data name to the internal representation each time it is called. Using this method inside of loops is discouraged; instead use the Accessor class.

◆ isAvailableWritable() [2/2]

template<class T >
XAOD_AUXDATA_DEPRECATED bool xAOD::IParticle::isAvailableWritable ( const std::string &  name,
const std::string &  clsname = "" 
) const
inlineinherited

Check if a user property is available for writing or not.

This function can be used to check whether it will be possible to set a user property on the object.

Parameters
nameName of the auxiliary variable
clsnameThe name of the associated class. May be blank
Returns
Whether the decoration is possible to set

Definition at line 152 of file Event/xAOD/xAODBase/xAODBase/IParticle.h.

153  {
154 
155  return SG::Accessor< T >(name, clsname).isAvailableWritable(*this);
156  }

◆ isAvailableWritableAsDecoration()

template<class T , class ALLOC = AuxAllocator_t<T>>
XAOD_AUXDATA_DEPRECATED bool SG::AuxElement::isAvailableWritableAsDecoration ( const std::string &  name,
const std::string &  clsname = "" 
) const
inherited

Check if an aux variable is available for writing as a decoration.

Parameters
nameName of the aux variable.
clsnameThe name of the associated class. May be blank.

This method has to translate from the aux data name to the internal representation each time it is called. Using this method inside of loops is discouraged; instead use the Accessor class.

◆ lowerCellCountBound()

template<class UNSIGNED >
UNSIGNED xAOD::CaloCluster_v1::lowerCellCountBound ( ) const
inlineprivate

lower value boundary for cell count

Definition at line 702 of file CaloCluster_v1.h.

◆ m() [1/2]

double xAOD::CaloCluster_v1::m ( ) const
virtual

The invariant mass of the particle.

Implements xAOD::IParticle.

Definition at line 261 of file CaloCluster_v1.cxx.

261  {
262  return m(m_signalState);
263  }

◆ m() [2/2]

double xAOD::CaloCluster_v1::m ( const State  s) const

m with a given signal state

Return m for a specific signal state.

Parameters
sThe desired signal state.

Definition at line 230 of file CaloCluster_v1.cxx.

230  {
231  switch (s) {
232  case CALIBRATED:
233  return calM();
234  break;
235  case UNCALIBRATED:
236  return rawM();
237  break;
238  case ALTCALIBRATED:
239  return altM();
240  break;
241  default:
242  return -999;
243  }
244  }

◆ makePrivateStore() [1/3]

void SG::AuxElement::makePrivateStore ( )
inherited

Create a new (empty) private store for this object.

ExcBadPrivateStore will be thrown if this object is already associated with a store.

Definition at line 192 of file AuxElement.cxx.

193 {
194  if (m_container) {
195  throw SG::ExcBadPrivateStore ("store already exists");
196  }
197 
201 }

◆ makePrivateStore() [2/3]

template<class U1 >
void SG::AuxElement::makePrivateStore ( const U1 &  other,
bool  warnUnlocked = false 
)
inherited

Create a new private store for this object and copy aux data.

Parameters
otherThe object from which aux data should be copied.
warnUnlockedIf true, then warn when we skip unlocked decorations.

ExcBadPrivateStore will be thrown if this object is already associated with a store.

If other is an object that has aux data, then those data will be copied; otherwise, nothing will be done.

◆ makePrivateStore() [3/3]

template<class U1 >
void SG::AuxElement::makePrivateStore ( const U1 *  other,
bool  warnUnlocked = false 
)
inherited

Create a new private store for this object and copy aux data.

Parameters
otherThe object from which aux data should be copied.
warnUnlockedIf true, then warn when we skip unlocked decorations.

ExcBadPrivateStore will be thrown if this object is already associated with a store.

If other is an object that has aux data, then those data will be copied; otherwise, nothing will be done.

◆ makePrivateStore1() [1/2]

void SG::AuxElement::makePrivateStore1 ( const AuxElement other,
bool  warnUnlocked 
)
privateinherited

Create a new private store for this object and copy aux data.

Parameters
otherThe object from which aux data should be copied.
warnUnlockedIf true, then warn when we skip unlocked decorations.

ExcBadPrivateStore will be thrown if this object is already associated with a store.

This overload handles the case where other does have aux data.

Definition at line 565 of file AuxElement.cxx.

567 {
569  if (other)
570  this->copyAux (*other, warnUnlocked);
571 }

◆ makePrivateStore1() [2/2]

void SG::AuxElement::makePrivateStore1 ( const void *  other,
bool  warnUnlocked 
)
privateinherited

Create a new private store for this object and copy aux data.

Parameters
otherThe object from which aux data should be copied.
warnUnlockedIf true, then warn when we skip unlocked decorations.

ExcBadPrivateStore will be thrown if this object is already associated with a store.

This overload handles the case where other does not have aux data.

◆ noPrivateData()

bool SG::IAuxElement::noPrivateData ( ) const
protectedinherited

True if this element has no private data.

◆ nSamples()

unsigned xAOD::CaloCluster_v1::nSamples ( ) const
inline

Definition at line 876 of file CaloCluster_v1.h.

876  {
878  return std::popcount(pattern);
879  }

◆ numberCells()

int xAOD::CaloCluster_v1::numberCells ( ) const

Return total number of cells in cluster.

This method sums up the number of cells in all samplings. This should be identical to CaloCluster_v1::size() for clusters which still have all included cells linked.

Returns
Number of cells in cluster (> 0) for clusters that have the number of cells in sampling moment NCELL_SAMPLING set. In case this moment is not available, 0 is returned.

Definition at line 772 of file CaloCluster_v1.cxx.

772  {
773  std::vector<int> ncells;
774  return getNumberCellsInSampling<std::vector<int> >(ncells) ? std::accumulate(ncells.begin(),ncells.end(),0) : 0;
775  }

◆ numberCellsInSampling()

int xAOD::CaloCluster_v1::numberCellsInSampling ( const CaloSample  samp,
bool  isInnerWheel = false 
) const

Returns number of cells in given sampling.

This method returns the number of cells in a given sampling. All cells with E \neq 0 are counted, independent of the signal quality. Due to the strong reduction of the readout granularity of the electromagnmetic endcaps for |\eta| > 2.5 the returned number of cells in EME2 can be customized for clusters spanning this boundary. By default (isInnerWheel=false ) the number of all cells in EME2 is returned (inclusive count, consistent with the behaviour for all other samplings). For isInnerWheel=true the number of EME2 cells in the inner wheel are returned.

Parameters
sampsampling id
isInnerWheelreturns number of cells in small wheel (for EME2 only)

Definition at line 756 of file CaloCluster_v1.cxx.

756  {
757  const Accessor<ncells_store_t>* acc = momentContainerAccessorV1(NCELL_SAMPLING);
758  //
759  if ( acc != nullptr && acc->isAvailable(*this) ) {
760  size_t idx((size_t)samp);
761  return ( idx < (*acc)(*this).size() ) // valid sampling
762  ? isInnerWheel // check if inner wheel cell count is requested
763  ? extractUpperCount<int>((*acc)(*this)[idx])
764  : extractLowerCount<int>((*acc)(*this)[idx])
765  : 0;
766  } else {
767  return 0;
768  }
769  }

◆ operator=()

CaloCluster_v1 & xAOD::CaloCluster_v1::operator= ( const xAOD::CaloCluster_v1 other)

Assignment operator.

Definition at line 53 of file CaloCluster_v1.cxx.

53  {
54  if (this == &other) {
55  return *this;
56  }
57 
58  SG::AuxElement::operator=( other ); //Call assignment operator of base-class
59  m_recoStatus=other.m_recoStatus;
60  setSignalState(other.signalState());
61  m_samplingPattern=other.m_samplingPattern;
62  m_secondTime = other.m_secondTime;
63 
64 #if !(defined(SIMULATIONBASE) || defined(XAOD_ANALYSIS))
65  const CaloClusterCellLink* links=other.getCellLinks();
66  if (links) {
67  this->addCellLink(std::make_unique<CaloClusterCellLink>(*links));
68  }
69  static const Accessor<ElementLink<CaloClusterCellLinkContainer> > accCellLinks("CellLink");
70  if (accCellLinks.isAvailable(*this)) { //In case an element link was copied by SG::AuxElement::operator=, invalidate it
71  accCellLinks(*this).reset();
72  } //end if have element link to CaloClusterCellLink
73 #endif // not defined(SIMULATIONBASE) || defined(XAOD_ANALYSIS)
74  return *this;
75  }

◆ p4() [1/2]

CaloCluster_v1::FourMom_t xAOD::CaloCluster_v1::p4 ( ) const
virtual

The full 4-momentum of the particle.

Implements xAOD::IParticle.

Definition at line 465 of file CaloCluster_v1.cxx.

465  {
466  return p4(m_signalState);
467  }

◆ p4() [2/2]

CaloCluster_v1::FourMom_t xAOD::CaloCluster_v1::p4 ( const State  s) const

Definition at line 470 of file CaloCluster_v1.cxx.

470  {
472  switch(s) {
473  case CALIBRATED:
474  p4.SetPtEtaPhiM(pt(s),calEta(),calPhi(),calM());
475  break;
476  case UNCALIBRATED:
477  p4.SetPtEtaPhiM(pt(s),rawEta(),rawPhi(), rawM());
478  break;
479  case ALTCALIBRATED:
480  p4.SetPtEtaPhiM(pt(s),altEta(),altPhi(), altM());
481  break;
482  default:
483  break;
484  }
485  return p4;
486  }

◆ phi() [1/2]

double xAOD::CaloCluster_v1::phi ( ) const
virtual

The azimuthal angle ( \phi) of the particle.

Implements xAOD::IParticle.

Definition at line 256 of file CaloCluster_v1.cxx.

257  {
258  return phi (m_signalState);
259  }

◆ phi() [2/2]

double xAOD::CaloCluster_v1::phi ( const State  s) const

phi with a given signal state

Return phi for a specific signal state.

Parameters
sThe desired signal state.

Definition at line 210 of file CaloCluster_v1.cxx.

211  {
212  switch (s) {
213  case CALIBRATED:
214  return calPhi();
215  break;
216  case UNCALIBRATED:
217  return rawPhi();
218  break;
219  case ALTCALIBRATED:
220  return altPhi();
221  break;
222  default:
223  return -999;
224  }
225  }

◆ phi0()

flt_t xAOD::CaloCluster_v1::phi0 ( ) const

Returns raw \phi of cluster seed.

◆ phiBE()

float xAOD::CaloCluster_v1::phiBE ( const unsigned  layer) const

Get the phi in one layer of the EM Calo.

Parameters
layerLayer between 0 (Presampler) and 3 (Back)
Returns
energy Works for both, barrel and endcap

Definition at line 634 of file CaloCluster_v1.cxx.

634  {
635  if (sample>3) {return -999;}
638  const bool haveBarrel=this->hasSampling(barrelSample);
639  const bool haveEndcap=this->hasSampling(endcapSample);
640  if (haveBarrel && haveEndcap) {
641  //cluster spans barren and endcap
642  float eBarrel=eSample(barrelSample); //Check for errorcode? Should not happen...
643  float eEndcap=eSample(endcapSample);
644  float eSum=eBarrel+eEndcap;
645  float phiBarrel=phiSample(barrelSample);
646  float phiEndcap=phiSample(endcapSample);
647  if (eSum != 0.0) {
648  if ((eBarrel > 0 && eEndcap > 0) || (eBarrel < 0 && eEndcap < 0)) {
649  float phiSum = eSum * phiBarrel + eEndcap * CaloPhiRange::diff(phiEndcap, phiBarrel);
650  return CaloPhiRange::fix(phiSum / eSum);
651  } else if (eBarrel > 0)
652  return phiBarrel;
653  else
654  return phiEndcap;
655  }
656  // energy==0 case, should never happen
657  return CaloPhiRange::fix(0.5 * (phiBarrel + phiEndcap));
658  }
659  if (haveBarrel) {
660  return phiSample(barrelSample);
661  }
662  if (haveEndcap) {
663  return phiSample(endcapSample);
664  }
665 
666  //Should never reach this point ...
667  return -999;
668  }

◆ phimax()

float xAOD::CaloCluster_v1::phimax ( const CaloSample  sampling) const

Retrieve \varphi of cell with maximum energy in given sampling.

Definition at line 582 of file CaloCluster_v1.cxx.

582  {
583  static const Accessor< std::vector <float > > phimaxAcc("phimax_sampl");
584  if (!phimaxAcc.isAvailable( *this )){
585  return -999;
586  }
587  return getSamplVarFromAcc(phimaxAcc,sampling);
588  }

◆ phiSample()

float xAOD::CaloCluster_v1::phiSample ( const CaloSample  sampling) const

Retrieve barycenter \varphi in a given sample.

Definition at line 540 of file CaloCluster_v1.cxx.

540  {
541  static const Accessor< std::vector <float > > phiAcc("phi_sampl");
542  if (!phiAcc.isAvailable( *this )){
543  return -999;
544  }
545 
546  return getSamplVarFromAcc(phiAcc,sampling);
547  }

◆ phisize()

float xAOD::CaloCluster_v1::phisize ( const CaloSample  sampling) const

Returns cluster size in \varphi for a given sampling.

Definition at line 609 of file CaloCluster_v1.cxx.

609  {
610  static const Accessor< std::vector <float > > phisizeAcc("phisize_sampl");
611  if (!phisizeAcc.isAvailable( *this )){
612  return -999;
613  }
614  return getSamplVarFromAcc(phisizeAcc,sampling);
615  }

◆ pt() [1/2]

double xAOD::CaloCluster_v1::pt ( ) const
virtual

The transverse momentum ( p_T) of the particle (negative for negative-energy clusters)

Implements xAOD::IParticle.

Definition at line 247 of file CaloCluster_v1.cxx.

247  {
248  return pt(m_signalState);
249  }

◆ pt() [2/2]

double xAOD::CaloCluster_v1::pt ( const State  s) const

pt with a given signal state

Notice that this function is very slow for calorimeter clusters, so it should be called as few times as possible.

Returns
The transverse momentum of the cluster

Definition at line 121 of file CaloCluster_v1.cxx.

121  {
122  // Calculate the momentum of the object:
123  double theE = 0;
124  double theM = 0;
125  switch (s) {
126  case CALIBRATED:
127  theE=calE();
128  theM=calM();
129  break;
130  case UNCALIBRATED:
131  theE=rawE();
132  theM=rawM();
133  break;
134  case ALTCALIBRATED:
135  theE=altE();
136  theM=altM();
137  break;
138  default:
139  break;
140  }
141 
142  double p = 0.0;
143  if( std::abs( theM ) < 0.00001 ) {
144  p = theE;
145  } else {
146  p = std::sqrt( theE * theE - theM * theM );
147  if( theE < 0 ) {
148  p = -p;
149  }
150  }
151 
152  // Calculate sinTh:
153  double aEta = std::abs( eta(s) );
154  if( aEta > 710.0 ) {
155  aEta = 710.0;
156  }
157  const double sinTh = 1.0 / std::cosh( aEta );
158 
159  // Calculate pT from these two:
160  return p * sinTh;
161  }

◆ rapidity()

double xAOD::CaloCluster_v1::rapidity ( ) const
virtual

The true rapidity (y) of the particle.

Implements xAOD::IParticle.

Definition at line 461 of file CaloCluster_v1.cxx.

461  {
462  return genvecP4().Rapidity();
463  }

◆ rawE()

flt_t xAOD::CaloCluster_v1::rawE ( ) const

◆ rawEta()

flt_t xAOD::CaloCluster_v1::rawEta ( ) const

Get \eta in signal state UNCALIBRATED.

◆ rawM()

flt_t xAOD::CaloCluster_v1::rawM ( ) const

Get mass in signal state UNCALIBRATED.

◆ rawPhi()

flt_t xAOD::CaloCluster_v1::rawPhi ( ) const

Get \phi in signal state UNCALIBRATED.

◆ recoStatus() [1/2]

CaloRecoStatus& xAOD::CaloCluster_v1::recoStatus ( )
inline

Accesssor to CaloRecoStatus (non-const)

Returns
Reference to the CaloRecoStatus of this cluster

Definition at line 843 of file CaloCluster_v1.h.

843 {return m_recoStatus;}

◆ recoStatus() [2/2]

const CaloRecoStatus& xAOD::CaloCluster_v1::recoStatus ( ) const
inline

Accesssor to CaloRecoStatus (const)

Returns
const reference to the CaloRecoStatus of this cluster

Definition at line 848 of file CaloCluster_v1.h.

848 {return m_recoStatus;}

◆ releasePrivateStore()

void SG::AuxElement::releasePrivateStore ( )
inherited

Release and free any private store associated with this object.

ExcBadPrivateStore will be thrown if this object does not have a private store.

Definition at line 210 of file AuxElement.cxx.

211 {
212  if (hadPrivateData()) {
213  // We had a private store, but it was released because this object
214  // was added to a container. Just forget about it.
216  return;
217  }
218 
219  if (!havePrivateData() ||
220  !m_container ||
221  typeid(*m_container) != typeid(AuxElementPrivateData))
222  {
223  throw SG::ExcBadPrivateStore ("no private store exists");
224  }
225 
228  delete m_container;
229  m_container = 0;
230 }

◆ releasePrivateStoreForDtor()

void SG::AuxElement::releasePrivateStoreForDtor ( )
privateinherited

Out-of-line portion of destructor.

Delete a private store if we have one.

Definition at line 441 of file AuxElement.cxx.

442 {
443 #ifdef ATHCONTAINERS_R21_COMPAT
444  if (havePrivateData()) {
445  delete m_container;
446  }
447 #else
449 #endif
450 }

◆ removeCell()

bool xAOD::CaloCluster_v1::removeCell ( const CaloCell ptr)

Method to remove a cell to the cluster (slow!) (Beware: Kinematics not updated!)

Parameters
indexIndex of the cell in the CaloCelLContainer
Returns
true on success, false if the cell or the CaloCellLinkContainer is not found A more efficient way to remove cells is to use the iterator fucnctionality of the linked CaloCellLink object and use the remove(iterator) method from there.

Definition at line 877 of file CaloCluster_v1.cxx.

877  {
878  //1. Get a ptr to the CaloClusterCellLink
880  if (!cccl){
881  return false; // No link found (expected for TopoClusters in xAOD files)
882  }
883  // 2. Remove cell
884  return cccl->removeCell(ptrToDelete);
885  }

◆ retrieveMoment() [1/2]

bool xAOD::CaloCluster_v1::retrieveMoment ( MomentType  type,
double value 
) const

Retrieve individual moment.

Definition at line 692 of file CaloCluster_v1.cxx.

692  {
693 
694  // Get the moment accessor:
696  if (!acc){
697  return false;
698  }
699  // Check if the moment is available:
700  if( ! acc->isAvailable( *this ) ) {
701  return false;
702  }
703  // Retrieve the moment:
704  value = ( *acc )( *this );
705  return true;
706  }

◆ retrieveMoment() [2/2]

bool xAOD::CaloCluster_v1::retrieveMoment ( MomentType  type,
ncells_store_t values 
) const

Retrieve non-scalar moments.

Warning
Due to the store complexity, clients should use the xAOD::CaloCluster_v1::numberCellsInSampling method.

Definition at line 719 of file CaloCluster_v1.cxx.

719  {
720  const Accessor<ncells_store_t>* acc = momentContainerAccessorV1(type);
721  // only known moments of this type
722  if ( acc == nullptr || !acc->isAvailable(*this) ) { return false; }
723  // retrieve data
724  values = (*acc)(*this);
725  return true;
726  }

◆ reweightCell()

void xAOD::CaloCluster_v1::reweightCell ( cell_iterator  it,
const double  weight 
)
inline

Method to reweight a cell in the cluster (Beware: Kinematics not updated!)

Parameters
itNon-const cell-iterator
weightThe new weight

Definition at line 838 of file CaloCluster_v1.h.

838 {it.reweight(weight);}

◆ samplingPattern()

unsigned xAOD::CaloCluster_v1::samplingPattern ( ) const
inline

Access to sampling pattern (one bit per sampling) (Method may be removed later)

Definition at line 867 of file CaloCluster_v1.h.

867  {
868  return m_samplingPattern;
869  }

◆ sampVarIdx()

unsigned xAOD::CaloCluster_v1::sampVarIdx ( const  CaloSample) const
inlineprivate

Definition at line 871 of file CaloCluster_v1.h.

871  {
873  }

◆ secondTime()

CaloCluster_v1::flt_t xAOD::CaloCluster_v1::secondTime ( ) const

Access second moment of cell timing distribution.

For clusters read from persistent storage, this method returns the value stored for the SECOND_TIME moment.

Return values
0if (1) moment is not available, (2) the cluster time could not be calculated, or (3) the cluster has only one cell or all cells have exactly the same time.

Definition at line 941 of file CaloCluster_v1.cxx.

941  {
942  if ( m_secondTime < 0. ) {
943  double stime(0.); return this->retrieveMoment(SECOND_TIME,stime) ? stime : 0.;
944  } else {
945  return m_secondTime;
946  }
947  }

◆ setAltE()

void xAOD::CaloCluster_v1::setAltE ( const CaloCluster_v1::flt_t  value)

Set Energy for signal state ALTCALIBRATED.

Definition at line 328 of file CaloCluster_v1.cxx.

328  {
329  static const Accessor<CaloCluster_v1::flt_t> accAltE("altE");
330  accAltE(*this)=value;
331  }

◆ setAltEta()

void xAOD::CaloCluster_v1::setAltEta ( const CaloCluster_v1::flt_t  value)

Set \eta for signal state ALTCALIBRATED.

Definition at line 333 of file CaloCluster_v1.cxx.

333  {
334  static const Accessor<CaloCluster_v1::flt_t> accAltEta("altEta");
335  accAltEta(*this)=value;
336  }

◆ setAltM()

void xAOD::CaloCluster_v1::setAltM ( const CaloCluster_v1::flt_t  value)

Set mass for singal state ALTCALIBRATED.

Definition at line 343 of file CaloCluster_v1.cxx.

343  {
344  static const Accessor<CaloCluster_v1::flt_t> accAltM("altM");
345  accAltM(*this)=value;
346  }

◆ setAltPhi()

void xAOD::CaloCluster_v1::setAltPhi ( const CaloCluster_v1::flt_t  value)

Set \phi for signal state ALTCALIBRATED.

Definition at line 338 of file CaloCluster_v1.cxx.

338  {
339  static const Accessor<CaloCluster_v1::flt_t> accAltPhi("altPhi");
340  accAltPhi(*this)=value;
341  }

◆ setBadChannelList()

void xAOD::CaloCluster_v1::setBadChannelList ( const CaloClusterBadChannelList bcl)

Definition at line 274 of file CaloCluster_v1.cxx.

274  {
275  static const Accessor<xAOD::CaloClusterBadChannelList> accBCL("BadChannelList");
276  accBCL(*this)=bcl;
277  }

◆ setCalE()

void xAOD::CaloCluster_v1::setCalE ( const CaloCluster_v1::flt_t  value)

Set Energy for signal state CALIBRATED.

Definition at line 306 of file CaloCluster_v1.cxx.

306  {
307  static const Accessor<CaloCluster_v1::flt_t> accCalE("calE");
308  accCalE(*this)=value;
309  }

◆ setCalEta()

void xAOD::CaloCluster_v1::setCalEta ( const CaloCluster_v1::flt_t  value)

Set \eta for signal state CALIBRATED.

Definition at line 311 of file CaloCluster_v1.cxx.

311  {
312  static const Accessor<CaloCluster_v1::flt_t> accCalEta("calEta");
313  accCalEta(*this)=value;
314  }

◆ setCalM()

void xAOD::CaloCluster_v1::setCalM ( const CaloCluster_v1::flt_t  value)

Set mass for singal state CALIBRATED.

Definition at line 321 of file CaloCluster_v1.cxx.

321  {
322  static const Accessor<CaloCluster_v1::flt_t> accCalM("calM");
323  accCalM(*this)=value;
324  }

◆ setCalPhi()

void xAOD::CaloCluster_v1::setCalPhi ( const CaloCluster_v1::flt_t  value)

Set \phi for signal state CALIBRATED.

Definition at line 316 of file CaloCluster_v1.cxx.

316  {
317  static const Accessor<CaloCluster_v1::flt_t> accCalPhi("calPhi");
318  accCalPhi(*this)=value;
319  }

◆ setClusterSize()

void xAOD::CaloCluster_v1::setClusterSize ( const  ClusterSize)

Get cluster size.

Definition at line 369 of file CaloCluster_v1.cxx.

369  {
370  static const Accessor<unsigned> acc("clusterSize");
371  acc(*this)=sc;
372  }

◆ setConstStore()

void SG::AuxElement::setConstStore ( const SG::IConstAuxStore store)
inherited

Synonym for setStore with IConstAuxStore.

Parameters
storeThe new store.

◆ setE()

void xAOD::CaloCluster_v1::setE ( CaloCluster_v1::flt_t  theE)

Definition at line 375 of file CaloCluster_v1.cxx.

375  {
376  switch (m_signalState) {
377  case CALIBRATED:
378  return setCalE(theE);
379  break;
380  case UNCALIBRATED:
381  return setRawE(theE);
382  break;
383  case ALTCALIBRATED:
384  return setAltE(theE);
385  break;
386  default:
387  break;
388  }
389  }

◆ setEmax()

bool xAOD::CaloCluster_v1::setEmax ( const CaloSample  sampling,
const float  eMax 
)

Set the Energy of the cell with the highest energy in a particular sampling.

Definition at line 564 of file CaloCluster_v1.cxx.

564  {
565  static const Accessor< std::vector <float > > emaxAcc("emax_sampl");
566  return setSamplVarFromAcc(emaxAcc,sampling,eMax);
567  }

◆ setEnergy()

bool xAOD::CaloCluster_v1::setEnergy ( const CaloSample  sampling,
const float  e 
)

Set energy for a given sampling. Returns false if the sample isn't part of the cluster.

Definition at line 519 of file CaloCluster_v1.cxx.

519  {
520  static const Accessor< std::vector <float > > eAcc("e_sampl");
521  return setSamplVarFromAcc(eAcc,sampling,theEnergy);
522  }

◆ setEta() [1/2]

bool xAOD::CaloCluster_v1::setEta ( const CaloSample  sampling,
const float  eta 
)

Set \eta in a given sampling. Returns false if the sample isn't part of the cluster.

Definition at line 534 of file CaloCluster_v1.cxx.

534  {
535  static const Accessor< std::vector <float > > etaAcc("eta_sampl");
536  return setSamplVarFromAcc(etaAcc,sampling,eta);
537  }

◆ setEta() [2/2]

void xAOD::CaloCluster_v1::setEta ( CaloCluster_v1::flt_t  theEta)

Set Eta for the current signal state.

Definition at line 391 of file CaloCluster_v1.cxx.

391  {
392  switch (m_signalState) {
393  case CALIBRATED:
394  return setCalEta(theEta);
395  break;
396  case UNCALIBRATED:
397  return setRawEta(theEta);
398  break;
399  case ALTCALIBRATED:
400  return setAltEta(theEta);
401  break;
402  default:
403  break;
404  }
405  }

◆ setEta0()

void xAOD::CaloCluster_v1::setEta0 ( flt_t  )

◆ setEtamax()

bool xAOD::CaloCluster_v1::setEtamax ( const CaloSample  sampling,
const float  etaMax 
)

Set the eta of the cell with the highest energy in a particular sampling.

Definition at line 577 of file CaloCluster_v1.cxx.

577  {
578  static const Accessor< std::vector <float > > etamaxAcc("etamax_sampl");
579  return setSamplVarFromAcc(etamaxAcc,sampling,etaMax);
580  }

◆ setEtasize()

bool xAOD::CaloCluster_v1::setEtasize ( const CaloSample  sampling,
const float  etaSize 
)

Set the cluster size in \varphi for a given sampling.

Definition at line 604 of file CaloCluster_v1.cxx.

604  {
605  static const Accessor< std::vector <float > > etasizeAcc("etasize_sampl");
606  return setSamplVarFromAcc(etasizeAcc,sampling,etaSize);
607  }

◆ setHadPrivateData()

void SG::IAuxElement::setHadPrivateData ( )
privateinherited

Record that this element used to have private data.

◆ setHavePrivateData()

void SG::IAuxElement::setHavePrivateData ( )
privateinherited

Record that this element currently has private data.

◆ setIndex()

void SG::AuxElement::setIndex ( size_t  index,
SG::AuxVectorData container 
)
privateinherited

Set the index/container for this element.

Parameters
indexThe index of this object within the container.
containerThe container holding this object. May be null if this object is being removed from a container.

Usually this simply sets the index and container members of this object. However, in the case where this object has an associated private store, then we need to deal with releasing the store if the object is being added to a container, or making a new store if the object is being removed from a container.

◆ setIndexPrivate()

bool SG::AuxElement::setIndexPrivate ( size_t  index,
SG::AuxVectorData container 
)
privateinherited

Set the index/container for this element.

Parameters
indexThe index of this object within the container.
containerThe container holding this object. May be null if this object is being removed from a container.

This is called from setIndex when we have a private store to deal with.

Definition at line 505 of file AuxElement.cxx.

506 {
507 #ifdef ATHCONTAINERS_R21_COMPAT
508  if (hadPrivateData()) {
509  // We had a private store, but it was released because we were added
510  // to a container.
511 
512  if (container == 0) {
513  // We're being moved out of the container. Make a new private
514  // store, copy the data, and switch to it.
515  auto privateData = new SG::AuxElementPrivateData;
516  AuxElement to (privateData, 0);
517  to.copyAux (*this);
520  m_container = privateData;
521  return true;
522  }
523  }
524  else if (havePrivateData() &&
525  typeid(*m_container) == typeid(AuxElementPrivateData))
526  {
527  // We currently have a private store.
528 
529  if (container != 0 && container != m_container) {
530  // We're being added to a container.
531  // Aux data has already been copied.
532  // Release private store.
535  delete m_container;
537  return false;
538  }
539  }
540  else {
541  // We have a standalone store.
542  throw SG::ExcBadPrivateStore ("Attempt to add/remove a standalone object "
543  "from a container.");
544  }
545 
548  return false;
549 #else
551 #endif
552 }

◆ setLink() [1/2]

bool xAOD::CaloCluster_v1::setLink ( CaloClusterCellLinkContainer CCCL,
const EventContext &  ctx 
)

Push the CaloClusterCellLink object into the cell-link container and hand-over ownership to it.

Parameters
CCCLpointer to the CaloClusterCellLinkContainer
EventContextExplicitly specify the EventContext to use for the ElementLink.
Returns
true on success

Definition at line 841 of file CaloCluster_v1.cxx.

843  {
844  if (!m_cellLinks || !cccl) {
845  return false;
846  }
847  // The links are now owned by the container
848  cccl->push_back(m_cellLinks.release());
849  const size_t idx = cccl->size() - 1; // Use index for speed
850  static const Accessor<ElementLink<CaloClusterCellLinkContainer>>
851  accCellLinks("CellLink");
852  const CaloClusterCellLinkContainer& ref = *cccl;
854  accCellLinks(*this) = el;
855  return true;
856  }

◆ setLink() [2/2]

bool xAOD::CaloCluster_v1::setLink ( CaloClusterCellLinkContainer CCCL,
IProxyDict sg = nullptr 
)

Set up an ElementLink to a CaloClusterCellLink object.

Parameters
CCCL_keyStoreGate key of the CaloClusterCellLinkContainer
indexIndex of inside the CaloClusterCellLinkContainer container
Returns
true on success

Push the CaloClusterCellLink object into the cell-link container and hand-over ownership to it

Parameters
CCCLpointer to the CaloClusterCellLinkContainer
sgExplicitly specify the store to use for the ElementLink.
Returns
true on success

Definition at line 826 of file CaloCluster_v1.cxx.

828  {
829  if (!m_cellLinks || !cccl){
830  return false;
831  }
832  cccl->push_back(m_cellLinks.release());//The links are now owned by the container
833  const size_t idx=cccl->size()-1; //Use index for speed
834  static const Accessor<ElementLink<CaloClusterCellLinkContainer> > accCellLinks("CellLink");
835  const CaloClusterCellLinkContainer& ref=*cccl;
837  accCellLinks(*this)=el;
838  return true;
839  }

◆ setLowerCount()

template<class UNSIGNED >
ncells_store_t::value_type xAOD::CaloCluster_v1::setLowerCount ( ncells_store_t::value_type  cdata,
UNSIGNED  clower 
)
inlineprivate
Parameters
cloweradd lower cell count to data

Definition at line 698 of file CaloCluster_v1.h.

699  { return static_cast<ncells_store_t::value_type>((cdata & 0xff00)|(clower & 0x00ff)); }

◆ setM()

void xAOD::CaloCluster_v1::setM ( CaloCluster_v1::flt_t  theM)

Set Mass for the current signal state.

Definition at line 424 of file CaloCluster_v1.cxx.

424  {
425  switch (m_signalState) {
426  case CALIBRATED:
427  return setCalM(theM);
428  break;
429  case UNCALIBRATED:
430  return setRawM(theM);
431  break;
432  case ALTCALIBRATED:
433  return setAltM(theM);
434  break;
435  default:
436  break;
437  }
438  }

◆ setNonConstStore()

void SG::AuxElement::setNonConstStore ( SG::IAuxStore store)
inherited

Synonym for setStore with IAuxStore.

Parameters
storeThe new store.

◆ setNoPrivateData()

void SG::IAuxElement::setNoPrivateData ( )
privateinherited

Record that this element does not have private data.

◆ setNumberCellsInSampling()

void xAOD::CaloCluster_v1::setNumberCellsInSampling ( CaloSampling::CaloSample  samp,
int  ncells,
bool  isInnerWheel = false 
)

Set the number of cells in a sampling layer.

for debugging only ...

std::vector<std::pair<std::string,float> > CaloCluster_v1::getAllMoments() { std::vector<std::pair<std::string,float> > retval; const SG::auxid_set_t& auxIds=container()->getAuxIDs(); //->getDynamicAuxIDs(); const size_t idx= this->index(); for (auto ai: auxIds) { const std::string& auxName=SG::AuxTypeRegistry::instance().getName(ai); const float v=container()->getData<float>(ai,idx); std::cout << "Index=" <<idx << ", Auxid=" << ai << ", Name=" << auxName << " value=" << v << std::endl; retval.push_back(std::make_pair(auxName,v)); } return retval; }

Definition at line 744 of file CaloCluster_v1.cxx.

744  {
745  const Accessor<ncells_store_t>* acc = momentContainerAccessorV1(NCELL_SAMPLING); // should always be valid!
746  // cast to cell counter type and limit value range
747  ncells_t nc(adjustToRange<int,ncells_t>(ncells));
748  // check index and extend store if needed
749  size_t idx((size_t)samp);
750  if ( idx >= (*acc)(*this).size() ) { (*acc)(*this).resize(idx+1,0); }
751  // set counts
752  (*acc)(*this)[idx] = isInnerWheel ? setUpperCount<ncells_t>((*acc)(*this)[idx],nc) : setLowerCount<ncells_t>((*acc)(*this)[idx],nc);
753  }

◆ setPhi() [1/2]

bool xAOD::CaloCluster_v1::setPhi ( const CaloSample  sampling,
const float  phi 
)

Set \varphi in a given sampling. Returns false if the sample isn't part of the cluster.

Definition at line 549 of file CaloCluster_v1.cxx.

549  {
550  static const Accessor< std::vector <float > > phiAcc("phi_sampl");
551  return setSamplVarFromAcc(phiAcc,sampling,phi);
552  }

◆ setPhi() [2/2]

void xAOD::CaloCluster_v1::setPhi ( CaloCluster_v1::flt_t  thePhi)

Set Phi for the current signal state.

Definition at line 407 of file CaloCluster_v1.cxx.

407  {
408  switch (m_signalState) {
409  case CALIBRATED:
410  return setCalPhi(thePhi);
411  break;
412  case UNCALIBRATED:
413  return setRawPhi(thePhi);
414  break;
415  case ALTCALIBRATED:
416  return setAltPhi(thePhi);
417  break;
418  default:
419  break;
420  }
421  }

◆ setPhi0()

void xAOD::CaloCluster_v1::setPhi0 ( flt_t  )

Set raw \phi of cluster seed.

◆ setPhimax()

bool xAOD::CaloCluster_v1::setPhimax ( const CaloSample  sampling,
const float  phiMax 
)

Set the phi of the cell with the highest energy in a particular sampling.

Definition at line 590 of file CaloCluster_v1.cxx.

590  {
591  static const Accessor< std::vector <float > > phimaxAcc("phimax_sampl");
592  return setSamplVarFromAcc(phimaxAcc,sampling,phiMax);
593  }

◆ setPhisize()

bool xAOD::CaloCluster_v1::setPhisize ( const CaloSample  sampling,
const float  phiSize 
)

Set the cluster size in \vareta for a given sampling.

Definition at line 617 of file CaloCluster_v1.cxx.

617  {
618  static const Accessor< std::vector <float > > phisizeAcc("phisize_sampl");
619  return setSamplVarFromAcc(phisizeAcc,sampling,phiSize);
620  }

◆ setRawE()

void xAOD::CaloCluster_v1::setRawE ( const CaloCluster_v1::flt_t  value)

Set Energy for signal state UNCALIBRATED.

Definition at line 284 of file CaloCluster_v1.cxx.

284  {
285  static const Accessor<CaloCluster_v1::flt_t> accRawE("rawE");
286  accRawE(*this)=value;
287  }

◆ setRawEta()

void xAOD::CaloCluster_v1::setRawEta ( const CaloCluster_v1::flt_t  value)

Set \eta for signal state UNCALIBRATED.

Definition at line 289 of file CaloCluster_v1.cxx.

289  {
290  static const Accessor<CaloCluster_v1::flt_t> accRawEta("rawEta");
291  accRawEta(*this)=value;
292  }

◆ setRawM()

void xAOD::CaloCluster_v1::setRawM ( const CaloCluster_v1::flt_t  value)

Set mass for singal state UNCALIBRATED.

Definition at line 299 of file CaloCluster_v1.cxx.

299  {
300  static const Accessor<CaloCluster_v1::flt_t> accRawM("rawM");
301  accRawM(*this)=value;
302  }

◆ setRawPhi()

void xAOD::CaloCluster_v1::setRawPhi ( const CaloCluster_v1::flt_t  value)

Set \phi for signal state UNCALIBRATED.

Definition at line 294 of file CaloCluster_v1.cxx.

294  {
295  static const Accessor<CaloCluster_v1::flt_t> accRawPhi("rawPhi");
296  accRawPhi(*this)=value;
297  }

◆ setSamplingPattern()

void xAOD::CaloCluster_v1::setSamplingPattern ( const unsigned  sp,
const bool  clearSamplingVars = false 
)

Set sampling pattern (one bit per sampling.

Definition at line 81 of file CaloCluster_v1.cxx.

81  {
82 
83  // Check sampling variables ....
84  static const Accessor< std::vector< float > > etaAcc( "eta_sampl" );
85  static const Accessor< std::vector< float > > phiAcc( "phi_sampl" );
86  static const Accessor< std::vector< float > > eAcc( "e_sampl" );
87  static const Accessor< std::vector< float > > emaxAcc( "emax_sampl" );
88  static const Accessor< std::vector< float > > etamaxAcc( "etamax_sampl" );
89  static const Accessor< std::vector< float > > phimaxAcc( "phimax_sampl" );
90  static const Accessor< std::vector< float > > etasizeAcc( "etasize_sampl" );
91  static const Accessor< std::vector< float > > phisizeAcc( "phisize_sampl" );
92 
93  static const std::array< const Accessor< std::vector< float > >*, 8 > allAcc = {
94  { &etaAcc, &phiAcc, &eAcc, &emaxAcc, &phimaxAcc, &etamaxAcc, &etasizeAcc,
95  &phisizeAcc } };
96  for( const auto *a : allAcc ) {
97  if( a->isAvailable( *this ) ) {
98  if (!(*a)(*this).empty()) {
99  if (clearSamplingVars){
100  (*a)(*this).clear();
101  }
102  else{
103  std::cerr << "CaloCluster_v1 ERROR Attempt update sampling "
104  << "pattern while sampling variables are already set!"
105  << std::endl;
106  }
107  //std::abort();
108  }
109  }
110  }
111 
113  }

◆ setSamplVarFromAcc()

bool xAOD::CaloCluster_v1::setSamplVarFromAcc ( const Accessor< std::vector< float > > &  acc,
const CaloSample  sampling,
const float  value 
)
private

Definition at line 498 of file CaloCluster_v1.cxx.

498  {
499  const unsigned idx=sampVarIdx(sampling);
500  std::vector<float>& vec=acc(*this);
501  //std::cout << "Set sampling var. Sampling " << sampling << ", index=" << idx << " size=" << vec.size() << std::endl;
502  if (idx==CaloSampling::Unknown) {
503  std::cout << "ERROR: Sampling #" << sampling << " is not part of this cluster!" << std::endl;
504  return false;
505  }
506 
507  if (vec.size()<nSamples())
508  vec.resize(nSamples());
509  vec[idx]=value;
510  return true;
511  }

◆ setSecondTime()

void xAOD::CaloCluster_v1::setSecondTime ( CaloCluster_v1::flt_t  stime)

Set second moment of cell timing distribution.

Definition at line 939 of file CaloCluster_v1.cxx.

939 { m_secondTime = stime; }

◆ setSignalState()

bool xAOD::CaloCluster_v1::setSignalState ( const State  s)
private

Switch signal state.

Definition at line 440 of file CaloCluster_v1.cxx.

440  {
442  return true;
443  }

◆ setSisterClusterLink()

bool xAOD::CaloCluster_v1::setSisterClusterLink ( const ElementLink< CaloClusterContainer_v1 > &  sister)

Set a link to a 'sister' cluster (eg the non-calibrated counterpart)

Definition at line 932 of file CaloCluster_v1.cxx.

933  {
934  static const Accessor< ElementLink<xAOD::CaloClusterContainer_v1 > > accSisterCluster("SisterCluster");
935  accSisterCluster(*this)=sister;
936  return true;
937  }

◆ setStore() [1/3]

void SG::AuxElement::setStore ( const DataLink< SG::IConstAuxStore > &  store)
inherited

Set the store associated with this object.

Parameters
storeThe new store.

If store is nonzero, this adds a standalone store to the object. The object must not be in a container and must not have a private store. If store is zero, this removes a standalone store.

Parameters
storeLink to the new store.

Definition at line 269 of file AuxElement.cxx.

270 {
271  AuxElementStandaloneData* data = setStore1 (store);
272  if (store)
273  data->setStore (store);
274 }

◆ setStore() [2/3]

void SG::AuxElement::setStore ( const SG::IConstAuxStore store)
inherited

Set the store associated with this object.

Parameters
storeThe new store.

If store is nonzero, this adds a standalone store to the object. The object must not be in a container and must not have a private store. If store is zero, this removes a standalone store.

Definition at line 241 of file AuxElement.cxx.

242 {
243  AuxElementStandaloneData* data = setStore1 (store);
244  if (store)
245  data->setStore (store);
246 }

◆ setStore() [3/3]

void SG::AuxElement::setStore ( SG::IAuxStore store)
inherited

Set the store associated with this object.

Parameters
storeThe new store.

If store is nonzero, this adds a standalone store to the object. The object must not be in a container and must not have a private store. If store is zero, this removes a standalone store.

Definition at line 257 of file AuxElement.cxx.

258 {
259  AuxElementStandaloneData* data = setStore1 (store);
260  if (store)
261  data->setStore (store);
262 }

◆ setStore1()

AuxElementStandaloneData * SG::AuxElement::setStore1 ( const SG::IConstAuxStore store)
privateinherited

Set the store associated with this object.

Parameters
storeThe new store.

Helper for setStore. Creates the AuxElementStandaloneData object if needed and returns it.

Parameters
storeThe new store.

Helper for setStore. Creates the @x AuxElementStandaloneData object if needed and returns it.

Definition at line 461 of file AuxElement.cxx.

462 {
463  if (store) {
464  // Want this object be standalone.
465  if (!m_container) {
466  // Not in a container (and no private store). Make a new object.
467  AuxElementStandaloneData* data = new AuxElementStandaloneData;
469  m_container = data;
470  return data;
471  }
472  if (usingStandaloneStore()) {
473  // Standalone --- return existing object.
474  return static_cast<AuxElementStandaloneData*> (container());
475  }
476  // Otherwise, it's an error.
477  throw ExcBadPrivateStore ("Attempt to attach a standalone store to an "
478  "object in a container or with a private store.");
479  }
480 
481  else {
482  // Getting rid of a standalone store.
483  if (usingStandaloneStore()) {
485  delete m_container;
486  m_container = 0;
487  }
488  else if (m_container != 0)
489  throw ExcBadPrivateStore ("Attempt to remove a standalone store from an "
490  "object in a container or with a private store.");
491  return 0;
492  }
493 }

◆ setTime()

void xAOD::CaloCluster_v1::setTime ( flt_t  )

Set cluster time.

◆ setUpperCount()

template<class UNSIGNED >
ncells_store_t::value_type xAOD::CaloCluster_v1::setUpperCount ( ncells_store_t::value_type  cdata,
UNSIGNED  cupper 
)
inlineprivate
Parameters
cupperadd upper cell count to data

Definition at line 700 of file CaloCluster_v1.h.

701  { return static_cast<ncells_store_t::value_type>((cdata & 0x00ff)|((cupper & 0x00ff)<<8)); }

◆ signalState()

State xAOD::CaloCluster_v1::signalState ( ) const
inline

Get the current signal state.

Definition at line 636 of file CaloCluster_v1.h.

636 {return m_signalState;}

◆ size()

size_t xAOD::CaloCluster_v1::size ( ) const

size method (forwarded from CaloClusterCellLink obj)

Returns
The number of cells

Definition at line 950 of file CaloCluster_v1.cxx.

950  {
952  if (!cl) return 0;
953  return cl->size();
954  }

◆ time()

flt_t xAOD::CaloCluster_v1::time ( ) const

Access cluster time.

◆ toPersistent()

void xAOD::CaloCluster_v1::toPersistent ( )

Function preparing the object to be persistified.

This function takes care of preparing (all) the ElementLink(s) in the object to be persistified.

Definition at line 893 of file CaloCluster_v1.cxx.

893  {
894 
895 #if !(defined(SIMULATIONBASE) || defined(XAOD_ANALYSIS))
896  static const Accessor< ElementLink< CaloClusterCellLinkContainer > >
897  accCellLinks( "CellLink" );
898  if( accCellLinks.isAvailableWritable( *this ) ) {
899  accCellLinks( *this ).toPersistent();
900  }
901 #endif // not defined(SIMULATIONBASE) || defined(XAOD_ANALYSIS)
902 
903  static const Accessor< ElementLink< xAOD::CaloClusterContainer_v1 > > accSisterCluster("SisterCluster");
904  if( accSisterCluster.isAvailableWritable( *this ) ) {
905  accSisterCluster( *this ).toPersistent();
906  }
907 
908  // Return gracefully:
909  }

◆ trackIndices()

bool SG::AuxElement::trackIndices ( ) const
inherited

Return true if index tracking is enabled for this object.

Always returns true. Included here to be consistent with AuxVectorBase when standalone objects may be used as template parameters.

◆ type()

Type::ObjectType xAOD::CaloCluster_v1::type ( ) const
virtual

The type of the object as a simple enumeration.

Implements xAOD::IParticle.

Definition at line 489 of file CaloCluster_v1.cxx.

489  {
490  return Type::CaloCluster;
491  }

◆ upperCellCountBound()

template<class UNSIGNED >
UNSIGNED xAOD::CaloCluster_v1::upperCellCountBound ( ) const
inlineprivate

upper boundary for cell count

Definition at line 703 of file CaloCluster_v1.h.

◆ usingPrivateStore()

bool SG::AuxElement::usingPrivateStore ( ) const
inherited

Test to see if this object is currently using a private store.

Definition at line 280 of file AuxElement.cxx.

281 {
282  return havePrivateData() &&
283  typeid(*m_container) == typeid(AuxElementPrivateData);
284 }

◆ usingStandaloneStore()

bool SG::AuxElement::usingStandaloneStore ( ) const
inherited

Test to see if this object is currently using a standalone store.

Test to see if this object is currently using a private store.

Definition at line 290 of file AuxElement.cxx.

291 {
292  return havePrivateData() &&
293  typeid(*m_container) == typeid(AuxElementStandaloneData);
294 }

Friends And Related Function Documentation

◆ ::CaloClusterChangeSignalState

friend class ::CaloClusterChangeSignalState
friend

Definition at line 63 of file CaloCluster_v1.h.

Member Data Documentation

◆ m_cellLinks

std::unique_ptr<CaloClusterCellLink> xAOD::CaloCluster_v1::m_cellLinks
private

Unique ptr to cell links.

For cluster building transient only , holds cells owned by the cluster if non-nullptr

Definition at line 686 of file CaloCluster_v1.h.

◆ m_container

const SG::AuxVectorData* SG::ConstAuxElement::m_container
privateinherited

The container of which this object is an element.

Should be null if this object is not within a container, except that it may also point at a private store.

Definition at line 335 of file AuxElement.h.

◆ m_index

size_t SG::IAuxElement::m_index
privateinherited

The index of this element within its container.

Should be 0 if this object is not within a container.

Definition at line 128 of file IAuxElement.h.

◆ m_privateStoreState

PrivateStoreState SG::IAuxElement::m_privateStoreState
privateinherited

Definition at line 137 of file IAuxElement.h.

◆ m_recoStatus

CaloRecoStatus xAOD::CaloCluster_v1::m_recoStatus
private

Reco status (transient only)

Definition at line 689 of file CaloCluster_v1.h.

◆ m_samplingPattern

unsigned xAOD::CaloCluster_v1::m_samplingPattern
private

bit-pattern describing the calo samplings contributing to this cluster

Definition at line 680 of file CaloCluster_v1.h.

◆ m_secondTime

double xAOD::CaloCluster_v1::m_secondTime = { -1. }
private

Second cell time moment (transient only)

Definition at line 692 of file CaloCluster_v1.h.

◆ m_signalState

State xAOD::CaloCluster_v1::m_signalState
private

Current signal state.

Definition at line 683 of file CaloCluster_v1.h.

◆ supportsThinning

constexpr bool SG::AuxElement::supportsThinning = true
staticconstexprinherited

Mark that this type supports thinning operations.

See AthContainers/supportsThinning.h and AthenaPoolCnvSvc/T_AthenaPoolCnv.h. Helps guide which pool converter template will be used. If false, the default pool converter will be used rather than the aux store-specific one. Ordinary xAOD type should not touch this, but may be overridden in a derived class to handle certain special cases.

Definition at line 959 of file AuxElement.h.


The documentation for this class was generated from the following files:
xAOD::CaloCluster_v1::CENTER_MAG
@ CENTER_MAG
Cluster Centroid ( )
Definition: CaloCluster_v1.h:138
xAOD::CaloCluster_v1::SECOND_R
@ SECOND_R
Second Moment in .
Definition: CaloCluster_v1.h:126
xAOD::CaloCluster_v1::phi
virtual double phi() const
The azimuthal angle ( ) of the particle.
Definition: CaloCluster_v1.cxx:256
xAOD::CaloCluster_v1::CENTER_MAG_DigiHSTruth
@ CENTER_MAG_DigiHSTruth
Definition: CaloCluster_v1.h:277
xAOD::CaloCluster_v1::nSamples
unsigned nSamples() const
Definition: CaloCluster_v1.h:876
xAOD::CaloClusterDetails::hasSampling
bool hasSampling(const CaloSample s, const std::uint32_t samplingPattern)
Checks if certain smapling contributes to cluster.
Definition: CaloClusterDetails.h:51
SG::AuxVectorData::getConstStore
const SG::IConstAuxStore * getConstStore() const
Return the current store, as a const interface.
mergePhysValFiles.pattern
pattern
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:26
xAOD::CaloCluster_v1::rawE
flt_t rawE() const
SGTest::store
TestStore store
Definition: TestStore.cxx:23
xAOD::CaloCluster_v1::DELTA_PHI_DigiHSTruth
@ DELTA_PHI_DigiHSTruth
Definition: CaloCluster_v1.h:271
beamspotman.r
def r
Definition: beamspotman.py:676
GetLCDefs::Unknown
@ Unknown
Definition: GetLCDefs.h:21
SG::ConstAuxElement::getAuxIDs
const SG::auxid_set_t & getAuxIDs() const
Return a set of identifiers for existing data items for this object.
Definition: AuxElement.cxx:153
xAOD::CaloCluster_v1::m_secondTime
double m_secondTime
Second cell time moment (transient only)
Definition: CaloCluster_v1.h:692
xAOD::CaloCluster_v1::CSize_Unknown
@ CSize_Unknown
Definition: CaloCluster_v1.h:115
xAOD::CaloCluster_v1::FIRST_ETA_DigiHSTruth
@ FIRST_ETA_DigiHSTruth
First Moment in .
Definition: CaloCluster_v1.h:268
xAOD::CaloCluster_v1::ENG_CALIB_DEAD_UNCLASS
@ ENG_CALIB_DEAD_UNCLASS
Attached Calibration Hit energy in dead material in unclassified areas of the detector.
Definition: CaloCluster_v1.h:249
data
char data[hepevt_bytes_allocation_ATLAS]
Definition: HepEvt.cxx:11
xAOD::CaloCluster_v1::FIRST_PHI
@ FIRST_PHI
First Moment in .
Definition: CaloCluster_v1.h:124
xAOD::CaloCluster_v1::OOC_WEIGHT
@ OOC_WEIGHT
Out-of-cluster weight (E_ooc/E_w)
Definition: CaloCluster_v1.h:178
xAOD::name
name
Definition: TriggerMenuJson_v1.cxx:29
xAOD::CaloCluster_v1::ENG_FRAC_CORE
@ ENG_FRAC_CORE
Energy fraction of the sum of the hottest cells in each sampling.
Definition: CaloCluster_v1.h:145
xAOD::CaloCluster_v1::getSamplVarFromAcc
float getSamplVarFromAcc(const Accessor< std::vector< float > > &acc, const CaloSample sampling, const float errorvalue=CaloClusterDetails::defaultErrorValue) const
Definition: CaloCluster_v1.cxx:494
xAOD::CaloCluster_v1::cell_begin
const_cell_iterator cell_begin() const
Iterator of the underlying CaloClusterCellLink (const version)
Definition: CaloCluster_v1.h:815
xAOD::CaloCluster_v1::ClusterSize
ClusterSize
Enumeration to identify different cluster sizes.
Definition: CaloCluster_v1.h:89
xAOD::momentAccessorV1
const SG::AuxElement::Accessor< float > * momentAccessorV1(xAOD::CaloCluster_v1::MomentType moment)
Helper function for managing cluster moment Accessor objects.
Definition: CaloClusterAccessors_v1.cxx:25
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
xAOD::CaloCluster_v1::rawEta
flt_t rawEta() const
Get in signal state UNCALIBRATED.
xAOD::CaloCluster_v1::LONGITUDINAL_DigiHSTruth
@ LONGITUDINAL_DigiHSTruth
Normalized longitudinal moment.
Definition: CaloCluster_v1.h:280
xAOD::CaloCluster_v1::setRawM
void setRawM(flt_t)
Set mass for singal state UNCALIBRATED.
Definition: CaloCluster_v1.cxx:299
xAOD::CaloCluster_v1::SECOND_LAMBDA_DigiHSTruth
@ SECOND_LAMBDA_DigiHSTruth
Second Moment in .
Definition: CaloCluster_v1.h:270
xAOD::CaloCluster_v1::VERTEX_FRACTION
@ VERTEX_FRACTION
Vertex fraction of this cluster wrt.
Definition: CaloCluster_v1.h:187
PowhegControl_ttHplus_NLO.ss
ss
Definition: PowhegControl_ttHplus_NLO.py:83
xAOD::CaloClusterDetails::etaBE
float etaBE(const unsigned sample, const std::uint32_t samplingPattern, const std::span< const float > e_sampl, const std::span< const float > eta_sampl)
Get the eta in one layer of the EM Calo.
Definition: CaloClusterDetails.h:106
xAOD::CaloCluster_v1::CaloSample
CaloSampling::CaloSample CaloSample
Definition: CaloCluster_v1.h:69
xAOD::CaloCluster_v1::MASS
@ MASS
cell based mass i.e. the mass of the 4-vector sum of all massless positive energetic cells
Definition: CaloCluster_v1.h:175
xAOD::CaloCluster_v1::EM_PROBABILITY
@ EM_PROBABILITY
Classification probability to be em-like.
Definition: CaloCluster_v1.h:176
SG::AuxTypeRegistry::instance
static AuxTypeRegistry & instance()
Return the singleton registry instance.
Definition: AuxTypeRegistry.cxx:639
xAOD::CaloCluster_v1::CENTER_X
@ CENTER_X
Cluster Centroid ( )
Definition: CaloCluster_v1.h:134
xAOD::CaloCluster_v1::ENG_BAD_HV_CELLS
@ ENG_BAD_HV_CELLS
Total em-scale energy of cells with bad HV in this cluster.
Definition: CaloCluster_v1.h:170
SG::Accessor< T >
xAOD::CaloCluster_v1::EM_PROBABILITY_DigiHSTruth
@ EM_PROBABILITY_DigiHSTruth
Classification probability to be em-like.
Definition: CaloCluster_v1.h:300
SG::AuxVectorData::getDecorIDs
const SG::auxid_set_t & getDecorIDs() const
Return a set of identifiers for decorations for this object.
Definition: AuxVectorData.cxx:215
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
xAOD::CaloCluster_v1::Tower_01_01
@ Tower_01_01
Definition: CaloCluster_v1.h:112
xAOD::CaloCluster_v1::m_signalState
State m_signalState
Current signal state.
Definition: CaloCluster_v1.h:683
SG::AuxVectorData::getWritableAuxIDs
const SG::auxid_set_t & getWritableAuxIDs() const
Return a set of identifiers for writable data items in this store.
Definition: AuxVectorData.cxx:231
index
Definition: index.py:1
max
constexpr double max()
Definition: ap_fixedTest.cxx:33
xAOD::CaloCluster_v1::SW_37Econv
@ SW_37Econv
Definition: CaloCluster_v1.h:101
xAOD::CaloCluster_v1::ENG_CALIB_DEAD_LEAKAGE
@ ENG_CALIB_DEAD_LEAKAGE
Attached Calibration Hit energy in dead material behind calorimeters.
Definition: CaloCluster_v1.h:246
xAOD::CaloCluster_v1::ENERGY_CALIB_DigiHSTruth
@ ENERGY_CALIB_DigiHSTruth
First Moment in .
Definition: CaloCluster_v1.h:263
xAOD::CaloCluster_v1::calE
flt_t calE() const
Geet Energy in signal state CALIBRATED.
xAOD::CaloCluster_v1::ETA2CALOFRAME
@ ETA2CALOFRAME
Eta of sampling 2 in the calo frame (for egamma)
Definition: CaloCluster_v1.h:194
xAOD::CaloCluster_v1::setAltM
void setAltM(flt_t)
Set mass for singal state ALTCALIBRATED.
Definition: CaloCluster_v1.cxx:343
min
constexpr double min()
Definition: ap_fixedTest.cxx:26
xAOD::CaloCluster_v1::TIME_DigiHSTruth
@ TIME_DigiHSTruth
First Moment in .
Definition: CaloCluster_v1.h:262
SG::ConstAuxElement::m_container
const SG::AuxVectorData * m_container
The container of which this object is an element.
Definition: AuxElement.h:335
xAOD::CaloCluster_v1::AVG_LAR_Q
@ AVG_LAR_Q
Sum(E_cell_LAr^2 Q_cell_LAr)/Sum(E_cell_LAr^2)
Definition: CaloCluster_v1.h:166
xAOD::CaloCluster_v1::ETA1CALOFRAME
@ ETA1CALOFRAME
Eta of sampling 1 in the calo frame (for egamma)
Definition: CaloCluster_v1.h:192
xAOD::CaloCluster_v1::calEta
flt_t calEta() const
Get in signal state CALIBRATED.
xAOD::CaloCluster_v1::ISOLATION_DigiHSTruth
@ ISOLATION_DigiHSTruth
Definition: CaloCluster_v1.h:286
xAOD::CaloCluster_v1::setAltEta
void setAltEta(flt_t)
Set for signal state ALTCALIBRATED.
Definition: CaloCluster_v1.cxx:333
skel.it
it
Definition: skel.GENtoEVGEN.py:407
xAOD::CaloCluster_v1::ETA_CALIB_DigiHSTruth
@ ETA_CALIB_DigiHSTruth
First Moment in .
Definition: CaloCluster_v1.h:264
SG::AuxVectorData::hasNonConstStore
bool hasNonConstStore() const
Return true if this object has an associated non-const store.
xAOD::CaloCluster_v1::BADLARQ_FRAC_DigiHSTruth
@ BADLARQ_FRAC_DigiHSTruth
Definition: CaloCluster_v1.h:291
xAOD::CaloCluster_v1::m_recoStatus
CaloRecoStatus m_recoStatus
Reco status (transient only)
Definition: CaloCluster_v1.h:689
xAOD::CaloCluster_v1::PHI_CALIB_DigiHSTruth
@ PHI_CALIB_DigiHSTruth
First Moment in .
Definition: CaloCluster_v1.h:265
xAOD::CaloCluster_v1::m
virtual double m() const
The invariant mass of the particle.
Definition: CaloCluster_v1.cxx:261
xAOD::CaloCluster_v1::ENG_CALIB_TILEG3
@ ENG_CALIB_TILEG3
Calibration Hit energy inside the cluster scintillator.
Definition: CaloCluster_v1.h:225
xAOD::CaloCluster_v1::SuperCluster
@ SuperCluster
Definition: CaloCluster_v1.h:110
xAOD::etaMax
etaMax
Definition: HIEventShape_v2.cxx:46
xAOD::CaloCluster_v1::ENG_CALIB_DEAD_T
@ ENG_CALIB_DEAD_T
Attached Calibration Hit energy in dead material with tight matching (Angle < 0.3).
Definition: CaloCluster_v1.h:217
xAOD::CaloCluster_v1::SW_55gam
@ SW_55gam
Definition: CaloCluster_v1.h:95
xAOD::CaloCluster_v1::ENG_CALIB_OUT_M
@ ENG_CALIB_OUT_M
Attached Calibration Hit energy outside clusters but inside the calorimeter with medium matching (Ang...
Definition: CaloCluster_v1.h:203
xAOD::other
@ other
Definition: TrackingPrimitives.h:510
xAOD::CaloCluster_v1::CENTER_LAMBDA
@ CENTER_LAMBDA
Shower depth at Cluster Centroid.
Definition: CaloCluster_v1.h:139
athena.value
value
Definition: athena.py:124
SG::AuxElement::usingStandaloneStore
bool usingStandaloneStore() const
Test to see if this object is currently using a standalone store.
Definition: AuxElement.cxx:290
SG::ConstAuxElement::setIndexPrivate
bool setIndexPrivate(size_t index, const SG::AuxVectorData *container)
Set the index/container for this element.
Definition: AuxElement.cxx:97
vec
std::vector< size_t > vec
Definition: CombinationsGeneratorTest.cxx:9
xAOD::CaloCluster_v1::ENG_CALIB_EMB0
@ ENG_CALIB_EMB0
Calibration Hit energy inside the cluster barrel presampler.
Definition: CaloCluster_v1.h:221
SG::ConstAccessor< T >
xAOD::CaloCluster_v1::setCalEta
void setCalEta(flt_t)
Set for signal state CALIBRATED.
Definition: CaloCluster_v1.cxx:311
stime
std::string stime()
return the current data and time
Definition: computils.cxx:214
xAOD::CaloCluster_v1::CENTER_Y_DigiHSTruth
@ CENTER_Y_DigiHSTruth
Cluster Centroid ( )
Definition: CaloCluster_v1.h:275
xAOD::CaloClusterDetails::energyBE
float energyBE(const unsigned sample, const std::uint32_t samplingPattern, const std::span< const float > e_sampl)
Get the energy in one layer of the EM Calo.
Definition: CaloClusterDetails.h:86
xAOD::CaloCluster_v1::setLowerCount
ncells_store_t::value_type setLowerCount(ncells_store_t::value_type cdata, UNSIGNED clower)
Definition: CaloCluster_v1.h:698
xAOD::CaloCluster_v1::ENG_CALIB_DEAD_TILE0
@ ENG_CALIB_DEAD_TILE0
Attached Calibration Hit energy in dead material between EMB3 and TILE0.
Definition: CaloCluster_v1.h:233
SG::ExcConstAuxData
Exception — Non-const operation performed on const aux data.
Definition: Control/AthContainers/AthContainers/exceptions.h:77
CaloSampling::barrelPattern
static constexpr unsigned int barrelPattern()
Get the bit-pattern for barrel samplings.
Definition: Calorimeter/CaloGeoHelpers/CaloGeoHelpers/CaloSampling.h:75
SG::IAuxElement::setNoPrivateData
void setNoPrivateData()
Record that this element does not have private data.
xAOD::CaloCluster_v1::ENG_FRAC_MAX
@ ENG_FRAC_MAX
Energy fraction of hottest cell.
Definition: CaloCluster_v1.h:143
xAOD::CaloCluster_v1::LATERAL_DigiHSTruth
@ LATERAL_DigiHSTruth
Normalized lateral moment.
Definition: CaloCluster_v1.h:279
xAOD::CaloCluster_v1::CENTER_Z_DigiHSTruth
@ CENTER_Z_DigiHSTruth
Cluster Centroid ( )
Definition: CaloCluster_v1.h:276
xAOD::CaloCluster_v1::GenVecFourMom_t
ROOT::Math::LorentzVector< ROOT::Math::PtEtaPhiM4D< double > > GenVecFourMom_t
Base 4 Momentum type for calo.
Definition: CaloCluster_v1.h:349
xAOD::CaloCluster_v1::ncells_t
uint8_t ncells_t
Type for number-of-cells-in-sampling counter.
Definition: CaloCluster_v1.h:75
xAOD::CaloCluster_v1::PHI1CALOFRAME
@ PHI1CALOFRAME
Phi of sampling 1 in the calo frame (for egamma)
Definition: CaloCluster_v1.h:193
xAOD::CaloCluster_v1::calM
flt_t calM() const
Get mass in signal state CALIBRATED.
xAOD::CaloCluster_v1::SW_7_11
@ SW_7_11
Definition: CaloCluster_v1.h:108
XMLtoHeader.count
count
Definition: XMLtoHeader.py:85
xAOD::CaloCluster
CaloCluster_v1 CaloCluster
Define the latest version of the calorimeter cluster class.
Definition: Event/xAOD/xAODCaloEvent/xAODCaloEvent/CaloCluster.h:19
xAOD::CaloCluster_v1::SW_37gam
@ SW_37gam
Definition: CaloCluster_v1.h:97
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
python.Bindings.values
values
Definition: Control/AthenaPython/python/Bindings.py:805
SG::AuxVectorData::getAuxIDs
const SG::auxid_set_t & getAuxIDs() const
Return a set of identifiers for existing data items in store associated with this object.
Definition: AuxVectorData.cxx:203
xAOD::CaloCluster_v1::SECOND_LAMBDA
@ SECOND_LAMBDA
Second Moment in .
Definition: CaloCluster_v1.h:127
dqt_zlumi_pandas.weight
int weight
Definition: dqt_zlumi_pandas.py:189
xAOD::CaloCluster_v1::PTD
@ PTD
relative spread of pT of constiuent cells = sqrt(n)*RMS/Mean
Definition: CaloCluster_v1.h:173
xAOD::CaloCluster_v1::NCELL_SAMPLING
@ NCELL_SAMPLING
Number of cells in sampling layer.
Definition: CaloCluster_v1.h:185
SG::AuxTypeRegistry
Handle mappings between names and auxid_t.
Definition: AuxTypeRegistry.h:61
xAOD::CaloCluster_v1::SW_37ele
@ SW_37ele
Definition: CaloCluster_v1.h:93
xAOD::CaloCluster_v1::Tower_005_005
@ Tower_005_005
Definition: CaloCluster_v1.h:113
xAOD::CaloCluster_v1::CENTER_Z
@ CENTER_Z
Cluster Centroid ( )
Definition: CaloCluster_v1.h:136
xAOD::CaloCluster_v1::clusterSize
ClusterSize clusterSize() const
Get cluster size.
Definition: CaloCluster_v1.cxx:364
SG::IAuxElement::index
size_t index() const
Return the index of this element within its container.
SG::IAuxElement::setHadPrivateData
void setHadPrivateData()
Record that this element used to have private data.
xAOD::CaloCluster_v1::Topo_633
@ Topo_633
Definition: CaloCluster_v1.h:106
xAOD::CaloCluster_v1::SW_55Econv
@ SW_55Econv
Definition: CaloCluster_v1.h:99
xAOD::CaloCluster_v1::SECOND_ENG_DENS
@ SECOND_ENG_DENS
Second Moment in E/V.
Definition: CaloCluster_v1.h:147
SG::auxid_t
size_t auxid_t
Identifier for a particular aux data item.
Definition: AuxTypes.h:27
xAOD::CaloCluster_v1::setCalPhi
void setCalPhi(flt_t)
Set for signal state CALIBRATED.
Definition: CaloCluster_v1.cxx:316
xAOD::CaloCluster_v1::DM_WEIGHT
@ DM_WEIGHT
Dead-material weight (E_dm/E_ooc)
Definition: CaloCluster_v1.h:179
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
xAOD::CaloCluster_v1::ENG_POS_DigiHSTruth
@ ENG_POS_DigiHSTruth
Total positive Energy of this cluster.
Definition: CaloCluster_v1.h:292
xAOD::CaloCluster_v1::setRawE
void setRawE(flt_t)
Set Energy for signal state UNCALIBRATED.
Definition: CaloCluster_v1.cxx:284
xAOD::CaloCluster_v1::HAD_WEIGHT
@ HAD_WEIGHT
Hadronic weight (E_w/E_em)
Definition: CaloCluster_v1.h:177
xAOD::CaloClusterDetails::sampVarIdx
unsigned sampVarIdx(const CaloSample s, const std::uint32_t samplingPattern)
Definition: CaloClusterDetails.h:56
xAOD::CaloCluster_v1::SIGNIFICANCE_DigiHSTruth
@ SIGNIFICANCE_DigiHSTruth
Cluster significance.
Definition: CaloCluster_v1.h:293
xAOD::CaloCluster_v1::genvecP4
GenVecFourMom_t genvecP4() const
The full 4-momentum of the particle : GenVector type.
Definition: CaloCluster_v1.cxx:457
xAOD::CaloCluster_v1::SECOND_ENG_DENS_DigiHSTruth
@ SECOND_ENG_DENS_DigiHSTruth
Second Moment in E/V.
Definition: CaloCluster_v1.h:285
xAOD::CaloCluster_v1::setCalM
void setCalM(flt_t)
Set mass for singal state CALIBRATED.
Definition: CaloCluster_v1.cxx:321
FullCPAlgorithmsTest_eljob.sample
sample
Definition: FullCPAlgorithmsTest_eljob.py:116
xAOD::CaloCluster_v1::eta
virtual double eta() const
The pseudorapidity ( ) of the particle.
Definition: CaloCluster_v1.cxx:251
xAOD::CaloCluster_v1::CALIBRATED
@ CALIBRATED
Definition: CaloCluster_v1.h:310
xAOD::CaloCluster_v1::ETA_DigiHSTruth
@ ETA_DigiHSTruth
Eta moment that I am trying to include.
Definition: CaloCluster_v1.h:260
CaloSampling::CaloSample
CaloSample
Definition: Calorimeter/CaloGeoHelpers/CaloGeoHelpers/CaloSampling.h:22
SG::AuxElement::copyAux
void copyAux(const ConstAuxElement &other, bool warnUnlocked=false)
Copy aux data from another object.
Definition: AuxElement.cxx:607
xAOD::CaloCluster_v1::CENTER_LAMBDA_DigiHSTruth
@ CENTER_LAMBDA_DigiHSTruth
Shower depth at Cluster Centroid.
Definition: CaloCluster_v1.h:278
SG::AuxElement::clearAux
void clearAux()
Clear all aux data associated with this element.
Definition: AuxElement.cxx:580
xAOD::CaloCluster_v1::ncells_store_t
std::vector< uint16_t > ncells_store_t
Store type for number-of-cells-in-sampling counter.
Definition: CaloCluster_v1.h:83
SG::AuxElement::AuxElement
AuxElement()
Default constructor.
xAOD::CaloCluster_v1::CELL_SIG_SAMPLING_DigiHSTruth
@ CELL_SIG_SAMPLING_DigiHSTruth
Definition: CaloCluster_v1.h:295
DMTest::links
links
Definition: CLinks_v1.cxx:22
xAOD::CaloCluster_v1::FIRST_ENG_DENS_DigiHSTruth
@ FIRST_ENG_DENS_DigiHSTruth
First Moment in E/V.
Definition: CaloCluster_v1.h:284
SG::IAuxElement::havePrivateData
bool havePrivateData() const
True if this element currently has private data.
ATHCONTAINERS_WARNING
#define ATHCONTAINERS_WARNING(ctx, msg)
Definition: error.h:57
xAOD::CaloCluster_v1::CELL_SIG_SAMPLING
@ CELL_SIG_SAMPLING
CaloSample of the cell with the largest |E|/sig.
Definition: CaloCluster_v1.h:164
xAOD::CaloCluster_v1::m_samplingPattern
unsigned m_samplingPattern
bit-pattern describing the calo samplings contributing to this cluster
Definition: CaloCluster_v1.h:680
xAOD::CaloCluster_v1::ENG_CALIB_TOT
@ ENG_CALIB_TOT
Calibration Hit energy inside the cluster.
Definition: CaloCluster_v1.h:198
xAOD::CaloCluster_v1::TIME_CALIB_DigiHSTruth
@ TIME_CALIB_DigiHSTruth
First Moment in .
Definition: CaloCluster_v1.h:266
xAOD::CaloCluster_v1::SW_35gam
@ SW_35gam
Definition: CaloCluster_v1.h:96
SG::AuxVectorData::getStore
SG::IAuxStore * getStore()
Return the current store, as a non-const interface.
xAOD::CaloCluster_v1::ENG_CALIB_FRAC_EM
@ ENG_CALIB_FRAC_EM
Calibration Hit energy inside the cluster caused by e/gamma/pi0.
Definition: CaloCluster_v1.h:251
xAOD::CaloCluster_v1::ISOLATION
@ ISOLATION
Energy weighted fraction of non-clustered perimeter cells.
Definition: CaloCluster_v1.h:149
xAOD::CaloCluster_v1::setSignalState
bool setSignalState(const State s)
Switch signal state.
Definition: CaloCluster_v1.cxx:440
xAOD::CaloCluster_v1::ENG_CALIB_FRAC_REST
@ ENG_CALIB_FRAC_REST
Calibration Hit energy inside the cluster caused by other particles.
Definition: CaloCluster_v1.h:256
xAOD::CaloCluster_v1::Tower_fixed_area
@ Tower_fixed_area
Definition: CaloCluster_v1.h:114
SG::ConstAuxElement::getDecorIDs
const SG::auxid_set_t & getDecorIDs() const
Return a set of identifiers for decorations for this object.
Definition: AuxElement.cxx:172
plotIsoValidation.el
el
Definition: plotIsoValidation.py:197
xAOD::CaloCluster_v1::size
size_t size() const
size method (forwarded from CaloClusterCellLink obj)
Definition: CaloCluster_v1.cxx:950
xAOD::CaloCluster_v1::setAltE
void setAltE(flt_t)
Set Energy for signal state ALTCALIBRATED.
Definition: CaloCluster_v1.cxx:328
xAOD::CaloCluster_v1::setRawEta
void setRawEta(flt_t)
Set for signal state UNCALIBRATED.
Definition: CaloCluster_v1.cxx:289
AthenaPoolTestRead.acc
acc
Definition: AthenaPoolTestRead.py:16
xAOD::CaloCluster_v1::DELTA_PHI
@ DELTA_PHI
Angular shower axis deviation ( ) from IP-to-Center.
Definition: CaloCluster_v1.h:129
xAOD::CaloCluster_v1::ENG_CALIB_DEAD_FCAL
@ ENG_CALIB_DEAD_FCAL
Attached Calibration Hit energy in dead material before FCAL, between FCAL and HEC.
Definition: CaloCluster_v1.h:244
xAOD::CaloCluster_v1::calPhi
flt_t calPhi() const
Get in signal state CALIBRATED.
SG::AuxElementPrivateData
Internal data container for private store.
Definition: AuxElement.cxx:46
xAOD::CaloCluster_v1::retrieveMoment
bool retrieveMoment(MomentType type, double &value) const
Retrieve individual moment.
Definition: CaloCluster_v1.cxx:692
xAOD::CaloCluster_v1::phiSample
float phiSample(const CaloSample sampling) const
Retrieve barycenter in a given sample.
Definition: CaloCluster_v1.cxx:540
xAOD::int
setRawEt setRawPhi int
Definition: TrigCaloCluster_v1.cxx:33
PowhegPythia8EvtGen_jetjet.theEnergy
int theEnergy
Definition: PowhegPythia8EvtGen_jetjet.py:12
xAOD::CaloCluster_v1::Topo_420
@ Topo_420
Definition: CaloCluster_v1.h:105
xAOD::CaloCluster_v1::FIRST_ENG_DENS
@ FIRST_ENG_DENS
First Moment in E/V.
Definition: CaloCluster_v1.h:146
xAOD::CaloClusterDetails::getSamplVar
float getSamplVar(const CaloSample sampling, const std::uint32_t samplingPattern, const std::span< const float > vec, const float errorvalue=defaultErrorValue)
Definition: CaloClusterDetails.h:71
xAOD::CaloCluster_v1::m_cellLinks
std::unique_ptr< CaloClusterCellLink > m_cellLinks
Unique ptr to cell links.
Definition: CaloCluster_v1.h:686
SG::AuxVectorData::hasStore
bool hasStore() const
Return true if this object has an associated store.
CaloPhiRange::fix
static double fix(double phi)
Definition: CaloPhiRange.cxx:14
xAOD::CaloCluster_v1::getCellLinks
const CaloClusterCellLink * getCellLinks() const
Get a pointer to the CaloClusterCellLink object (const version)
Definition: CaloCluster_v1.cxx:859
xAOD::CaloCluster_v1::ENG_BAD_CELLS
@ ENG_BAD_CELLS
Total em-scale energy of bad cells in this cluster.
Definition: CaloCluster_v1.h:151
xAOD::CaloCluster_v1::setSamplVarFromAcc
bool setSamplVarFromAcc(const Accessor< std::vector< float > > &acc, const CaloSample sampling, const float value)
Definition: CaloCluster_v1.cxx:498
CaloSampling::endcapPattern
static constexpr unsigned int endcapPattern()
Get the bit-pattern for endcap samplings.
Definition: Calorimeter/CaloGeoHelpers/CaloGeoHelpers/CaloSampling.h:84
xAOD::CaloCluster_v1::ENG_BAD_HV_CELLS_DigiHSTruth
@ ENG_BAD_HV_CELLS_DigiHSTruth
Definition: CaloCluster_v1.h:298
xAOD::CaloCluster_v1::p4
virtual FourMom_t p4() const
The full 4-momentum of the particle.
Definition: CaloCluster_v1.cxx:465
xAOD::CaloCluster_v1::TILE_CONFIDENCE_LEVEL
@ TILE_CONFIDENCE_LEVEL
Confidence Level of a tile calorimeter cluster to be noise.
Definition: CaloCluster_v1.h:181
xAOD::CaloCluster_v1::rawM
flt_t rawM() const
Get mass in signal state UNCALIBRATED.
xAOD::CaloCluster_v1::UNCALIBRATED
@ UNCALIBRATED
Definition: CaloCluster_v1.h:309
xAOD::CaloCluster_v1::pt
virtual double pt() const
The transverse momentum ( ) of the particle (negative for negative-energy clusters)
Definition: CaloCluster_v1.cxx:247
xAOD::CaloCluster_v1::FourMom_t
IParticle::FourMom_t FourMom_t
Definition of the 4-momentum type.
Definition: CaloCluster_v1.h:346
xAOD::CaloCluster_v1::ENG_CALIB_EME0
@ ENG_CALIB_EME0
Calibration Hit energy inside the cluster endcap presampler.
Definition: CaloCluster_v1.h:223
xAOD::CaloCluster_v1::N_BAD_CELLS_CORR_DigiHSTruth
@ N_BAD_CELLS_CORR_DigiHSTruth
Definition: CaloCluster_v1.h:289
xAOD::CaloCluster_v1::NSTATES
@ NSTATES
Definition: CaloCluster_v1.h:312
xAOD::CaloCluster_v1::ENG_FRAC_EM
@ ENG_FRAC_EM
Energy fraction in EM calorimeters.
Definition: CaloCluster_v1.h:142
xAOD::CaloCluster_v1::ENG_CALIB_DEAD_M
@ ENG_CALIB_DEAD_M
Attached Calibration Hit energy in dead material with medium matching (Angle < 0.5).
Definition: CaloCluster_v1.h:214
xAOD::CaloCluster_v1::sampVarIdx
unsigned sampVarIdx(const CaloSample) const
Definition: CaloCluster_v1.h:871
xAOD::CaloCluster_v1::N_BAD_CELLS_DigiHSTruth
@ N_BAD_CELLS_DigiHSTruth
number of bad cells
Definition: CaloCluster_v1.h:288
SG::IAuxElement::setHavePrivateData
void setHavePrivateData()
Record that this element currently has private data.
xAOD::CaloCluster_v1::cell_cend
const_cell_iterator cell_cend() const
Definition: CaloCluster_v1.h:806
SG::AuxVectorData::clearCache
void clearCache()
Clear the cached aux data pointers.
xAOD::CaloCluster_v1::ENG_CALIB_DEAD_HEC0
@ ENG_CALIB_DEAD_HEC0
Attached Calibration Hit energy in dead material between EME3 and HEC0.
Definition: CaloCluster_v1.h:241
xAOD::CaloCluster_v1::altE
flt_t altE() const
Get Energy in signal state ALTCALIBRATED.
xAOD::CaloCluster_v1::N_BAD_HV_CELLS_DigiHSTruth
@ N_BAD_HV_CELLS_DigiHSTruth
number of cells with bad HV
Definition: CaloCluster_v1.h:299
xAOD::CaloCluster_v1::SW_55ele
@ SW_55ele
Definition: CaloCluster_v1.h:91
xAOD::CaloCluster_v1::FIRST_PHI_DigiHSTruth
@ FIRST_PHI_DigiHSTruth
First Moment in .
Definition: CaloCluster_v1.h:267
xAOD::CaloCluster_v1::AVG_LAR_Q_DigiHSTruth
@ AVG_LAR_Q_DigiHSTruth
Definition: CaloCluster_v1.h:296
xAOD::CaloCluster_v1::PHI_DigiHSTruth
@ PHI_DigiHSTruth
phi moment I would like to have
Definition: CaloCluster_v1.h:261
SG::AuxElement::makePrivateStore
void makePrivateStore()
Create a new (empty) private store for this object.
Definition: AuxElement.cxx:192
xAOD::CaloCluster_v1::ENERGY_DigiHSTruth
@ ENERGY_DigiHSTruth
First Moment in .
Definition: CaloCluster_v1.h:259
xAOD::CaloCluster_v1::AVG_TILE_Q
@ AVG_TILE_Q
Sum(E_cell_Tile^2 Q_cell_Tile)/Sum(E_cell_Tile^2)
Definition: CaloCluster_v1.h:168
xAOD::CaloCluster_v1::ENG_BAD_CELLS_DigiHSTruth
@ ENG_BAD_CELLS_DigiHSTruth
Definition: CaloCluster_v1.h:287
xAOD::CaloCluster_v1::SW_35Econv
@ SW_35Econv
Definition: CaloCluster_v1.h:100
xAOD::CaloCluster_v1::setCalE
void setCalE(flt_t)
Set Energy for signal state CALIBRATED.
Definition: CaloCluster_v1.cxx:306
SG::AuxElement::operator=
AuxElement & operator=(const AuxElement &other)
Assignment.
xAOD::CaloCluster_v1::PHICALOFRAME
@ PHICALOFRAME
Phi in the calo frame (for egamma)
Definition: CaloCluster_v1.h:191
CxxUtils::to
CONT to(RANGE &&r)
Definition: ranges.h:39
xAOD::CaloCluster_v1::OOC_WEIGHT_DigiHSTruth
@ OOC_WEIGHT_DigiHSTruth
Out-of-cluster weight (E_ooc/E_w)
Definition: CaloCluster_v1.h:302
xAOD::CaloCluster_v1::ENG_CALIB_DEAD_TILEG3
@ ENG_CALIB_DEAD_TILEG3
Attached Calibration Hit energy in dead material before scintillator.
Definition: CaloCluster_v1.h:235
xAOD::CaloCluster_v1::SECOND_R_DigiHSTruth
@ SECOND_R_DigiHSTruth
Second Moment in .
Definition: CaloCluster_v1.h:269
xAOD::CaloCluster_v1::altPhi
flt_t altPhi() const
Get in signal state ALTCALIBRATED.
xAOD::CaloCluster_v1::FIRST_ETA
@ FIRST_ETA
First Moment in .
Definition: CaloCluster_v1.h:125
xAOD::IParticle::IParticle
IParticle()=default
SG::IAuxElement::setIndex
void setIndex(size_t index)
Set the index of this element within its container.
xAOD::CaloCluster_v1::ENG_FRAC_EM_DigiHSTruth
@ ENG_FRAC_EM_DigiHSTruth
Energy fraction in EM calorimeters.
Definition: CaloCluster_v1.h:281
xAOD::CaloCluster_v1::DELTA_THETA
@ DELTA_THETA
Angular shower axis deviation ( ) from IP-to-Center.
Definition: CaloCluster_v1.h:131
runIDAlign.accumulate
accumulate
Update flags based on parser line args.
Definition: runIDAlign.py:63
xAOD::CaloCluster_v1::eSample
float eSample(const CaloSample sampling) const
Definition: CaloCluster_v1.cxx:514
a
TList * a
Definition: liststreamerinfos.cxx:10
columnar::empty
bool empty() const noexcept
Definition: ObjectRange.h:129
InDetDD::other
@ other
Definition: InDetDD_Defs.h:16
xAOD::CaloCluster_v1::addCellLink
void addCellLink(CaloClusterCellLink *CCCL)
Definition: CaloCluster_v1.h:724
xAOD::CaloCluster_v1::ENG_CALIB_DEAD_TOT
@ ENG_CALIB_DEAD_TOT
Attached Calibration Hit energy in dead material.
Definition: CaloCluster_v1.h:227
SG::AuxVectorData::clearDecorations
bool clearDecorations() const
Clear all decorations.
Definition: AuxVectorData.cxx:653
xAOD::CaloCluster_v1::extractLowerCount
UNSIGNED extractLowerCount(ncells_store_t::value_type cdata) const
extract lower cell count from data
Definition: CaloCluster_v1.h:696
xAOD::CaloCluster_v1::rawPhi
flt_t rawPhi() const
Get in signal state UNCALIBRATED.
xAOD::CaloCluster_v1::ALTCALIBRATED
@ ALTCALIBRATED
Definition: CaloCluster_v1.h:311
SG::ExcBadPrivateStore
Exception — Bad use of private store.
Definition: Control/AthContainers/AthContainers/exceptions.h:113
xAOD::CaloCluster_v1::SIGNIFICANCE
@ SIGNIFICANCE
Cluster significance.
Definition: CaloCluster_v1.h:160
ref
const boost::regex ref(r_ef)
xAOD::CaloCluster_v1::PHI2CALOFRAME
@ PHI2CALOFRAME
Phi of sampling 2 in the calo frame (for egamma)
Definition: CaloCluster_v1.h:195
CaloCell_ID_FCS::PreSamplerE
@ PreSamplerE
Definition: FastCaloSim_CaloCell_ID.h:23
CaloCell_ID_FCS::PreSamplerB
@ PreSamplerB
Definition: FastCaloSim_CaloCell_ID.h:19
xAOD::CaloCluster_v1::HAD_WEIGHT_DigiHSTruth
@ HAD_WEIGHT_DigiHSTruth
Hadronic weight (E_w/E_em)
Definition: CaloCluster_v1.h:301
xAOD::CaloCluster_v1::N_BAD_HV_CELLS
@ N_BAD_HV_CELLS
number of cells with bad HV
Definition: CaloCluster_v1.h:171
SG::Accessor::isAvailableWritable
bool isAvailableWritable(ELT &e) const
Test to see if this variable exists in the store and is writable.
xAOD::CaloCluster_v1::getOwnCellLinks
CaloClusterCellLink * getOwnCellLinks()
Get a pointer to the owned CaloClusterCellLink object (non-const version)
Definition: CaloCluster_v1.h:765
xAOD::CaloCluster_v1::DELTA_ALPHA_DigiHSTruth
@ DELTA_ALPHA_DigiHSTruth
Definition: CaloCluster_v1.h:273
SG::IConstAuxStore::getDecorIDs
virtual const SG::auxid_set_t & getDecorIDs() const =0
Return a set of identifiers for decorations in this store.
xAOD::CaloCluster_v1::cell_end
const_cell_iterator cell_end() const
Definition: CaloCluster_v1.h:816
xAOD::CaloCluster_v1::DELTA_THETA_DigiHSTruth
@ DELTA_THETA_DigiHSTruth
Definition: CaloCluster_v1.h:272
LArNewCalib_DelayDump_OFC_Cali.idx
idx
Definition: LArNewCalib_DelayDump_OFC_Cali.py:69
xAOD::CaloCluster_v1::BAD_CELLS_CORR_E_DigiHSTruth
@ BAD_CELLS_CORR_E_DigiHSTruth
Definition: CaloCluster_v1.h:290
xAOD::CaloCluster_v1::DM_WEIGHT_DigiHSTruth
@ DM_WEIGHT_DigiHSTruth
Dead-material weight (E_dm/E_ooc)
Definition: CaloCluster_v1.h:303
xAOD::CaloCluster_v1::ENG_CALIB_DEAD_L
@ ENG_CALIB_DEAD_L
Attached Calibration Hit energy in dead material with loose matching (Angle < 1.0).
Definition: CaloCluster_v1.h:211
xAOD::CaloCluster_v1::LATERAL
@ LATERAL
Normalized lateral moment.
Definition: CaloCluster_v1.h:140
xAOD::CaloCluster_v1::altEta
flt_t altEta() const
Get in signal state ALTCALIBRATED.
SG::auxid_set_t
A set of aux data identifiers.
Definition: AuxTypes.h:47
SG::ConstAccessor::isAvailable
bool isAvailable(const ELT &e) const
Test to see if this variable exists in the store.
xAOD::CaloCluster_v1::cell_cbegin
const_cell_iterator cell_cbegin() const
Definition: CaloCluster_v1.h:798
xAOD::CaloCluster_v1::SW_softe
@ SW_softe
Definition: CaloCluster_v1.h:103
xAOD::CaloCluster_v1::ENG_FRAC_MAX_DigiHSTruth
@ ENG_FRAC_MAX_DigiHSTruth
Energy fraction of hottest cell.
Definition: CaloCluster_v1.h:282
xAOD::CaloCluster_v1::SECOND_TIME
@ SECOND_TIME
Second moment of cell time distribution in cluster.
Definition: CaloCluster_v1.h:183
xAOD::CaloCluster_v1::DELTA_ALPHA
@ DELTA_ALPHA
Angular shower axis deviation ( ) from IP-to-Center.
Definition: CaloCluster_v1.h:133
xAOD::CaloCluster_v1::ENG_CALIB_FRAC_HAD
@ ENG_CALIB_FRAC_HAD
Calibration Hit energy inside the cluster caused by charged pi+ and pi-.
Definition: CaloCluster_v1.h:254
xAOD::CaloCluster_v1::CELL_SIGNIFICANCE
@ CELL_SIGNIFICANCE
Cell significance = E/sig of the cell with the largest |E|/sig.
Definition: CaloCluster_v1.h:162
SG::AuxVectorData
Manage lookup of vectors of auxiliary data.
Definition: AuxVectorData.h:168
ATLAS_THREAD_SAFE
#define ATLAS_THREAD_SAFE
Definition: checker_macros.h:211
SG::ConstAuxElement::releasePrivateStoreForDtor
void releasePrivateStoreForDtor()
Out-of-line portion of destructor.
Definition: AuxElement.cxx:80
xAOD::CaloCluster_v1::ENG_CALIB_OUT_L
@ ENG_CALIB_OUT_L
Attached Calibration Hit energy outside clusters but inside the calorimeter with loose matching (Angl...
Definition: CaloCluster_v1.h:199
xAOD::CaloCluster_v1::ENG_CALIB_DEAD_EME0
@ ENG_CALIB_DEAD_EME0
Attached Calibration Hit energy in dead material before EME0, between EME0 and EME1.
Definition: CaloCluster_v1.h:238
SG::AuxElement::container
const SG::AuxVectorData * container() const
Return the container holding this element.
xAOD::CaloCluster_v1::ENG_CALIB_OUT_T
@ ENG_CALIB_OUT_T
Attached Calibration Hit energy outside clusters but inside the calorimeter with tight matching (Angl...
Definition: CaloCluster_v1.h:207
xAOD::CaloCluster_v1::BAD_CELLS_CORR_E
@ BAD_CELLS_CORR_E
Energy of bad cells with energy density average correction applied.
Definition: CaloCluster_v1.h:156
xAOD::CaloCluster_v1::SW_35ele
@ SW_35ele
Definition: CaloCluster_v1.h:92
xAOD::CaloCluster_v1::type
virtual Type::ObjectType type() const
The type of the object as a simple enumeration.
Definition: CaloCluster_v1.cxx:489
xAOD::CaloCluster_v1::hasSampling
bool hasSampling(const CaloSample s) const
Checks if certain smapling contributes to cluster.
Definition: CaloCluster_v1.h:882
xAOD::CaloCluster_v1::ETACALOFRAME
@ ETACALOFRAME
Eta in the calo frame (for egamma)
Definition: CaloCluster_v1.h:190
xAOD::CaloCluster_v1::AVG_TILE_Q_DigiHSTruth
@ AVG_TILE_Q_DigiHSTruth
Definition: CaloCluster_v1.h:297
xAOD::CaloCluster_v1::N_BAD_CELLS_CORR
@ N_BAD_CELLS_CORR
Number of bad cells with energy density average correction applied.
Definition: CaloCluster_v1.h:154
xAOD::CaloCluster_v1::LONGITUDINAL
@ LONGITUDINAL
Normalized longitudinal moment.
Definition: CaloCluster_v1.h:141
xAOD::CaloCluster_v1::setAltPhi
void setAltPhi(flt_t)
Set for signal state ALTCALIBRATED.
Definition: CaloCluster_v1.cxx:338
xAOD::CaloCluster_v1::samplingPattern
unsigned samplingPattern() const
Access to sampling pattern (one bit per sampling) (Method may be removed later)
Definition: CaloCluster_v1.h:867
xAOD::CaloCluster_v1::altM
flt_t altM() const
Get mass in signal state ALTCALIBRATED.
xAOD::CaloCluster_v1::NVERTEX_FRACTION
@ NVERTEX_FRACTION
slightly updated vertex fraction more pile up independent (similar to nJVF)
Definition: CaloCluster_v1.h:188
dq_make_web_display.cl
cl
print [x.__class__ for x in toList(dqregion.getSubRegions()) ]
Definition: dq_make_web_display.py:26
xAOD::CaloCluster_v1::N_BAD_CELLS
@ N_BAD_CELLS
number of bad cells
Definition: CaloCluster_v1.h:152
xAOD::CaloCluster_v1::ENG_FRAC_CORE_DigiHSTruth
@ ENG_FRAC_CORE_DigiHSTruth
Definition: CaloCluster_v1.h:283
SG::IAuxElement::hadPrivateData
bool hadPrivateData() const
True if this element had private data before it was added to its current container.
xAOD::CaloCluster_v1::e
virtual double e() const
The total energy of the particle.
Definition: CaloCluster_v1.cxx:265
xAOD::CaloCluster_v1::CENTER_Y
@ CENTER_Y
Cluster Centroid ( )
Definition: CaloCluster_v1.h:135
xAOD::CaloCluster_v1::ENG_CALIB_DEAD_EMB0
@ ENG_CALIB_DEAD_EMB0
Attached Calibration Hit energy in dead material before EMB0, between EMB0 and EMB1.
Definition: CaloCluster_v1.h:230
plotBeamSpotMon.nc
int nc
Definition: plotBeamSpotMon.py:83
SG::IConstAuxStore::getAuxIDs
virtual const SG::auxid_set_t & getAuxIDs() const =0
Return a set of identifiers for existing data items in this store.
xAOD::CaloCluster_v1::UNKNOWN
@ UNKNOWN
Definition: CaloCluster_v1.h:308
SG::AuxElement::setStore1
AuxElementStandaloneData * setStore1(const SG::IConstAuxStore *store)
Set the store associated with this object.
Definition: AuxElement.cxx:461
xAOD::CaloCluster_v1::CENTER_X_DigiHSTruth
@ CENTER_X_DigiHSTruth
Cluster Centroid ( )
Definition: CaloCluster_v1.h:274
xAOD::momentContainerAccessorV1
const SG::AuxElement::Accessor< xAOD::CaloCluster_v1::ncells_store_t > * momentContainerAccessorV1(xAOD::CaloCluster_v1::MomentType moment)
Helper function for managing cluster moment Accessor objects.
Definition: CaloClusterAccessors_v1.cxx:155
xAOD::CaloCluster_v1::ENG_POS
@ ENG_POS
Total positive Energy of this cluster.
Definition: CaloCluster_v1.h:159
xAOD::CaloCluster_v1::setRawPhi
void setRawPhi(flt_t)
Set for signal state UNCALIBRATED.
Definition: CaloCluster_v1.cxx:294
CaloPhiRange::diff
static double diff(double phi1, double phi2)
simple phi1 - phi2 calculation, but result is fixed to respect range.
Definition: CaloPhiRange.cxx:22
xAOD::CaloCluster_v1::CELL_SIGNIFICANCE_DigiHSTruth
@ CELL_SIGNIFICANCE_DigiHSTruth
Definition: CaloCluster_v1.h:294
CxxUtils::ConcurrentBitset::test
bool test(bit_t bit) const
Test to see if a bit is set.
xAOD::CaloCluster_v1::BADLARQ_FRAC
@ BADLARQ_FRAC
Energy fraction of LAr cells with quality larger than a given cut.
Definition: CaloCluster_v1.h:158