ATLAS Offline Software
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>>
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>>
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>>
bool isAvailableWritable (const std::string &name, const std::string &clsname="")
 Check if an aux variable is available for writing. 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>>
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>>
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>>
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>>
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>>
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)
 Create a new private store for this object and copy aux data. More...
 
template<class U1 >
void makePrivateStore (const U1 *other)
 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...
 
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=-999) 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 *)
 Create a new private store for this object and copy aux data. More...
 
void makePrivateStore1 (const AuxElement *other)
 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)
 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 59 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 522 of file AuxElement.h.

◆ CaloSample

Definition at line 66 of file CaloCluster_v1.h.

◆ cell_iterator

Iterator of the underlying CaloClusterCellLink (non-const version)

Definition at line 816 of file CaloCluster_v1.h.

◆ const_cell_iterator

Iterator of the underlying CaloClusterCellLink (explicitly const version)

Definition at line 793 of file CaloCluster_v1.h.

◆ const_iterator

STL-compatible iterators.

Definition at line 822 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 519 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 525 of file AuxElement.h.

◆ flt_t

Definition at line 64 of file CaloCluster_v1.h.

◆ FourMom_t

Definition of the 4-momentum type.

Definition at line 343 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 346 of file CaloCluster_v1.h.

◆ iterator

Definition at line 823 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 80 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 72 of file CaloCluster_v1.h.

◆ TypelessConstAccessor

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

Definition at line 516 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 86 of file CaloCluster_v1.h.

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

◆ 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 120 of file CaloCluster_v1.h.

120  {
121  FIRST_PHI = 101,
122  FIRST_ETA = 102,
123  SECOND_R = 201,
124  SECOND_LAMBDA = 202,
125  DELTA_PHI = 301,
128  DELTA_THETA = 302,
130  DELTA_ALPHA = 303,
131  CENTER_X = 401,
132  CENTER_Y = 402,
133  CENTER_Z = 403,
134  CENTER_MAG = 404,
136  CENTER_LAMBDA = 501,
137  LATERAL = 601,
138  LONGITUDINAL = 602,
139  ENG_FRAC_EM = 701,
140  ENG_FRAC_MAX = 702,
141  ENG_FRAC_CORE = 703,
143  FIRST_ENG_DENS = 804,
144  SECOND_ENG_DENS = 805,
145  ISOLATION = 806,
148  ENG_BAD_CELLS = 807,
149  N_BAD_CELLS = 808,
150  N_BAD_CELLS_CORR = 809,
153  BAD_CELLS_CORR_E = 813,
155  BADLARQ_FRAC = 821,
156  ENG_POS = 822,
157  SIGNIFICANCE = 823,
158  CELL_SIGNIFICANCE = 824,
161  CELL_SIG_SAMPLING = 825,
163  AVG_LAR_Q = 826,
165  AVG_TILE_Q = 827,
167  ENG_BAD_HV_CELLS = 828,
168  N_BAD_HV_CELLS = 829,
169  PTD = 830,
172  MASS = 831,
173  EM_PROBABILITY = 900,
174  HAD_WEIGHT = 901,
175  OOC_WEIGHT = 902,
176  DM_WEIGHT = 903,
177  TILE_CONFIDENCE_LEVEL = 904,
180  SECOND_TIME = 910,
182  NCELL_SAMPLING = 920,
183 
184  VERTEX_FRACTION = 1000,
185  NVERTEX_FRACTION = 1001,
187  ETACALOFRAME = 1100,
188  PHICALOFRAME = 1101,
189  ETA1CALOFRAME = 1102,
190  PHI1CALOFRAME = 1103,
191  ETA2CALOFRAME = 1104,
192  PHI2CALOFRAME = 1105,
193 
195  ENG_CALIB_TOT = 10001,
196  ENG_CALIB_OUT_L = 10010,
200  ENG_CALIB_OUT_M = 10011,
204  ENG_CALIB_OUT_T = 10012,
208  ENG_CALIB_DEAD_L = 10020,
211  ENG_CALIB_DEAD_M = 10021,
214  ENG_CALIB_DEAD_T = 10022,
217  ENG_CALIB_EMB0 = 10030,
220  ENG_CALIB_EME0 = 10031,
222  ENG_CALIB_TILEG3 = 10032,
224  ENG_CALIB_DEAD_TOT = 10040,
227  ENG_CALIB_DEAD_EMB0 = 10041,
230  ENG_CALIB_DEAD_TILE0 = 10042,
232  ENG_CALIB_DEAD_TILEG3 = 10043,
235  ENG_CALIB_DEAD_EME0 = 10044,
238  ENG_CALIB_DEAD_HEC0 = 10045,
241  ENG_CALIB_DEAD_FCAL = 10046,
243  ENG_CALIB_DEAD_LEAKAGE = 10047,
246  ENG_CALIB_DEAD_UNCLASS = 10048,
248  ENG_CALIB_FRAC_EM = 10051,
251  ENG_CALIB_FRAC_HAD = 10052,
253  ENG_CALIB_FRAC_REST = 10053,
254 
255 
256  ENERGY_DigiHSTruth = 40101,
257  ETA_DigiHSTruth = 401024,
258  PHI_DigiHSTruth = 401034,
259  TIME_DigiHSTruth = 40104,
260  ENERGY_CALIB_DigiHSTruth = 40105,
261  ETA_CALIB_DigiHSTruth = 40106,
262  PHI_CALIB_DigiHSTruth = 40107,
263  TIME_CALIB_DigiHSTruth = 40108,
264  FIRST_PHI_DigiHSTruth = 50101,
265  FIRST_ETA_DigiHSTruth = 50102,
266  SECOND_R_DigiHSTruth = 50201,
267  SECOND_LAMBDA_DigiHSTruth = 50202,
268  DELTA_PHI_DigiHSTruth = 50301,
269  DELTA_THETA_DigiHSTruth = 50302,
270  DELTA_ALPHA_DigiHSTruth = 50303,
271  CENTER_X_DigiHSTruth = 50401,
272  CENTER_Y_DigiHSTruth = 50402,
273  CENTER_Z_DigiHSTruth = 50403,
274  CENTER_MAG_DigiHSTruth = 50404,
275  CENTER_LAMBDA_DigiHSTruth = 50501,
276  LATERAL_DigiHSTruth = 50601,
277  LONGITUDINAL_DigiHSTruth = 50602,
278  ENG_FRAC_EM_DigiHSTruth = 50701,
279  ENG_FRAC_MAX_DigiHSTruth = 50702,
283  ISOLATION_DigiHSTruth = 50806,
285  N_BAD_CELLS_DigiHSTruth = 50808,
288  BADLARQ_FRAC_DigiHSTruth = 50821,
289  ENG_POS_DigiHSTruth = 50822,
290  SIGNIFICANCE_DigiHSTruth = 50823,
293  AVG_LAR_Q_DigiHSTruth = 50826,
294  AVG_TILE_Q_DigiHSTruth = 50827,
298  HAD_WEIGHT_DigiHSTruth = 50901,
299  OOC_WEIGHT_DigiHSTruth = 50902,
300  DM_WEIGHT_DigiHSTruth = 50903
301  };

◆ 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 304 of file CaloCluster_v1.h.

304  {
305  UNKNOWN = -1,
306  UNCALIBRATED = 0,
307  CALIBRATED = 1,
308  ALTCALIBRATED = 2,
309  NSTATES = 3
310  };

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 771 of file CaloCluster_v1.h.

771  {
772  if (!m_cellLinks) {
773  return false;
774  }
775  return m_cellLinks->addCell(index, weight);
776  }

◆ addCellLink() [1/2]

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

Definition at line 721 of file CaloCluster_v1.h.

721  {
722  m_cellLinks.reset(CCCL);
723  }

◆ 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 726 of file CaloCluster_v1.h.

726  {
727  m_cellLinks=std::move(CCCL);
728  }

◆ 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 701 of file CaloCluster_v1.h.

