ATLAS Offline Software
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Types | Protected Member Functions | Protected Attributes | Static Protected Attributes | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | List of all members
eflowCaloCluster Class Reference

#include <eflowCaloCluster.h>

Inheritance diagram for eflowCaloCluster:
Collaboration diagram for eflowCaloCluster:

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, Unknown = 99
}
 enums to identify different cluster size More...
 
typedef CaloCompositeCellBase< CaloClusterNavigable >::cell_iterator cell_iterator
 Iterator on CaloCell s. More...
 
typedef CaloSampling::CaloSample sampling_type
 Sampling indicator. More...
 
typedef CaloVariableType::VariableType variable_type
 Data type indicator. More...
 
typedef double value_type
 Variable value type. More...
 
typedef CaloClusterMomentStore moment_store
 Store type for cluster moments. More...
 
typedef moment_store::moment_type moment_type
 Cluster moment indicator type. More...
 
typedef moment_store::moment_value moment_value
 Cluster moment value type. More...
 
typedef moment_store::moment_iterator moment_iterator_i
 Cluster moment store iterator type. More...
 
typedef moment_type MomentType
 
typedef double(CaloCluster::* GET_VALUE) () const
 
typedef void(CaloCluster::* SET_VALUE) (double v)
 
typedef P4SignalState statename_t
 
typedef P4SignalState::State signalstate_t
 
typedef MomentStoreIter moment_iterator
 Moment iterator type for CaloCluster clients. More...
 
typedef std::vector< CaloClusterBadChannelDatabadChannelList
 Get Bad Channel information. More...
 
enum  Kind {
  P4EETAPHIM, P4IPTCOTTHPHIM, P4PTETAPHIM, P4PXPYPZE,
  UNKNOWN
}
 
typedef CaloCellLink::cell_iterator object_iter
 external cell iterator type More...
 
typedef CaloClusterLinkTemplate< CaloCellLinkContainer >::link_type cell_link_type
 

Public Member Functions

 eflowCaloCluster ()
 
 eflowCaloCluster (const CaloCluster *clus)
 
 eflowCaloCluster (const CaloCluster *clus, bool copyMoments)
 
 ~eflowCaloCluster ()
 
double getVariable (const variable_type &varType, const sampling_type &samType, bool useLink=true) const
 General sampling variable access. More...
 
bool getVariable (const variable_type &varType, std::vector< double > &varList, bool useLink=true) const
 General access to variables of a given type in all samplings. More...
 
bool setVariable (const variable_type &varType, const sampling_type &samType, const double &varData, bool useLink=false)
 General sampling variable setter. More...
 
bool setVariable (const variable_type &varType, const std::vector< double > &varList, bool useLink=false)
 Set variables of a given type in all samplings at once. More...
 
bool lockVariable (const variable_type &varType)
 Lock variable (protect against future updates) More...
 
bool unlockVariable (const variable_type &varType)
 Unlock variable (remove lock) More...
 
bool isLocked (const variable_type &varType) const
 Check lock status of variable. More...
 
bool isLocked (const unsigned int &bitPattern) const
 
bool allLocked () const
 Check if all variables are locked. More...
 
virtual CLHEP::HepLorentzVector hlv () const
 redefine hlv() here to avoid ambiguities More...
 
virtual CLHEP::HepLorentzVector hlv (signalstate_t s) const
 retrieve the 4-momentum at a given signal state More...
 
virtual double e () const
 Retrieve energy independent of signal state. More...
 
double e (signalstate_t s) const
 Retrieve energy for a specific signal state. More...
 
virtual double eta () const
 Retrieve eta independent of signal state. More...
 
double eta (signalstate_t s) const
 Retrieve eta for a specific signal state. More...
 
virtual double phi () const
 Retrieve phi independent of signal state. More...
 
double phi (signalstate_t s) const
 Retrieve phi for a specific signal state. More...
 
virtual double m () const
 Retrieve mass independent of signal state. More...
 
double m (signalstate_t s) const
 Retrieve mass for a specific signal state. More...
 
virtual void setE (double e)
 Set energy. More...
 
virtual void setEta (double eta)
 Set eta. More...
 
virtual void setPhi (double phi)
 Set phi. More...
 
virtual void setM (double m)
 Set mass. More...
 
virtual void set4Mom (const I4Momentum *const pMom)
 Set kinematics from four-vector. More...
 
virtual void set4Mom (const I4Momentum &rMom)
 Set kinematics directly from four-vector. More...
 
virtual void set4Mom (const CLHEP::HepLorentzVector &rVec)
 Set kinematics directly from HLV. More...
 
unsigned int nSamples () const
 Retrieve number of samplings in this cluster. More...
 
double eSample (sampling_type sampling) const
 Retrieve energy in a given sampling. More...
 
double etaSample (sampling_type sampling) const
 Retrieve barycenter \( \eta \) in a given sample. More...
 
double phiSample (sampling_type sampling) const
 Retrieve barycenter \( \varphi \) in a given sample. More...
 
void getEInSamples (std::vector< double > &theEnergies) const
 Retrieve energy for all samplings into a vector. More...
 
void getEtaInSamples (std::vector< double > &theEtas) const
 Retrieve \( \eta \) for all samplings into a vector. More...
 
void getPhiInSamples (std::vector< double > &thePhis) const
 Retrieve \( \varphi \) for all samplings into a vector. More...
 
void setEInSamples (const std::vector< double > &theEnergies)
 Set energy in all samplings from a vector. More...
 
void setEtaInSamples (const std::vector< double > &theEtas)
 Set \( \eta \) in all samplings from a vector. More...
 
void setPhiInSamples (const std::vector< double > &thePhis)
 Set \( \varphi \) in all samplings from a vector. More...
 
virtual double getBasicEnergy () const
 Access basic energy scale signal. More...
 
virtual void setBasicEnergy (double theEnergy)
 Set basic energy scale signal. More...
 
double getTime () const
 Access cluster time. More...
 
void setTime (double theTime)
 Set cluster time. More...
 
void setClusterSize (unsigned int theClusterSize)
 Set cluster size. More...
 
unsigned int getClusterSize () const
 Get cluster size. More...
 
unsigned int getClusterEtaSize () const
 
unsigned int getClusterPhiSize () const
 
void setenergy (sampling_type sampling, double e)
 Set energy for a given sampling. More...
 
void seteta (sampling_type sampling, double eta)
 Set \( \eta \) in a given sampling. More...
 
void setphi (sampling_type sampling, double phi)
 Set \( \varphi \) in a given sampling. More...
 
void insertMoment (const moment_type &momType, const moment_value &momValue, bool useLink=true)
 Set individual moment. More...
 
moment_iterator beginMoment (bool useLink=true) const
 First iterator on moment store. More...
 
moment_iterator endMoment (bool useLink=true) const
 Last iterator on moment store. More...
 
bool retrieveMoment (const moment_type &momType, moment_value &momValue, bool useLink=true) const
 Retrieve individual moment. More...
 
bool retrieveMoment (const moment_type &momType, double &momData, bool useLink=true) const
 
moment_value getMoment (const moment_type &momType, bool useLink=true) const
 Get individual moment. More...
 
moment_value getMoment (const moment_iterator &momIter) const
 Get individual moment. More...
 
double getMomentValue (const moment_type &momType, bool useLink=true) const
 Get moment value. More...
 
double getMomentValue (const moment_iterator &momIter) const
 
moment_type getMomentType (const moment_iterator &momIter) const
 Get moment type. More...
 
bool is_valid_sampling (const sampling_type &sampling) const
 Checks if cells from a given sampling in EMB or EMEC (!) are in cluster. More...
 
bool isEMSampling (const sampling_type &theSampling) const
 Checks if cells from a given sampling in EMB and EMEC are in the cluster. More...
 
bool hasSampling (const sampling_type &theSampling) const
 Checks if certain sampling contributes to cluster. More...
 
unsigned int samplingPattern () const
 Get sampling bitmask. More...
 
double eta0 () const
 Returns raw \( \eta \) of cluster seed. More...
 
double phi0 () const
 Returns raw \( \phi \) of cluster seed. More...
 
double etasize (sampling_type sampling) const
 Returns cluster size in \( \eta \) for a given sampling. More...
 
double phisize (sampling_type sampling) const
 Returns cluster size in \( \varphi \) for a given sampling. More...
 
void setetasize (sampling_type sampling, double size)
 Set the cluster size in \( \eta \) for a given sampling. More...
 
void setphisize (sampling_type sampling, double size)
 Set the cluster size in \( \varphi \) for a given sampling. More...
 
double energy_max (sampling_type sampling) const
 Retrieve maximum cell energy in given sampling. More...
 
double etamax (sampling_type sampling) const
 Retrieve \( \eta \) of cell with maximum energy in given sampling. More...
 
double phimax (sampling_type sampling) const
 Retrieve \( \varphi \) of cell with maximum energy in given sampling. More...
 
void setenergymax (sampling_type sampling, double m)
 Set the maximum energy in a given sampling. More...
 
void setetamax (sampling_type sampling, double m)
 Set the \( \eta \) of cell with maximum energy in a given sampling. More...
 
void setphimax (sampling_type sampling, double m)
 Set the \( \varphi \) of cell with maximum energy in a given sampling. More...
 
double etaBE (int sampling) const
 EMB/EMEC combined barycenter \( \eta \). More...
 
double phiBE (int sampling) const
 EMB/EMEC combined barycenter \( \varphi \). More...
 
double energyBE (int sampling) const
 EMB/EMEC combined signal. More...
 
bool inBarrel () const
 Returns true if at least one clustered cell in EMB. More...
 
bool inEndcap () const
 Returns true if at least one clustered cell in EMEC. More...
 
void setBarrel (bool barrel)
 Sets EMB indicator. More...
 
void setEndcap (bool endcap)
 Sets EMEC indicator. More...
 
void addBadChannel (const CaloClusterBadChannelData &badChannel)
 Add Bad channel information. More...
 
void resetBadChannel ()
 Reset Bad channel list. More...
 
const badChannelListgetBadChannel () const
 
bool containsBadCells () const
 Check if cluster has any bad channel in it. More...
 
void calculateKine (const bool useweight=true, const bool updateLayers=true)
 Calculate cluster kinematics from contained cells. More...
 
signalstate_t signalState () const
 Retrieve signal state. More...
 
signalstate_t defaultSignalState () const
 Retrieve default signal state. More...
 
virtual bool hasSignalState (signalstate_t s) const
 check if signal state exists for current implementation More...
 
virtual bool isAtSignalState (signalstate_t s) const
 check if we are at the passed state More...
 
data_link_type getMomentStoreLink () const
 
virtual double energy () const
 Return energy. More...
 
double energy_nonvirt () const
 Return energy (nonvirtual version) More...
 
void setRecoStatus (const CaloRecoStatus &recStatus)
 Set the reconstruction status. More...
 
void setRecoStatus (const CaloRecoStatus::StatusIndicator &recIndic)
 Set the reconstruction status indicator (recommended) More...
 
bool checkRecoStatus (const CaloRecoStatus::StatusIndicator &recIndic) const
 Check if a given indicator is set. More...
 
void removeRecoStatus (const CaloRecoStatus::StatusIndicator &recIndic)
 Remove a given indicator. More...
 
void removeRecoStatus ()
 Remove all indicators. More...
 
const CaloRecoStatusgetRecoStatus () const
 Retrieve the reconstruction status. More...
 
virtual const I4MomentumErrorerrors () const
 Access to errors, if available; returns 0 if no errors. More...
 
virtual double px () const
 x component of momentum More...
 
virtual double py () const
 y component of momentum More...
 
virtual double pz () const
 z component of momentum More...
 
virtual double et () const
 transverse energy defined to be e*sin(theta) More...
 
virtual double p () const
 magnitude of 3-momentum. More...
 
virtual double p2 () const
 square of momentum magnitude More...
 
virtual double m2 () const
 mass squared More...
 
virtual double pt () const
 transverse momentum More...
 
virtual double iPt () const
 inverse of transverse momentum More...
 
virtual double rapidity () const
 rapidity More...
 
virtual double cosPhi () const
 cosinus phi More...
 
virtual double sinPhi () const
 sinus phi More...
 
virtual double cotTh () const
 cottan theta More...
 
virtual double cosTh () const
 cosinus theta More...
 
virtual double sinTh () const
 sinus theta More...
 
virtual double tanTh () const
 tan theta More...
 
I4Momentum::Kind kind () const
 tells what kind of P4XYZT this is More...
 
virtual std::ostream & dump (std::ostream &out=std::cout) const
 Print I4Momentum content. More...
 
std::ostream & dump (std::ostream &out) const
 
void addCell (const CaloCellContainer *pContainer, const CaloCell *pCell, double weight, size_t iCell=static_cast< size_t >(-1))
 Add a cell with global kinematic update (slow) More...
 
void addCell (const CaloCellContainer *pContainer, size_t &iCell, double weight)
 Add a cell with global kinematic update (fast) More...
 
void addUniqueCell (const CaloCellContainer *theContainer, size_t theIndex, double weight, size_t size_hint=0)
 Add a cell with global kinematic update (fast) More...
 
void addUniqueCellNoKine (const CaloCellContainer *theContainer, size_t theIndex, double weight, size_t size_hint=0)
 Add a cell with no kinematic update (fast) More...
 
void reweightCell (const CaloCell *pCell, double weight)
 Reweight a cell with kinematic update. More...
 
void reweightCell (const CaloCellContainer *pContainer, size_t &iCell, double weight)
 Reweight a cell with kinematic update. More...
 
void reweightCell (cell_iterator &iterCell, double weight)
 Reweight a cell with kinematic update. More...
 
void removeCell (const CaloCell *pCell)
 Remove a cell with kinematic update. More...
 
void removeCell (const CaloCellContainer *pContainer, size_t &iCell)
 Remove a cell with kinematic update. More...
 
void removeCells ()
 Remove all cells without kinematic update. More...
 
double getCellWeight (const CaloCell *pCell) const
 Retrieve the kinematic weight of a given cell. More...
 
double getCellWeight (const CaloCellContainer *pContainer, size_t &iCell) const
 Retrieve the kinematic weight of a given cell. More...
 
double getCellWeight (cell_iterator &iterCell) const
 Retrieve the kinematic weight of a given cell. More...
 
const CaloCellContainergetCellContainer (const CaloCell *pCell) const
 Retrieve the pointer to the original cell container for a given cell. More...
 
const CaloCellContainergetCellContainer (cell_iterator &iterCell) const
 Retrieve the pointer to the original cell container for a given cell. More...
 
bool getCellIndex (const CaloCell *pCell, size_t &iCell) const
 Retrieve the index of a given cell in the cell container. More...
 
bool getCellIndex (cell_iterator &iterCell, size_t &iCell) const
 Retrieve the index of a given cell in the cell container. More...
 
cell_iterator cell_begin () const
 Retrieve a STL-type begin() iterator for the cell store. More...
 
cell_iterator cell_end () const
 Retrieve a STL-type end() iterator for the cell store. More...
 
unsigned int getNumberOfCells () const
 Return the number of cells in the store. More...
 
void putElement (const CaloCellContainer *pContainer, const CaloCell *pCell, const double &weight=double(1.))
 add element to the Navigable: use pointer More...
 
void putElement (const CaloCellContainer *pContainer, size_t &iCell, const double &weight=double(1.))
 add element to the Navigable: use element index (direct access!) More...
 
void insertElement (const CaloCellContainer *pContainer, const CaloCell *pCell, const double &weight=double(1.))
 insert element without checking if already in store: use element pointer More...
 
void insertElement (const CaloCellContainer *pContainer, size_t &iCell, const double &weight=double(1.))
 insert element without checking if already in store: use index More...
 
void insertElement (const CaloCellContainer *pContainer, size_t iCell, const double weight, size_t size_hint)
 same, with a size hint. More...
 
void insertElement (const ElementLink< CaloCellContainer > &el, const double weight, size_t size_hint=0)
 Insert element via ElementLink. More...
 
void reweight (const CaloCell *pCell, const double &weight=double(1.))
 re-weight (overwrite old weight) More...
 
void reweight (const CaloCellContainer *pContainer, size_t &iCell, const double &weight=double(1.))
 re-weight (overwrite old weight) More...
 
void reweight (object_iter &cellIter, const double &weight=double(1.))
 re-weight (overwrite old weight) More...
 
bool remove (const CaloCell *pCell)
 remove object from the Navigable More...
 
bool remove (const CaloCellContainer *pContainer, size_t &iCell)
 remove object from the Navigable More...
 
bool removeAll ()
 remove all objects from the Navigable More...
 
bool contains (const CaloCell *pCell) const
 check if constituent is already there
More...
 
bool contains (const CaloCellContainer *pContainer, size_t &iCell) const
 check if constituent is already there
More...
 
virtual object_iter begin () const
 begin iterator for public object access More...
 
virtual object_iter end () const
 end iterator for public object access More...
 
virtual unsigned int nCells () const
 size of object access More...
 
double getParameter (const CaloCell *pCell) const
 public container access: relational parameter retrieval More...
 
double getParameter (const CaloCellContainer *pContainer, size_t &iCell) const
 public container access: relational parameter retrieval More...
 
double getParameter (object_iter &cellIter) const
 public container access: relational parameter retrieval More...
 
const CaloCellContainergetContainer (const CaloCell *pCell) const
 public container access: retrieve Container for given object pointer More...
 
const CaloCellContainergetContainer (object_iter cellIter) const
 public container access: retrieve Container for given object iterator More...
 
bool getIndex (const CaloCell *pCell, size_t &iCell) const
 get index of child in original container, given a pointer More...
 
bool getIndex (object_iter cellIter, size_t &iCell) const
 get index of child in original container, given an iterator More...
 
virtual void fillToken (INavigationToken &iToken) const
 fill token for navigation More...
 
virtual void fillToken (INavigationToken &iToken, const std::any &rPar) const
 fill token for navigation More...
 
virtual bool isCellLinkValid () const
 
const cell_link_typecellLink () const
 Access to underlying link. More...
 
void resetCellLink (const cell_link_type &cellLink)
 
virtual AthenaBarCode_t getAthenaBarCode () const
 
virtual AthenaBarCode_t getAthenaBarCode () const
 
virtual void setAthenaBarCode (AthenaBarCode_t)
 
virtual void setAthenaBarCode (AthenaBarCode_t id)
 
virtual bool hasSameAthenaBarCode (const IAthenaBarCode &) const
 
virtual bool hasSameAthenaBarCode (const IAthenaBarCode &obj) const
 
virtual bool hasSameAthenaBarCodeExceptVersion (const IAthenaBarCode &) const
 
virtual bool hasSameAthenaBarCodeExceptVersion (const IAthenaBarCode &obj) const
 
virtual AthenaBarCodeVersion_t getVersion () const
 
virtual AthenaBarCodeVersion_t getVersion () const
 
virtual void newVersion ()
 
virtual void newVersion ()
 
virtual void setVersion (AthenaBarCodeVersion_t)
 
virtual void setVersion (AthenaBarCodeVersion_t newversion)
 
bool createdInCurrentJob () const
 
AthenaBarCode_t getReserveBits () const
 
void setReserveBits (AthenaBarCode_t id)
 

Static Public Member Functions

static void setDefaultHash (const char *jobid)
 

Static Public Attributes

static const AthenaBarCode_t UNDEFINEDBARCODE = (AthenaBarCode_t)(-1)
 
static const AthenaBarCode_t UNDEFINEDVERSION = UNDEFINEDBARCODE
 
static const unsigned short TotalBits = 64
 
static const unsigned short UUIDBits = 32
 
static const unsigned short CounterBits = 26
 
static const unsigned short VersionBits = 4
 
static const unsigned short ReserveBits = 2
 
static const unsigned short SUUIDBits = 0
 
static const unsigned short SCounterBits = UUIDBits
 
static const unsigned short SVersionBits = UUIDBits+CounterBits
 
static const unsigned short SReserveBits = UUIDBits+CounterBits+VersionBits
 

Protected Types

typedef CaloClusterLinkTemplate< CaloShowerContainer >::link_type data_link_type
 

Protected Member Functions

virtual void updateKine (const CaloCell *theCell, double weight)
 Updates cluster kinematics when cell is added. More...
 
double variableBE (const variable_type &theVariable, const int &samplingIndex) const
 Rewrite \( e_{0} \varphi_{0} + e_{1} \varphi_{1} \) as \( \left( e_{0} + e_{1} \right) \varphi_{0} + e_{1} \left( \varphi_{1} - \varphi_{0} \right) \) for \( \varphi \) calculation. More...
 
CaloSamplingDatagetDataStore (const variable_type &theVariable, bool useLink=true)
 
const CaloSamplingDatagetDataStore (const variable_type &theVariable, bool useLink=false) const
 
CaloClusterMomentStoregetMomentStore (bool useLink=true)
 
const CaloClusterMomentStoregetMomentStore (bool useLink=false) const
 
const CaloClusterMomentStoregetMomentStore (const moment_type &theMoment, bool useLink=false) const
 
CaloClusterMomentStoregetMomentStore (const moment_type &theMoment, bool useLink=true)
 
bool getMomentStorePtrs (const CaloClusterMomentStore *&pFirstStore, const CaloClusterMomentStore *&pSecndStore, bool useLink) const
 
bool setDataLink (CaloShowerContainer *pDataLink)
 Set element link for shower data. More...
 
bool setStores (CaloShower *pData, CaloCellLink *pLink, bool ownStores=true)
 Setup internal store. More...
 
bool setDataStore (CaloShower *pData, bool ownStores=true)
 Setup data store. More...
 
virtual bool setSignalState (signalstate_t s)
 Sets signal state. More...
 
virtual void resetSignalState ()
 reset the signal state More...
 
bool setDefaultSignalState (signalstate_t s)
 Sets default signal state. More...
 
CaloCellLinkgetCellLink ()
 
const CaloCellLinkgetCellLink () const
 
bool setCellLink (CaloCellLinkContainer *pLink)
 
bool setLinkStore (CaloCellLink *pLink, bool ownStores=true)
 
CaloCellLinkgetCellLinkPtr ()
 
const CaloCellLinkgetCellLinkPtr () const
 
void setBits (unsigned short startbit, unsigned short nbits, AthenaBarCode_t id, AthenaBarCode_t &bc) const
 
AthenaBarCode_t getBits (unsigned short startbit, unsigned short nbits) const
 
void initABC () const
 

Protected Attributes

CaloSamplingData m_dataStore
 {\ brief Cached Stores More...
 
CaloClusterMomentStore m_momentStore
 cluster moments More...
 
bool m_ownDataStore
 } More...
 
data_link_type m_dataLink
 { More...
 
CaloShowerm_shower
 } More...
 
double m_basicSignal
 Stores basic energy signal. More...
 
double m_time
 Cluster timing. More...
 
unsigned int m_samplingPattern
 Sampling pattern. More...
 
CaloRecoStatus m_status
 Calorimeter reconstruction status. More...
 
double m_e
 
double m_eta
 
double m_phi
 
double m_m
 
bool m_ownLinkStore
 

Static Protected Attributes

static const double m_errorValue = -999.
 Internal error return for real numbers. More...
 

Private Member Functions

template<class InputIterator >
void maybeSetVariable (variable_type varType, InputIterator beg, InputIterator end)
 Set variables of a given type in all samplings at once, taking locking into account. More...
 
double getRawE () const
 Access to raw energy. More...
 
double getRawEta () const
 Access to raw eta. More...
 
double getRawPhi () const
 Access to raw phi. More...
 
double getRawM () const
 Access to raw mass. More...
 
double getCalE () const
 Access to calibrated (LC) energy. More...
 
double getCalEta () const
 Access to calibrated (LC) eta. More...
 
double getCalPhi () const
 Access to calibrated (LC) phi. More...
 
double getCalM () const
 Access to calibrated (LC) m. More...
 
double getAltE () const
 Access to calibrated (cell weight) energy. More...
 
double getAltEta () const
 Access to calibrated (cell weight) eta. More...
 
double getAltPhi () const
 Access to calibrated (cell weight) phi. More...
 
double getAltM () const
 Access to calibrated (cell weight) m. More...
 
void setRawE (double e)
 Set raw energy. More...
 
void setRawEta (double eta)
 Set raw eta. More...
 
void setRawPhi (double phi)
 Set raw phi. More...
 
void setRawM (double m)
 Set raw m. More...
 
void setCalE (double e)
 Set calibrated (LC) energy. More...
 
void setCalEta (double eta)
 Set calibrated (LC) eta. More...
 
void setCalPhi (double phi)
 Set calibrated (LC) phi. More...
 
void setCalM (double m)
 Set calibrated (LC) m. More...
 
void setAltE (double e)
 Set calibrated (cell weight) energy. More...
 
void setAltEta (double eta)
 Set calibrated (cell weight) eta. More...
 
void setAltPhi (double phi)
 Set calibrated (cell weight) phi. More...
 
void setAltM (double m)
 Set calibrated (cell weight) m. More...
 
bool setStateRaw ()
 Helper to switch to raw state. More...
 
bool setStateCal ()
 Helper to switch to calibrated (LC) state. More...
 
bool setStateAlt ()
 Helper to switch to calibrated (cell weight) state. More...
 
AthenaBarCode_t combineWithUUIDHash (const AthenaBarCode_t &) const
 
void setUUIDHash (AthenaBarCode_t uuidhash)
 
AthenaBarCode_t hasUUIDHash () const
 
AthenaBarCode_t getUUIDHash () const
 

Static Private Member Functions

static AthenaBarCode_t hashUUID (const char *)
 
static AthenaBarCode_t getDefaultHash (const char *jobid=nullptr)
 
static AthenaBarCode_t makeDefaultHash (const char *jobid)
 

Private Attributes

bool m_barrel
 Flag is true if at least one cell in EMB. More...
 
bool m_endcap
 Flag is true if at least one cell in EMB. More...
 