702  { 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.

◆ auxdata() [1/4]

template<class T , class ALLOC = AuxAllocator_t<T>>
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>>
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 >
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 modifyable reference to the decoration

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

97  {
98 
99  return SG::AuxElement::auxdata< T >( name, clsname );
100  }

◆ auxdata() [4/4]

template<class T >
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 115 of file Event/xAOD/xAODBase/xAODBase/IParticle.h.

116  {
117 
118  return SG::AuxElement::auxdata< T >( name, clsname );
119  }

◆ auxdataConst() [1/2]

template<class T , class ALLOC = AuxAllocator_t<T>>
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>>
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>>
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>>
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 828 of file CaloCluster_v1.h.

828 { return cell_begin(); }

◆ begin() [2/2]

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

Definition at line 824 of file CaloCluster_v1.h.

824 { 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 826 of file CaloCluster_v1.h.

826 { return cell_cbegin(); }

◆ cell_begin() [1/2]

cell_iterator xAOD::CaloCluster_v1::cell_begin ( )
inline

Definition at line 818 of file CaloCluster_v1.h.

818 { 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 812 of file CaloCluster_v1.h.

812 { return cell_cbegin(); }

◆ cell_cbegin()

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

Definition at line 795 of file CaloCluster_v1.h.

796  {
798  if (!links) {
800  }
801  return links->begin();
802  }

◆ cell_cend()

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

Definition at line 803 of file CaloCluster_v1.h.

803  {
805  if (!links) {
807  }
808  return getCellLinks()->end();
809  }

◆ cell_end() [1/2]

cell_iterator xAOD::CaloCluster_v1::cell_end ( )
inline

Definition at line 819 of file CaloCluster_v1.h.

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

◆ cell_end() [2/2]

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

Definition at line 813 of file CaloCluster_v1.h.

813 { return cell_cend(); }

◆ cend()

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

Definition at line 827 of file CaloCluster_v1.h.

827 { 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 535 of file AuxElement.cxx.

536 {
537  if (!m_container) return;
538  if (!m_container->hasStore()) return;
540  throw SG::ExcConstAuxData ("clearAux", SG::null_auxid);
541 
543  for (SG::auxid_t auxid : m_container->getWritableAuxIDs()) {
544  r.clear (auxid, *container(), index(), 1);
545  }
546 }

◆ 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 319 of file AuxElement.cxx.

320 {
321  if (container())
322  container()->clearCache();
323 }

◆ 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 385 of file AuxElement.cxx.

386 {
387  if (havePrivateData())
388  return m_container->clearDecorations();
389  return false;
390 }

◆ clearSamplingData()

void xAOD::CaloCluster_v1::clearSamplingData ( )

Clear the sampling data.

Definition at line 717 of file CaloCluster_v1.cxx.

717  {
718 
719  static const Accessor< std::vector< float > > etaAcc( "eta_sampl" );
720  static const Accessor< std::vector< float > > phiAcc( "phi_sampl" );
721  static const Accessor< std::vector< float > > eAcc( "e_sampl" );
722  static const Accessor< std::vector< float > > emaxAcc( "emax_sampl" );
723  static const Accessor< std::vector< float > > etamaxAcc( "etamax_sampl" );
724  static const Accessor< std::vector< float > > phimaxAcc( "phimax_sampl" );
725  static const Accessor< std::vector< float > > etasizeAcc( "etasize_sampl" );
726  static const Accessor< std::vector< float > > phisizeAcc( "phisize_sampl" );
727 
728  static const std::array< const Accessor< std::vector< float > >*, 8 > allAcc = {
729  { &etaAcc, &phiAcc, &eAcc, &emaxAcc, &phimaxAcc, &etamaxAcc,
730  &etasizeAcc, &phisizeAcc } };
731  for (const auto *a : allAcc) {
732  if (a->isAvailableWritable(*this)) {
733  (*a)(*this).clear();
734  }
735  }
736  }

◆ 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)
privateinherited

Copy aux data from another object.

Parameters
otherThe object from which to copy.

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 561 of file AuxElement.cxx.

562 {
563  if (!m_container) return;
564  if (!m_container->hasStore()) return;
566  throw SG::ExcConstAuxData ("copyAux");
567 
568  const SG::AuxVectorData* ocont = other.container();
569 
570  if (!ocont || !ocont->hasStore()) {
571  this->clearAux();
572  return;
573  }
574 
575  size_t oindex = other.index();
576  SG::auxid_set_t other_ids = ocont->getAuxIDs();
577 
579 
580  SG::AuxVectorData& cont = *container();
581  for (SG::auxid_t auxid : other_ids) {
582  r.copy (auxid, cont, index(), *ocont, oindex, 1);
583  }
584 
585  for (SG::auxid_t auxid : m_container->getWritableAuxIDs()) {
586  if (!other_ids.test (auxid)) {
587  r.clear (auxid, cont, index(), 1);
588  }
589  }
590 }

◆ 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 829 of file CaloCluster_v1.h.

829 { return cell_end(); }

◆ end() [2/2]

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

Definition at line 825 of file CaloCluster_v1.h.

825 { 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 563 of file CaloCluster_v1.cxx.

563  {
564  static const Accessor< std::vector <float > > emaxAcc("emax_sampl");
565  if (!emaxAcc.isAvailable( *this )){
566  return 0.0;
567  }
568  return getSamplVarFromAcc(emaxAcc,sampling,0.0); //Return energy 0 in case of failure (eg. sampling not set)
569  }

◆ 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 630 of file CaloCluster_v1.cxx.

630  {
631  if (sample>3) return -999;
634  double energy=0;
635  if (this->hasSampling(barrelSample)) {
636  energy+=eSample(barrelSample); //Check for errorcode? Should not happen...
637  }
638  if (this->hasSampling(endcapSample)) {
639  energy+=eSample(endcapSample);
640  }
641  return energy;
642  }

◆ eSample()

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

Definition at line 521 of file CaloCluster_v1.cxx.

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

◆ et()

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

Definition at line 856 of file CaloCluster_v1.h.

856  {
857  if (this->m() == 0) {
858  return this->pt();
859  }
860 
861  return this->p4().Et();
862  }

◆ 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 644 of file CaloCluster_v1.cxx.

644  {
645  if (sample>3) {return -999;}
648  const bool haveBarrel=this->hasSampling(barrelSample);
649  const bool haveEndcap=this->hasSampling(endcapSample);
650  if (haveBarrel && haveEndcap) {
651  //cluster spans barren and endcap
652  float eBarrel=eSample(barrelSample); //Check for errorcode? Should not happen...
653  float eEndcap=eSample(endcapSample);
654 
655  float etaBarrel=etaSample(barrelSample);
656  float etaEndcap=etaSample(endcapSample);
657  float eSum=eBarrel + eEndcap;
658  if (eSum > 100 /*MeV*/) {
659  //E-weighted average ...
660  if ((eBarrel > 0 && eEndcap > 0) || (eBarrel < 0 && eEndcap < 0))
661  return (eBarrel * etaBarrel + eEndcap * etaEndcap) / eSum;
662  else if (eBarrel > 0)
663  return etaBarrel;
664  else
665  return etaEndcap;
666  }//else eSum==0 case, should never happen
667  return (0.5 * (etaBarrel + etaEndcap));
668  }
669  if (haveBarrel) {
670  return etaSample(barrelSample);
671  }
672  if (haveEndcap) {
673  return etaSample(endcapSample);
674  }
675 
676  //Should never reach this point ...
677  return -999;
678  }

◆ etamax()

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

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

Definition at line 576 of file CaloCluster_v1.cxx.

576  {
577  static const Accessor< std::vector <float > > etamaxAcc("etamax_sampl");
578  if (!etamaxAcc.isAvailable( *this )){
579  return -999;
580  }
581  return getSamplVarFromAcc(etamaxAcc,sampling);
582  }

◆ etaSample()

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

Retrieve barycenter \( \eta \) in a given sample.

Definition at line 532 of file CaloCluster_v1.cxx.

532  {
533  static const Accessor< std::vector <float > > etaAcc("eta_sampl");
534  if (!etaAcc.isAvailable( *this )){
535  return -999;
536  }
537 
538  return getSamplVarFromAcc(etaAcc,sampling);
539  }

◆ etasize()

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

Returns cluster size in \( \eta \) for a given sampling.

Definition at line 603 of file CaloCluster_v1.cxx.

603  {
604  static const Accessor< std::vector <float > > etasizeAcc("etasize_sampl");
605  if (!etasizeAcc.isAvailable( *this )){
606  return -999;
607  }
608  return getSamplVarFromAcc(etasizeAcc, sampling);
609  }

◆ 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 693 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 694 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 335 of file AuxElement.cxx.

336 {
337 #ifdef ATHCONTAINERS_R21_COMPAT
338  if (havePrivateData())
339  return m_container->getConstStore()->getAuxIDs();
340  if (container())
341  return container()->getAuxIDs();
342  static const SG::auxid_set_t null_set;
343  return null_set;
344 #else
346 #endif
347 }

◆ 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 905 of file CaloCluster_v1.cxx.

906  {
907  if (m_cellLinks) {
908  return m_cellLinks.get();
909  }
910  static const Accessor<ElementLink<CaloClusterCellLinkContainer> > accCellLinks("CellLink");
911  if (!accCellLinks.isAvailable(*this)){
912  return nullptr;
913  }
914 
915  const ElementLink<CaloClusterCellLinkContainer>& el=accCellLinks(*this);
916  if (el.isValid()){
917  return *el;
918  }
919 
920  return nullptr;
921  }

◆ getClusterEtaSize()

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

Get eta size from cluster size.

Definition at line 823 of file CaloCluster_v1.cxx.

823  {
824  const unsigned clustersize=clusterSize();
825  unsigned int size = 0;
826  if(clustersize==SW_55ele ||
827  clustersize==SW_55gam ||
828  clustersize==SW_55Econv){
829  size = 5;
830  }else if(clustersize==SW_35ele ||
831  clustersize==SW_37ele ||
832  clustersize==SW_35gam ||
833  clustersize==SW_37gam ||
834  clustersize==SW_35Econv ||
835  clustersize==SW_37Econv){
836  size = 3;
837  }else if(clustersize==SW_7_11){
838  size = 7;
839  }
840 
841  return size;
842 
843  }

◆ getClusterPhiSize()

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

Get phi size from cluster size.

Definition at line 845 of file CaloCluster_v1.cxx.

845  {
846  const ClusterSize clustersize=clusterSize();
847  unsigned int size = 0;
848  if(clustersize==SW_55ele ||
849  clustersize==SW_55gam ||
850  clustersize==SW_55Econv ||
851  clustersize==SW_35ele ||
852  clustersize==SW_35gam ||
853  clustersize==SW_35Econv){
854  size = 5;
855  }else if(
856  clustersize==SW_37ele ||
857  clustersize==SW_37gam ||
858  clustersize==SW_37Econv){
859  size = 7;
860  }else if(clustersize==SW_7_11){
861  size = 11;
862  }
863  return size;
864  }

◆ 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 284 of file AuxElement.cxx.

285 {
286  if (havePrivateData()) {
287  return m_container->getConstStore();
288  }
289  return 0;
290 }

◆ 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 906 of file CaloCluster_v1.h.

906  {
907  double value=-999;
908  (void)this->retrieveMoment(type,value);
909  return value;
910  }

◆ 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 427 of file CaloCluster_v1.h.

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

◆ 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 762 of file CaloCluster_v1.h.

762  {
763  return m_cellLinks.get();
764  }

◆ getSamplVarFromAcc()

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

Definition at line 494 of file CaloCluster_v1.cxx.

494  {
495  const std::vector<float>& vec=acc(*this);
496  const unsigned idx=sampVarIdx(sampling);
497  if (idx<vec.size() ) {
498  return vec[idx];
499  }
500 
501  //std::cout <<Sampling " << sampling << ", Pattern=" << std::hex <<m_samplingPattern << std::dec << ", index=" << idx << " size=" << vec.size() << std::endl;
502  return errorvalue;
503  }

◆ getSisterCluster()

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

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

Definition at line 957 of file CaloCluster_v1.cxx.

957  {
958  static const Accessor< ElementLink< xAOD::CaloClusterContainer_v1 > > accSisterCluster("SisterCluster");
959  if (!accSisterCluster.isAvailable(*this)){
960  return nullptr;
961  }
962  const ElementLink<CaloClusterContainer_v1>& el = accSisterCluster(*this);
963  if (el.isValid()) {
964  return *el;
965  }
966  return nullptr;
967  }

◆ 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 969 of file CaloCluster_v1.cxx.

969  {
970  static const Accessor< ElementLink< xAOD::CaloClusterContainer_v1 > > accSisterCluster("SisterCluster");
972  if (!accSisterCluster.isAvailable(*this)){
973  return empty;
974  }
975  return accSisterCluster(*this);
976  }

◆ 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 299 of file AuxElement.cxx.

300 {
301  if (havePrivateData()) {
302 #ifdef ATHCONTAINERS_R21_COMPAT
304 #else
305  SG::AuxVectorData* container_nc ATLAS_THREAD_SAFE = const_cast<SG::AuxVectorData*>(container());
306 #endif
307  return container_nc->getStore();
308  }
309  return 0;
310 }

◆ 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 368 of file AuxElement.cxx.

369 {
370  if (havePrivateData())
371  return m_container->hasNonConstStore();
372  return false;
373 }

◆ hasSampling()

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

Checks if certain smapling contributes to cluster.

Definition at line 890 of file CaloCluster_v1.h.

890  {
891  const unsigned pattern=samplingPattern();
892  return (pattern & (0x1U<<(uint32_t)s));
893  }

◆ 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 355 of file AuxElement.cxx.

356 {
357  if (havePrivateData())
358  return m_container->hasStore();
359  return false;
360 }

◆ 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 896 of file CaloCluster_v1.h.

896  {
898  }

◆ 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 901 of file CaloCluster_v1.h.

901  {
903  }

◆ 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 759 of file CaloCluster_v1.cxx.

759  {
760  const Accessor<ncells_store_t>* acc = momentContainerAccessorV1(type);
761  // only implemented for one moment
762  if ( acc != nullptr ) { (*acc)(*this) = values; }
763  }

◆ insertMoment() [2/2]

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

Definition at line 754 of file CaloCluster_v1.cxx.

754  {
755  const Accessor<float>* acc = momentAccessorV1(type);
756  if ( acc != nullptr ) { (*acc)(*this) = value; } // new protection needed non-scalar moment type!
757  }

◆ isAvailable()

template<class T >
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 131 of file Event/xAOD/xAODBase/xAODBase/IParticle.h.

132  {
133 
134  return SG::AuxElement::isAvailable< T >( name, clsname );
135  }

◆ isAvailableWritable() [1/2]

template<class T , class ALLOC = AuxAllocator_t<T>>
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 >
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 147 of file Event/xAOD/xAODBase/xAODBase/IParticle.h.

148  {
149 
150  return SG::AuxElement::isAvailableWritable< T >( name, clsname );
151  }

◆ isAvailableWritableAsDecoration()

template<class T , class ALLOC = AuxAllocator_t<T>>
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 699 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 172 of file AuxElement.cxx.

173 {
174  if (m_container) {
175  throw SG::ExcBadPrivateStore ("store already exists");
176  }
177 
181 }

◆ makePrivateStore() [2/3]

template<class U1 >
void SG::AuxElement::makePrivateStore ( const U1 &  other)
inherited

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

Parameters
otherThe object from which aux data should be copied.

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)
inherited

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

Parameters
otherThe object from which aux data should be copied.

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)
privateinherited

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

Parameters
otherThe object from which aux data should be copied.

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 521 of file AuxElement.cxx.

522 {
524  if (other)
525  this->copyAux (*other);
526 }

◆ makePrivateStore1() [2/2]

void SG::AuxElement::makePrivateStore1 ( const void *  )
privateinherited

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

Parameters
otherThe object from which aux data should be copied.

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 884 of file CaloCluster_v1.h.

884  {
886  return std::popcount(pattern);
887  }

◆ 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 818 of file CaloCluster_v1.cxx.

818  {
819  std::vector<int> ncells;
820  return getNumberCellsInSampling<std::vector<int> >(ncells) ? std::accumulate(ncells.begin(),ncells.end(),0) : 0;
821  }

◆ 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 802 of file CaloCluster_v1.cxx.

802  {
803  const Accessor<ncells_store_t>* acc = momentContainerAccessorV1(NCELL_SAMPLING);
804  //
805  if ( acc != nullptr && acc->isAvailable(*this) ) {
806  size_t idx((size_t)samp);
807  return ( idx < (*acc)(*this).size() ) // valid sampling
808  ? isInnerWheel // check if inner wheel cell count is requested
809  ? extractUpperCount<int>((*acc)(*this)[idx])
810  : extractLowerCount<int>((*acc)(*this)[idx])
811  : 0;
812  } else {
813  return 0;
814  }
815  }

◆ 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 680 of file CaloCluster_v1.cxx.

680  {
681  if (sample>3) {return -999;}
684  const bool haveBarrel=this->hasSampling(barrelSample);
685  const bool haveEndcap=this->hasSampling(endcapSample);
686  if (haveBarrel && haveEndcap) {
687  //cluster spans barren and endcap
688  float eBarrel=eSample(barrelSample); //Check for errorcode? Should not happen...
689  float eEndcap=eSample(endcapSample);
690  float eSum=eBarrel+eEndcap;
691  float phiBarrel=phiSample(barrelSample);
692  float phiEndcap=phiSample(endcapSample);
693  if (eSum != 0.0) {
694  if ((eBarrel > 0 && eEndcap > 0) || (eBarrel < 0 && eEndcap < 0)) {
695  float phiSum = eSum * phiBarrel + eEndcap * CaloPhiRange::diff(phiEndcap, phiBarrel);
696  return CaloPhiRange::fix(phiSum / eSum);
697  } else if (eBarrel > 0)
698  return phiBarrel;
699  else
700  return phiEndcap;
701  }
702  // energy==0 case, should never happen
703  return CaloPhiRange::fix(0.5 * (phiBarrel + phiEndcap));
704  }
705  if (haveBarrel) {
706  return phiSample(barrelSample);
707  }
708  if (haveEndcap) {
709  return phiSample(endcapSample);
710  }
711 
712  //Should never reach this point ...
713  return -999;
714  }

◆ phimax()

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

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

Definition at line 589 of file CaloCluster_v1.cxx.

589  {
590  static const Accessor< std::vector <float > > phimaxAcc("phimax_sampl");
591  if (!phimaxAcc.isAvailable( *this )){
592  return -999;
593  }
594  return getSamplVarFromAcc(phimaxAcc,sampling);
595  }

◆ phiSample()

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

Retrieve barycenter \( \varphi \) in a given sample.

Definition at line 547 of file CaloCluster_v1.cxx.

547  {
548  static const Accessor< std::vector <float > > phiAcc("phi_sampl");
549  if (!phiAcc.isAvailable( *this )){
550  return -999;
551  }
552 
553  return getSamplVarFromAcc(phiAcc,sampling);
554  }

◆ phisize()

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

Returns cluster size in \( \varphi \) for a given sampling.

Definition at line 616 of file CaloCluster_v1.cxx.

616  {
617  static const Accessor< std::vector <float > > phisizeAcc("phisize_sampl");
618  if (!phisizeAcc.isAvailable( *this )){
619  return -999;
620  }
621  return getSamplVarFromAcc(phisizeAcc,sampling);
622  }

◆ 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 840 of file CaloCluster_v1.h.

840 {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 845 of file CaloCluster_v1.h.

845 {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 190 of file AuxElement.cxx.

191 {
192  if (hadPrivateData()) {
193  // We had a private store, but it was released because this object
194  // was added to a container. Just forget about it.
196  return;
197  }
198 
199  if (!havePrivateData() ||
200  !m_container ||
201  typeid(*m_container) != typeid(AuxElementPrivateData))
202  {
203  throw SG::ExcBadPrivateStore ("no private store exists");
204  }
205 
208  delete m_container;
209  m_container = 0;
210 }

◆ releasePrivateStoreForDtor()

void SG::AuxElement::releasePrivateStoreForDtor ( )
privateinherited

Out-of-line portion of destructor.

Delete a private store if we have one.

Definition at line 398 of file AuxElement.cxx.

399 {
400 #ifdef ATHCONTAINERS_R21_COMPAT
401  if (havePrivateData()) {
402  delete m_container;
403  }
404 #else
406 #endif
407 }

◆ 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 923 of file CaloCluster_v1.cxx.

923  {
924  //1. Get a ptr to the CaloClusterCellLink
926  if (!cccl){
927  return false; // No link found (expected for TopoClusters in xAOD files)
928  }
929  // 2. Remove cell
930  return cccl->removeCell(ptrToDelete);
931  }

◆ retrieveMoment() [1/2]

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

Retrieve individual moment.

Definition at line 738 of file CaloCluster_v1.cxx.

738  {
739 
740  // Get the moment accessor:
742  if (!acc){
743  return false;
744  }
745  // Check if the moment is available:
746  if( ! acc->isAvailable( *this ) ) {
747  return false;
748  }
749  // Retrieve the moment:
750  value = ( *acc )( *this );
751  return true;
752  }

◆ 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 765 of file CaloCluster_v1.cxx.

765  {
766  const Accessor<ncells_store_t>* acc = momentContainerAccessorV1(type);
767  // only known moments of this type
768  if ( acc == nullptr || !acc->isAvailable(*this) ) { return false; }
769  // retrieve data
770  values = (*acc)(*this);
771  return true;
772  }

◆ 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 835 of file CaloCluster_v1.h.

835 {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 864 of file CaloCluster_v1.h.

864  {
865  return m_samplingPattern;
866  }

◆ sampVarIdx()

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

Definition at line 868 of file CaloCluster_v1.h.

868  {
870  //std::cout << "Pattern=" << std::hex << pattern << std::dec << ", Sampling=" << s << std::endl;
871  if ((pattern & (0x1U << s)) == 0) {
872  return CaloSampling::Unknown;
873  }
874  if (s == 0) {
875  return 0;
876  } // shifting a 32-bit int by 32 bits is undefined behavior!
877  return std::popcount(pattern << (32 - s));
878  // Explanation: Need to get the number of bit (=samples) before the sampling in question
879  // Shift to the left, so bits after the sampling in question fall off the 32bit integer
880  // Then use popcount to count the numbers of 1 in the rest
881  }

◆ 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 987 of file CaloCluster_v1.cxx.

987  {
988  if ( m_secondTime < 0. ) {
989  double stime(0.); return this->retrieveMoment(SECOND_TIME,stime) ? stime : 0.;
990  } else {
991  return m_secondTime;
992  }
993  }

◆ 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 571 of file CaloCluster_v1.cxx.

571  {
572  static const Accessor< std::vector <float > > emaxAcc("emax_sampl");
573  return setSamplVarFromAcc(emaxAcc,sampling,eMax);
574  }

◆ 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 526 of file CaloCluster_v1.cxx.

526  {
527  static const Accessor< std::vector <float > > eAcc("e_sampl");
528  return setSamplVarFromAcc(eAcc,sampling,theEnergy);
529  }

◆ 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 541 of file CaloCluster_v1.cxx.

541  {
542  static const Accessor< std::vector <float > > etaAcc("eta_sampl");
543  return setSamplVarFromAcc(etaAcc,sampling,eta);
544  }

◆ 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 584 of file CaloCluster_v1.cxx.

584  {
585  static const Accessor< std::vector <float > > etamaxAcc("etamax_sampl");
586  return setSamplVarFromAcc(etamaxAcc,sampling,etaMax);
587  }

◆ 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 611 of file CaloCluster_v1.cxx.

611  {
612  static const Accessor< std::vector <float > > etasizeAcc("etasize_sampl");
613  return setSamplVarFromAcc(etasizeAcc,sampling,etaSize);
614  }

◆ 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 462 of file AuxElement.cxx.

463 {
464 #ifdef ATHCONTAINERS_R21_COMPAT
465  if (hadPrivateData()) {
466  // We had a private store, but it was released because we were added
467  // to a container.
468 
469  if (container == 0) {
470  // We're being moved out of the container. Make a new private
471  // store, copy the data, and switch to it.
472  auto privateData = new SG::AuxElementPrivateData;
473  AuxElement to (privateData, 0);
474  to.copyAux (*this);
477  m_container = privateData;
478  return true;
479  }
480  }
481  else if (havePrivateData() &&
482  typeid(*m_container) == typeid(AuxElementPrivateData))
483  {
484  // We currently have a private store.
485 
486  if (container != 0 && container != m_container) {
487  // We're being added to a container.
488  // Aux data has already been copied.
489  // Release private store.
492  delete m_container;
494  return false;
495  }
496  }
497  else {
498  // We have a standalone store.
499  throw SG::ExcBadPrivateStore ("Attempt to add/remove a standalone object "
500  "from a container.");
501  }
502 
505  return false;
506 #else
508 #endif
509 }

◆ 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 887 of file CaloCluster_v1.cxx.

889  {
890  if (!m_cellLinks || !cccl) {
891  return false;
892  }
893  // The links are now owned by the container
894  cccl->push_back(m_cellLinks.release());
895  const size_t idx = cccl->size() - 1; // Use index for speed
896  static const Accessor<ElementLink<CaloClusterCellLinkContainer>>
897  accCellLinks("CellLink");
898  const CaloClusterCellLinkContainer& ref = *cccl;
900  accCellLinks(*this) = el;
901  return true;
902  }

◆ 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 872 of file CaloCluster_v1.cxx.

874  {
875  if (!m_cellLinks || !cccl){
876  return false;
877  }
878  cccl->push_back(m_cellLinks.release());//The links are now owned by the container
879  const size_t idx=cccl->size()-1; //Use index for speed
880  static const Accessor<ElementLink<CaloClusterCellLinkContainer> > accCellLinks("CellLink");
881  const CaloClusterCellLinkContainer& ref=*cccl;
883  accCellLinks(*this)=el;
884  return true;
885  }

◆ 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 695 of file CaloCluster_v1.h.

696  { 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 790 of file CaloCluster_v1.cxx.

790  {
791  const Accessor<ncells_store_t>* acc = momentContainerAccessorV1(NCELL_SAMPLING); // should always be valid!
792  // cast to cell counter type and limit value range
793  ncells_t nc(adjustToRange<int,ncells_t>(ncells));
794  // check index and extend store if needed
795  size_t idx((size_t)samp);
796  if ( idx >= (*acc)(*this).size() ) { (*acc)(*this).resize(idx+1,0); }
797  // set counts
798  (*acc)(*this)[idx] = isInnerWheel ? setUpperCount<ncells_t>((*acc)(*this)[idx],nc) : setLowerCount<ncells_t>((*acc)(*this)[idx],nc);
799  }

◆ 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 556 of file CaloCluster_v1.cxx.

556  {
557  static const Accessor< std::vector <float > > phiAcc("phi_sampl");
558  return setSamplVarFromAcc(phiAcc,sampling,phi);
559  }

◆ 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 597 of file CaloCluster_v1.cxx.

597  {
598  static const Accessor< std::vector <float > > phimaxAcc("phimax_sampl");
599  return setSamplVarFromAcc(phimaxAcc,sampling,phiMax);
600  }

◆ 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 624 of file CaloCluster_v1.cxx.

624  {
625  static const Accessor< std::vector <float > > phisizeAcc("phisize_sampl");
626  return setSamplVarFromAcc(phisizeAcc,sampling,phiSize);
627  }

◆ 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 505 of file CaloCluster_v1.cxx.

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

◆ setSecondTime()

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

Set second moment of cell timing distribution.

Definition at line 985 of file CaloCluster_v1.cxx.

985 { 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 978 of file CaloCluster_v1.cxx.

979  {
980  static const Accessor< ElementLink<xAOD::CaloClusterContainer_v1 > > accSisterCluster("SisterCluster");
981  accSisterCluster(*this)=sister;
982  return true;
983  }

◆ 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 249 of file AuxElement.cxx.

250 {
251  AuxElementStandaloneData* data = setStore1 (store);
252  if (store)
253  data->setStore (store);
254 }

◆ 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 221 of file AuxElement.cxx.

222 {
223  AuxElementStandaloneData* data = setStore1 (store);
224  if (store)
225  data->setStore (store);
226 }

◆ 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 237 of file AuxElement.cxx.

238 {
239  AuxElementStandaloneData* data = setStore1 (store);
240  if (store)
241  data->setStore (store);
242 }

◆ 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 418 of file AuxElement.cxx.

419 {
420  if (store) {
421  // Want this object be standalone.
422  if (!m_container) {
423  // Not in a container (and no private store). Make a new object.
424  AuxElementStandaloneData* data = new AuxElementStandaloneData;
426  m_container = data;
427  return data;
428  }
429  if (usingStandaloneStore()) {
430  // Standalone --- return existing object.
431  return static_cast<AuxElementStandaloneData*> (container());
432  }
433  // Otherwise, it's an error.
434  throw ExcBadPrivateStore ("Attempt to attach a standalone store to an "
435  "object in a container or with a private store.");
436  }
437 
438  else {
439  // Getting rid of a standalone store.
440  if (usingStandaloneStore()) {
442  delete m_container;
443  m_container = 0;
444  }
445  else if (m_container != 0)
446  throw ExcBadPrivateStore ("Attempt to remove a standalone store from an "
447  "object in a container or with a private store.");
448  return 0;
449  }
450 }

◆ 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 697 of file CaloCluster_v1.h.

698  { 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 633 of file CaloCluster_v1.h.

633 {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 996 of file CaloCluster_v1.cxx.

996  {
998  if (!cl) return 0;
999  return cl->size();
1000  }

◆ 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 939 of file CaloCluster_v1.cxx.

939  {
940 
941 #if !(defined(SIMULATIONBASE) || defined(XAOD_ANALYSIS))
942  static const Accessor< ElementLink< CaloClusterCellLinkContainer > >
943  accCellLinks( "CellLink" );
944  if( accCellLinks.isAvailableWritable( *this ) ) {
945  accCellLinks( *this ).toPersistent();
946  }
947 #endif // not defined(SIMULATIONBASE) || defined(XAOD_ANALYSIS)
948 
949  static const Accessor< ElementLink< xAOD::CaloClusterContainer_v1 > > accSisterCluster("SisterCluster");
950  if( accSisterCluster.isAvailableWritable( *this ) ) {
951  accSisterCluster( *this ).toPersistent();
952  }
953 
954  // Return gracefully:
955  }

◆ 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 700 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 260 of file AuxElement.cxx.

261 {
262  return havePrivateData() &&
263  typeid(*m_container) == typeid(AuxElementPrivateData);
264 }

◆ 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 270 of file AuxElement.cxx.

271 {
272  return havePrivateData() &&
273  typeid(*m_container) == typeid(AuxElementStandaloneData);
274 }

Friends And Related Function Documentation

◆ ::CaloClusterChangeSignalState

friend class ::CaloClusterChangeSignalState
friend

Definition at line 60 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 683 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 298 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 686 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 677 of file CaloCluster_v1.h.

◆ m_secondTime

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

Second cell time moment (transient only)

Definition at line 689 of file CaloCluster_v1.h.

◆ m_signalState

State xAOD::CaloCluster_v1::m_signalState
private

Current signal state.

Definition at line 680 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 883 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:135
xAOD::CaloCluster_v1::SECOND_R
@ SECOND_R
Second Moment in .
Definition: CaloCluster_v1.h:123
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:274
xAOD::CaloCluster_v1::nSamples
unsigned nSamples() const
Definition: CaloCluster_v1.h:884
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
xAOD::CaloCluster_v1::DELTA_PHI_DigiHSTruth
@ DELTA_PHI_DigiHSTruth
Definition: CaloCluster_v1.h:268
beamspotman.r
def r
Definition: beamspotman.py:676
store
StoreGateSvc * store
Definition: fbtTestBasics.cxx:69
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:152
xAOD::CaloCluster_v1::m_secondTime
double m_secondTime
Second cell time moment (transient only)
Definition: CaloCluster_v1.h:689
xAOD::CaloCluster_v1::CSize_Unknown
@ CSize_Unknown
Definition: CaloCluster_v1.h:112
xAOD::CaloCluster_v1::FIRST_ETA_DigiHSTruth
@ FIRST_ETA_DigiHSTruth
First Moment in .
Definition: CaloCluster_v1.h:265
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:246
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:121
xAOD::CaloCluster_v1::OOC_WEIGHT
@ OOC_WEIGHT
Out-of-cluster weight (E_ooc/E_w)
Definition: CaloCluster_v1.h:175
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:142
xAOD::CaloCluster_v1::cell_begin
const_cell_iterator cell_begin() const
Iterator of the underlying CaloClusterCellLink (const version)
Definition: CaloCluster_v1.h:812
xAOD::CaloCluster_v1::ClusterSize
ClusterSize
Enumeration to identify different cluster sizes.
Definition: CaloCluster_v1.h:86
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:277
xAOD::CaloCluster_v1::setRawM
void setRawM(flt_t)
Set mass for singal state UNCALIBRATED.
Definition: CaloCluster_v1.cxx:299
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
max
#define max(a, b)
Definition: cfImp.cxx:41
xAOD::CaloCluster_v1::SECOND_LAMBDA_DigiHSTruth
@ SECOND_LAMBDA_DigiHSTruth
Second Moment in .
Definition: CaloCluster_v1.h:267
xAOD::CaloCluster_v1::VERTEX_FRACTION
@ VERTEX_FRACTION
Vertex fraction of this cluster wrt.
Definition: CaloCluster_v1.h:184
xAOD::CaloCluster_v1::CaloSample
CaloSampling::CaloSample CaloSample
Definition: CaloCluster_v1.h:66
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:172
xAOD::CaloCluster_v1::EM_PROBABILITY
@ EM_PROBABILITY
Classification probability to be em-like.
Definition: CaloCluster_v1.h:173
SG::AuxTypeRegistry::instance
static AuxTypeRegistry & instance()
Return the singleton registry instance.
Definition: AuxTypeRegistry.cxx:49
xAOD::CaloCluster_v1::CENTER_X
@ CENTER_X
Cluster Centroid ( )
Definition: CaloCluster_v1.h:131
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:167
SG::Accessor< float >
xAOD::CaloCluster_v1::EM_PROBABILITY_DigiHSTruth
@ EM_PROBABILITY_DigiHSTruth
Classification probability to be em-like.
Definition: CaloCluster_v1.h:297
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
xAOD::CaloCluster_v1::Tower_01_01
@ Tower_01_01
Definition: CaloCluster_v1.h:109
xAOD::CaloCluster_v1::m_signalState
State m_signalState
Current signal state.
Definition: CaloCluster_v1.h:680
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:217
index
Definition: index.py:1
xAOD::CaloCluster_v1::SW_37Econv
@ SW_37Econv
Definition: CaloCluster_v1.h:98
xAOD::CaloCluster_v1::ENG_CALIB_DEAD_LEAKAGE
@ ENG_CALIB_DEAD_LEAKAGE
Attached Calibration Hit energy in dead material behind calorimeters.
Definition: CaloCluster_v1.h:243
xAOD::CaloCluster_v1::ENERGY_CALIB_DigiHSTruth
@ ENERGY_CALIB_DigiHSTruth
First Moment in .
Definition: CaloCluster_v1.h:260
SG::AuxElement::copyAux
void copyAux(const ConstAuxElement &other)
Copy aux data from another object.
Definition: AuxElement.cxx:561
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:191
xAOD::CaloCluster_v1::setAltM
void setAltM(flt_t)
Set mass for singal state ALTCALIBRATED.
Definition: CaloCluster_v1.cxx:343
xAOD::CaloCluster_v1::TIME_DigiHSTruth
@ TIME_DigiHSTruth
First Moment in .
Definition: CaloCluster_v1.h:259
SG::ConstAuxElement::m_container
const SG::AuxVectorData * m_container
The container of which this object is an element.
Definition: AuxElement.h:298
accumulate
bool accumulate(AccumulateMap &map, std::vector< module_t > const &modules, FPGATrackSimMatrixAccumulator const &acc)
Accumulates an accumulator (e.g.
Definition: FPGATrackSimMatrixAccumulator.cxx:22
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:163
xAOD::CaloCluster_v1::ETA1CALOFRAME
@ ETA1CALOFRAME
Eta of sampling 1 in the calo frame (for egamma)
Definition: CaloCluster_v1.h:189
xAOD::CaloCluster_v1::calEta
flt_t calEta() const
Get in signal state CALIBRATED.
xAOD::CaloCluster_v1::ISOLATION_DigiHSTruth
@ ISOLATION_DigiHSTruth
Definition: CaloCluster_v1.h:283
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:424
xAOD::CaloCluster_v1::ETA_CALIB_DigiHSTruth
@ ETA_CALIB_DigiHSTruth
First Moment in .
Definition: CaloCluster_v1.h:261
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:288
xAOD::CaloCluster_v1::m_recoStatus
CaloRecoStatus m_recoStatus
Reco status (transient only)
Definition: CaloCluster_v1.h:686
xAOD::CaloCluster_v1::PHI_CALIB_DigiHSTruth
@ PHI_CALIB_DigiHSTruth
First Moment in .
Definition: CaloCluster_v1.h:262
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:222
xAOD::CaloCluster_v1::SuperCluster
@ SuperCluster
Definition: CaloCluster_v1.h:107
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:214
xAOD::CaloCluster_v1::SW_55gam
@ SW_55gam
Definition: CaloCluster_v1.h:92
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:200
xAOD::other
@ other
Definition: TrackingPrimitives.h:509
xAOD::CaloCluster_v1::CENTER_LAMBDA
@ CENTER_LAMBDA
Shower depth at Cluster Centroid.
Definition: CaloCluster_v1.h:136
athena.value
value
Definition: athena.py:122
SG::AuxElement::usingStandaloneStore
bool usingStandaloneStore() const
Test to see if this object is currently using a standalone store.
Definition: AuxElement.cxx:270
SG::ConstAuxElement::setIndexPrivate
bool setIndexPrivate(size_t index, const SG::AuxVectorData *container)
Set the index/container for this element.
Definition: AuxElement.cxx:96
vec
std::vector< size_t > vec
Definition: CombinationsGeneratorTest.cxx:12
xAOD::CaloCluster_v1::ENG_CALIB_EMB0
@ ENG_CALIB_EMB0
Calibration Hit energy inside the cluster barrel presampler.
Definition: CaloCluster_v1.h:218
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:213
xAOD::CaloCluster_v1::CENTER_Y_DigiHSTruth
@ CENTER_Y_DigiHSTruth
Cluster Centroid ( )
Definition: CaloCluster_v1.h:272
xAOD::CaloCluster_v1::setLowerCount
ncells_store_t::value_type setLowerCount(ncells_store_t::value_type cdata, UNSIGNED clower)
Definition: CaloCluster_v1.h:695
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:230
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:140
xAOD::CaloCluster_v1::LATERAL_DigiHSTruth
@ LATERAL_DigiHSTruth
Normalized lateral moment.
Definition: CaloCluster_v1.h:276
xAOD::CaloCluster_v1::CENTER_Z_DigiHSTruth
@ CENTER_Z_DigiHSTruth
Cluster Centroid ( )
Definition: CaloCluster_v1.h:273
xAOD::CaloCluster_v1::GenVecFourMom_t
ROOT::Math::LorentzVector< ROOT::Math::PtEtaPhiM4D< double > > GenVecFourMom_t
Base 4 Momentum type for calo.
Definition: CaloCluster_v1.h:346
xAOD::CaloCluster_v1::ncells_t
uint8_t ncells_t
Type for number-of-cells-in-sampling counter.
Definition: CaloCluster_v1.h:72
empty
bool empty(TH1 *h)
Definition: computils.cxx:294
xAOD::CaloCluster_v1::PHI1CALOFRAME
@ PHI1CALOFRAME
Phi of sampling 1 in the calo frame (for egamma)
Definition: CaloCluster_v1.h:190
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:105
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:94
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
python.Bindings.values
values
Definition: Control/AthenaPython/python/Bindings.py:797
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:201
xAOD::CaloCluster_v1::SECOND_LAMBDA
@ SECOND_LAMBDA
Second Moment in .
Definition: CaloCluster_v1.h:124
dqt_zlumi_pandas.weight
int weight
Definition: dqt_zlumi_pandas.py:200
xAOD::CaloCluster_v1::PTD
@ PTD
relative spread of pT of constiuent cells = sqrt(n)*RMS/Mean
Definition: CaloCluster_v1.h:170
xAOD::CaloCluster_v1::NCELL_SAMPLING
@ NCELL_SAMPLING
Number of cells in sampling layer.
Definition: CaloCluster_v1.h:182
xAOD::CaloCluster_v1::etaSample
float etaSample(const CaloSample sampling) const
Retrieve barycenter in a given sample.
Definition: CaloCluster_v1.cxx:532
SG::AuxTypeRegistry
Handle mappings between names and auxid_t.
Definition: AuxTypeRegistry.h:62
xAOD::CaloCluster_v1::SW_37ele
@ SW_37ele
Definition: CaloCluster_v1.h:90
xAOD::CaloCluster_v1::Tower_005_005
@ Tower_005_005
Definition: CaloCluster_v1.h:110
xAOD::CaloCluster_v1::CENTER_Z
@ CENTER_Z
Cluster Centroid ( )
Definition: CaloCluster_v1.h:133
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:103
xAOD::CaloCluster_v1::SW_55Econv
@ SW_55Econv
Definition: CaloCluster_v1.h:96
xAOD::CaloCluster_v1::SECOND_ENG_DENS
@ SECOND_ENG_DENS
Second Moment in E/V.
Definition: CaloCluster_v1.h:144
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:176
xAOD::CaloCluster_v1::ENG_POS_DigiHSTruth
@ ENG_POS_DigiHSTruth
Total positive Energy of this cluster.
Definition: CaloCluster_v1.h:289
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:174
xAOD::CaloCluster_v1::SIGNIFICANCE_DigiHSTruth
@ SIGNIFICANCE_DigiHSTruth
Cluster significance.
Definition: CaloCluster_v1.h:290
ParticleGun_FastCalo_ChargeFlip_Config.energy
energy
Definition: ParticleGun_FastCalo_ChargeFlip_Config.py:78
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:282
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:100
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:307
xAOD::CaloCluster_v1::ETA_DigiHSTruth
@ ETA_DigiHSTruth
Eta moment that I am trying to include.
Definition: CaloCluster_v1.h:257
CaloSampling::CaloSample
CaloSample
Definition: Calorimeter/CaloGeoHelpers/CaloGeoHelpers/CaloSampling.h:22
xAOD::CaloCluster_v1::CENTER_LAMBDA_DigiHSTruth
@ CENTER_LAMBDA_DigiHSTruth
Shower depth at Cluster Centroid.
Definition: CaloCluster_v1.h:275
SG::AuxElement::clearAux
void clearAux()
Clear all aux data associated with this element.
Definition: AuxElement.cxx:535
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:80
SG::AuxElement::AuxElement
AuxElement()
Default constructor.
xAOD::CaloCluster_v1::CELL_SIG_SAMPLING_DigiHSTruth
@ CELL_SIG_SAMPLING_DigiHSTruth
Definition: CaloCluster_v1.h:292
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:281
SG::IAuxElement::havePrivateData
bool havePrivateData() const
True if this element currently has private data.
xAOD::CaloCluster_v1::CELL_SIG_SAMPLING
@ CELL_SIG_SAMPLING
CaloSample of the cell with the largest |E|/sig.
Definition: CaloCluster_v1.h:161
xAOD::CaloCluster_v1::m_samplingPattern
unsigned m_samplingPattern
bit-pattern describing the calo samplings contributing to this cluster
Definition: CaloCluster_v1.h:677
xAOD::CaloCluster_v1::ENG_CALIB_TOT
@ ENG_CALIB_TOT
Calibration Hit energy inside the cluster.
Definition: CaloCluster_v1.h:195
xAOD::CaloCluster_v1::TIME_CALIB_DigiHSTruth
@ TIME_CALIB_DigiHSTruth
First Moment in .
Definition: CaloCluster_v1.h:263
xAOD::CaloCluster_v1::SW_35gam
@ SW_35gam
Definition: CaloCluster_v1.h:93
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:248
xAOD::CaloCluster_v1::ISOLATION
@ ISOLATION
Energy weighted fraction of non-clustered perimeter cells.
Definition: CaloCluster_v1.h:146
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:253
xAOD::CaloCluster_v1::Tower_fixed_area
@ Tower_fixed_area
Definition: CaloCluster_v1.h:111
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:996
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:126
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:241
xAOD::CaloCluster_v1::calPhi
flt_t calPhi() const
Get in signal state CALIBRATED.
SG::AuxElementPrivateData
Internal data container for private store.
Definition: AuxElement.cxx:45
xAOD::CaloCluster_v1::retrieveMoment
bool retrieveMoment(MomentType type, double &value) const
Retrieve individual moment.
Definition: CaloCluster_v1.cxx:738
xAOD::CaloCluster_v1::phiSample
float phiSample(const CaloSample sampling) const
Retrieve barycenter in a given sample.
Definition: CaloCluster_v1.cxx:547
PowhegPythia8EvtGen_jetjet.theEnergy
int theEnergy
Definition: PowhegPythia8EvtGen_jetjet.py:12
xAOD::CaloCluster_v1::Topo_420
@ Topo_420
Definition: CaloCluster_v1.h:102
xAOD::CaloCluster_v1::FIRST_ENG_DENS
@ FIRST_ENG_DENS
First Moment in E/V.
Definition: CaloCluster_v1.h:143
xAOD::CaloCluster_v1::m_cellLinks
std::unique_ptr< CaloClusterCellLink > m_cellLinks
Unique ptr to cell links.
Definition: CaloCluster_v1.h:683
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:25
xAOD::CaloCluster_v1::getCellLinks
const CaloClusterCellLink * getCellLinks() const
Get a pointer to the CaloClusterCellLink object (const version)
Definition: CaloCluster_v1.cxx:905
xAOD::CaloCluster_v1::ENG_BAD_CELLS
@ ENG_BAD_CELLS
Total em-scale energy of bad cells in this cluster.
Definition: CaloCluster_v1.h:148
xAOD::CaloCluster_v1::setSamplVarFromAcc
bool setSamplVarFromAcc(const Accessor< std::vector< float > > &acc, const CaloSample sampling, const float value)
Definition: CaloCluster_v1.cxx:505
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:295
min
#define min(a, b)
Definition: cfImp.cxx:40
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:178
xAOD::CaloCluster_v1::rawM
flt_t rawM() const
Get mass in signal state UNCALIBRATED.
xAOD::CaloCluster_v1::UNCALIBRATED
@ UNCALIBRATED
Definition: CaloCluster_v1.h:306
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:343
xAOD::CaloCluster_v1::ENG_CALIB_EME0
@ ENG_CALIB_EME0
Calibration Hit energy inside the cluster endcap presampler.
Definition: CaloCluster_v1.h:220
xAOD::CaloCluster_v1::N_BAD_CELLS_CORR_DigiHSTruth
@ N_BAD_CELLS_CORR_DigiHSTruth
Definition: CaloCluster_v1.h:286
xAOD::CaloCluster_v1::NSTATES
@ NSTATES
Definition: CaloCluster_v1.h:309
xAOD::CaloCluster_v1::ENG_FRAC_EM
@ ENG_FRAC_EM
Energy fraction in EM calorimeters.
Definition: CaloCluster_v1.h:139
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:211
xAOD::CaloCluster_v1::sampVarIdx
unsigned sampVarIdx(const CaloSample) const
Definition: CaloCluster_v1.h:868
xAOD::CaloCluster_v1::N_BAD_CELLS_DigiHSTruth
@ N_BAD_CELLS_DigiHSTruth
number of bad cells
Definition: CaloCluster_v1.h:285
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:803
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:238
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:296
xAOD::CaloCluster_v1::SW_55ele
@ SW_55ele
Definition: CaloCluster_v1.h:88
xAOD::CaloCluster_v1::FIRST_PHI_DigiHSTruth
@ FIRST_PHI_DigiHSTruth
First Moment in .
Definition: CaloCluster_v1.h:264
xAOD::CaloCluster_v1::AVG_LAR_Q_DigiHSTruth
@ AVG_LAR_Q_DigiHSTruth
Definition: CaloCluster_v1.h:293
xAOD::CaloCluster_v1::PHI_DigiHSTruth
@ PHI_DigiHSTruth
phi moment I would like to have
Definition: CaloCluster_v1.h:258
SG::AuxElement::makePrivateStore
void makePrivateStore()
Create a new (empty) private store for this object.
Definition: AuxElement.cxx:172
xAOD::CaloCluster_v1::ENERGY_DigiHSTruth
@ ENERGY_DigiHSTruth
First Moment in .
Definition: CaloCluster_v1.h:256
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:165
xAOD::CaloCluster_v1::ENG_BAD_CELLS_DigiHSTruth
@ ENG_BAD_CELLS_DigiHSTruth
Definition: CaloCluster_v1.h:284
xAOD::CaloCluster_v1::SW_35Econv
@ SW_35Econv
Definition: CaloCluster_v1.h:97
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:188
xAOD::CaloCluster_v1::OOC_WEIGHT_DigiHSTruth
@ OOC_WEIGHT_DigiHSTruth
Out-of-cluster weight (E_ooc/E_w)
Definition: CaloCluster_v1.h:299
xAOD::CaloCluster_v1::ENG_CALIB_DEAD_TILEG3
@ ENG_CALIB_DEAD_TILEG3
Attached Calibration Hit energy in dead material before scintillator.
Definition: CaloCluster_v1.h:232
xAOD::CaloCluster_v1::SECOND_R_DigiHSTruth
@ SECOND_R_DigiHSTruth
Second Moment in .
Definition: CaloCluster_v1.h:266
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:122
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:278
xAOD::CaloCluster_v1::DELTA_THETA
@ DELTA_THETA
Angular shower axis deviation ( ) from IP-to-Center.
Definition: CaloCluster_v1.h:128
xAOD::CaloCluster_v1::eSample
float eSample(const CaloSample sampling) const
Definition: CaloCluster_v1.cxx:521
a
TList * a
Definition: liststreamerinfos.cxx:10
InDetDD::other
@ other
Definition: InDetDD_Defs.h:16
xAOD::CaloCluster_v1::addCellLink
void addCellLink(CaloClusterCellLink *CCCL)
Definition: CaloCluster_v1.h:721
xAOD::CaloCluster_v1::ENG_CALIB_DEAD_TOT
@ ENG_CALIB_DEAD_TOT
Attached Calibration Hit energy in dead material.
Definition: CaloCluster_v1.h:224
SG::AuxVectorData::clearDecorations
bool clearDecorations() const
Clear all decorations.
Definition: AuxVectorData.cxx:593
xAOD::CaloCluster_v1::extractLowerCount
UNSIGNED extractLowerCount(ncells_store_t::value_type cdata) const
extract lower cell count from data
Definition: CaloCluster_v1.h:693
xAOD::CaloCluster_v1::rawPhi
flt_t rawPhi() const
Get in signal state UNCALIBRATED.
xAOD::CaloCluster_v1::ALTCALIBRATED
@ ALTCALIBRATED
Definition: CaloCluster_v1.h:308
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:157
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:192
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:298
xAOD::CaloCluster_v1::N_BAD_HV_CELLS
@ N_BAD_HV_CELLS
number of cells with bad HV
Definition: CaloCluster_v1.h:168
xAOD::CaloCluster_v1::getOwnCellLinks
CaloClusterCellLink * getOwnCellLinks()
Get a pointer to the owned CaloClusterCellLink object (non-const version)
Definition: CaloCluster_v1.h:762
xAOD::CaloCluster_v1::DELTA_ALPHA_DigiHSTruth
@ DELTA_ALPHA_DigiHSTruth
Definition: CaloCluster_v1.h:270
xAOD::CaloCluster_v1::cell_end
const_cell_iterator cell_end() const
Definition: CaloCluster_v1.h:813
xAOD::CaloCluster_v1::DELTA_THETA_DigiHSTruth
@ DELTA_THETA_DigiHSTruth
Definition: CaloCluster_v1.h:269
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:287
xAOD::CaloCluster_v1::DM_WEIGHT_DigiHSTruth
@ DM_WEIGHT_DigiHSTruth
Dead-material weight (E_dm/E_ooc)
Definition: CaloCluster_v1.h:300
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:208
xAOD::CaloCluster_v1::LATERAL
@ LATERAL
Normalized lateral moment.
Definition: CaloCluster_v1.h:137
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
xAOD::CaloCluster_v1::cell_cbegin
const_cell_iterator cell_cbegin() const
Definition: CaloCluster_v1.h:795
xAOD::CaloCluster_v1::SW_softe
@ SW_softe
Definition: CaloCluster_v1.h:100
xAOD::CaloCluster_v1::ENG_FRAC_MAX_DigiHSTruth
@ ENG_FRAC_MAX_DigiHSTruth
Energy fraction of hottest cell.
Definition: CaloCluster_v1.h:279
xAOD::CaloCluster_v1::SECOND_TIME
@ SECOND_TIME
Second moment of cell time distribution in cluster.
Definition: CaloCluster_v1.h:180
xAOD::CaloCluster_v1::DELTA_ALPHA
@ DELTA_ALPHA
Angular shower axis deviation ( ) from IP-to-Center.
Definition: CaloCluster_v1.h:130
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:251
xAOD::CaloCluster_v1::CELL_SIGNIFICANCE
@ CELL_SIGNIFICANCE
Cell significance = E/sig of the cell with the largest |E|/sig.
Definition: CaloCluster_v1.h:159
SG::AuxVectorData
Manage lookup of vectors of auxiliary data.
Definition: AuxVectorData.h:167
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:79
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:196
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:235
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:204
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:153
xAOD::CaloCluster_v1::SW_35ele
@ SW_35ele
Definition: CaloCluster_v1.h:89
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:890
xAOD::CaloCluster_v1::ETACALOFRAME
@ ETACALOFRAME
Eta in the calo frame (for egamma)
Definition: CaloCluster_v1.h:187
xAOD::CaloCluster_v1::AVG_TILE_Q_DigiHSTruth
@ AVG_TILE_Q_DigiHSTruth
Definition: CaloCluster_v1.h:294
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:151
xAOD::CaloCluster_v1::LONGITUDINAL
@ LONGITUDINAL
Normalized longitudinal moment.
Definition: CaloCluster_v1.h:138
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:864
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:185
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::getSamplVarFromAcc
float getSamplVarFromAcc(const Accessor< std::vector< float > > &acc, const CaloSample sampling, const float errorvalue=-999) const
Definition: CaloCluster_v1.cxx:494
xAOD::CaloCluster_v1::N_BAD_CELLS
@ N_BAD_CELLS
number of bad cells
Definition: CaloCluster_v1.h:149
xAOD::CaloCluster_v1::ENG_FRAC_CORE_DigiHSTruth
@ ENG_FRAC_CORE_DigiHSTruth
Definition: CaloCluster_v1.h:280
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:132
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:227
xAOD::int
setRawEt setRawPhi int
Definition: TrigCaloCluster_v1.cxx:33
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:305
SG::AuxElement::setStore1
AuxElementStandaloneData * setStore1(const SG::IConstAuxStore *store)
Set the store associated with this object.
Definition: AuxElement.cxx:418
xAOD::CaloCluster_v1::CENTER_X_DigiHSTruth
@ CENTER_X_DigiHSTruth
Cluster Centroid ( )
Definition: CaloCluster_v1.h:271
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:156
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:33
xAOD::CaloCluster_v1::CELL_SIGNIFICANCE_DigiHSTruth
@ CELL_SIGNIFICANCE_DigiHSTruth
Definition: CaloCluster_v1.h:291
xAOD::CaloCluster_v1::BADLARQ_FRAC
@ BADLARQ_FRAC
Energy fraction of LAr cells with quality larger than a given cut.
Definition: CaloCluster_v1.h:155