unsigned int m_clusterSize
 Cluster size (e.g. More...
 
double m_eta0
 Cluster seed \( \eta \)
More...
 
double m_phi0
 Cluster seed \( \varphi \)
More...
 
double m_timeNorm
 Stores the normalization for time calculation e.g. More...
 
double m_posNorm
 Stores the normalization e.g. More...
 
std::vector< double > m_posSamNorm
 Stores the normalization e.g. More...
 
int m_nBarrel
 Counter for number of barrel cells with non-zero weight and energy. More...
 
int m_nEndcap
 Counter for number of endcap cells with non-zero weight and energy. More...
 
unsigned int m_lockPattern
 Variable lock pattern. More...
 
badChannelList m_badChannelData
 
GET_VALUE m_getE {}
 Pointer to getter functions. More...
 
GET_VALUE m_getEta {}
 Pointer to getter functions. More...
 
GET_VALUE m_getPhi {}
 Pointer to getter functions. More...
 
GET_VALUE m_getM {}
 Pointer to getter functions. More...
 
SET_VALUE m_setE {}
 Pointer to setter functions. More...
 
SET_VALUE m_setEta {}
 Pointer to setter functions. More...
 
SET_VALUE m_setPhi {}
 Pointer to setter functions. More...
 
SET_VALUE m_setM {}
 Pointer to setter functions. More...
 
signalstate_t m_signalState
 Stores actual signal state. More...
 
signalstate_t m_defSigState
 Stores default signal state. More...
 
double m_rawE
 Stores raw signal. More...
 
double m_rawEta
 Stores raw signal. More...
 
double m_rawPhi
 Stores raw signal. More...
 
double m_rawM
 Stores raw signal. More...
 
double m_altE
 Stores calibrated (cell weight) signal. More...
 
double m_altEta
 Stores calibrated (cell weight) signal. More...
 
double m_altPhi
 Stores calibrated (cell weight) signal. More...
 
double m_altM
 Stores calibrated (cell weight) signal. More...
 
cell_link_type m_cellLink
 Local pointer to cell store. More...
 
std::atomic< AthenaBarCode_tm_barcode
 

Static Private Attributes

static std::atomic< AthenaBarCode_tm_barcodeCounter = 0
 

Detailed Description

Definition at line 30 of file eflowCaloCluster.h.

Member Typedef Documentation

◆ badChannelList

Get Bad Channel information.

Definition at line 458 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

◆ cell_iterator

Iterator on CaloCell s.

Definition at line 115 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

◆ cell_link_type

Definition at line 146 of file CaloClusterNavigable.h.

◆ data_link_type

◆ GET_VALUE

typedef double(CaloCluster::* CaloCluster::GET_VALUE) () const
inherited

◆ moment_iterator

Moment iterator type for CaloCluster clients.

Definition at line 205 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

◆ moment_iterator_i

Cluster moment store iterator type.

Note
This type is only used internally, and can easily change in future implementations. DO NOT USE!

Definition at line 138 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

◆ moment_store

Store type for cluster moments.

Definition at line 128 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

◆ moment_type

Cluster moment indicator type.

Definition at line 130 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

◆ moment_value

Cluster moment value type.

Definition at line 132 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

◆ MomentType

◆ object_iter

external cell iterator type

Definition at line 51 of file CaloClusterNavigable.h.

◆ sampling_type

Sampling indicator.

Definition at line 118 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

◆ SET_VALUE

typedef void(CaloCluster::* CaloCluster::SET_VALUE) (double v)
inherited

◆ signalstate_t

◆ statename_t

◆ value_type

typedef double CaloCluster::value_type
inherited

Variable value type.

Definition at line 124 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

◆ variable_type

Data type indicator.

Definition at line 121 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

Member Enumeration Documentation

◆ ClusterSize

enum CaloCluster::ClusterSize
inherited

enums to identify different cluster size

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 
Unknown 

Definition at line 85 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

85  {
86  // electrons
87  SW_55ele = 1,
88  SW_35ele = 2,
89  SW_37ele = 3,
90  // photons
91  SW_55gam = 4,
92  SW_35gam = 5,
93  SW_37gam = 6,
94  // early converted photons
95  SW_55Econv = 7,
96  SW_35Econv = 8,
97  SW_37Econv = 9,
98  // soft electrons
99  SW_softe = 10,
100  // topological clusters
101  Topo_420 = 11,
102  Topo_633 = 12,
103  // transient cluster for AODCellContainer
104  SW_7_11 = 13,
105  Unknown = 99
106  };

◆ Kind

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

Definition at line 33 of file I4Momentum.h.

Constructor & Destructor Documentation

◆ eflowCaloCluster() [1/3]

eflowCaloCluster::eflowCaloCluster ( )

◆ eflowCaloCluster() [2/3]

eflowCaloCluster::eflowCaloCluster ( const CaloCluster clus)

Definition at line 23 of file eflowCaloCluster.cxx.

23  : CaloCluster(clus)
24 {
25  }

◆ eflowCaloCluster() [3/3]

eflowCaloCluster::eflowCaloCluster ( const CaloCluster clus,
bool  copyMoments 
)

Definition at line 28 of file eflowCaloCluster.cxx.

28  : CaloCluster(clus) {
29  /* Clear the moment store*/
30  if (!copyMoments) {
32  }
33 }

◆ ~eflowCaloCluster()

eflowCaloCluster::~eflowCaloCluster ( )
default

Member Function Documentation

◆ addBadChannel()

void CaloCluster::addBadChannel ( const CaloClusterBadChannelData badChannel)
inherited

Add Bad channel information.

Definition at line 1424 of file CaloCluster.cxx.

1425 {
1426  m_badChannelData.push_back(badChannel);
1427 }

◆ addCell() [1/2]

void CaloCompositeCellBase< CaloClusterNavigable >::addCell ( const CaloCellContainer pContainer,
const CaloCell pCell,
double  weight,
size_t  iCell = static_cast<size_t>(-1) 
)
inherited

Add a cell with global kinematic update (slow)

Parameters
pContainerinput pointer to a CaloCellContainer (unchanged)
pCellinput pointer to a CaloCell (unchanged)
weightsignal weight asociated with this cell
iCellinput index of the CaloCell in the CaloCellContainer. This may be omitted, but if supplied, a potentially slow search of the CaloCellContainer for the CaloCell may be avoided.

Adding a cell usually changes the global kinematics. The concrete implementation is left to the updateKine method, which needs to be implemented by derived classes.

Adding cells without updating the global kinematics is also possible by using the corresponding putElement method in the Navigable<CaloCellContainer,double> base class.

◆ addCell() [2/2]

void CaloCompositeCellBase< CaloClusterNavigable >::addCell ( const CaloCellContainer pContainer,
size_t &  iCell,
double  weight 
)
inherited

Add a cell with global kinematic update (fast)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Parameters
pContainerinput pointer to a CaloCellContainer (unchanged)
iCellinput index of CaloCell in CaloCellConatiner (unchanged)
weightsignal weight asociated with this cell

Faster as index is already available, but has to rely on client to provide the correct (and valid) index.

◆ addUniqueCell()

void CaloCompositeCellBase< CaloClusterNavigable >::addUniqueCell ( const CaloCellContainer theContainer,
size_t  theIndex,
double  weight,
size_t  size_hint = 0 
)
inherited

Add a cell with global kinematic update (fast)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Parameters
theContainerinput pointer to a CaloCellContainer (unchanged)
theIndexinput index of CaloCell in CaloCellConatiner (unchanged)
weightsignal weight asociated with this cell
size_hintif non-zero, a hint about many cells are likely to be in the cluster.

Faster as index is already available, but has to rely on client to provide the correct (and valid) index.

The caller also guarantees that the cell is not already in the cluster.

◆ addUniqueCellNoKine()

void CaloCompositeCellBase< CaloClusterNavigable >::addUniqueCellNoKine ( const CaloCellContainer theContainer,
size_t  theIndex,
double  weight,
size_t  size_hint = 0 
)
inherited

Add a cell with no kinematic update (fast)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Parameters
theContainerinput pointer to a CaloCellContainer (unchanged)
theIndexinput index of CaloCell in CaloCellConatiner (unchanged)
weightsignal weight asociated with this cell
size_hintif non-zero, a hint about many cells are likely to be in the cluster.

Faster as index is already available, but has to rely on client to provide the correct (and valid) index.

The caller also guarantees that the cell is not already in the cluster.

◆ allLocked()

bool CaloCluster::allLocked ( ) const
inlineinherited

Check if all variables are locked.

Definition at line 1289 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

1290 {
1291  return
1294 }

◆ begin()

CaloClusterNavigable::object_iter CaloClusterNavigable::begin ( ) const
inlinevirtualinherited

begin iterator for public object access

Definition at line 303 of file CaloClusterNavigable.h.

304 {
305  return (this->getCellLink())->begin();
306 }

◆ beginMoment()

CaloCluster::moment_iterator CaloCluster::beginMoment ( bool  useLink = true) const
inherited

First iterator on moment store.

Definition at line 1119 of file CaloCluster.cxx.

1120 {
1121  moment_iterator iMom;
1122  // get store pointers
1123  const CaloClusterMomentStore* pFirstMomStore = nullptr;
1124  const CaloClusterMomentStore* pSecndMomStore = nullptr;
1125  // try to return valid iterator to first data object...
1126  if ( this->getMomentStorePtrs(pFirstMomStore,pSecndMomStore,
1127  useLink) ) //DEBUG,"begin") )
1128  {
1129  iMom = moment_iterator(pFirstMomStore->begin(),pFirstMomStore,
1130  pSecndMomStore);
1131  }
1132  else
1133  {
1134  iMom = moment_iterator();
1135  }
1136 
1137  return iMom;
1138 }

◆ calculateKine()

void CaloCluster::calculateKine ( const bool  useweight = true,
const bool  updateLayers = true 
)
inherited

Calculate cluster kinematics from contained cells.

Definition at line 736 of file CaloCluster.cxx.

737 {
738  //static CaloPhiRange range;
739 
740  // update global kinematics
741  //
742  // for the update of the position the normalization is not a trival
743  // thing. The previous implementation used the sum of weighted
744  // energies as normalization. This leads to unphysical eta and phi
745  // values in case negative energies are added in. The new algorithm
746  // takes therefore |E| instead of E which gives the same eta and phi
747  // as before for the 2 cases where all cells are negative or all
748  // cells are positive. In the mixed case it will give the direction
749  // of activity in the calorimeter.
750 
751  m_posNorm = 0;
752  m_nBarrel = 0;
753  m_nEndcap = 0;
754  m_timeNorm = 0.;
755 
756  std::fill (m_posSamNorm.begin(), m_posSamNorm.end(), 0);
757 
758  CellAccum accum (m_posNorm, m_posSamNorm, m_nBarrel, m_nEndcap, m_timeNorm);
759  accum.theNewPhi = this->phi();
760  if (useweight)
761  accumCells (*this, accum, AccumWeight(this));
762  else
763  accumCells (*this, accum, AccumNoWeight());
764 
765  if ( m_posNorm != 0. )
766  {
767  double inorm = 1 / m_posNorm;
768  this->setEta(accum.theNewEta * inorm);
769  this->setPhi(CaloPhiRange::fix(accum.theNewPhi * inorm));
770  }
771  else
772  {
773  this->setEta(0);
774  this->setPhi(0);
775  }
776 
777  this->setE(accum.theNewEnergy);
778 
779  if ( m_timeNorm != 0. )
780  this->setTime(accum.theNewTime/m_timeNorm);
781  else
782  this->setTime(0);
783 
784 
786  // Check Sampling Variable Updates //
788 
789  if ( !updateLayers ) return;
790  if ( this->allLocked() ) return;
791  // update sampling quantities
792 
793  for(int i=0;i<(int)CaloSampling::Unknown;i++) {
794  if ( !accum.PresenceInSample[i] ) continue;
795  // check sampling bit
798  if ( m_posSamNorm[i] != 0 ) {
799  double inorm = 1 / m_posSamNorm[i];
800  accum.EtaInSample[i] *= inorm;
801  accum.PhiInSample[i] = CaloPhiRange::fix (accum.PhiInSample[i] * inorm);
802  }
803  }
804 
805 #define SETVAR(v, a) maybeSetVariable(v, a, (a)+sizeof(a)/sizeof((a)[0]))
806  SETVAR (CaloVariableType::ENERGY, accum.EnergyInSample);
807  SETVAR (CaloVariableType::ETA, accum.EtaInSample);
808  SETVAR (CaloVariableType::PHI, accum.PhiInSample);
809  SETVAR (CaloVariableType::MAX_ENERGY, accum.MaxEnergyInSample);
810  SETVAR (CaloVariableType::MAX_ETA, accum.EtaMaxEnergyInSample);
811  SETVAR (CaloVariableType::MAX_PHI, accum.PhiMaxEnergyInSample);
812 #undef SETVAR
813 
814  if ( m_nBarrel < 0 ) m_nBarrel = 0;
815  if ( m_nEndcap < 0 ) m_nEndcap = 0;
816 
817  m_barrel = (m_nBarrel>0);
818  m_endcap = (m_nEndcap>0);
819 }

◆ cell_begin()

cell_iterator CaloCompositeCellBase< CaloClusterNavigable >::cell_begin ( ) const
inherited

Retrieve a STL-type begin() iterator for the cell store.

◆ cell_end()

cell_iterator CaloCompositeCellBase< CaloClusterNavigable >::cell_end ( ) const
inherited

Retrieve a STL-type end() iterator for the cell store.

◆ cellLink()

const cell_link_type& CaloClusterNavigable::cellLink ( ) const
inlineinherited

Access to underlying link.

Definition at line 149 of file CaloClusterNavigable.h.

149 { return m_cellLink; }

◆ checkRecoStatus()

bool CaloCompositeKineBase::checkRecoStatus ( const CaloRecoStatus::StatusIndicator recIndic) const
inlineinherited

Check if a given indicator is set.

Definition at line 91 of file CaloCompositeKineBase.h.

93 { return m_status.checkStatus(recIndic); }

◆ combineWithUUIDHash()

AthenaBarCode_t AthenaBarCodeImpl::combineWithUUIDHash ( const AthenaBarCode_t hash) const
inlineprivateinherited

Definition at line 119 of file AthenaBarCodeImpl.h.

120  {
121 
122  AthenaBarCode_t tmp = 0;
123  AthenaBarCode_t lowerh = ~tmp >> (TotalBits
124  - UUIDBits);
125  AthenaBarCode_t higherh = ~tmp << (UUIDBits);
126 
127  AthenaBarCode_t lower = m_barcode & lowerh;
128  AthenaBarCode_t higher = hash & higherh;
129 
130  /*
131  std::cout << "AthenaBarCodeImpl::combineWithHash::hash=" << std::hex
132  << hash << " lower=" << lower << " higher=" << higher << " lowerh="
133  << lowerh << " higherh=" << higherh << " barcode=" << (lower
134  | higher) << std::endl;
135  */
136  return lower | higher;
137 
138 }

◆ contains() [1/2]

bool CaloClusterNavigable::contains ( const CaloCell pCell) const
inlineinherited

check if constituent is already there

Definition at line 290 of file CaloClusterNavigable.h.

291 {
292  return (this->getCellLink())->contains(pCell);
293 }

◆ contains() [2/2]

bool CaloClusterNavigable::contains ( const CaloCellContainer pContainer,
size_t &  iCell 
) const
inlineinherited

check if constituent is already there

Definition at line 296 of file CaloClusterNavigable.h.

298 {
299  return (this->getCellLink())->contains(pContainer,iCell);
300 }

◆ containsBadCells()

bool CaloCluster::containsBadCells ( ) const
inlineinherited

Check if cluster has any bad channel in it.

Definition at line 1300 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

1300  {
1301  return !(this->getBadChannel()->empty());
1302 }

◆ cosPhi()

double P4EEtaPhiMBase::cosPhi ( ) const
virtualinherited

cosinus phi

Implements I4Momentum.

Reimplemented in CaloCell, and CaloVertexedCell.

Definition at line 54 of file P4EEtaPhiMBase.cxx.

55 {
56  return std::cos(this->phi());
57 }

◆ cosTh()

double P4EEtaPhiMBase::cosTh ( ) const
virtualinherited

cosinus theta

Implements I4Momentum.

Reimplemented in CaloCell, and CaloVertexedCell.

Definition at line 82 of file P4EEtaPhiMBase.cxx.

83 {
84  return std::tanh(this->eta());
85 }

◆ cotTh()

double P4EEtaPhiMBase::cotTh ( ) const
virtualinherited

cottan theta

Implements I4Momentum.

Reimplemented in CaloCell.

Definition at line 77 of file P4EEtaPhiMBase.cxx.

78 {
79  return std::sinh(this->eta());
80 }

◆ createdInCurrentJob()

bool AthenaBarCodeImpl::createdInCurrentJob ( ) const
inherited

Definition at line 181 of file AthenaBarCodeImpl.cxx.

181  {
183  initABC();
184 
185  //FIXME: it is possible that m_defaultHash is not yet initialized.
186  return getUUIDHash() == getDefaultHash();
187 }

◆ defaultSignalState()

CaloCluster::signalstate_t CaloCluster::defaultSignalState ( ) const
inlineinherited

Retrieve default signal state.

Definition at line 862 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

863 { return m_defSigState; }

◆ dump() [1/2]

std::ostream & AthenaBarCodeImpl::dump ( std::ostream &  out) const
inherited

Definition at line 172 of file AthenaBarCodeImpl.cxx.

172  {
174  initABC();
175 
176  out << "\n[AthenaBarCode]= " << std::hex << (m_barcode) << std::dec << std::endl;
177  return out;
178 }

◆ dump() [2/2]

std::ostream & P4EEtaPhiMBase::dump ( std::ostream &  out = std::cout) const
virtualinherited

Print I4Momentum content.

Implements I4Momentum.

Definition at line 159 of file P4EEtaPhiMBase.cxx.

160 {
161 
162  std::stringstream outx;
163  outx << "[e,eta,phi,m] ="
164  << std::right << std::scientific << std::setprecision(8)
165  << std::setw(16) << this->e()
166  << std::setw(16) << this->eta()
167  << std::setw(16) << this->phi()
168  << std::setw(16) << this->m();
169 
170  out<<outx.str();
171 
172  return out;
173 }

◆ e() [1/2]

double CaloCluster::e ( ) const
inlinevirtualinherited

Retrieve energy independent of signal state.

Implements I4Momentum.

Definition at line 753 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

754 { return (this->*m_getE)(); }

◆ e() [2/2]

double CaloCluster::e ( signalstate_t  s) const
inlineinherited

Retrieve energy for a specific signal state.

Definition at line 777 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

778 {
779  if (!hasSignalState(s)) return m_errorValue;
780  switch (s) {
782  return P4EEtaPhiM::e();
784  return m_rawE;
786  return m_altE;
787  default:
788  return m_errorValue;
789  }
790 }

◆ end()

CaloClusterNavigable::object_iter CaloClusterNavigable::end ( ) const
inlinevirtualinherited

end iterator for public object access

Definition at line 309 of file CaloClusterNavigable.h.

310 {
311  return (this->getCellLink())->end();
312 }

◆ endMoment()

CaloCluster::moment_iterator CaloCluster::endMoment ( bool  useLink = true) const
inherited

Last iterator on moment store.

Definition at line 1141 of file CaloCluster.cxx.

1142 {
1143  const CaloClusterMomentStore* pFirstMomStore = nullptr;
1144  const CaloClusterMomentStore* pSecndMomStore = nullptr;
1145  if ( this->getMomentStorePtrs(pFirstMomStore,pSecndMomStore,useLink) )
1146  //DEBUG,"end") )
1147  {
1149  pSecndMomStore != nullptr && pSecndMomStore->size() > 0
1150  ? pSecndMomStore->end()
1151  : pFirstMomStore->end();
1152  return moment_iterator(lMom,pFirstMomStore,pSecndMomStore);
1153  }
1154  else
1155  {
1156  return {};
1157  }
1158 }

◆ energy()

double CaloCompositeKineBase::energy ( ) const
inlinevirtualinherited

Return energy.

Definition at line 70 of file CaloCompositeKineBase.h.

71 { return this->e(); }

◆ energy_max()

double CaloCluster::energy_max ( sampling_type  sampling) const
inlineinherited

Retrieve maximum cell energy in given sampling.

Parameters
samplingsampling indicator

Returns energy of cell with maximum signal in sampling.

Warning
Depreciated. This method should not be used anymore. Use getVariable(CaloVariableType::MAX_ENERGY,...) instead.

Definition at line 1096 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

1097 {
1098  return this->isEMSampling(sampling)
1099  ? this->getVariable(CaloVariableType::MAX_ENERGY,sampling,true)
1100  : double(0);
1101 }

◆ energy_nonvirt()

double CaloCompositeKineBase::energy_nonvirt ( ) const
inlineinherited

Return energy (nonvirtual version)

Definition at line 74 of file CaloCompositeKineBase.h.

75 { return this->m_e; }

◆ energyBE()

double CaloCluster::energyBE ( int  sam) const
inlineinherited

EMB/EMEC combined signal.

Parameters
samsampling counter
Warning
The sampling input argument refers to the sampling number (first, second, third,...) in the EMB and EMEC. It is not identical to the corresponding CaloSampling::CaloSample indicators in these calorimeters.

Definition at line 1219 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

1220 { return this->variableBE(CaloVariableType::ENERGY,sam); }

◆ errors()

const I4MomentumError * P4EEtaPhiM::errors ( ) const
virtualinherited

Access to errors, if available; returns 0 if no errors.

Reimplemented from P4EEtaPhiMBase.

Definition at line 15 of file P4EEtaPhiM.cxx.

16 {
17  return 0;
18 }

◆ eSample()

double CaloCluster::eSample ( sampling_type  theSampling) const
inlineinherited

Retrieve energy in a given sampling.

Parameters
theSamplingsampling indicator

Returns the energy in a given sampling.

Definition at line 975 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

976 { return this->getVariable(CaloVariableType::ENERGY,theSampling,true); }

◆ et()

double P4EEtaPhiMBase::et ( ) const
virtualinherited

transverse energy defined to be e*sin(theta)

Implements I4Momentum.

Reimplemented in CaloCell.

Definition at line 106 of file P4EEtaPhiMBase.cxx.

107  {
108  return this->e()*this->sinTh();
109  }

◆ eta() [1/2]

double CaloCluster::eta ( ) const
inlinevirtualinherited

Retrieve eta independent of signal state.

Implements I4Momentum.

Definition at line 755 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

756 {
757  return (this->*m_getEta)();
758 }

◆ eta() [2/2]

double CaloCluster::eta ( signalstate_t  s) const
inlineinherited

Retrieve eta for a specific signal state.

Definition at line 793 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

794 {
795  if (!hasSignalState(s)) return m_errorValue;
796  switch (s) {
798  return P4EEtaPhiM::eta();
800  return m_rawEta;
802  return m_altEta;
803  default:
804  return m_errorValue;
805  }
806 }

◆ eta0()

double CaloCluster::eta0 ( ) const
inlineinherited

Returns raw \( \eta \) of cluster seed.

Returns seed \( \eta \) for cluster.

Definition at line 1180 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

1180 { return m_eta0; }

◆ etaBE()

double CaloCluster::etaBE ( int  sam) const
inlineinherited

EMB/EMEC combined barycenter \( \eta \).

Parameters
samsampling counter
Warning
The sam input argument refers to the sampling number (first, second, third,...) in the EMB and EMEC. It is not identical to the corresponding CaloSampling::CaloSample indicators in these calorimeters.

Definition at line 1199 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

1200 { return this->variableBE(CaloVariableType::ETA,sam); }

◆ etamax()

double CaloCluster::etamax ( sampling_type  sampling) const
inlineinherited

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

Parameters
samplingsampling indicator

Returns \( \eta \) of cell with maximum signal in sampling.

Warning
Depreciated. This method should not be used anymore. Use getVariable(CaloVariableType::MAX_ETA,...) instead.

Definition at line 1112 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

1113 {
1114  return this->isEMSampling(sampling)
1115  ? this->getVariable(CaloVariableType::MAX_ETA,sampling,true)
1116  : double(0);
1117 }

◆ etaSample()

double CaloCluster::etaSample ( sampling_type  theSampling) const
inlineinherited

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

Parameters
theSamplingsampling indicator

Returns \( \eta \) in sampling.

Definition at line 991 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

992 { return this->getVariable(CaloVariableType::ETA,theSampling,true); }

◆ etasize()

double CaloCluster::etasize ( sampling_type  sampling) const
inlineinherited

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

Parameters
samplingsampling indicator

Returns eta size \( \Delta\eta \) of cluster in sampling.

Warning
Depreciated. This method should not be used anymore. Use getVariable(CaloVariableType::DELTA_ETA,...) instead.

Definition at line 1148 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

1149 {
1150  return this->isEMSampling(sampling)
1151  ? this->getVariable(CaloVariableType::DELTA_ETA,sampling,true)
1152  : double(0);
1153 }

◆ fillToken() [1/2]

void CaloClusterNavigable::fillToken ( INavigationToken iToken) const
inlinevirtualinherited

fill token for navigation

Implements INavigable.

Definition at line 390 of file CaloClusterNavigable.h.

391 {
392  if ( this->getCellLink() )
393  (this->getCellLink())->fillToken(iToken);
394 }

◆ fillToken() [2/2]

void CaloClusterNavigable::fillToken ( INavigationToken iToken,
const std::any &  rPar 
) const
inlinevirtualinherited

fill token for navigation

Implements INavigable.

Definition at line 397 of file CaloClusterNavigable.h.

399 {
400  if ( this->getCellLink() )
401  (this->getCellLink())->fillToken(iToken,rPar);
402 }

◆ getAltE()

double CaloCluster::getAltE ( ) const
privateinherited

Access to calibrated (cell weight) energy.

Definition at line 1325 of file CaloCluster.cxx.

1325 { return m_altE; }

◆ getAltEta()

double CaloCluster::getAltEta ( ) const
privateinherited

Access to calibrated (cell weight) eta.

Definition at line 1326 of file CaloCluster.cxx.

1326 { return m_altEta; }

◆ getAltM()

double CaloCluster::getAltM ( ) const
privateinherited

Access to calibrated (cell weight) m.

Definition at line 1328 of file CaloCluster.cxx.

1328 { return m_altM; }

◆ getAltPhi()

double CaloCluster::getAltPhi ( ) const
privateinherited

Access to calibrated (cell weight) phi.

Definition at line 1327 of file CaloCluster.cxx.

1327 { return m_altPhi; }

◆ getAthenaBarCode() [1/2]

AthenaBarCode_t AthenaBarCodeBase::getAthenaBarCode ( ) const
virtualinherited

Reimplemented from IAthenaBarCode.

Definition at line 22 of file AthenaBarCodeBase.cxx.

23 {
25 }

◆ getAthenaBarCode() [2/2]

virtual AthenaBarCode_t IAthenaBarCode::getAthenaBarCode ( ) const
inlinevirtualinherited

◆ getBadChannel()

const CaloCluster::badChannelList * CaloCluster::getBadChannel ( ) const
inherited

Definition at line 1434 of file CaloCluster.cxx.

1435 {
1436  return &m_badChannelData;
1437 }

◆ getBasicEnergy()

double CaloCluster::getBasicEnergy ( ) const
inlinevirtualinherited

Access basic energy scale signal.

Implements CaloCompositeKineBase.

Definition at line 876 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

876 { return m_basicSignal; }

◆ getBits()

AthenaBarCode_t AthenaBarCodeImpl::getBits ( unsigned short  startbit,
unsigned short  nbits 
) const
protectedinherited

Definition at line 249 of file AthenaBarCodeImpl.cxx.

249  {
250 
252  //now m_barcode=aaaaaxxaa;
253  tmp = m_barcode << (startbit); //tmp=xxaa00000;
254  tmp = tmp >> (TotalBits - nbits); //tmp=0000000xx
255 
256  return tmp;
257 }

◆ getCalE()

double CaloCluster::getCalE ( ) const
privateinherited

Access to calibrated (LC) energy.

Definition at line 1335 of file CaloCluster.cxx.

1335 { return P4EEtaPhiM::e(); }

◆ getCalEta()

double CaloCluster::getCalEta ( ) const
privateinherited

Access to calibrated (LC) eta.

Definition at line 1336 of file CaloCluster.cxx.

1336 { return P4EEtaPhiM::eta(); }

◆ getCalM()

double CaloCluster::getCalM ( ) const
privateinherited

Access to calibrated (LC) m.

Definition at line 1338 of file CaloCluster.cxx.

1338 { return P4EEtaPhiM::m(); }

◆ getCalPhi()

double CaloCluster::getCalPhi ( ) const
privateinherited

Access to calibrated (LC) phi.

Definition at line 1337 of file CaloCluster.cxx.

1337 { return P4EEtaPhiM::phi(); }

◆ getCellContainer() [1/2]

const CaloCellContainer* CaloCompositeCellBase< CaloClusterNavigable >::getCellContainer ( cell_iterator iterCell) const
inherited

Retrieve the pointer to the original cell container for a given cell.

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Parameters
iterCelliterator to the cell (unchanged)

Returns 0 if cell not in store.

◆ getCellContainer() [2/2]

const CaloCellContainer* CaloCompositeCellBase< CaloClusterNavigable >::getCellContainer ( const CaloCell pCell) const
inherited

Retrieve the pointer to the original cell container for a given cell.

Parameters
pCellpointer to the cell (unchanged)

Returns 0 if cell not in store.

◆ getCellIndex() [1/2]

bool CaloCompositeCellBase< CaloClusterNavigable >::getCellIndex ( cell_iterator iterCell,
size_t &  iCell 
) const
inherited

Retrieve the index of a given cell in the cell container.

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Parameters
iterCelliterator to the cell (unchanged)
iCellreference to a modifiable index variable

Returns true and a valid index if cell is found in store. If cell is not found, the value of the index is unchanged (typically 0 if initialized properly by client).

Note that the index refers to the index of the cell in the cell container, not the index of the cell in the local store.

◆ getCellIndex() [2/2]

bool CaloCompositeCellBase< CaloClusterNavigable >::getCellIndex ( const CaloCell pCell,
size_t &  iCell 
) const
inherited

Retrieve the index of a given cell in the cell container.

Parameters
pCellpointer to the cell (unchanged)
iCellreference to a modifiable index variable

Returns true and a valid index if cell is found in store. If cell is not found, the value of the index is unchanged (typically 0 if initialized properly by client).

Note that the index refers to the index of the cell in the cell container, not the index of the cell in the local store.

◆ getCellLink() [1/2]

CaloCellLink * CaloClusterNavigable::getCellLink ( )
protectedinherited

Definition at line 39 of file CaloClusterNavigable.cxx.

40 {
41  if ( m_ownLinkStore )
42  {
43  if ( *m_cellLink == nullptr ) m_cellLink.setElement(new CaloCellLink());
44  // Ok, because this happens only if we own the pointer.
45  CaloCellLink* link ATLAS_THREAD_SAFE = const_cast<CaloCellLink*>(*m_cellLink);
46  return link;
47  }
48  else
49  {
50  return (CaloCellLink*)nullptr;
51  }
52 
53  // check if local pointer to store
54  // if ( m_cellLinkPointer != 0 ) { return m_cellLinkPointer;}
55  // check if linked pointer to store
56  // if ( m_cellLink.isValid() && *m_cellLink != 0 )
57  // {
58  // FIXME
59  // CaloCellLink* pLink = const_cast<CaloCellLink*>(*m_cellLink);
60  // return pLink;
61  // }
62  // create a new local store/
63  // m_cellLinkPointer = new CaloCellLink();
64  // return m_cellLinkPointer;
65 }

◆ getCellLink() [2/2]

const CaloCellLink * CaloClusterNavigable::getCellLink ( ) const
protectedinherited

Definition at line 68 of file CaloClusterNavigable.cxx.

69 {
70  // return *m_cellLink;
71 
72  // if ( m_cellLinkPointer != 0 )
73  // {
74  // std::cout << "[CaloClusterNavigable@" << this << "] return "
75  // << "cell link @" << m_cellLinkPointer << std::endl;
76  // return m_cellLinkPointer;
77  // }
78  // if ( *m_cellLink == 0 )
79  // {
80  // std::cout << "[CaloClusterNavigable@" << this << "] problem with "
81  // << "cell link store, unexpected pointer = "
82  // << *m_cellLink << std::endl;
83  // }
84  return m_cellLink.isValid() ? *m_cellLink : nullptr;
85 }

◆ getCellLinkPtr() [1/2]

CaloCellLink * CaloClusterNavigable::getCellLinkPtr ( )
inlineprotectedinherited

Definition at line 426 of file CaloClusterNavigable.h.

427 {
428  CaloCellLink* ret;
429  if (m_cellLink.isValid())
430  ret = const_cast<CaloCellLink*>(*m_cellLink);
431  else
432  ret = 0;
433  return ret;
434 
435 }

◆ getCellLinkPtr() [2/2]

const CaloCellLink * CaloClusterNavigable::getCellLinkPtr ( ) const
inlineprotectedinherited

Definition at line 438 of file CaloClusterNavigable.h.

438  {
439  const CaloCellLink* ret;
440  if (m_cellLink.isValid())
441  ret = *m_cellLink;
442  else
443  ret = 0;
444  return ret;
445 }

◆ getCellWeight() [1/3]

double CaloCompositeCellBase< CaloClusterNavigable >::getCellWeight ( cell_iterator iterCell) const
inherited

Retrieve the kinematic weight of a given cell.

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Parameters
iterCelliterator pointing to a cell

◆ getCellWeight() [2/3]

double CaloCompositeCellBase< CaloClusterNavigable >::getCellWeight ( const CaloCell pCell) const
inherited

Retrieve the kinematic weight of a given cell.

Parameters
pCellpointer to the cell (unchanged)

Returns 0. if cell not in store.

◆ getCellWeight() [3/3]

double CaloCompositeCellBase< CaloClusterNavigable >::getCellWeight ( const CaloCellContainer pContainer,
size_t &  iCell 
) const
inherited

Retrieve the kinematic weight of a given cell.

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Parameters
pContainerpointer to cell container (unchanged)
iCellindex to cell in container (unchanged)

◆ getClusterEtaSize()

unsigned int CaloCluster::getClusterEtaSize ( ) const
inherited

Definition at line 1439 of file CaloCluster.cxx.

1439  {
1440 
1441  unsigned int size = 0;
1442  if(m_clusterSize==SW_55ele ||
1445  size = 5;
1446  }else if(m_clusterSize==SW_35ele ||
1452  size = 3;
1453  }else if(m_clusterSize==SW_7_11){
1454  size = 7;
1455  }
1456 
1457  return size;
1458 
1459 }

◆ getClusterPhiSize()

unsigned int CaloCluster::getClusterPhiSize ( ) const
inherited

Definition at line 1461 of file CaloCluster.cxx.

1461  {
1462 
1463  unsigned int size = 0;
1464  if(m_clusterSize==SW_55ele ||
1470  size = 5;
1471  }else if(
1475  size = 7;
1476  }else if(m_clusterSize==SW_7_11){
1477  size = 11;
1478  }
1479 
1480  return size;
1481 
1482 }

◆ getClusterSize()

unsigned int CaloCluster::getClusterSize ( ) const
inlineinherited

Get cluster size.

Definition at line 895 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

895 { return m_clusterSize; }

◆ getContainer() [1/2]

const CaloCellContainer * CaloClusterNavigable::getContainer ( const CaloCell pCell) const
inlineinherited

public container access: retrieve Container for given object pointer

Definition at line 347 of file CaloClusterNavigable.h.

348 {
349  return (this->getCellLink())->getContainer(pCell);
350 }

◆ getContainer() [2/2]

const CaloCellContainer * CaloClusterNavigable::getContainer ( object_iter  cellIter) const
inlineinherited

public container access: retrieve Container for given object iterator

Definition at line 354 of file CaloClusterNavigable.h.

355 {
356  return (this->getCellLink())->getContainer(cellIter);
357 }

◆ getDataStore() [1/2]

const CaloSamplingData * CaloCluster::getDataStore ( const variable_type varType,
bool  traceLink = false 
) const
protectedinherited
Parameters
varTypereference to non-modifiable variable type indicator
traceLinkflag allows tracing external storelinks if set true

Dynamically allocates the correct store (local cache or external) depending on availability and indicator. The store is non-modifiable.

Definition at line 1056 of file CaloCluster.cxx.

1057 {
1058  //
1059  //DEBUGstd::cout << "[CaloCluster@" << this
1060  //DEBUG << "]::getDataStore - const data store pointer requested, "
1061  //DEBUG << "try internal pointer = " << &m_dataStore;
1062 
1063  // check if variable in local data store
1064  if ( m_dataStore.contains(varType) )
1065  {
1066  // std::cout << "...successful!" << std::endl;
1067  return &m_dataStore;
1068  }
1069 
1070  // check linked data store if requested
1071  if ( traceLink && m_dataLink.isValid())
1072  {
1073  //DEBUG std::cout << "... unsuccessful, use linked pointer "
1074  //DEBUG << &((*m_dataLink)->getSamplingStore()) << std::endl;
1075  return &((*m_dataLink)->getSamplingStore());
1076  }
1077 
1078  //DEBUGstd::cout << "... failed, no external or internal pointer available!"
1079  //DEBUG << std::endl;
1080  return (const CaloSamplingData*)nullptr;
1081 }

◆ getDataStore() [2/2]

CaloSamplingData * CaloCluster::getDataStore ( const variable_type varType,
bool  traceLink = true 
)
protectedinherited
Parameters
varTypereference to non-modifiable variable type indicator
traceLinkif true return pointer to external store

Dynamically allocates the correct store (local cache or external) depending on availability and indicator. The store is modifiable, i.e. write access is granted.

Definition at line 1093 of file CaloCluster.cxx.

1094 {
1095  if ( m_dataStore.contains(varType) )
1096  {
1097  return &m_dataStore;
1098  }
1099 
1100  // check external store if requested
1101  if ( m_ownDataStore && !m_dataLink.isValid()) {
1102  m_shower = new CaloShower();
1103  m_dataLink.setElement(m_shower);
1104  }
1105 
1106  // trace
1107  if ( ( traceLink || m_ownDataStore ) && m_shower )
1108  {
1109  return &(m_shower->getSamplingStore());
1110  }
1111 
1112  return (CaloSamplingData*)nullptr;
1113 }

◆ getDefaultHash()

AthenaBarCode_t AthenaBarCodeImpl::getDefaultHash ( const char *  jobid = nullptr)
staticprivateinherited

Definition at line 304 of file AthenaBarCodeImpl.cxx.

305 {
306  static const AthenaBarCode_t defaultHash = makeDefaultHash (jobid);
307  return defaultHash;
308 }

◆ getEInSamples()

void CaloCluster::getEInSamples ( std::vector< double > &  theEnergies) const
inlineinherited

Retrieve energy for all samplings into a vector.

Parameters
theEnergiesreference to a modifiable vector
Warning
The vector referenced on input will be completely overwritten and resized.

Definition at line 983 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

984 { this->getVariable(CaloVariableType::ENERGY,theEnergies,true); }

◆ getEtaInSamples()

void CaloCluster::getEtaInSamples ( std::vector< double > &  theEtas) const
inlineinherited

Retrieve \( \eta \) for all samplings into a vector.

Parameters
theEtasreference to a modifiable vector
Warning
The vector referenced on input will be completely overwritten and resized.

Definition at line 999 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

1000 { this->getVariable(CaloVariableType::ETA,theEtas,true); }

◆ getIndex() [1/2]

bool CaloClusterNavigable::getIndex ( const CaloCell pCell,
size_t &  iCell 
) const
inlineinherited

get index of child in original container, given a pointer

Definition at line 360 of file CaloClusterNavigable.h.

361 {
362  return (this->getCellLink())->getIndex(pCell,iCell);
363 }

◆ getIndex() [2/2]

bool CaloClusterNavigable::getIndex ( object_iter  cellIter,
size_t &  iCell 
) const
inlineinherited

get index of child in original container, given an iterator

Definition at line 366 of file CaloClusterNavigable.h.

367 {
368  return (this->getCellLink())->getIndex(cellIter,iCell);
369 }

◆ getMoment() [1/2]

CaloClusterMoment CaloCluster::getMoment ( const moment_iterator momIter) const
inlineinherited

Get individual moment.

Definition at line 1236 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

1237 { return rMomIter.getMoment(); }

◆ getMoment() [2/2]

CaloClusterMoment CaloCluster::getMoment ( const moment_type momType,
bool  useLink = true 
) const
inlineinherited

Get individual moment.

Definition at line 1227 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

1227  {
1228  CaloClusterMoment value(0.0);
1229  if (!this->retrieveMoment(momType,value,useLink))
1230  value = 0; // Make coverity happy.
1231  return value;
1232 }

◆ getMomentStore() [1/4]

const CaloClusterMomentStore * CaloCluster::getMomentStore ( bool  useLink = false) const
protectedinherited

Definition at line 1160 of file CaloCluster.cxx.

1161 {
1162  // follow link policy
1163  if ( !useLink ) return &m_momentStore;
1164 
1165  // check on external link usage
1166  if ( ( m_dataLink.isValid() || m_ownDataStore ) && m_dataLink.isValid() )
1167  return &((*m_dataLink)->getMomentStore());
1168 
1169  return (const CaloClusterMomentStore*)nullptr;
1170 }

◆ getMomentStore() [2/4]

CaloClusterMomentStore * CaloCluster::getMomentStore ( bool  useLink = true)
protectedinherited

Definition at line 1172 of file CaloCluster.cxx.

1173 {
1174  // follow link policy: do not use link!
1175  if ( !useLink ) return &m_momentStore;
1176 
1177  // follow link policy: use link!
1178  if ( m_ownDataStore && m_dataLink.isValid() == 0 )
1179  {
1180  m_shower = new CaloShower();
1181  m_dataLink.setElement(m_shower);
1182  return this->getMomentStore(useLink);
1183  }
1184 
1185  if ( m_shower || m_ownDataStore )
1186  {
1187  return &(m_shower->getMomentStore());
1188  }
1189  return (CaloClusterMomentStore*)nullptr;
1190 }

◆ getMomentStore() [3/4]

const CaloClusterMomentStore * CaloCluster::getMomentStore ( const moment_type theMoment,
bool  useLink = false 
) const
protectedinherited

Definition at line 1202 of file CaloCluster.cxx.

1203 {
1204  // local store
1205  if ( m_momentStore.contains(momType) ) return &m_momentStore;
1206 
1207  // external store
1208  const CaloClusterMomentStore* pMomStore = this->getMomentStore(useLink);
1209 
1210  //
1211  return pMomStore != nullptr && pMomStore->contains(momType)
1212  ? pMomStore : (const CaloClusterMomentStore*) nullptr;
1213 }

◆ getMomentStore() [4/4]

CaloClusterMomentStore * CaloCluster::getMomentStore ( const moment_type theMoment,
bool  useLink = true 
)
protectedinherited

Definition at line 1192 of file CaloCluster.cxx.

1194 {
1195  // this is the "write" implementation!
1196  return m_momentStore.contains(momType)
1197  ? &m_momentStore // moment already in local store
1198  : this->getMomentStore(useLink); // retrieve local or external
1199 }

◆ getMomentStoreLink()

data_link_type CaloCluster::getMomentStoreLink ( ) const
inlineinherited

Definition at line 725 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

726  { return m_dataLink; }

◆ getMomentStorePtrs()

bool CaloCluster::getMomentStorePtrs ( const CaloClusterMomentStore *&  pFirstStore,
const CaloClusterMomentStore *&  pSecndStore,
bool  useLink 
) const
protectedinherited

Definition at line 1216 of file CaloCluster.cxx.

1222 {
1223  // first store is assumed local by default
1224  pFirstMomStore = this->getMomentStore();
1225  // second store is assumed NOT to exist by default
1226  pSecndMomStore = nullptr;
1227  // local first store does not exist or is empty...
1228  if ( pFirstMomStore == nullptr || pFirstMomStore->size() == 0 )
1229  {
1230  // ...try to make external store the first one!
1231  pFirstMomStore = this->getMomentStore(useLink);
1232  }
1233  // local first store exists...
1234  else
1235  {
1236  // ...check if second store available!
1237  pSecndMomStore = useLink ? this->getMomentStore(useLink) : nullptr;
1238  }
1239  return pFirstMomStore != nullptr;
1240 }

◆ getMomentType()

CaloClusterMoment::MomentType CaloCluster::getMomentType ( const moment_iterator momIter) const
inlineinherited

Get moment type.

Definition at line 1254 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

1255 { return rMomIter.getMomentType(); }

◆ getMomentValue() [1/2]

double CaloCluster::getMomentValue ( const moment_iterator momIter) const
inlineinherited

Definition at line 1250 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

1251 { return (momIter.getMoment()).getValue(); }

◆ getMomentValue() [2/2]

double CaloCluster::getMomentValue ( const moment_type momType,
bool  useLink = true 
) const
inlineinherited

Get moment value.

Definition at line 1240 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

1240  {
1241  double value(0.0);
1242  if (!this->retrieveMoment(momType,value,useLink))
1243  value = 0; // Make coverity happy.
1244  return value;
1245 }

◆ getNumberOfCells()

unsigned int CaloCompositeCellBase< CaloClusterNavigable >::getNumberOfCells ( ) const
inherited

Return the number of cells in the store.

◆ getParameter() [1/3]

double CaloClusterNavigable::getParameter ( const CaloCell pCell) const
inlineinherited

public container access: relational parameter retrieval

Definition at line 327 of file CaloClusterNavigable.h.

328 {
329  return (this->getCellLink())->getParameter(pCell);
330 }

◆ getParameter() [2/3]

double CaloClusterNavigable::getParameter ( const CaloCellContainer pContainer,
size_t &  iCell 
) const
inlineinherited

public container access: relational parameter retrieval

Definition at line 333 of file CaloClusterNavigable.h.

335 {
336  return (this->getCellLink())->getParameter(pContainer,iCell);
337 }

◆ getParameter() [3/3]

double CaloClusterNavigable::getParameter ( object_iter cellIter) const
inlineinherited

public container access: relational parameter retrieval

Definition at line 340 of file CaloClusterNavigable.h.

341 {
342  return (this->getCellLink())->getParameter(cellIter);
343 }

◆ getPhiInSamples()

void CaloCluster::getPhiInSamples ( std::vector< double > &  thePhis) const
inlineinherited

Retrieve \( \varphi \) for all samplings into a vector.

Parameters
thePhisreference to a modifiable vector
Warning
The vector referenced on input will be completely overwritten and resized.

Definition at line 1015 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

1016 { this->getVariable(CaloVariableType::PHI,thePhis,true); }

◆ getRawE()

double CaloCluster::getRawE ( ) const
privateinherited

Access to raw energy.

Definition at line 1315 of file CaloCluster.cxx.

1315 { return m_rawE; }

◆ getRawEta()

double CaloCluster::getRawEta ( ) const
privateinherited

Access to raw eta.

Definition at line 1316 of file CaloCluster.cxx.

1316 { return m_rawEta; }

◆ getRawM()

double CaloCluster::getRawM ( ) const
privateinherited

Access to raw mass.

Definition at line 1318 of file CaloCluster.cxx.

1318 { return m_rawM; }

◆ getRawPhi()

double CaloCluster::getRawPhi ( ) const
privateinherited

Access to raw phi.

Definition at line 1317 of file CaloCluster.cxx.

1317 { return m_rawPhi; }

◆ getRecoStatus()

const CaloRecoStatus & CaloCompositeKineBase::getRecoStatus ( ) const
inlineinherited

Retrieve the reconstruction status.

Definition at line 78 of file CaloCompositeKineBase.h.

79 { return m_status; }

◆ getReserveBits()

AthenaBarCode_t AthenaBarCodeImpl::getReserveBits ( ) const
inherited

Definition at line 216 of file AthenaBarCodeImpl.cxx.

216  {
218  initABC();
220 }

◆ getTime()

double CaloCluster::getTime ( ) const
inlineinherited

Access cluster time.

Definition at line 886 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

886 { return m_time; }

◆ getUUIDHash()

AthenaBarCode_t AthenaBarCodeImpl::getUUIDHash ( ) const
privateinherited

Definition at line 244 of file AthenaBarCodeImpl.cxx.

244  {
245  return getBits(SUUIDBits, UUIDBits);
246 }

◆ getVariable() [1/2]

double CaloCluster::getVariable ( const variable_type varType,
const sampling_type samType,
bool  useLink = true 
) const
inherited

General sampling variable access.

Parameters
varTypevariable type indicator
samTypesampling type indicator
useLinkextends checks to external data store only if true

This method first checks if the requested data is in the CaloCluster cache. If not, it tries to retrieve the data from the linked data store if the traceLink flag is set to true. This allows full control of the data source by the client.

Definition at line 837 of file CaloCluster.cxx.

840 {
841  const CaloSamplingData* pDataStore = this->getDataStore(varType,useLink);
842  return pDataStore != nullptr
843  ? pDataStore->retrieveData(varType,samType)
844  : double(0);
845 }

◆ getVariable() [2/2]

bool CaloCluster::getVariable ( const variable_type varType,
std::vector< double > &  varList,
bool  useLink = true 
) const
inherited

General access to variables of a given type in all samplings.

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Parameters
varTypevariable type
varListreference to modifiable list of variable values
useLinkextends checks to external data store if true

Definition at line 857 of file CaloCluster.cxx.

860 {
861  const CaloSamplingData* pDataStore = this->getDataStore(varType,useLink);
862  return pDataStore != nullptr ? pDataStore->retrieveData(varType,varList) : false;
863 }

◆ getVersion() [1/2]

AthenaBarCodeVersion_t AthenaBarCodeBase::getVersion ( ) const
virtualinherited

Reimplemented from IAthenaBarCode.

Definition at line 47 of file AthenaBarCodeBase.cxx.

48 {
50 }

◆ getVersion() [2/2]

virtual AthenaBarCodeVersion_t IAthenaBarCode::getVersion ( ) const
inlinevirtualinherited

◆ hashUUID()

AthenaBarCode_t AthenaBarCodeImpl::hashUUID ( const char *  guid)
staticprivateinherited

Definition at line 190 of file AthenaBarCodeImpl.cxx.

190  {
191  const int maxdigs = 16;
192  AthenaBarCode_t tmp1 = static_cast<AthenaBarCode_t> (2166136261UL);
193 
194  for (int i = 0; i < maxdigs; i++) {
195  tmp1 ^= (AthenaBarCode_t)(guid[i]);
196  tmp1 *= 16777619UL;
197  }
198 
199  return (tmp1 << (TotalBits - UUIDBits)) >> (TotalBits - UUIDBits);
200 }

◆ hasSameAthenaBarCode() [1/2]

virtual bool IAthenaBarCode::hasSameAthenaBarCode ( const IAthenaBarCode ) const
inlinevirtualinherited

◆ hasSameAthenaBarCode() [2/2]

bool AthenaBarCodeBase::hasSameAthenaBarCode ( const IAthenaBarCode obj) const
virtualinherited

Reimplemented from IAthenaBarCode.

Definition at line 34 of file AthenaBarCodeBase.cxx.

35 {
37 }

◆ hasSameAthenaBarCodeExceptVersion() [1/2]

virtual bool IAthenaBarCode::hasSameAthenaBarCodeExceptVersion ( const IAthenaBarCode ) const
inlinevirtualinherited

◆ hasSameAthenaBarCodeExceptVersion() [2/2]

bool AthenaBarCodeBase::hasSameAthenaBarCodeExceptVersion ( const IAthenaBarCode obj) const
virtualinherited

Reimplemented from IAthenaBarCode.

Definition at line 41 of file AthenaBarCodeBase.cxx.

◆ hasSampling()

bool CaloCluster::hasSampling ( const sampling_type theSampling) const
inlineinherited

Checks if certain sampling contributes to cluster.

Definition at line 954 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

955 {
956  unsigned int bitPattern = CaloSamplingHelper::getSamplingBit(theSampling);
957  return (m_samplingPattern & bitPattern) == bitPattern;
958 }

◆ hasSignalState()

bool CaloCluster::hasSignalState ( signalstate_t  s) const
virtualinherited

check if signal state exists for current implementation

Implements ISignalState.

Definition at line 1358 of file CaloCluster.cxx.

1359 {
1360  return s == statename_t::CALIBRATED ||
1363 }

◆ hasUUIDHash()

AthenaBarCode_t AthenaBarCodeImpl::hasUUIDHash ( ) const
privateinherited

Definition at line 239 of file AthenaBarCodeImpl.cxx.

239  {
240  return getUUIDHash();
241 }

◆ hlv() [1/2]

virtual CLHEP::HepLorentzVector CaloCluster::hlv ( ) const
inlinevirtualinherited

redefine hlv() here to avoid ambiguities

Implements I4Momentum.

Definition at line 270 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

270 {return CaloCompositeKineBase::hlv();}

◆ hlv() [2/2]

CLHEP::HepLorentzVector CaloCluster::hlv ( CaloCluster::signalstate_t  s) const
virtualinherited

retrieve the 4-momentum at a given signal state

Implements ISignalState.

Definition at line 1485 of file CaloCluster.cxx.

1485  {
1486  if(hasSignalState(s)){
1487  switch (s) {
1488  case statename_t::CALIBRATED: {
1489  P4EEtaPhiM tmp = *this;
1490  return tmp.hlv();
1491  }
1494  return tmp.hlv();
1495  }
1498  return tmp.hlv();
1499  }
1500  default:
1501  break;
1502  }
1503  }
1504  return this->hlv();
1505 }

◆ inBarrel()

bool CaloCluster::inBarrel ( ) const
inlineinherited

Returns true if at least one clustered cell in EMB.

Returns true if cluster has more than one cell with positive signal in barrel calorimeter.

Definition at line 926 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

926 { return m_barrel; }

◆ inEndcap()

bool CaloCluster::inEndcap ( ) const
inlineinherited

Returns true if at least one clustered cell in EMEC.

Returns true if cluster has more than one cell with positive signal in endcap calorimeter.

Definition at line 931 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

931 { return m_endcap; }

◆ initABC()

void AthenaBarCodeImpl::initABC ( ) const
protectedinherited

Definition at line 24 of file AthenaBarCodeImpl.cxx.

24  {
25 
26  //This function will be call the first time any "access" function is called
27  //using const type because those "access" functions might be const
28  //Will only change mutable variables
29 
30  // std::cout<<"Calling AthenaBarCodeImpl::AthenaBarCodeImpl() "<<std::endl;
31 
32  //* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
33  //Set counter part
34  //* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
35 
37 
39 
40  try {
42  barcode);
43  }
44  catch (const GaudiException& Exception) {
45  throw std::runtime_error(
46  "AthenaBarCodeImpl::Can not Set Counter Bit, Counter Overflow");
47  }
48 
49  //* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
50  //Set reserve part
51  //* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
52  try {
54  }
55  catch (const GaudiException& Exception) {
56  throw std::runtime_error(
57  "AthenaBarCodeImpl::Can not initialize Reserve Bit");
58  }
59 
60  //* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
61  //Set Version part
62  //* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
63  try {
65  }
66  catch (const GaudiException& Exception) {
67  throw std::runtime_error(
68  "AthenaBarCodeImpl::Can not initialize Version Bit");
69  }
70 
71 
72  try {
74  }
75  catch (const GaudiException& Exception) {
76  throw std::runtime_error("AthenaBarCodeImpl::Can not set UUID Hash Bits");
77  }
78 
80 
81  /* std::cout << "[AthenaBarCodeImpl::m_barcode,m_defaultHash,m_barcodeCounter]= "
82  << std::hex
83  << (m_barcode)<< "\t"
84  << m_defaultHash<< "\t"
85  << (m_barcodeCounter)<<"\t"
86  << std::dec
87  << std::endl;
88  */
89 }

◆ insertElement() [1/4]

void CaloClusterNavigable::insertElement ( const CaloCellContainer pContainer,
const CaloCell pCell,
const double &  weight = double(1.) 
)
inlineinherited

insert element without checking if already in store: use element pointer

Definition at line 217 of file CaloClusterNavigable.h.

220 {
221  (this->getCellLink())->insertElement(pContainer,pCell,weight);
222 }

◆ insertElement() [2/4]

void CaloClusterNavigable::insertElement ( const CaloCellContainer pContainer,
size_t &  iCell,
const double &  weight = double(1.) 
)
inlineinherited

insert element without checking if already in store: use index

Definition at line 225 of file CaloClusterNavigable.h.

228 {
229  (this->getCellLink())->insertElement(pContainer,iCell,weight);
230 }

◆ insertElement() [3/4]

void CaloClusterNavigable::insertElement ( const CaloCellContainer pContainer,
size_t  iCell,
const double  weight,
size_t  size_hint 
)
inlineinherited

same, with a size hint.

Definition at line 233 of file CaloClusterNavigable.h.

237 {
238  (this->getCellLink())->insertElement(pContainer,iCell,weight,size_hint);
239 }

◆ insertElement() [4/4]

void CaloClusterNavigable::insertElement ( const ElementLink< CaloCellContainer > &  el,
const double  weight,
size_t  size_hint = 0 
)
inlineinherited

Insert element via ElementLink.

Definition at line 243 of file CaloClusterNavigable.h.

246 {
247  (this->getCellLink())->insertElement(el,weight,size_hint);
248 }

◆ insertMoment()

void CaloCluster::insertMoment ( const moment_type momType,
const moment_value momData,
bool  useLink = true 
)
inherited

Set individual moment.

Parameters
momTypereference to (non-modifiable) moment type indicator
momDatareference to (non-modifiable) moment value object
useLinknot used.

Definition at line 1247 of file CaloCluster.cxx.

1250 {
1251  // use momType for getMomentStore to override useLink in case
1252  // the moment has already been stored and should just be updated ...
1253  CaloClusterMomentStore* pMomStore = this->getMomentStore(momType,useLink);
1254  if ( pMomStore != nullptr ) pMomStore->insert(momType,momData);
1255 }

◆ iPt()

double P4EEtaPhiMBase::iPt ( ) const
virtualinherited

inverse of transverse momentum

Implements I4Momentum.

Definition at line 111 of file P4EEtaPhiMBase.cxx.

112  { return 1./this->pt();
113  }

◆ is_valid_sampling()

bool CaloCluster::is_valid_sampling ( const sampling_type sampling) const
inlineinherited

Checks if cells from a given sampling in EMB or EMEC (!) are in cluster.

Parameters
samplingcalorimeter sampling indicator
Note
The original implementation only check on cells in the electromagnetic calorimeters. This method is depreciated, use isEMSampling(sampling) instead.

Definition at line 948 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

949 { return this->isEMSampling(sampling); }

◆ isAtSignalState()

bool CaloCluster::isAtSignalState ( signalstate_t  s) const
virtualinherited

check if we are at the passed state

Implements ISignalState.

Definition at line 1365 of file CaloCluster.cxx.

1366 {
1367  return s == m_signalState;
1368 }

◆ isCellLinkValid()

bool CaloClusterNavigable::isCellLinkValid ( ) const
inlinevirtualinherited

Definition at line 449 of file CaloClusterNavigable.h.

450 {
451  return this->getCellLinkPtr() !=0;
452 }

◆ isEMSampling()

bool CaloCluster::isEMSampling ( const sampling_type theSampling) const
inlineinherited

Checks if cells from a given sampling in EMB and EMEC are in the cluster.

Definition at line 951 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

952 { return CaloSamplingHelper::isEMSampling(theSampling); }

◆ isLocked() [1/2]

bool CaloCluster::isLocked ( const unsigned int &  bitPattern) const
inlineinherited

Definition at line 1283 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

1284 {
1285  return ( m_lockPattern & bitPattern ) == bitPattern;
1286 }

◆ isLocked() [2/2]

bool CaloCluster::isLocked ( const variable_type varType) const
inlineinherited

Check lock status of variable.

Definition at line 1278 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

1279 {
1280  unsigned int bitPattern(CaloVariableType::getVariableBit(varType));
1281  return this->isLocked(bitPattern);
1282 }

◆ kind()

I4Momentum::Kind P4EEtaPhiMBase::kind ( ) const
inlinevirtualinherited

tells what kind of P4XYZT this is

Implements I4Momentum.

Definition at line 65 of file P4EEtaPhiMBase.h.

65 { return I4Momentum::P4EETAPHIM; };

◆ lockVariable()

bool CaloCluster::lockVariable ( const variable_type varType)
inherited

Lock variable (protect against future updates)

Definition at line 1293 of file CaloCluster.cxx.

1294 {
1295  unsigned int bitPattern(CaloVariableType::getVariableBit(varType));
1296  m_lockPattern = ( m_lockPattern | bitPattern );
1297  return this->isLocked(bitPattern);
1298 }

◆ m() [1/2]

double CaloCluster::m ( ) const
inlinevirtualinherited

Retrieve mass independent of signal state.

Implements I4Momentum.

Definition at line 764 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

765 { return (this->*m_getM)(); }

◆ m() [2/2]

double CaloCluster::m ( signalstate_t  s) const
inlineinherited

Retrieve mass for a specific signal state.

Definition at line 825 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

826 {
827  if (!hasSignalState(s)) return m_errorValue;
828  switch (s) {
830  return P4EEtaPhiM::m();
832  return m_rawM;
834  return m_altM;
835  default:
836  return m_errorValue;
837  }
838 }

◆ m2()

double P4EEtaPhiMBase::m2 ( ) const
virtualinherited

mass squared

Implements I4Momentum.

Definition at line 14 of file P4EEtaPhiMBase.cxx.

14  {
15  const double theM = this->m();
16  return theM*theM;
17 }

◆ makeDefaultHash()

AthenaBarCode_t AthenaBarCodeImpl::makeDefaultHash ( const char *  jobid)
staticprivateinherited

Definition at line 312 of file AthenaBarCodeImpl.cxx.

313 {
314  if (jobid) {
315  return AthenaBarCodeImpl::hashUUID(jobid);
316  }
317 
318  // First look for a uuid as an environment variable.
319  // This can be set in cases where we don't have the full
320  // Gaudi/Athena environment available (eg, ARA), and we
321  // don't want to try to create JobIDSvc. This has to be
322  // communicated in some way external to this library,
323  // as we may end up here while initializing the dictionary
324  // for this library.
325  const char* env_uuid = getenv ("_ATHENABARCODEIMPL_JOBUUID");
326  if (env_uuid) {
327  return AthenaBarCodeImpl::hashUUID(env_uuid);
328  }
329 
330  // std::cout<<"no UUID stored, generating."<<std::endl;
331 
332  ServiceHandle<IJobIDSvc> p_jobidsvc("JobIDSvc", "JobIDSvc");
333  StatusCode sc = p_jobidsvc.retrieve();
334  if (!sc.isSuccess() || 0 == p_jobidsvc) {
335  //FIXME
336  //use uuid instead if service not available
337  JobID_t JobID;
338  uuid_generate(JobID);
339  return AthenaBarCodeImpl::hashUUID((const char *) JobID);
340  /* std::cout << "Could not find JobIDSvc, using uuid directly"
341  <<"jobid "<<o.str()
342  << std::endl;*/
343  }
344 
345  PJobID_t pjobid = p_jobidsvc->getJobID();
346  return AthenaBarCodeImpl::hashUUID((const char *) pjobid);
347 }

◆ maybeSetVariable()

template<class InputIterator >
void CaloCluster::maybeSetVariable ( variable_type  varType,
InputIterator  beg,
InputIterator  end 
)
privateinherited

Set variables of a given type in all samplings at once, taking locking into account.

Definition at line 1317 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

1320 {
1321  if (this->isLocked (varType)) return;
1322  CaloSamplingData* p = this->getDataStore (varType, true);
1323  if (p)
1324  p->storeData (varType, beg, end);
1325 }

◆ nCells()

unsigned int CaloClusterNavigable::nCells ( ) const
inlinevirtualinherited

size of object access

Definition at line 315 of file CaloClusterNavigable.h.

316 {
317 
318  const CaloCellLink* link = this->getCellLinkPtr();
319  if (link)
320  return link->size();
321  else
322  return 0;
323 
324 }

◆ newVersion() [1/2]

void AthenaBarCodeBase::newVersion ( )
virtualinherited

Reimplemented from IAthenaBarCode.

Definition at line 53 of file AthenaBarCodeBase.cxx.

54 {
56 }

◆ newVersion() [2/2]

virtual void IAthenaBarCode::newVersion ( )
inlinevirtualinherited

Reimplemented in Rec::TrackParticle, ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE >, ParticleSigStateImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleImpl< NavigableTerminalNode, P4ImplEEtaPhiM, ParticleEvent::Base >, ParticleImpl< TruthParticleNavigation, TruthParticleMomentum, TruthParticleBase >, ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4PtEtaPhiM >, ParticleImpl< ::Analysis::TauJetNavigation, ::P4ImplEEtaPhiM >, ParticleImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< egammaNavigation, P4ImplEEtaPhiM >, ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM >, ParticleImpl< NavigableTerminalNode, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplIPtCotThPhiM, ParticleEvent::Base >, ParticleImpl< NeutrinoNavigation, P4ImplPxPyPzE >, and AthenaBarCodeBase.

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

89  {
90  // throw std::runtime_error("IAthenaBarCode::newVersion():: can't newVersion() in the dummy implementation");
91  }

◆ nSamples()

unsigned int CaloCluster::nSamples ( ) const
inlineinherited

Retrieve number of samplings in this cluster.

Returns the maximum possible number of samplings, not the actual number contributing to the cluster!

Definition at line 968 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

◆ p()

double P4EEtaPhiMBase::p ( ) const
virtualinherited

magnitude of 3-momentum.

Special implementation from Frank Paige : if negative energy p is negative but eta and phi still the same.

Implements I4Momentum.

Definition at line 21 of file P4EEtaPhiMBase.cxx.

22 {
23  const double theM=this->m();
24  const double theE=this->e();
25  // if (theM==0.) return theE ;
26  // else return sqrt(theE*theE-theM*theM);
27  //DR from Frank Paige
28  // if negative energy point in the opposite direction
29  // BUT eta and phi still the same !!!
30  if (theM==0.) {
31  return theE;
32  } else {
33  double eSign = (theE >= 0) ? +1 : -1;
34  return eSign*std::sqrt(theE*theE-theM*theM);
35  }
36 
37 }

◆ p2()

double P4EEtaPhiMBase::p2 ( ) const
virtualinherited

square of momentum magnitude

This p2() implementaion is derived from the (somewhat unusual) Frank Paige implementation used to calculate p() above. What we do is look at what would happen if we were to square the answer returned by Frank's algorithm:

(1) The "eSign" would square to +1 and disappear, (2) The sqrt would disappear leaving theE*theE-theM*theM (3) In the event that theM==0, this theE*theE would indeed still equal theE*theE-theM*theM, so we simply return this quantity.

Implements I4Momentum.

Definition at line 39 of file P4EEtaPhiMBase.cxx.

40 {
48  const double theM=this->m();
49  const double theE=this->e();
50 
51  return theE*theE-theM*theM;
52 }

◆ phi() [1/2]

double CaloCluster::phi ( ) const
inlinevirtualinherited

Retrieve phi independent of signal state.

Implements I4Momentum.

Definition at line 759 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

760 {
761  return (this->*m_getPhi)();
762 }

◆ phi() [2/2]

double CaloCluster::phi ( signalstate_t  s) const
inlineinherited

Retrieve phi for a specific signal state.

Definition at line 809 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

810 {
811  if (!hasSignalState(s)) return m_errorValue;
812  switch (s) {
814  return P4EEtaPhiM::phi();
816  return m_rawPhi;
818  return m_altPhi;
819  default:
820  return m_errorValue;
821  }
822 }

◆ phi0()

double CaloCluster::phi0 ( ) const
inlineinherited

Returns raw \( \phi \) of cluster seed.

Returns seed \( \varphi \) for cluster.

Definition at line 1186 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

1186 { return m_phi0; }

◆ phiBE()

double CaloCluster::phiBE ( int  sam) const
inlineinherited

EMB/EMEC combined barycenter \( \varphi \).

Parameters
samsampling counter
Warning
The sampling input argument refers to the sampling number (first, second, third,...) in the EMB and EMEC. It is not identical to the corresponding CaloSampling::CaloSample indicators in these calorimeters.

Definition at line 1209 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

1210 { return this->variableBE(CaloVariableType::PHI,sam); }

◆ phimax()

double CaloCluster::phimax ( sampling_type  sampling) const
inlineinherited

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

Parameters
samplingsampling indicator

Returns \( \varphi \) of cell with maximum signal in sampling.

Warning
Depreciated. This method should not be used anymore. Use getVariable(CaloVariableType::MAX_PHI,...) instead.

Definition at line 1128 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

1129 {
1130  return this->isEMSampling(sampling)
1131  ? this->getVariable(CaloVariableType::MAX_PHI,sampling,true)
1132  : double(0);
1133 }

◆ phiSample()

double CaloCluster::phiSample ( sampling_type  theSampling) const
inlineinherited

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

Parameters
theSamplingsampling indicator

Returns \( \varphi \) in sampling.

Definition at line 1006 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

1007 { return this->getVariable(CaloVariableType::PHI,theSampling,true); }

◆ phisize()

double CaloCluster::phisize ( sampling_type  sampling) const
inlineinherited

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

Parameters
samplingsampling indicator

Returns phi size \( \Delta\varphi \) of cluster in sampling.

Warning
Depreciated. This method should not be used anymore. Use getVariable(CaloVariableType::DELTA_PHI,...) instead.

Definition at line 1165 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

1166 {
1167  return this->isEMSampling(sampling)
1168  ? this->getVariable(CaloVariableType::DELTA_PHI,sampling,true)
1169  : double(0);
1170 }

◆ pt()

double P4EEtaPhiMBase::pt ( ) const
virtualinherited

transverse momentum

Implements I4Momentum.

Definition at line 101 of file P4EEtaPhiMBase.cxx.

102  {
103  return this->p()*this->sinTh();
104  }

◆ putElement() [1/2]

void CaloClusterNavigable::putElement ( const CaloCellContainer pContainer,
const CaloCell pCell,
const double &  weight = double(1.) 
)
inlineinherited

add element to the Navigable: use pointer

Definition at line 201 of file CaloClusterNavigable.h.

204 {
205  (this->getCellLink())->putElement(pContainer,pCell,weight);
206 }

◆ putElement() [2/2]

void CaloClusterNavigable::putElement ( const CaloCellContainer pContainer,
size_t &  iCell,
const double &  weight = double(1.) 
)
inlineinherited

add element to the Navigable: use element index (direct access!)

Definition at line 209 of file CaloClusterNavigable.h.

212 {
213  (this->getCellLink())->putElement(pContainer,iCell,weight);
214 }

◆ px()

double P4EEtaPhiMBase::px ( ) const
virtualinherited

x component of momentum

Implements I4Momentum.

Definition at line 122 of file P4EEtaPhiMBase.cxx.

123  { return this->pt()*this->cosPhi();
124  }

◆ py()

double P4EEtaPhiMBase::py ( ) const
virtualinherited

y component of momentum

Implements I4Momentum.

Definition at line 126 of file P4EEtaPhiMBase.cxx.

127  { return this->pt()*this->sinPhi();
128  }

◆ pz()

double P4EEtaPhiMBase::pz ( ) const
virtualinherited

z component of momentum

Implements I4Momentum.

Definition at line 130 of file P4EEtaPhiMBase.cxx.

131  { return this->p()*this->cosTh();
132  }

◆ rapidity()

double P4EEtaPhiMBase::rapidity ( ) const
virtualinherited

rapidity

Implements I4Momentum.

Definition at line 115 of file P4EEtaPhiMBase.cxx.

116  {
117  const double theE=this->e();
118  const double thePz=this->pz();
119  return 0.5*std::log((theE+thePz)/(theE-thePz));
120  }

◆ remove() [1/2]

bool CaloClusterNavigable::remove ( const CaloCell pCell)
inlineinherited

remove object from the Navigable

Definition at line 271 of file CaloClusterNavigable.h.

272 {
273  return (this->getCellLink())->remove(pCell);
274 }

◆ remove() [2/2]

bool CaloClusterNavigable::remove ( const CaloCellContainer pContainer,
size_t &  iCell 
)
inlineinherited

remove object from the Navigable

Definition at line 277 of file CaloClusterNavigable.h.

279 {
280  return (this->getCellLink())->remove(pContainer,iCell);
281 }

◆ removeAll()

bool CaloClusterNavigable::removeAll ( )
inlineinherited

remove all objects from the Navigable

Definition at line 284 of file CaloClusterNavigable.h.

285 {
286  return (this->getCellLink())->removeAll();
287 }

◆ removeCell() [1/2]

void CaloCompositeCellBase< CaloClusterNavigable >::removeCell ( const CaloCell pCell)
inherited

Remove a cell with kinematic update.

Parameters
pCellpointer to a CaloCell object (unchanged)

Removes the cell pointed to by the input argument. The effect on the global kinematics is defined by the updateKine implementation in the derived classes.

The Navigable<CaloCellContainer,double> base class provides a remove method which can be used if no kinematic update is required.

◆ removeCell() [2/2]

void CaloCompositeCellBase< CaloClusterNavigable >::removeCell ( const CaloCellContainer pContainer,
size_t &  iCell 
)
inherited

Remove a cell with kinematic update.

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Parameters
pContainerpointer to cell container (unchanged)
iCellindex to cell in container (unchanged)

◆ removeCells()

void CaloCompositeCellBase< CaloClusterNavigable >::removeCells ( )
inherited

Remove all cells without kinematic update.

◆ removeRecoStatus() [1/2]

void CaloCompositeKineBase::removeRecoStatus ( )
inlineinherited

Remove all indicators.

Definition at line 101 of file CaloCompositeKineBase.h.

102 { m_status.resetStatus(); }

◆ removeRecoStatus() [2/2]

void CaloCompositeKineBase::removeRecoStatus ( const CaloRecoStatus::StatusIndicator recIndic)
inlineinherited

Remove a given indicator.

Definition at line 96 of file CaloCompositeKineBase.h.

98 { m_status.resetStatus(recIndic); }

◆ resetBadChannel()

void CaloCluster::resetBadChannel ( )
inherited

Reset Bad channel list.

Definition at line 1429 of file CaloCluster.cxx.

1430 {
1431  m_badChannelData.clear();
1432 }

◆ resetCellLink()

void CaloClusterNavigable::resetCellLink ( const cell_link_type cellLink)
inlineinherited

Definition at line 151 of file CaloClusterNavigable.h.

152  {
154  }

◆ resetSignalState()

void CaloCluster::resetSignalState ( )
protectedvirtualinherited

reset the signal state

Implements ISignalState.

Definition at line 1370 of file CaloCluster.cxx.

1371 {
1373 }

◆ retrieveMoment() [1/2]

bool CaloCluster::retrieveMoment ( const moment_type momType,
double &  momData,
bool  useLink = true 
) const
inherited

Definition at line 1278 of file CaloCluster.cxx.

1281 {
1282  CaloClusterMoment momData(0);
1283  if ( this->retrieveMoment(momType,momData,useLink) )
1284  {
1285  momValue = momData.getValue();
1286  return true;
1287  }
1288  return false;
1289 }

◆ retrieveMoment() [2/2]

bool CaloCluster::retrieveMoment ( const moment_type momType,
moment_value momData,
bool  useLink = true 
) const
inherited

Retrieve individual moment.

Parameters
momTypereference to (non-modifiable) moment type indicator
momDatareference to (modifiable) moment value object
useLinkextends checks to external data store if true

Returns true if requested moment type in cluster.

Definition at line 1266 of file CaloCluster.cxx.

1269 {
1270  const CaloClusterMomentStore* pMomStore = this->getMomentStore(momType,
1271  useLink);
1272  return pMomStore != nullptr
1273  ? pMomStore->retrieve(momType,momData)
1274  : false;
1275 }

◆ reweight() [1/3]

void CaloClusterNavigable::reweight ( const CaloCell pCell,
const double &  weight = double(1.) 
)
inlineinherited

re-weight (overwrite old weight)

Definition at line 251 of file CaloClusterNavigable.h.

252 {
253  (this->getCellLink())->reweight(pCell,weight);
254 }

◆ reweight() [2/3]

void CaloClusterNavigable::reweight ( const CaloCellContainer pContainer,
size_t &  iCell,
const double &  weight = double(1.) 
)
inlineinherited

re-weight (overwrite old weight)

Definition at line 257 of file CaloClusterNavigable.h.

260 {
261  (this->getCellLink())->reweight(pContainer,iCell,weight);
262 }

◆ reweight() [3/3]

void CaloClusterNavigable::reweight ( object_iter cellIter,
const double &  weight = double(1.) 
)
inlineinherited

re-weight (overwrite old weight)

Definition at line 265 of file CaloClusterNavigable.h.

266 {
267  (this->getCellLink())->reweight(cellIter,weight);
268 }

◆ reweightCell() [1/3]

void CaloCompositeCellBase< CaloClusterNavigable >::reweightCell ( cell_iterator iterCell,
double  weight 
)
inherited

Reweight a cell with kinematic update.

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Parameters
iterCellinput iterator referring to a cell (unchanged)
weightinput new signal weight associated with this cell

Changes the kinematic weight of a cell in the cluster. There is no check on the validity of the iterator.

◆ reweightCell() [2/3]

void CaloCompositeCellBase< CaloClusterNavigable >::reweightCell ( const CaloCell pCell,
double  weight 
)
inherited

Reweight a cell with kinematic update.

Parameters
pCellinput pointer to a CaloCell object (unchanged)
weightinput new signal weight associated with this cell

Changes the kinematic weight of a cell in the cluster. No action if cell not in cluster. In particular, the cell is not added.

◆ reweightCell() [3/3]

void CaloCompositeCellBase< CaloClusterNavigable >::reweightCell ( const CaloCellContainer pContainer,
size_t &  iCell,
double  weight 
)
inherited

Reweight a cell with kinematic update.

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Parameters
pContainerinput pointer to a CaloCellContainer object (unchanged)
iCellinput index of a CaloCell in CaloCellContainer (unchanged)
weightinput new signal weight associated with this cell

Changes the kinematic weight of a cell in the cluster. No action if not a valid pointer.

◆ samplingPattern()

unsigned int CaloCluster::samplingPattern ( ) const
inherited

Get sampling bitmask.

Definition at line 1507 of file CaloCluster.cxx.

1508 {
1509  return m_samplingPattern;
1510 }

◆ set4Mom() [1/3]

void CaloCluster::set4Mom ( const CLHEP::HepLorentzVector &  rVec)
inlinevirtualinherited

Set kinematics directly from HLV.

Implements I4Momentum.

Definition at line 852 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

853 {
854  this->setE(rVec.e());
855  this->setEta(rVec.eta());
856  this->setPhi(rVec.phi());
857  this->setM(rVec.m());
858 }

◆ set4Mom() [2/3]

void CaloCluster::set4Mom ( const I4Momentum rMom)
inlinevirtualinherited

Set kinematics directly from four-vector.

Implements I4Momentum.

Definition at line 849 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

850 { this->set4Mom(&rMom); }

◆ set4Mom() [3/3]

void CaloCluster::set4Mom ( const I4Momentum *const  pMom)
inlinevirtualinherited

Set kinematics from four-vector.

Implements I4Momentum.

Definition at line 841 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

842 {
843  this->setE(pMom->e());
844  this->setEta(pMom->eta());
845  this->setPhi(pMom->phi());
846  this->setM(pMom->m());
847 }

◆ setAltE()

void CaloCluster::setAltE ( double  e)
privateinherited

Set calibrated (cell weight) energy.

Definition at line 1330 of file CaloCluster.cxx.

1330 { m_altE = e; }

◆ setAltEta()

void CaloCluster::setAltEta ( double  eta)
privateinherited

Set calibrated (cell weight) eta.

Definition at line 1331 of file CaloCluster.cxx.

1331 { m_altEta = eta; }

◆ setAltM()

void CaloCluster::setAltM ( double  m)
privateinherited

Set calibrated (cell weight) m.

Definition at line 1333 of file CaloCluster.cxx.

1333 { m_altM = m; }

◆ setAltPhi()

void CaloCluster::setAltPhi ( double  phi)
privateinherited

Set calibrated (cell weight) phi.

Definition at line 1332 of file CaloCluster.cxx.

1332 { m_altPhi = phi; }

◆ setAthenaBarCode() [1/2]

void AthenaBarCodeBase::setAthenaBarCode ( AthenaBarCode_t  id)
virtualinherited

Reimplemented from IAthenaBarCode.

Definition at line 28 of file AthenaBarCodeBase.cxx.

29 {
31 }

◆ setAthenaBarCode() [2/2]

virtual void IAthenaBarCode::setAthenaBarCode ( AthenaBarCode_t  )
inlinevirtualinherited

Reimplemented in Rec::TrackParticle, ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE >, ParticleSigStateImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleImpl< NavigableTerminalNode, P4ImplEEtaPhiM, ParticleEvent::Base >, ParticleImpl< TruthParticleNavigation, TruthParticleMomentum, TruthParticleBase >, ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4PtEtaPhiM >, ParticleImpl< ::Analysis::TauJetNavigation, ::P4ImplEEtaPhiM >, ParticleImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< egammaNavigation, P4ImplEEtaPhiM >, ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM >, ParticleImpl< NavigableTerminalNode, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplIPtCotThPhiM, ParticleEvent::Base >, ParticleImpl< NeutrinoNavigation, P4ImplPxPyPzE >, and AthenaBarCodeBase.

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

71  {
72  // throw std::runtime_error("IAthenaBarCode::setAthenaBarCode():: can't set AthenaBarCode in the dummy implementation");
73  }

◆ setBarrel()

void CaloCluster::setBarrel ( bool  barrel)
inlineinherited

Sets EMB indicator.

Parameters
barrelinput flag is true if at least one cell in EMB

Definition at line 935 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

935 { m_barrel = barrel; }

◆ setBasicEnergy()

void CaloCluster::setBasicEnergy ( double  theEnergy)
inlinevirtualinherited

Set basic energy scale signal.

Parameters
theEnergybasic energy signal

Overwrites default behaviour in CaloEnergyCluster base class

Implements CaloCompositeKineBase.

Definition at line 883 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

◆ setBits()

void AthenaBarCodeImpl::setBits ( unsigned short  startbit,
unsigned short  nbits,
AthenaBarCode_t  id,
AthenaBarCode_t bc 
) const
protectedinherited

now id=0000000xx;

Definition at line 260 of file AthenaBarCodeImpl.cxx.

263 {
266  tmp2 = 0;
267 
268  if ((id) >= ((~tmp2) >> (TotalBits - nbits))) {
269 
270  IMessageSvc *msgsvc = Athena::getMessageSvc();
271  if (msgsvc) {
272  MsgStream msg(msgsvc, "AthenaBarCodeImpl");
273  msg << MSG::WARNING << "setBits::bit to be set:" << id
274  << " is larger than limit:" << ((~tmp2) >> (TotalBits - nbits))
275  << endmsg;
276  }
277  else {
278  std::cout << "setBits::bit to be set:" << id << " is larger than limit:"
279  << ((~tmp2) >> (TotalBits - nbits)) << std::endl;
280  }
281  throw std::runtime_error("AthenaBarCodeImpl::setBit Failed");
282  }
283 
285  tmp = (id << (TotalBits - nbits - startbit)); //tmp=00000xx00
286  tmp2 = ((~tmp2) >> (TotalBits - nbits)); //tmp2=000000011
287 
288  tmp2 = (tmp2 << (TotalBits - nbits - startbit)); //tmp2=000001100
289  tmp2 = (~tmp2); //tmp2=111110011
290 
291  //now m_barcode=aaaaayyaa
292  bc &= tmp2; //m_barcode=aaaaa00aa
293  bc |= tmp; //m_barcode=aaaaaxxaa
294 
295 }

◆ setCalE()

void CaloCluster::setCalE ( double  e)
privateinherited

Set calibrated (LC) energy.

Definition at line 1340 of file CaloCluster.cxx.

1340 { P4EEtaPhiM::setE(e); }

◆ setCalEta()

void CaloCluster::setCalEta ( double  eta)
privateinherited

Set calibrated (LC) eta.

Definition at line 1341 of file CaloCluster.cxx.

1341 { P4EEtaPhiM::setEta(eta); }

◆ setCalM()

void CaloCluster::setCalM ( double  m)
privateinherited

Set calibrated (LC) m.

Definition at line 1343 of file CaloCluster.cxx.

1343 { P4EEtaPhiM::setM(m); }

◆ setCalPhi()

void CaloCluster::setCalPhi ( double  phi)
privateinherited

Set calibrated (LC) phi.

Definition at line 1342 of file CaloCluster.cxx.

1342 { P4EEtaPhiM::setPhi(phi); }

◆ setCellLink()

bool CaloClusterNavigable::setCellLink ( CaloCellLinkContainer pLink)
inlineprotectedinherited

Definition at line 405 of file CaloClusterNavigable.h.

406 {
407  if (!pLinkStore)
408  return false;
409 
410  CaloCellLink* pLink = *m_cellLink != 0
411  ? const_cast<CaloCellLink*>(*m_cellLink) : (CaloCellLink*)0;
412 
413  m_ownLinkStore = !pLinkStore->ownElements();
415  pLink,
416  m_cellLink);
417 }

◆ setClusterSize()

void CaloCluster::setClusterSize ( unsigned int  theClusterSize)
inlineinherited

Set cluster size.

Definition at line 892 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

892 { m_clusterSize = theClusterSize; }

◆ setDataLink()

bool CaloCluster::setDataLink ( CaloShowerContainer pDataLink)
inlineprotectedinherited

Set element link for shower data.

Definition at line 1262 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

1263 {
1264  if (!pDataLink)
1265  return false;
1266  CaloShower* pData = m_shower;
1267  m_ownDataStore = !pDataLink->ownElements();
1269  pData,
1270  m_dataLink);
1271 }

◆ setDataStore()

bool CaloCluster::setDataStore ( CaloShower pData,
bool  ownStores = true 
)
inlineprotectedinherited

Setup data store.

Definition at line 909 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

910 {
911  // m_dataStorePointer = pData;
912  m_ownDataStore = ownStores;
913  m_dataLink.setElement(pData);
914  m_shower = pData;
915  return m_dataLink.isValid();
916 }

◆ setDefaultHash()

void AthenaBarCodeImpl::setDefaultHash ( const char *  jobid)
staticinherited

Definition at line 298 of file AthenaBarCodeImpl.cxx.

298  {
299  getDefaultHash (jobid);
300 }

◆ setDefaultSignalState()

bool CaloCluster::setDefaultSignalState ( signalstate_t  s)
inlineprotectedinherited

Sets default signal state.

Definition at line 865 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

866 {
867  m_defSigState = s;
868  return this->setSignalState(s);
869 }

◆ setE()

void CaloCluster::setE ( double  e)
inlinevirtualinherited

Set energy.

Reimplemented from P4EEtaPhiM.

Definition at line 767 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

768 { (this->*m_setE)(e); }

◆ setEInSamples()

void CaloCluster::setEInSamples ( const std::vector< double > &  theEnergies)
inlineinherited

Set energy in all samplings from a vector.

Parameters
theEnergiesreference to a vector holding the energies in samplings (input unchanged)
Note
The CaloSampling::CaloSample indicator is interpreted as an (unsigned) int internally. The input vector should be set up such that the index to an energy value is understood to be the CaloSampling::CaloSample of the corresponding calorimeter sampling.

Definition at line 1041 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

1042 { this->setVariable(CaloVariableType::ENERGY,theEnergies,true); }

◆ setEndcap()

void CaloCluster::setEndcap ( bool  endcap)
inlineinherited

Sets EMEC indicator.

Parameters
endcapinput flag is true if at least one cell in EMEC

Definition at line 939 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

939 { m_endcap = endcap; }

◆ setenergy()

void CaloCluster::setenergy ( sampling_type  theSampling,
double  theEnergy 
)
inlineinherited

Set energy for a given sampling.

Parameters
theSamplingsampling indicator
theEnergyenergy data

Depreciated. Sets the sampling energy without updating the global kinematics.

Definition at line 1029 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

1030 { this->setVariable(CaloVariableType::ENERGY,theSampling,theEnergy,true); }

◆ setenergymax()

void CaloCluster::setenergymax ( sampling_type  sampling,
double  m 
)
inherited

Set the maximum energy in a given sampling.

Definition at line 908 of file CaloCluster.cxx.

909 {
910  if ( this->isEMSampling(sampling) )
911  this->setVariable(CaloVariableType::MAX_ENERGY,sampling,m,true);
912 }

◆ setEta()

void CaloCluster::setEta ( double  eta)
inlinevirtualinherited

Set eta.

Reimplemented from P4EEtaPhiM.

Definition at line 769 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

770 { (this->*m_setEta)(eta); }

◆ seteta()

void CaloCluster::seteta ( sampling_type  sampling,
double  eta 
)
inlineinherited

Set \( \eta \) in a given sampling.

Parameters
samplingcalorimeter sampling indicator
eta\( \eta \) value to be set

Definition at line 1048 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

1049 { this->setVariable(CaloVariableType::ETA,sampling,eta,true); }

◆ setEtaInSamples()

void CaloCluster::setEtaInSamples ( const std::vector< double > &  theEtas)
inlineinherited

Set \( \eta \) in all samplings from a vector.

Parameters
theEtasreference to a vector holding the \( \eta \) in samplings (input unchanged)
Note
The CaloSampling::CaloSample indicator is interpreted as an (unsigned) int internally. The input vector should be set up such that the index to a \( \eta \) value is understood to be the CaloSampling::CaloSample of the corresponding calorimeter sampling.

Definition at line 1061 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

1062 { this->setVariable(CaloVariableType::ETA,theEtas,true); }

◆ setetamax()

void CaloCluster::setetamax ( sampling_type  sampling,
double  m 
)
inherited

Set the \( \eta \) of cell with maximum energy in a given sampling.

Definition at line 914 of file CaloCluster.cxx.

915 {
916  if ( this->isEMSampling(sampling) )
917  this->setVariable(CaloVariableType::MAX_ETA,sampling,m,true);
918 }

◆ setetasize()

void CaloCluster::setetasize ( sampling_type  sampling,
double  size 
)
inherited

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

Parameters
samplingcalorimeter sampling indicator
sizeinput \( \Delta\eta \) cluster size

Definition at line 930 of file CaloCluster.cxx.

931 {
932  if ( this->isEMSampling(sampling) )
933  this->setVariable(CaloVariableType::DELTA_ETA,sampling,size,true);
934 }

◆ setLinkStore()

bool CaloClusterNavigable::setLinkStore ( CaloCellLink pLink,
bool  ownStores = true 
)
inlineprotectedinherited

Definition at line 191 of file CaloClusterNavigable.h.

193 {
194  m_cellLink.setElement(pLink);
195  m_ownLinkStore = ownStores;
196  // m_cellLinkPointer = pLink;
197  return *m_cellLink != 0;
198 }

◆ setM()

void CaloCluster::setM ( double  m)
inlinevirtualinherited

Set mass.

Reimplemented from P4EEtaPhiM.

Definition at line 773 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

774 { (this->*m_setM)(m); }

◆ setPhi()

void CaloCluster::setPhi ( double  phi)
inlinevirtualinherited

Set phi.

Reimplemented from P4EEtaPhiM.

Definition at line 771 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

772 { (this->*m_setPhi)(phi); }

◆ setphi()

void CaloCluster::setphi ( sampling_type  sampling,
double  phi 
)
inlineinherited

Set \( \varphi \) in a given sampling.

Parameters
samplingcalorimeter sampling indicator
phi\( \varphi \) value to be set

Definition at line 1068 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

1069 { this->setVariable(CaloVariableType::PHI,sampling,phi,true); }

◆ setPhiInSamples()

void CaloCluster::setPhiInSamples ( const std::vector< double > &  thePhis)
inlineinherited

Set \( \varphi \) in all samplings from a vector.

Parameters
thePhisreference to a vector holding the \( \eta \) in samplings (input unchanged)
Note
The CaloSampling::CaloSample indicator is interpreted as an (unsigned) int internally. The input vector should be set up such that the index to a \( \varphi \) value is understood to be the CaloSampling::CaloSample of the corresponding calorimeter sampling.

Definition at line 1081 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

1082 { this->setVariable(CaloVariableType::PHI,thePhis,true); }

◆ setphimax()

void CaloCluster::setphimax ( sampling_type  sampling,
double  m 
)
inherited

Set the \( \varphi \) of cell with maximum energy in a given sampling.

Definition at line 920 of file CaloCluster.cxx.

921 {
922  if ( this->isEMSampling(sampling) )
923  this->setVariable(CaloVariableType::MAX_PHI,sampling,m,true);
924 }

◆ setphisize()

void CaloCluster::setphisize ( sampling_type  sampling,
double  size 
)
inherited

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

Parameters
samplingcalorimeter sampling indicator
sizeinput \( \Delta\varphi \) cluster size

Definition at line 940 of file CaloCluster.cxx.

941 {
942  if ( this->isEMSampling(sampling) )
943  this->setVariable(CaloVariableType::DELTA_PHI,sampling,size,true);
944 }

◆ setRawE()

void CaloCluster::setRawE ( double  e)
privateinherited

Set raw energy.

Definition at line 1320 of file CaloCluster.cxx.

1320 { m_rawE = e; }

◆ setRawEta()

void CaloCluster::setRawEta ( double  eta)
privateinherited

Set raw eta.

Definition at line 1321 of file CaloCluster.cxx.

1321 { m_rawEta = eta; }

◆ setRawM()

void CaloCluster::setRawM ( double  m)
privateinherited

Set raw m.

Definition at line 1323 of file CaloCluster.cxx.

1323 { m_rawM = m; }

◆ setRawPhi()

void CaloCluster::setRawPhi ( double  phi)
privateinherited

Set raw phi.

Definition at line 1322 of file CaloCluster.cxx.

1322 { m_rawPhi = phi; }

◆ setRecoStatus() [1/2]

void CaloCompositeKineBase::setRecoStatus ( const CaloRecoStatus recStatus)
inlineinherited

Set the reconstruction status.

Definition at line 82 of file CaloCompositeKineBase.h.

83 { m_status = theStatus; }

◆ setRecoStatus() [2/2]

void CaloCompositeKineBase::setRecoStatus ( const CaloRecoStatus::StatusIndicator recIndic)
inlineinherited

Set the reconstruction status indicator (recommended)

Definition at line 86 of file CaloCompositeKineBase.h.

88 { m_status.setStatus(recIndic); }

◆ setReserveBits()

void AthenaBarCodeImpl::setReserveBits ( AthenaBarCode_t  id)
inherited

Definition at line 223 of file AthenaBarCodeImpl.cxx.

223  {
225  initABC();
226 
227  try {
229  setBits(SReserveBits, ReserveBits, id, bc);
230  m_barcode = bc;
231  }
232  catch (const GaudiException& Exception) {
233  throw std::runtime_error(
234  "AthenaBarCodeImpl::newVersion()::Version Overflow");
235  }
236 }

◆ setSignalState()

bool CaloCluster::setSignalState ( signalstate_t  s)
protectedvirtualinherited

Sets signal state.

Implements ISignalState.

Definition at line 1345 of file CaloCluster.cxx.

1346 {
1347  if ( !this->hasSignalState(s) ) return false;
1348 
1349  m_signalState = s;
1350 
1351  return
1352  s == statename_t::CALIBRATED ? this->setStateCal() :
1353  s == statename_t::ALTCALIBRATED ? this->setStateAlt() :
1354  s == statename_t::UNCALIBRATED ? this->setStateRaw() :
1355  false;
1356 }

◆ setStateAlt()

bool CaloCluster::setStateAlt ( )
privateinherited

Helper to switch to calibrated (cell weight) state.

Definition at line 1392 of file CaloCluster.cxx.

1393 {
1394  // std::cout << "CaloCluster [" << this
1395  // << "] setStateAlt()" << std::endl;
1400  //
1405  return true;
1406 }

◆ setStateCal()

bool CaloCluster::setStateCal ( )
privateinherited

Helper to switch to calibrated (LC) state.

Definition at line 1408 of file CaloCluster.cxx.

1409 {
1410  // std::cout << "CaloCluster [" << this
1411  // << "] setStateCal()" << std::endl;
1416  //
1421  return true;
1422 }

◆ setStateRaw()

bool CaloCluster::setStateRaw ( )
privateinherited

Helper to switch to raw state.

Definition at line 1375 of file CaloCluster.cxx.

1376 {
1377  // std::cout << "CaloCluster [" << this
1378  // << "] setStateRaw()" << std::endl;
1383  //
1388  //
1389  return true;
1390 }

◆ setStores()

bool CaloCluster::setStores ( CaloShower pData,
CaloCellLink pLink,
bool  ownStores = true 
)
inlineprotectedinherited

Setup internal store.

Definition at line 902 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

903 {
904  return ( this->setDataStore(pData,ownStores) &&
905  this->setLinkStore(pLink,ownStores) );
906 }

◆ setTime()

void CaloCluster::setTime ( double  theTime)
inlineinherited

Set cluster time.

Definition at line 889 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

889 { m_time = theTime; }

◆ setUUIDHash()

void AthenaBarCodeImpl::setUUIDHash ( AthenaBarCode_t  uuidhash)
inlineprivateinherited

Definition at line 114 of file AthenaBarCodeImpl.h.

114  {
115  m_barcode = combineWithUUIDHash(uuidhash);
116 }

◆ setVariable() [1/2]

bool CaloCluster::setVariable ( const variable_type varType,
const sampling_type samType,
const double &  varData,
bool  useLink = false 
)
inherited

General sampling variable setter.

Parameters
varTypevariable type
samTypesampling indicator
varDatadata value
useLinkif true data is stored in external store

Definition at line 872 of file CaloCluster.cxx.

876 {
877  // check samplingpattern
878  if(!this->hasSampling(samType)){
879  // std::cout << " Cluster does not have sampling " << samType << std::endl;
882  }
883 
884  // allocate modifiable data store
885  CaloSamplingData* pDataStore = this->getDataStore(varType,useLink);
886  return pDataStore != nullptr
887  ? pDataStore->storeData(varType,samType,varData)
888  : false;
889 }

◆ setVariable() [2/2]

bool CaloCluster::setVariable ( const variable_type varType,
const std::vector< double > &  varList,
bool  useLink = false 
)
inherited

Set variables of a given type in all samplings at once.

Definition at line 892 of file CaloCluster.cxx.

895 {
896  CaloSamplingData* pDataStore = this->getDataStore(varType,useLink);
897  return pDataStore != nullptr
898  ? pDataStore->storeData(varType,varList)
899  : false;
900 }

◆ setVersion() [1/2]

void AthenaBarCodeBase::setVersion ( AthenaBarCodeVersion_t  newversion)
virtualinherited

Reimplemented from IAthenaBarCode.

Definition at line 59 of file AthenaBarCodeBase.cxx.

60 {
61  AthenaBarCodeImpl::setVersion (newversion);
62 }

◆ setVersion() [2/2]

virtual void IAthenaBarCode::setVersion ( AthenaBarCodeVersion_t  )
inlinevirtualinherited

Reimplemented in Rec::TrackParticle, ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE >, ParticleSigStateImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleImpl< NavigableTerminalNode, P4ImplEEtaPhiM, ParticleEvent::Base >, ParticleImpl< TruthParticleNavigation, TruthParticleMomentum, TruthParticleBase >, ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4PtEtaPhiM >, ParticleImpl< ::Analysis::TauJetNavigation, ::P4ImplEEtaPhiM >, ParticleImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< egammaNavigation, P4ImplEEtaPhiM >, ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM >, ParticleImpl< NavigableTerminalNode, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplIPtCotThPhiM, ParticleEvent::Base >, ParticleImpl< NeutrinoNavigation, P4ImplPxPyPzE >, and AthenaBarCodeBase.

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

93  {
94  // throw std::runtime_error("IAthenaBarCode::setVersion():: can't setVersion() in the dummy implementation");
95  }

◆ signalState()

CaloCluster::signalstate_t CaloCluster::signalState ( ) const
inlinevirtualinherited

Retrieve signal state.

Implements ISignalState.

Definition at line 860 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

861 { return m_signalState; }

◆ sinPhi()

double P4EEtaPhiMBase::sinPhi ( ) const
virtualinherited

sinus phi

Implements I4Momentum.

Reimplemented in CaloCell, and CaloVertexedCell.

Definition at line 59 of file P4EEtaPhiMBase.cxx.

60 {
61  return std::sin(this->phi());
62 }

◆ sinTh()

double P4EEtaPhiMBase::sinTh ( ) const
virtualinherited

sinus theta

Implements I4Momentum.

Reimplemented in CaloCell, and CaloVertexedCell.

Definition at line 87 of file P4EEtaPhiMBase.cxx.

88 {
89  // avoid numeric overflow if very large eta
90 
91  double aEta=std::abs(this->eta());
92  if ( aEta>710) {
93  aEta=710;
94  }
95 
96  return 1./std::cosh(aEta);
97 
98 }

◆ tanTh()

double P4EEtaPhiMBase::tanTh ( ) const
virtualinherited

tan theta

Implements I4Momentum.

Definition at line 64 of file P4EEtaPhiMBase.cxx.

65 {
66  // avoid numeric overflow if very large eta
67 
68  double theEta=this->eta();
69  if ( std::abs(theEta)>710) {
70  theEta=theEta>0 ? 710 : -710;
71  return 1./std::sinh(theEta);
72  }
73 
74  return 1./this->cotTh();
75 }

◆ unlockVariable()

bool CaloCluster::unlockVariable ( const variable_type varType)
inherited

Unlock variable (remove lock)

Definition at line 1301 of file CaloCluster.cxx.

1302 {
1303  unsigned int bitPattern(CaloVariableType::getVariableBit(varType));
1304  if ( this->isLocked(bitPattern) )
1305  {
1306  m_lockPattern = m_lockPattern ^ bitPattern;
1307  return ! this->isLocked(bitPattern);
1308  }
1309  else
1310  {
1311  return false;
1312  }
1313 }

◆ updateKine()

void CaloCluster::updateKine ( const CaloCell theCell,
double  weight 
)
protectedvirtualinherited

Updates cluster kinematics when cell is added.

Parameters
theCellpointer to a CaloCell
weightsignal weight of cell in cluster

Present implementation performs full four-vector update for each cell added.

Implements CaloCompositeCellBase< CaloClusterNavigable >.

Definition at line 263 of file CaloCluster.cxx.

264 {
265 
266  // update global kinematics
267  //
268  // for the update of the position the normalization is not a trival
269  // thing. The previous implementation used the sum of weighted
270  // energies as normalization. This leads to unphysical eta and phi
271  // values in case negative energies are added in. The new algorithm
272  // takes therefore |E| instead of E which gives the same eta and phi
273  // as before for the 2 cases where all cells are negative or all
274  // cells are positive. In the mixed case it will give the direction
275  // of activity in the calorimeter.
276 
277  if (!theCell->caloDDE()) return;
278 
279  double theEnergyNoWeight = theCell->e();
280  double theEnergy = weight * theEnergyNoWeight;
281  double cellEta = theCell->eta();
282  double cellPhi = theCell->phi();
283  // weight might be negative for removing cells
284  // therefore the AbsEnergy can be negative ...
285  double theAbsEnergy = weight * fabs(theEnergyNoWeight);
286  double thePhi = proxim(cellPhi,this->phi());
287  double theNewEta =
288  m_posNorm * this->eta() + theAbsEnergy * cellEta;
289  double theNewPhi = m_posNorm * this->phi() + theAbsEnergy * thePhi;
290  double theNewEnergy = this->e() + theEnergy;
291  m_posNorm += theAbsEnergy;
292 
293  if ( m_posNorm != 0. )
294  {
295  this->setEta(theNewEta/m_posNorm);
296  this->setPhi(CaloPhiRange::fix (theNewPhi/m_posNorm));
297  }
298  else
299  {
300  this->setEta(0);
301  this->setPhi(0);
302  }
303 
304  this->setE(theNewEnergy);
305 
306  // calculate the cluster time from cells which provide a time
307  // two modes are under discussion - either use an energy^2 weighted
308  // average (sigma_t ~ 1/E) or just the time of the leading cell
309  // for now the energy^2 weighted average is implemented ...
310 
311  // need sampling number already for time
312  CaloSampling::CaloSample sam = theCell->caloDDE()->getSampling();
313  // unknown sampling
314  if ( sam == CaloSampling::Unknown ) return;
315 
316  unsigned pmask = 0;
317  if (sam != CaloSampling::PreSamplerB &&
319  {
320  if ( theCell->caloDDE()->is_tile() )
321  pmask = 0x8080;
322  else
323  pmask = 0x2000;
324  }
325 
326  // Is time defined?
327  if ( theCell->provenance() & pmask ) {
328  // keep the sign of weight for the time norm in case a cell is removed
329  double theTimeNorm = fabs(weight) * theEnergy * theEnergyNoWeight;
330 
331  double theNewTime = m_timeNorm * this->getTime()
332  + theTimeNorm * theCell->time();
333 
334  m_timeNorm += theTimeNorm;
335 
336  if ( m_timeNorm != 0. )
337  {
338  this->setTime(theNewTime/m_timeNorm);
339  }
340  else
341  {
342  this->setTime(0);
343  }
344  }
345 
347  // Check Sampling Variable Updates //
349 
350  // no update required
351  if ( this->allLocked() ) return;
352 
353  // update sampling quantities
354 
355  // This has gotten a bit more involved. To handle the stores for the
356  // data correctly, a pointer to each store (can be different for each
357  // variable type) has to be retrieved first (internal function). As all
358  // variables need the sampling energy, we start with this store. Note that
359  // the store for each variable can be defined by calling the corresponding
360  // set method before the first \a updateKine invocation.
361 
363  // Energy in Sampling //
365 
367  if ( ! this->isLocked(typeE) )
368  {
369  CaloSamplingData* pEStore = this->getDataStore(typeE,true);
370  if ( pEStore != nullptr )
371  {
372  // note that this is a reference to a modifiable data word!
373  pEStore->retrieveData(typeE,sam) += theEnergy;
374  }
375  }
376 
377  double theOldNorm(m_posSamNorm[sam]);
378  m_posSamNorm[sam]+=theAbsEnergy;
379  double theNewNorm(m_posSamNorm[sam]);
380 
382  // Azimuth //
384 
385  // azimuth
387  if ( ! this->isLocked(typePhi) )
388  {
389  // central azimuth
390  CaloSamplingData* pPhiStore = this->getDataStore(typePhi,true);
391  if ( pPhiStore != nullptr )
392  {
393  double& refPhiSamp = pPhiStore->retrieveData(typePhi,sam);
394  thePhi = proxim(cellPhi,refPhiSamp);
395  theNewPhi = theNewNorm != 0.
396  ? CaloPhiRange::fix((theOldNorm*refPhiSamp+theAbsEnergy*thePhi)/theNewNorm)
397  : double(0);
398 
399  // spread in azimuth
402  if ( ! this->isLocked(typeDPhi) )
403  {
404  CaloSamplingData* pDPhiStore = this->getDataStore(typeDPhi,true);
405  if ( pDPhiStore != nullptr )
406  {
407  // non-const reference -> modification in place!
408  double& refDPhiSamp = pDPhiStore->retrieveData(typeDPhi,sam);
409  double wP2
410  = theOldNorm *
411  ( refDPhiSamp*refDPhiSamp + refPhiSamp*refPhiSamp)
412  + theAbsEnergy * thePhi * thePhi;
413  refDPhiSamp = theNewNorm != 0.
414  ? wP2 / theNewNorm - theNewPhi*theNewPhi
415  : double(0);
416  if ( refDPhiSamp > 0. )
417  {
418  refDPhiSamp = sqrt(refDPhiSamp);
419  }
420  else
421  {
422  refDPhiSamp = double(0);
423  }
424  }
425  }
426  // save the new phi value
427  refPhiSamp = theNewPhi;
428  }
429  }
430 
432  // Rapidity //
434 
435 
436  // rapidity
438  if ( ! this->isLocked(typeEta) )
439  {
440  CaloSamplingData* pEtaStore = this->getDataStore(typeEta,true);
441  if ( pEtaStore != nullptr )
442  {
443  double& refEtaSamp = pEtaStore->retrieveData(typeEta,sam);
444  double theNewEta = theNewNorm != 0.
445  ? (theOldNorm*refEtaSamp+theAbsEnergy* cellEta)/theNewNorm
446  : double(0);
447 
448  // spread in eta
451  if ( ! this->isLocked(typeDEta) )
452  {
453  CaloSamplingData* pDEtaStore = this->getDataStore(typeDEta,true);
454  if ( pDEtaStore != nullptr )
455  {
456  double& refDEtaSamp = pDEtaStore->retrieveData(typeDEta,sam);
457  double wE2 = theOldNorm * (refDEtaSamp * refDEtaSamp +
458  refEtaSamp * refEtaSamp )
459  + theAbsEnergy * cellEta * cellEta;
460  refDEtaSamp = theNewNorm != 0
461  ? wE2 / theNewNorm - theNewEta * theNewEta
462  : double(0);
463  if ( refDEtaSamp > 0. )
464  {
465  refDEtaSamp = sqrt(refDEtaSamp);
466  }
467  else
468  {
469  refDEtaSamp = double(0.0);
470  }
471  }
472  }
473  // save the new eta value
474  refEtaSamp = theNewEta;
475  }
476  }
477 
479  // Maximum Energy Cell //
481 
483  if ( ! this->isLocked(typeEMax) )
484  {
485  CaloSamplingData* pEMaxStore = this->getDataStore(typeEMax,true);
486  if ( pEMaxStore != nullptr )
487  {
488  double& refEMaxSamp = pEMaxStore->retrieveData(typeEMax,sam);
489  if ( refEMaxSamp < theEnergy )
490  {
491  // set new maximum energy
492  refEMaxSamp = theEnergy;
493  // set new eta
494  CaloVariableType::VariableType typeEtaMax =
496  if ( ! this->isLocked(typeEtaMax) )
497  {
498  CaloSamplingData* pEtaMaxStore =
499  this->getDataStore(typeEtaMax,true);
500  if ( pEtaMaxStore != nullptr )
501  {
502  pEtaMaxStore->retrieveData(typeEtaMax,sam) =
503  cellEta;
504  }
505  }
506  // set new phi
507  CaloVariableType::VariableType typePhiMax =
509  if ( ! this->isLocked(typePhiMax) )
510  {
511  CaloSamplingData* pPhiMaxStore =
512  this->getDataStore(typePhiMax,true);
513  if ( pPhiMaxStore != nullptr )
514  {
515  pPhiMaxStore->retrieveData(typePhiMax,sam) = thePhi;
516  }
517  } // lock on phi of maximum sampling signal
518  } // maximum condition
519  } // data store pointer
520  } // lock on max energy
521 
522  if ( theEnergy != 0)
523  {
524  // check sampling bit
527  // count cells in endcap
528 
529  switch(sam)
530  {
532  case CaloSampling::EME1:
533  case CaloSampling::EME2:
534  case CaloSampling::EME3:
535  case CaloSampling::HEC0:
536  case CaloSampling::HEC1:
537  case CaloSampling::HEC2:
538  case CaloSampling::HEC3:
539  case CaloSampling::FCAL0:
540  case CaloSampling::FCAL1:
541  case CaloSampling::FCAL2:
542  m_nEndcap += (weight<0?-1:1);
543  break;
544  default:
545  m_nBarrel += (weight<0?-1:1);
546  break;
547  }
548  }
549 
550  if ( m_nBarrel < 0 ) m_nBarrel = 0;
551  if ( m_nEndcap < 0 ) m_nEndcap = 0;
552 
553  m_barrel = (m_nBarrel>0);
554  m_endcap = (m_nEndcap>0);
555 }

◆ variableBE()

double CaloCluster::variableBE ( const variable_type theVariable,
const int &  samplingIndex 
) const
protectedinherited

Rewrite \( e_{0} \varphi_{0} + e_{1} \varphi_{1} \) as \( \left( e_{0} + e_{1} \right) \varphi_{0} + e_{1} \left( \varphi_{1} - \varphi_{0} \right) \) for \( \varphi \) calculation.

Definition at line 953 of file CaloCluster.cxx.

955 {
956  // check input
957  unsigned int iSamp((unsigned int)sam);
958  if ( iSamp > 3 ) return m_errorValue;
959 
960  // barrel and endcap
961  if ( this->inBarrel() && this->inEndcap() )
962  {
963  // offsets for sampling indicators
964  unsigned int bOff = (unsigned int)CaloSampling::PreSamplerB;
965  unsigned int eOff = (unsigned int)CaloSampling::PreSamplerE;
966  CaloSampling::CaloSample bSample =
967  (CaloSampling::CaloSample)(bOff+iSamp);
969  (CaloSampling::CaloSample)(eOff+iSamp);
970  double eBarrel = this->getVariable(CaloVariableType::ENERGY,
971  bSample,true);
972  double eEndCap = this->getVariable(CaloVariableType::ENERGY,
973  eSample,true);
974 
975  double vBarrel = this->getVariable(varType,bSample,true);
976  double vEndCap = this->getVariable(varType,eSample,true);
977 
978  // Deal with invalid eta/phi values.
979  if (varType == CaloVariableType::PHI ||
980  varType == CaloVariableType::ETA)
981  {
982  if (vBarrel <= m_errorValue) {
983  vBarrel = 0;
984  eBarrel = 0;
985  }
986  if (vEndCap <= m_errorValue) {
987  vEndCap = 0;
988  eEndCap = 0;
989  }
990  }
991 
992  // invalid signals
993  double eSum = eBarrel + eEndCap;
994  if ( eSum == 0. ) return m_errorValue;
995  // average
996  double vAverage(m_errorValue);
997  switch ( varType )
998  {
1000  {
1001  double phiSum =
1002  eSum * vBarrel + eEndCap * CaloPhiRange::diff(vEndCap,vBarrel);
1003  vAverage = CaloPhiRange::fix(phiSum/eSum);
1004  break;
1005  }
1006  case CaloVariableType::ETA:
1007  {
1008  vAverage = ( eBarrel * vBarrel + eEndCap * vEndCap ) / eSum;
1009  break;
1010  }
1012  {
1013  vAverage = eSum;
1014  break;
1015  }
1016  default:
1017  {
1018  break;
1019  }
1020  }
1021  return vAverage;
1022  }
1023 
1024  // barrel only
1025  if ( this->inBarrel() )
1026  {
1027  unsigned int bOff = (unsigned int)CaloSampling::PreSamplerB;
1028  CaloSampling::CaloSample bSample =
1029  (CaloSampling::CaloSample)(bOff+iSamp);
1030  return this->getVariable(varType,bSample);
1031  }
1032 
1033  // endcap only
1034  if ( this->inEndcap() )
1035  {
1036  unsigned int eOff = (unsigned int)CaloSampling::PreSamplerE;
1038  (CaloSampling::CaloSample)(eOff+iSamp);
1039  return this->getVariable(varType,eSample);
1040  }
1041 
1042  // just in case
1043  return m_errorValue;
1044 }

Member Data Documentation

◆ CounterBits

const unsigned short AthenaBarCodeImpl::CounterBits = 26
staticinherited

Definition at line 44 of file AthenaBarCodeImpl.h.

◆ m_altE

double CaloCluster::m_altE
privateinherited

Stores calibrated (cell weight) signal.

Definition at line 705 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

◆ m_altEta

double CaloCluster::m_altEta
privateinherited

Stores calibrated (cell weight) signal.

Definition at line 707 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

◆ m_altM

double CaloCluster::m_altM
privateinherited

Stores calibrated (cell weight) signal.

Definition at line 711 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

◆ m_altPhi

double CaloCluster::m_altPhi
privateinherited

Stores calibrated (cell weight) signal.

Definition at line 709 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

◆ m_badChannelData

badChannelList CaloCluster::m_badChannelData
privateinherited

◆ m_barcode

std::atomic<AthenaBarCode_t> AthenaBarCodeImpl::m_barcode
mutableprivateinherited

Definition at line 110 of file AthenaBarCodeImpl.h.

◆ m_barcodeCounter

std::atomic< AthenaBarCode_t > AthenaBarCodeImpl::m_barcodeCounter = 0
staticprivateinherited

Definition at line 109 of file AthenaBarCodeImpl.h.

◆ m_barrel

bool CaloCluster::m_barrel
privateinherited

Flag is true if at least one cell in EMB.

Definition at line 549 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

◆ m_basicSignal

double CaloCluster::m_basicSignal
protectedinherited

Stores basic energy signal.

Definition at line 495 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

◆ m_cellLink

cell_link_type CaloClusterNavigable::m_cellLink
privateinherited

Local pointer to cell store.

Link to cell links object

Definition at line 186 of file CaloClusterNavigable.h.

◆ m_clusterSize

unsigned int CaloCluster::m_clusterSize
privateinherited

Cluster size (e.g.

5x5, 3.7, ...)

Definition at line 554 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

◆ m_dataLink

data_link_type CaloCluster::m_dataLink
protectedinherited

{

Linked Stores link to data

Definition at line 488 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

◆ m_dataStore

CaloSamplingData CaloCluster::m_dataStore
protectedinherited

{\ brief Cached Stores

sampling data

Definition at line 479 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

◆ m_defSigState

signalstate_t CaloCluster::m_defSigState
privateinherited

Stores default signal state.

Definition at line 693 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

◆ m_e

double P4EEtaPhiM::m_e
protectedinherited

Definition at line 75 of file P4EEtaPhiM.h.

◆ m_endcap

bool CaloCluster::m_endcap
privateinherited

Flag is true if at least one cell in EMB.

Definition at line 551 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

◆ m_errorValue

const double CaloCluster::m_errorValue = -999.
staticprotectedinherited

Internal error return for real numbers.

Definition at line 476 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

◆ m_eta

double P4EEtaPhiM::m_eta
protectedinherited

Definition at line 76 of file P4EEtaPhiM.h.

◆ m_eta0

double CaloCluster::m_eta0
privateinherited

Cluster seed \( \eta \)

Definition at line 558 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

◆ m_getE

GET_VALUE CaloCluster::m_getE {}
privateinherited

Pointer to getter functions.

Definition at line 672 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

◆ m_getEta

GET_VALUE CaloCluster::m_getEta {}
privateinherited

Pointer to getter functions.

Definition at line 674 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

◆ m_getM

GET_VALUE CaloCluster::m_getM {}
privateinherited

Pointer to getter functions.

Definition at line 678 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

◆ m_getPhi

GET_VALUE CaloCluster::m_getPhi {}
privateinherited

Pointer to getter functions.

Definition at line 676 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

◆ m_lockPattern

unsigned int CaloCluster::m_lockPattern
privateinherited

Variable lock pattern.

Definition at line 581 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

◆ m_m

double P4EEtaPhiM::m_m
protectedinherited

Definition at line 78 of file P4EEtaPhiM.h.

◆ m_momentStore

CaloClusterMomentStore CaloCluster::m_momentStore
protectedinherited

cluster moments

Definition at line 480 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

◆ m_nBarrel

int CaloCluster::m_nBarrel
privateinherited

Counter for number of barrel cells with non-zero weight and energy.

Definition at line 576 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

◆ m_nEndcap

int CaloCluster::m_nEndcap
privateinherited

Counter for number of endcap cells with non-zero weight and energy.

Definition at line 579 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

◆ m_ownDataStore

bool CaloCluster::m_ownDataStore
protectedinherited

}

Temporary stores

Definition at line 485 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

◆ m_ownLinkStore

bool CaloClusterNavigable::m_ownLinkStore
protectedinherited

Definition at line 178 of file CaloClusterNavigable.h.

◆ m_phi

double P4EEtaPhiM::m_phi
protectedinherited

Definition at line 77 of file P4EEtaPhiM.h.

◆ m_phi0

double CaloCluster::m_phi0
privateinherited

Cluster seed \( \varphi \)

Definition at line 560 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

◆ m_posNorm

double CaloCluster::m_posNorm
privateinherited

Stores the normalization e.g.

sum(|E|) for the position calculations.

Definition at line 568 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

◆ m_posSamNorm

std::vector<double> CaloCluster::m_posSamNorm
privateinherited

Stores the normalization e.g.

sum(|E|) for the position calculations in each sampling.

Definition at line 572 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

◆ m_rawE

double CaloCluster::m_rawE
privateinherited

Stores raw signal.

Definition at line 696 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

◆ m_rawEta

double CaloCluster::m_rawEta
privateinherited

Stores raw signal.

Definition at line 698 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

◆ m_rawM

double CaloCluster::m_rawM
privateinherited

Stores raw signal.

Definition at line 702 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

◆ m_rawPhi

double CaloCluster::m_rawPhi
privateinherited

Stores raw signal.

Definition at line 700 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

◆ m_samplingPattern

unsigned int CaloCluster::m_samplingPattern
protectedinherited

Sampling pattern.

Definition at line 501 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

◆ m_setE

SET_VALUE CaloCluster::m_setE {}
privateinherited

Pointer to setter functions.

Definition at line 681 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

◆ m_setEta

SET_VALUE CaloCluster::m_setEta {}
privateinherited

Pointer to setter functions.

Definition at line 683 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

◆ m_setM

SET_VALUE CaloCluster::m_setM {}
privateinherited

Pointer to setter functions.

Definition at line 687 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

◆ m_setPhi

SET_VALUE CaloCluster::m_setPhi {}
privateinherited

Pointer to setter functions.

Definition at line 685 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

◆ m_shower

CaloShower* CaloCluster::m_shower
protectedinherited

}

Non-const pointer to linked store.

Definition at line 492 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

◆ m_signalState

signalstate_t CaloCluster::m_signalState
privateinherited

Stores actual signal state.

Definition at line 691 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

◆ m_status

CaloRecoStatus CaloCompositeKineBase::m_status
protectedinherited

Calorimeter reconstruction status.

Definition at line 58 of file CaloCompositeKineBase.h.

◆ m_time

double CaloCluster::m_time
protectedinherited

Cluster timing.

Definition at line 498 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

◆ m_timeNorm

double CaloCluster::m_timeNorm
privateinherited

Stores the normalization for time calculation e.g.

sum(w * |w| * E^2)

Definition at line 564 of file Calorimeter/CaloEvent/CaloEvent/CaloCluster.h.

◆ ReserveBits

const unsigned short AthenaBarCodeImpl::ReserveBits = 2
staticinherited

Definition at line 46 of file AthenaBarCodeImpl.h.

◆ SCounterBits

const unsigned short AthenaBarCodeImpl::SCounterBits = UUIDBits
staticinherited

Definition at line 49 of file AthenaBarCodeImpl.h.

◆ SReserveBits

const unsigned short AthenaBarCodeImpl::SReserveBits = UUIDBits+CounterBits+VersionBits
staticinherited

Definition at line 51 of file AthenaBarCodeImpl.h.

◆ SUUIDBits

const unsigned short AthenaBarCodeImpl::SUUIDBits = 0
staticinherited

Definition at line 48 of file AthenaBarCodeImpl.h.

◆ SVersionBits

const unsigned short AthenaBarCodeImpl::SVersionBits = UUIDBits+CounterBits
staticinherited

Definition at line 50 of file AthenaBarCodeImpl.h.

◆ TotalBits

const unsigned short AthenaBarCodeImpl::TotalBits = 64
staticinherited

Definition at line 41 of file AthenaBarCodeImpl.h.

◆ UNDEFINEDBARCODE

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

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

◆ UNDEFINEDVERSION

const AthenaBarCode_t IAthenaBarCode::UNDEFINEDVERSION = UNDEFINEDBARCODE
staticinherited

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

◆ UUIDBits

const unsigned short AthenaBarCodeImpl::UUIDBits = 32
staticinherited

Definition at line 43 of file AthenaBarCodeImpl.h.

◆ VersionBits

const unsigned short AthenaBarCodeImpl::VersionBits = 4
staticinherited

Definition at line 45 of file AthenaBarCodeImpl.h.


The documentation for this class was generated from the following files:
CaloSamplingHelper::isEMSampling
static bool isEMSampling(const CaloSample &rSample)
Get sampling characteristics.
Definition: CaloEvent/src/CaloSamplingHelper.cxx:57
CaloCluster::isLocked
bool isLocked(const variable_type &varType) const
Check lock status of variable.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:1278
P4EEtaPhiMBase::cotTh
virtual double cotTh() const
cottan theta
Definition: P4EEtaPhiMBase.cxx:77
CaloCluster::m_ownDataStore
bool m_ownDataStore
}
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:485
P4EEtaPhiMBase::pz
virtual double pz() const
z component of momentum
Definition: P4EEtaPhiMBase.cxx:130
CaloCluster::m_setPhi
SET_VALUE m_setPhi
Pointer to setter functions.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:685
P4EEtaPhiMBase::pt
virtual double pt() const
transverse momentum
Definition: P4EEtaPhiMBase.cxx:101
CaloCluster::SW_55ele
@ SW_55ele
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:87
GetLCDefs::Unknown
@ Unknown
Definition: GetLCDefs.h:21
AthenaBarCodeImpl::m_barcodeCounter
static std::atomic< AthenaBarCode_t > m_barcodeCounter
Definition: AthenaBarCodeImpl.h:109
CaloCluster::m_momentStore
CaloClusterMomentStore m_momentStore
cluster moments
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:480
CaloVariableType::VariableType
VariableType
Definition: CaloVariableType.h:15
CaloCluster::eSample
double eSample(sampling_type sampling) const
Retrieve energy in a given sampling.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:975
AthenaBarCodeImpl::m_barcode
std::atomic< AthenaBarCode_t > m_barcode
Definition: AthenaBarCodeImpl.h:110
CaloVariableType::getAllVariableBits
static unsigned int getAllVariableBits()
Definition: CaloVariableType.h:63
CaloCluster::setTime
void setTime(double theTime)
Set cluster time.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:889
IAthenaBarCode::UNDEFINEDBARCODE
static const AthenaBarCode_t UNDEFINEDBARCODE
Definition: AthenaKernel/AthenaKernel/IAthenaBarCode.h:52
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
CaloCluster::m_altPhi
double m_altPhi
Stores calibrated (cell weight) signal.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:709
PJobID_t
const unsigned char * PJobID_t
Definition: IJobIDSvc.h:21
CaloCell::phi
virtual double phi() const override final
get phi (through CaloDetDescrElement)
Definition: CaloCell.h:359
CaloShowerContainer::ownElements
bool ownElements() const
Definition: CaloShowerContainer.h:20
CaloRecoStatus::resetStatus
virtual void resetStatus()
reset reconstruction status
Definition: CaloRecoStatus.h:122
DeMoUpdate.tmp2
string tmp2
Definition: DeMoUpdate.py:1168
CaloCluster::m_getM
GET_VALUE m_getM
Pointer to getter functions.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:678
AthenaBarCodeImpl::SUUIDBits
static const unsigned short SUUIDBits
Definition: AthenaBarCodeImpl.h:48
CaloCluster::hasSampling
bool hasSampling(const sampling_type &theSampling) const
Checks if certain sampling contributes to cluster.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:954
CaloCluster::m_basicSignal
double m_basicSignal
Stores basic energy signal.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:495
CaloVariableType::MAX_ENERGY
@ MAX_ENERGY
Definition: CaloVariableType.h:20
CaloSamplingData::retrieveData
value_type retrieveData(variable_key_type theVariable, sampling_key_type theSampling) const
Retrieve const reference to individual variable.
Definition: CaloSamplingData.h:225
CaloCluster::setCalEta
void setCalEta(double eta)
Set calibrated (LC) eta.
Definition: CaloCluster.cxx:1341
P4EEtaPhiM::setEta
virtual void setEta(double theEta)
set eta data member
Definition: P4EEtaPhiM.h:117
AthenaBarCodeImpl::hashUUID
static AthenaBarCode_t hashUUID(const char *)
Definition: AthenaBarCodeImpl.cxx:190
AthenaBarCodeImpl::UUIDBits
static const unsigned short UUIDBits
Definition: AthenaBarCodeImpl.h:43
CaloCluster::m_getPhi
GET_VALUE m_getPhi
Pointer to getter functions.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:676
CaloCluster::setRawEta
void setRawEta(double eta)
Set raw eta.
Definition: CaloCluster.cxx:1321
CaloVariableType::PHI
@ PHI
Definition: CaloVariableType.h:17
CaloCellPos2Ntuple.int
int
Definition: CaloCellPos2Ntuple.py:24
CaloCluster::m_nEndcap
int m_nEndcap
Counter for number of endcap cells with non-zero weight and energy.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:579
CaloRecoStatus::setStatus
virtual void setStatus(const StatusIndicator &statusIndicator)
Set status.
Definition: CaloRecoStatus.h:107
CaloCluster::SW_35Econv
@ SW_35Econv
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:96
CaloCluster::CaloCluster
CaloCluster(double eta0=0, double phi0=0, unsigned int varTypePattern=0x00000000, unsigned int clusterSize=CaloCluster::SW_55ele)
Constructor.
Definition: CaloCluster.cxx:73
CaloClusterNavigable::cellLink
const cell_link_type & cellLink() const
Access to underlying link.
Definition: CaloClusterNavigable.h:149
AthenaBarCodeImpl::CounterBits
static const unsigned short CounterBits
Definition: AthenaBarCodeImpl.h:44
CaloCluster::m_eta0
double m_eta0
Cluster seed
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:558
P4EEtaPhiMBase::cosPhi
virtual double cosPhi() const
cosinus phi
Definition: P4EEtaPhiMBase.cxx:54
CaloClusterMomentStore::setMomentStore
virtual void setMomentStore(const moment_store &rMomStore)
Set internal store.
Definition: CaloClusterMomentStore.h:253
CaloCluster::getRawPhi
double getRawPhi() const
Access to raw phi.
Definition: CaloCluster.cxx:1317
CaloCluster::setCalE
void setCalE(double e)
Set calibrated (LC) energy.
Definition: CaloCluster.cxx:1340
CaloCluster::inBarrel
bool inBarrel() const
Returns true if at least one clustered cell in EMB.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:926
I4Momentum::P4IPTCOTTHPHIM
@ P4IPTCOTTHPHIM
Definition: I4Momentum.h:33
CaloSamplingData::storeData
bool storeData(variable_key_type theVariable, sampling_key_type theSampling, value_type theData)
}
Definition: CaloSamplingData.cxx:109
CaloCluster::setStateCal
bool setStateCal()
Helper to switch to calibrated (LC) state.
Definition: CaloCluster.cxx:1408
I4Momentum::p
virtual double p() const =0
momentum magnitude
proxim
double proxim(double b, double a)
Definition: proxim.h:17
P4EEtaPhiM
Definition: P4EEtaPhiM.h:25
CaloCluster::SW_35gam
@ SW_35gam
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:92
CaloCluster::getDataStore
CaloSamplingData * getDataStore(const variable_type &theVariable, bool useLink=true)
Definition: CaloCluster.cxx:1093
AthenaBarCodeImpl::SVersionBits
static const unsigned short SVersionBits
Definition: AthenaBarCodeImpl.h:50
python.AthDsoLogger.out
out
Definition: AthDsoLogger.py:71
CaloCluster::m_getEta
GET_VALUE m_getEta
Pointer to getter functions.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:674
CaloCell_ID_FCS::FCAL1
@ FCAL1
Definition: FastCaloSim_CaloCell_ID.h:41
CaloVariableType::DELTA_PHI
@ DELTA_PHI
Definition: CaloVariableType.h:19
P4EEtaPhiM::m_e
double m_e
Definition: P4EEtaPhiM.h:75
CaloCluster::setVariable
bool setVariable(const variable_type &varType, const sampling_type &samType, const double &varData, bool useLink=false)
General sampling variable setter.
Definition: CaloCluster.cxx:872
JobID_t
uuid_t JobID_t
Definition: IJobIDSvc.h:20
CaloCell::e
virtual double e() const override final
get energy (data member) (synonym to method energy()
Definition: CaloCell.h:317
athena.value
value
Definition: athena.py:124
CaloCluster::SW_37gam
@ SW_37gam
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:93
CaloCluster::m_altE
double m_altE
Stores calibrated (cell weight) signal.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:705
CaloCluster::m_timeNorm
double m_timeNorm
Stores the normalization for time calculation e.g.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:564
CaloCluster::setSignalState
virtual bool setSignalState(signalstate_t s)
Sets signal state.
Definition: CaloCluster.cxx:1345
CaloClusterMomentStore::CaloClusterMomentIterator
Internally used iterator.
Definition: CaloClusterMomentStore.h:54
CaloCell_ID_FCS::HEC2
@ HEC2
Definition: FastCaloSim_CaloCell_ID.h:29
CaloCluster::m_setEta
SET_VALUE m_setEta
Pointer to setter functions.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:683
drawFromPickle.cos
cos
Definition: drawFromPickle.py:36
CaloClusterNavigable::reweight
void reweight(const CaloCell *pCell, const double &weight=double(1.))
re-weight (overwrite old weight)
Definition: CaloClusterNavigable.h:251
AthenaBarCodeImpl::setBits
void setBits(unsigned short startbit, unsigned short nbits, AthenaBarCode_t id, AthenaBarCode_t &bc) const
Definition: AthenaBarCodeImpl.cxx:260
CaloCluster::SW_7_11
@ SW_7_11
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:104
CaloCell::provenance
uint16_t provenance() const
get provenance (data member)
Definition: CaloCell.h:338
CaloCluster::set4Mom
virtual void set4Mom(const I4Momentum *const pMom)
Set kinematics from four-vector.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:841
CaloCluster::m_posSamNorm
std::vector< double > m_posSamNorm
Stores the normalization e.g.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:572
AthenaBarCodeImpl::getUUIDHash
AthenaBarCode_t getUUIDHash() const
Definition: AthenaBarCodeImpl.cxx:244
CaloCell::time
float time() const
get time (data member)
Definition: CaloCell.h:352
AthenaBarCodeImpl::setAthenaBarCode
void setAthenaBarCode(AthenaBarCode_t id)
Definition: AthenaBarCodeImpl.cxx:211
CaloShower
Data class for cluster variables associated with a CaloCluster.
Definition: CaloShower.h:12
P4EEtaPhiM::e
virtual double e() const
get energy data member
Definition: P4EEtaPhiM.h:102
CaloClusterMomentStore::contains
virtual bool contains(const moment_type &rMomType) const
Containment check.
Definition: CaloClusterMomentStore.h:237
Trk::u
@ u
Enums for curvilinear frames.
Definition: ParamDefs.h:77
CaloCluster::getCalE
double getCalE() const
Access to calibrated (LC) energy.
Definition: CaloCluster.cxx:1335
Athena::getMessageSvc
IMessageSvc * getMessageSvc(bool quiet=false)
Definition: getMessageSvc.cxx:20
CaloCluster::Unknown
@ Unknown
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:105
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
CaloClusterMomentStore
Stores CaloClusterMoment in a keyed map.
Definition: CaloClusterMomentStore.h:15
CaloCluster::getMomentStorePtrs
bool getMomentStorePtrs(const CaloClusterMomentStore *&pFirstStore, const CaloClusterMomentStore *&pSecndStore, bool useLink) const
Definition: CaloCluster.cxx:1216
CaloCluster::m_setM
SET_VALUE m_setM
Pointer to setter functions.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:687
CaloCluster::inEndcap
bool inEndcap() const
Returns true if at least one clustered cell in EMEC.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:931
P4EEtaPhiM::eta
virtual double eta() const
get eta data member
Definition: P4EEtaPhiM.h:105
dqt_zlumi_pandas.weight
int weight
Definition: dqt_zlumi_pandas.py:189
CaloVariableType::MAX_PHI
@ MAX_PHI
Definition: CaloVariableType.h:22
python.setupRTTAlg.size
int size
Definition: setupRTTAlg.py:39
CaloClusterNavigable::m_cellLink
cell_link_type m_cellLink
Local pointer to cell store.
Definition: CaloClusterNavigable.h:186
CaloCluster::m_dataLink
data_link_type m_dataLink
{
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:488
AthenaBarCode_t
uint64_t AthenaBarCode_t
barcode for all INav4Mom classes
Definition: AthenaKernel/AthenaKernel/IAthenaBarCode.h:44
CaloSamplingHelper::getSamplingBit
static unsigned int getSamplingBit(const CaloSample &rSample)
Return a unique bit set for a given sampling.
Definition: CaloEvent/CaloEvent/CaloSamplingHelper.h:48
CaloShower::getSamplingStore
const sampling_store & getSamplingStore() const
Retrieves the non-modifiable sampling data store.
Definition: CaloShower.h:77
CaloCluster::m_time
double m_time
Cluster timing.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:498
CaloClusterMomentStore::begin
virtual moment_iterator begin() const
{
Definition: CaloClusterMomentStore.h:220
CaloClusterNavigable::end
virtual object_iter end() const
end iterator for public object access
Definition: CaloClusterNavigable.h:309
AthenaBarCodeImpl::TotalBits
static const unsigned short TotalBits
Definition: AthenaBarCodeImpl.h:41
SETVAR
#define SETVAR(v, a)
CaloCluster::m_clusterSize
unsigned int m_clusterSize
Cluster size (e.g.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:554
CaloCell_ID_FCS::HEC1
@ HEC1
Definition: FastCaloSim_CaloCell_ID.h:28
AthenaBarCodeImpl::newVersion
void newVersion()
Definition: AthenaBarCodeImpl.cxx:138
CaloCluster::m_phi0
double m_phi0
Cluster seed
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:560
CaloClusterLinkTemplate::setLink
static bool setLink(CONT *pCont, DOBJ *pDat, ELEM &rElm)
Definition: CaloClusterLinkTemplate.h:26
CaloCluster::getBadChannel
const badChannelList * getBadChannel() const
Definition: CaloCluster.cxx:1434
P4EEtaPhiMBase::hlv
virtual CLHEP::HepLorentzVector hlv() const
HepLorentzVector Special implementation from Frank Paige : if negative energy, points in opposite dir...
Definition: P4EEtaPhiMBase.cxx:134
lumiFormat.i
int i
Definition: lumiFormat.py:85
CaloSampling::CaloSample
CaloSample
Definition: Calorimeter/CaloGeoHelpers/CaloGeoHelpers/CaloSampling.h:22
AthenaBarCodeImpl::getDefaultHash
static AthenaBarCode_t getDefaultHash(const char *jobid=nullptr)
Definition: AthenaBarCodeImpl.cxx:304
CaloCluster::m_getE
GET_VALUE m_getE
Pointer to getter functions.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:672
endmsg
#define endmsg
Definition: AnalysisConfig_Ntuple.cxx:63
I4Momentum::e
virtual double e() const =0
energy
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
CaloVariableType::DELTA_ETA
@ DELTA_ETA
Definition: CaloVariableType.h:18
P4EEtaPhiM::m
virtual double m() const
get mass data member
Definition: P4EEtaPhiM.h:111
HepMC::barcode
int barcode(const T *p)
Definition: Barcode.h:16
CaloCell::caloDDE
const CaloDetDescrElement * caloDDE() const
get pointer to CaloDetDescrElement (data member)
Definition: CaloCell.h:305
CaloCluster::getRawE
double getRawE() const
Access to raw energy.
Definition: CaloCluster.cxx:1315
P4EEtaPhiMBase::cosTh
virtual double cosTh() const
cosinus theta
Definition: P4EEtaPhiMBase.cxx:82
CaloCluster::m_endcap
bool m_endcap
Flag is true if at least one cell in EMB.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:551
CaloCluster::Topo_633
@ Topo_633
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:102
CaloCluster::setAltM
void setAltM(double m)
Set calibrated (cell weight) m.
Definition: CaloCluster.cxx:1333
CaloCluster::m_dataStore
CaloSamplingData m_dataStore
{\ brief Cached Stores
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:479
CaloCluster::getAltPhi
double getAltPhi() const
Access to calibrated (cell weight) phi.
Definition: CaloCluster.cxx:1327
CaloCluster::m_altM
double m_altM
Stores calibrated (cell weight) signal.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:711
AthenaBarCodeImpl::hasSameAthenaBarCodeExceptVersion
bool hasSameAthenaBarCodeExceptVersion(const IAthenaBarCode &obj) const
Definition: AthenaBarCodeImpl.cxx:120
constants.EME1
int EME1
Definition: Calorimeter/CaloClusterCorrection/python/constants.py:55
I4Momentum::eta
virtual double eta() const =0
pseudo rapidity
AthenaBarCodeImpl::SReserveBits
static const unsigned short SReserveBits
Definition: AthenaBarCodeImpl.h:51
CaloCluster::m_rawM
double m_rawM
Stores raw signal.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:702
CaloCluster::setEta
virtual void setEta(double eta)
Set eta.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:769
P4SignalState::UNCALIBRATED
@ UNCALIBRATED
Definition: ISignalState.h:30
CaloCluster::setRawM
void setRawM(double m)
Set raw m.
Definition: CaloCluster.cxx:1323
CaloCluster::m_samplingPattern
unsigned int m_samplingPattern
Sampling pattern.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:501
PowhegPythia8EvtGen_jetjet.theEnergy
int theEnergy
Definition: PowhegPythia8EvtGen_jetjet.py:12
xAOD::double
double
Definition: CompositeParticle_v1.cxx:159
CaloClusterNavigable::fillToken
virtual void fillToken(INavigationToken &iToken) const
fill token for navigation
Definition: CaloClusterNavigable.h:390
CaloCluster::setRawE
void setRawE(double e)
Set raw energy.
Definition: CaloCluster.cxx:1320
AthenaBarCodeImpl::getBits
AthenaBarCode_t getBits(unsigned short startbit, unsigned short nbits) const
Definition: AthenaBarCodeImpl.cxx:249
CaloCluster::getCalEta
double getCalEta() const
Access to calibrated (LC) eta.
Definition: CaloCluster.cxx:1336
AthenaBarCodeImpl::initABC
void initABC() const
Definition: AthenaBarCodeImpl.cxx:24
DeMoUpdate.tmp
string tmp
Definition: DeMoUpdate.py:1167
CaloCluster::SW_softe
@ SW_softe
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:99
CaloCluster::setCalPhi
void setCalPhi(double phi)
Set calibrated (LC) phi.
Definition: CaloCluster.cxx:1342
CaloCluster::SW_55Econv
@ SW_55Econv
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:95
LArConditionsTestConfig.msgsvc
msgsvc
Definition: LArConditionsTestConfig.py:74
CaloPhiRange::fix
static double fix(double phi)
Definition: CaloPhiRange.cxx:14
I4Momentum::phi
virtual double phi() const =0
phi in [-pi,pi[
CaloVariableType::MAX_ETA
@ MAX_ETA
Definition: CaloVariableType.h:21
AthenaBarCodeImpl::SCounterBits
static const unsigned short SCounterBits
Definition: AthenaBarCodeImpl.h:49
CaloCluster::m_errorValue
static const double m_errorValue
Internal error return for real numbers.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:476
AthenaBarCodeImpl::combineWithUUIDHash
AthenaBarCode_t combineWithUUIDHash(const AthenaBarCode_t &) const
Definition: AthenaBarCodeImpl.h:119
I4Momentum::P4PTETAPHIM
@ P4PTETAPHIM
Definition: I4Momentum.h:33
pool_uuid.guid
guid
Definition: pool_uuid.py:112
fill
void fill(H5::Group &out_file, size_t iterations)
Definition: test-hdf5-writer.cxx:95
CaloDetDescrElement::is_tile
bool is_tile() const
cell belongs to Tile
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:442
CaloRecoStatus::checkStatus
virtual bool checkStatus(const StatusIndicator &statusIndicator) const
Check status.
Definition: CaloRecoStatus.h:117
CaloCluster::setDataStore
bool setDataStore(CaloShower *pData, bool ownStores=true)
Setup data store.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:909
P4EEtaPhiM::setPhi
virtual void setPhi(double thePhi)
set phi data member
Definition: P4EEtaPhiM.h:120
CaloCluster::moment_iterator
MomentStoreIter moment_iterator
Moment iterator type for CaloCluster clients.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:205
CaloCluster::setCalM
void setCalM(double m)
Set calibrated (LC) m.
Definition: CaloCluster.cxx:1343
CaloCluster::m_rawPhi
double m_rawPhi
Stores raw signal.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:700
CaloShower::getMomentStore
const moment_store & getMomentStore() const
Access cluster moment store.
Definition: CaloShower.h:71
CaloCluster::getTime
double getTime() const
Access cluster time.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:886
WriteBchToCool.beg
beg
Definition: WriteBchToCool.py:69
I4Momentum::UNKNOWN
@ UNKNOWN
Definition: I4Momentum.h:33
P4EEtaPhiM::phi
virtual double phi() const
get phi data member
Definition: P4EEtaPhiM.h:108
CaloCluster::setStateAlt
bool setStateAlt()
Helper to switch to calibrated (cell weight) state.
Definition: CaloCluster.cxx:1392
CaloCell_ID_FCS::EME3
@ EME3
Definition: FastCaloSim_CaloCell_ID.h:26
CaloVariableType::getVariableBit
static unsigned int getVariableBit(const VariableType &varType)
Definition: CaloVariableType.h:25
CaloCluster::statename_t
P4SignalState statename_t
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:146
CaloSampling::getNumberOfSamplings
static constexpr unsigned int getNumberOfSamplings()
Get number of available samplings.
Definition: Calorimeter/CaloGeoHelpers/CaloGeoHelpers/CaloSampling.h:30
AthenaBarCodeImpl::getAthenaBarCode
AthenaBarCode_t getAthenaBarCode() const
Definition: AthenaBarCodeImpl.cxx:203
CaloCluster::setRawPhi
void setRawPhi(double phi)
Set raw phi.
Definition: CaloCluster.cxx:1322
CaloClusterNavigable::putElement
void putElement(const CaloCellContainer *pContainer, const CaloCell *pCell, const double &weight=double(1.))
add element to the Navigable: use pointer
Definition: CaloClusterNavigable.h:201
CaloCompositeKineBase::m_status
CaloRecoStatus m_status
Calorimeter reconstruction status.
Definition: CaloCompositeKineBase.h:58
CaloCluster::hlv
virtual CLHEP::HepLorentzVector hlv() const
redefine hlv() here to avoid ambiguities
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:270
CaloCluster::m_altEta
double m_altEta
Stores calibrated (cell weight) signal.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:707
CaloCluster::setAltE
void setAltE(double e)
Set calibrated (cell weight) energy.
Definition: CaloCluster.cxx:1330
CaloClusterMomentStore::insert
virtual void insert(const moment_type &rMomType, const moment_value &rMomData)
Insert key/data pair.
Definition: CaloClusterMomentStore.h:213
CaloClusterMomentStore::retrieve
virtual bool retrieve(const moment_type &rMomType, moment_value &rMomData) const
Retrieve cluster moment for a given key.
Definition: CaloClusterMomentStore.cxx:37
CaloCluster::setAltPhi
void setAltPhi(double phi)
Set calibrated (cell weight) phi.
Definition: CaloCluster.cxx:1332
CaloCell_ID_FCS::HEC0
@ HEC0
Definition: FastCaloSim_CaloCell_ID.h:27
P4EEtaPhiMBase::p
virtual double p() const
magnitude of 3-momentum.
Definition: P4EEtaPhiMBase.cxx:21
I4Momentum::m
virtual double m() const =0
mass
CaloCluster::m_setE
SET_VALUE m_setE
Pointer to setter functions.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:681
CaloCluster::SW_35ele
@ SW_35ele
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:88
P4EEtaPhiMBase::sinTh
virtual double sinTh() const
sinus theta
Definition: P4EEtaPhiMBase.cxx:87
CaloCluster::SW_37Econv
@ SW_37Econv
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:97
CaloCluster::setE
virtual void setE(double e)
Set energy.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:767
CaloCluster::m_shower
CaloShower * m_shower
}
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:492
CaloCluster::allLocked
bool allLocked() const
Check if all variables are locked.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:1289
CaloCluster::getAltEta
double getAltEta() const
Access to calibrated (cell weight) eta.
Definition: CaloCluster.cxx:1326
SCT_ConditionsAlgorithms::CoveritySafe::getenv
std::string getenv(const std::string &variableName)
get an environment variable
Definition: SCT_ConditionsUtilities.cxx:17
Navigable::size
virtual unsigned int size() const
P4EEtaPhiMBase::sinPhi
virtual double sinPhi() const
sinus phi
Definition: P4EEtaPhiMBase.cxx:59
CaloCluster::m_defSigState
signalstate_t m_defSigState
Stores default signal state.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:693
CaloSamplingData::contains
bool contains(variable_key_type theVariable) const
Check on available variable types.
Definition: CaloSamplingData.h:282
CaloCondBlobAlgs_fillNoiseFromASCII.hash
dictionary hash
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:109
CaloClusterMomentStore::moment_store
std::map< moment_key, moment_value > moment_store
Internal moment store type.
Definition: CaloClusterMomentStore.h:35
P4EEtaPhiM::setM
virtual void setM(double theM)
set mass data member
Definition: P4EEtaPhiM.h:123
CaloDetDescrElement::getSampling
CaloCell_ID::CaloSample getSampling() const
cell sampling
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:395
CaloClusterMomentStore::end
virtual moment_iterator end() const
iterator loop terminator
Definition: CaloClusterMomentStore.h:226
AthenaBarCodeImpl::hasSameAthenaBarCode
bool hasSameAthenaBarCode(const IAthenaBarCode &obj) const
Definition: AthenaBarCodeImpl.cxx:110
CaloCluster::eta
virtual double eta() const
Retrieve eta independent of signal state.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:755
CaloCluster::SW_55gam
@ SW_55gam
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:91
AthenaBarCodeImpl::makeDefaultHash
static AthenaBarCode_t makeDefaultHash(const char *jobid)
Definition: AthenaBarCodeImpl.cxx:312
CaloCell_ID_FCS::PreSamplerE
@ PreSamplerE
Definition: FastCaloSim_CaloCell_ID.h:23
CaloCell_ID_FCS::PreSamplerB
@ PreSamplerB
Definition: FastCaloSim_CaloCell_ID.h:19
CaloClusterMoment
defines enums and data types for different moments of CaloCluster
Definition: CaloClusterMoment.h:29
CaloClusterNavigable::getCellLink
CaloCellLink * getCellLink()
Definition: CaloClusterNavigable.cxx:39
CaloCluster::m_nBarrel
int m_nBarrel
Counter for number of barrel cells with non-zero weight and energy.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:576
CaloCluster::setM
virtual void setM(double m)
Set mass.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:773
python.CaloCondTools.log
log
Definition: CaloCondTools.py:20
DetectorZone::barrel
@ barrel
CaloCluster::e
virtual double e() const
Retrieve energy independent of signal state.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:753
P4SignalState::CALIBRATED
@ CALIBRATED
Definition: ISignalState.h:31
P4EEtaPhiM::setE
virtual void setE(double theE)
set energy data member
Definition: P4EEtaPhiM.h:114
beamspotnt.varList
list varList
Definition: bin/beamspotnt.py:1108
CaloCluster::m_rawE
double m_rawE
Stores raw signal.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:696
CaloCluster::m_posNorm
double m_posNorm
Stores the normalization e.g.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:568
CaloCluster::getAltE
double getAltE() const
Access to calibrated (cell weight) energy.
Definition: CaloCluster.cxx:1325
CaloCell_ID_FCS::FCAL2
@ FCAL2
Definition: FastCaloSim_CaloCell_ID.h:42
CaloCluster::variableBE
double variableBE(const variable_type &theVariable, const int &samplingIndex) const
Rewrite as for calculation.
Definition: CaloCluster.cxx:953
P4SignalState::ALTCALIBRATED
@ ALTCALIBRATED
Definition: ISignalState.h:32
CaloClusterNavigable::setLinkStore
bool setLinkStore(CaloCellLink *pLink, bool ownStores=true)
Definition: CaloClusterNavigable.h:191
CaloCluster::getMomentStore
CaloClusterMomentStore * getMomentStore(bool useLink=true)
Definition: CaloCluster.cxx:1172
CaloVariableType::ETA
@ ETA
Definition: CaloVariableType.h:16
CaloCluster::getCalPhi
double getCalPhi() const
Access to calibrated (LC) phi.
Definition: CaloCluster.cxx:1337
ATLAS_THREAD_SAFE
#define ATLAS_THREAD_SAFE
Definition: checker_macros.h:211
CaloCluster::getAltM
double getAltM() const
Access to calibrated (cell weight) m.
Definition: CaloCluster.cxx:1328
drawFromPickle.sin
sin
Definition: drawFromPickle.py:36
IAthenaBarCode::UNDEFINEDVERSION
static const AthenaBarCode_t UNDEFINEDVERSION
Definition: AthenaKernel/AthenaKernel/IAthenaBarCode.h:53
CaloCluster::retrieveMoment
bool retrieveMoment(const moment_type &momType, moment_value &momValue, bool useLink=true) const
Retrieve individual moment.
Definition: CaloCluster.cxx:1266
CaloCluster::m
virtual double m() const
Retrieve mass independent of signal state.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:764
CaloCluster::m_signalState
signalstate_t m_signalState
Stores actual signal state.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:691
CaloCluster::setPhi
virtual void setPhi(double phi)
Set phi.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:771
CaloSamplingData
Simple data object to store all variables in calorimeter samplings.
Definition: CaloSamplingData.h:18
CaloClusterNavigable::m_ownLinkStore
bool m_ownLinkStore
Definition: CaloClusterNavigable.h:178
CaloCluster::m_badChannelData
badChannelList m_badChannelData
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:583
CaloCell_ID_FCS::HEC3
@ HEC3
Definition: FastCaloSim_CaloCell_ID.h:30
CaloCluster::SW_37ele
@ SW_37ele
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:89
CaloClusterMomentStore::size
size_t size() const
Number of stored moments.
Definition: CaloClusterMomentStore.h:242
test_pyathena.counter
counter
Definition: test_pyathena.py:15
CaloCluster::hasSignalState
virtual bool hasSignalState(signalstate_t s) const
check if signal state exists for current implementation
Definition: CaloCluster.cxx:1358
CaloClusterNavigable::getCellLinkPtr
CaloCellLink * getCellLinkPtr()
Definition: CaloClusterNavigable.h:426
python.PyAthena.obj
obj
Definition: PyAthena.py:132
CaloCell_ID_FCS::FCAL0
@ FCAL0
Definition: FastCaloSim_CaloCell_ID.h:40
CaloCluster::setAltEta
void setAltEta(double eta)
Set calibrated (cell weight) eta.
Definition: CaloCluster.cxx:1331
CaloCluster::Topo_420
@ Topo_420
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:101
CaloCluster::m_barrel
bool m_barrel
Flag is true if at least one cell in EMB.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:549
CaloCluster::getRawM
double getRawM() const
Access to raw mass.
Definition: CaloCluster.cxx:1318
I4Momentum::P4EETAPHIM
@ P4EETAPHIM
Definition: I4Momentum.h:33
python.AutoConfigFlags.msg
msg
Definition: AutoConfigFlags.py:7
CaloClusterNavigable::insertElement
void insertElement(const CaloCellContainer *pContainer, const CaloCell *pCell, const double &weight=double(1.))
insert element without checking if already in store: use element pointer
Definition: CaloClusterNavigable.h:217
CaloCluster::m_rawEta
double m_rawEta
Stores raw signal.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:698
CaloCluster::getCalM
double getCalM() const
Access to calibrated (LC) m.
Definition: CaloCluster.cxx:1338
AthenaBarCodeImpl::VersionBits
static const unsigned short VersionBits
Definition: AthenaBarCodeImpl.h:45
constants.EME2
int EME2
Definition: Calorimeter/CaloClusterCorrection/python/constants.py:56
AthenaBarCodeImpl::setVersion
void setVersion(AthenaBarCodeVersion_t newversion)
Definition: AthenaBarCodeImpl.cxx:157
CaloCluster::setStateRaw
bool setStateRaw()
Helper to switch to raw state.
Definition: CaloCluster.cxx:1375
CaloVariableType::ENERGY
@ ENERGY
Definition: CaloVariableType.h:15
CaloCell::eta
virtual double eta() const override final
get eta (through CaloDetDescrElement)
Definition: CaloCell.h:366
CaloPhiRange::diff
static double diff(double phi1, double phi2)
simple phi1 - phi2 calculation, but result is fixed to respect range.
Definition: CaloPhiRange.cxx:22
ServiceHandle
Definition: ClusterMakerTool.h:37
CaloCluster::getVariable
double getVariable(const variable_type &varType, const sampling_type &samType, bool useLink=true) const
General sampling variable access.
Definition: CaloCluster.cxx:837
AthenaBarCodeImpl::getVersion
AthenaBarCodeVersion_t getVersion() const
Definition: AthenaBarCodeImpl.cxx:131
CaloCluster::m_lockPattern
unsigned int m_lockPattern
Variable lock pattern.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:581
CaloCluster::getRawEta
double getRawEta() const
Access to raw eta.
Definition: CaloCluster.cxx:1316
I4Momentum::P4PXPYPZE
@ P4PXPYPZE
Definition: I4Momentum.h:33
CaloCluster::phi
virtual double phi() const
Retrieve phi independent of signal state.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:759
CaloCluster::isEMSampling
bool isEMSampling(const sampling_type &theSampling) const
Checks if cells from a given sampling in EMB and EMEC are in the cluster.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:951
AthenaBarCodeImpl::ReserveBits
static const unsigned short ReserveBits
Definition: AthenaBarCodeImpl.h:46