ATLAS Offline Software
Loading...
Searching...
No Matches
xAOD::ElectronAuxContainer_v1 Class Referenceabstract

Temporary container used until we have I/O for AuxStoreInternal. More...

#include <ElectronAuxContainer_v1.h>

Inheritance diagram for xAOD::ElectronAuxContainer_v1:
Collaboration diagram for xAOD::ElectronAuxContainer_v1:

Public Types

typedef SG::auxid_t auxid_t
 The aux ID type definition.
typedef SG::auxid_set_t auxid_set_t
 The aux ID set type definition.
template<class T, class ALLOC = std::allocator<T>>
using AuxVariable_t = std::vector<T, ALLOC>
 Declare how to wrap variables for this sort of base.
template<class T, class ALLOC = std::allocator<T>>
using LinkedVariable_t = AuxVariable_t<T, ALLOC>
enum  AuxStoreType { AST_ObjectStore = 0 , AST_ContainerStore = 1 }
 Type of the auxiliary store. More...

Public Member Functions

virtual bool insertMove (size_t pos, IAuxStore &other, const SG::auxid_set_t &ignore=SG::auxid_set_t())=0
 Move all elements from other to this store.
template<typename T, typename ALLOC>
auxid_t getAuxID (const std::string &name, std::vector< T, ALLOC > &, SG::AuxVarFlags flags=SG::AuxVarFlags::None, const SG::auxid_t linkedVariable=SG::null_auxid)
 Get the auxiliary ID for one of the persistent variables.
template<typename T>
auxid_t getAuxID (const std::string &name, SG::PackedContainer< T > &, SG::AuxVarFlags flags=SG::AuxVarFlags::None, const SG::auxid_t linkedVariable=SG::null_auxid)
 Get the auxiliary ID for one of the persistent variables.
template<typename T, typename ALLOC>
void regAuxVar (auxid_t auxid, const std::string &name, std::vector< T, ALLOC > &vec)
 Register one of the persistent variables internally.
template<typename T>
void regAuxVar (auxid_t auxid, const std::string &name, SG::PackedContainer< T > &vec)
 Register one of the persistent variables internally.
xAOD::ElectronAuxContainer constructors
 ElectronAuxContainer_v1 ()
Functions implementing the SG::IAuxStoreHolder interface
virtual SG::IAuxStoregetStore () override
 Get the currently used internal store object.
virtual const SG::IAuxStoregetStore () const override
virtual void setStore (SG::IAuxStore *store) override
 Set a different internal store object.
virtual AuxStoreType getStoreType () const override
 Return the type of the store object.
std::pmr::memory_resource * memResource ()
 Return the memory resource to use.
Functions implementing the SG::IConstAuxStore interface
virtual const void * getData (auxid_t auxid) const override
 Get a pointer to a given array.
virtual const SG::IAuxTypeVectorgetVector (SG::auxid_t auxid) const override final
 Return vector interface for one aux data item.
virtual const auxid_set_tgetAuxIDs () const override
 Get the types(names) of variables handled by this container.
virtual const auxid_set_tgetDecorIDs () const override
 Get the types(names) of decorations handled by this container.
virtual SG::auxid_set_t getCopyIDs (bool warnUnlocked=false) const override
 Get the set of variables that we should deep copy.
virtual bool isDecoration (auxid_t auxid) const override
 Test if a variable is a decoration.
virtual void * getDecoration (auxid_t auxid, size_t size, size_t capacity) override
 Get a pointer to a given array, as a decoration.
virtual void lock () override
 Lock the container.
virtual bool clearDecorations () override
 Clear all decorations.
virtual size_t size () const override
 Get the size of the container.
virtual void lockDecoration (SG::auxid_t auxid) override
 Lock a decoration.
virtual const SG::IAuxTypeVectorlinkedVector (SG::auxid_t auxid) const override
 Return interface for a linked variable.
Functions implementing the SG::IAuxStore interface
virtual void * getData (auxid_t auxid, size_t size, size_t capacity) override
 Get a pointer to a given array, creating the array if necessary.
virtual SG::IAuxTypeVectorlinkedVector (SG::auxid_t auxid) override
 Return interface for a linked variable.
virtual const auxid_set_tgetWritableAuxIDs () const override
 Return a set of writable data identifiers.
virtual bool resize (size_t size) override
 Resize the arrays to a given size.
virtual void reserve (size_t size) override
 Reserve a given size for the arrays.
virtual void shift (size_t pos, ptrdiff_t offs) override
 Shift the contents of the stored arrays.
virtual bool insertMove (size_t pos, IAuxStore &other, const SG::auxid_set_t &ignore) override
 Insert contents of another store via move.
virtual bool setOption (auxid_t id, const SG::AuxDataOption &option) override
 Make an option setting on an aux variable.
virtual void toTransient (const EventContext &ctx) override
 Perform processing on aux variable objects just after reading to make them usable as transient objects.
Functions implementing the SG::IAuxStoreIO interface
virtual const void * getIOData (auxid_t auxid) const override
 Get a pointer to the data being stored for one aux data item.
virtual const std::type_info * getIOType (auxid_t auxid) const override
 Return the type of the data to be stored for one aux data item.
virtual const auxid_set_tgetDynamicAuxIDs () const override
 Get the types(names) of variables created dynamically.
virtual SG::auxid_set_t getSelectedAuxIDs () const override
 Get the IDs of the selected dynamic Aux variables (for writing).
Functions managing the instance name of the container
const charname () const
 Get the name of the container instance.
void setName (const char *name)
 Set the name of the container instance.

Static Public Attributes

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

Private Types

typedef AthContainers_detail::mutex mutex_t
 Mutex for multithread synchronization.
typedef AthContainers_detail::lock_guard< mutex_tguard_t

Private Member Functions

template<typename ELT, typename CONT>
void regAuxVar1 (auxid_t auxid, const std::string &name, CONT &vec)
 Common code between regAuxVar cases.

Private Attributes

auxid_set_t m_auxids
 Internal list of all available variables.
std::vector< SG::IAuxTypeVector * > m_vecs
 Internal list of all managed variables.
SG::IAuxStorem_store
 Internal dynamic auxiliary store object.
SG::IAuxStoreIOm_storeIO
 The IO interface to the internal auxiliary store.
bool m_ownsStore
 Flag deciding if the object owns the dynamic store or not.
bool m_locked
 Has the container been locked?
mutex_t m_mutex
std::string m_name
 Name of the container in memory. Set externally.
CxxUtils::CachedPointer< std::pmr::memory_resource > m_memResource ATLAS_THREAD_SAFE
 Memory resource to use for this container.
vector of links to trackParticles
std::vector< std::vector< ElementLink< TrackParticleContainer > > > trackParticleLinks
Electron Charge
std::vector< floatcharge
Track Match details
std::vector< floatdeltaEta0
 difference between the cluster eta (presampler) and the eta of the track extrapolated to the presampler
std::vector< floatdeltaEta1
 difference between the cluster eta (first sampling) and the eta of the track extrapolated to the first sampling: |eta_stripscluster -eta_ID|, where eta_stripscluster is computed in the first sampling of the electromagnetic calorimeter, where the granularity is very fine, and eta_ID is the pseudo-rapidity of the track extrapolated to the calorimeter
std::vector< floatdeltaEta2
 difference between the cluster eta (second sampling) and the eta of the track extrapolated to the second sampling
std::vector< floatdeltaEta3
 difference between the cluster eta (3rd sampling) and the eta of the track extrapolated to the 3rd sampling
std::vector< floatdeltaPhi0
 difference between the cluster phi (presampler) and the eta of the track extrapolated to the presampler
std::vector< floatdeltaPhi1
 difference between the cluster eta (1st sampling) and the eta of the track extrapolated to the 1st sampling (strips)
std::vector< floatdeltaPhi2
 difference between the cluster phi (second sampling) and the phi of the track extrapolated to the second sampling : |phi_middlecluster -phi_ID|, where phi_middlecluster is computed in the second compartment of the electromagnetic calorimeter and phi_ID is the azimuth of the track extrapolated to the calorimeter
std::vector< floatdeltaPhi3
 difference between the cluster eta (3rd sampling) and the eta of the track extrapolated to the 3rd sampling
std::vector< floatdeltaPhiFromLastMeasurement
 difference between the cluster phi (sampling 2) and the eta of the track extrapolated from the last measurement point.
std::vector< floatdeltaPhiRescaled0
 difference between the cluster phi (presampler) and the eta of the track extrapolated to the presampler from the perigee with a rescaled momentum.
std::vector< floatdeltaPhiRescaled1
 difference between the cluster eta (1st sampling) and the eta of the track extrapolated to the 1st sampling (strips) from the perigee with a rescaled momentum.
std::vector< floatdeltaPhiRescaled2
 difference between the cluster phi (second sampling) and the phi of the track extrapolated to the second sampling from the perigee with a rescaled momentum.
std::vector< floatdeltaPhiRescaled3
 difference between the cluster eta (3rd sampling) and the eta of the track extrapolated to the 3rd sampling from the perigee with a rescaled momentum.
vector of links to cluster
std::vector< std::vector< ElementLink< CaloClusterContainer > > > caloClusterLinks
IParticle variables
std::vector< floatpt
std::vector< floateta
std::vector< floatphi
std::vector< floatm
Covariance Matrix
std::vector< std::vector< float > > EgammaCovarianceMatrix
Author
std::vector< uint16_tauthor
Data Quality flag
std::vector< uint32_tOQ
Shower shape details

uncalibrated energy (sum of cells) in presampler in a 1x1 window in cells in eta X phi

std::vector< floate011
std::vector< floate033
 uncalibrated energy (sum of cells) in presampler in a 3x3 window in cells in eta X phi
std::vector< floate132
 uncalibrated energy (sum of cells) in strips in a 3x2 window in cells in eta X phi
std::vector< floate1152
 uncalibrated energy (sum of cells) in strips in a 15x2 window in cells in eta X phi
std::vector< floatethad1
 transverse energy in the first sampling of the hadronic calorimeters behind the cluster calculated from ehad1
std::vector< floatethad
 ET leakage into hadronic calorimeter with exclusion of energy in CaloSampling::TileGap3.
std::vector< floatehad1
 E leakage into 1st sampling of had calo (CaloSampling::HEC0 + CaloSampling::TileBar0 + CaloSampling::TileExt0).
std::vector< floatf1
 E1/E = fraction of energy reconstructed in the first sampling, where E1 is energy in all strips belonging to the cluster and E is the total energy reconstructed in the electromagnetic calorimeter cluster.
std::vector< floatf3
 fraction of energy reconstructed in 3rd sampling
std::vector< floatf1core
 E1(3x1)/E = fraction of the energy reconstructed in the first longitudinal compartment of the electromagnetic calorimeter, where E1(3x1) the energy reconstructed in +/-3 strips in eta, centered around the maximum energy strip and E is the energy reconstructed in the electromagnetic calorimeter.
std::vector< floatf3core
 E3(3x3)/E fraction of the energy reconstructed in the third compartment of the electromagnetic calorimeter, where E3(3x3), energy in the back sampling, is the sum of the energy contained in a 3x3 window around the maximum energy cell.
std::vector< floate233
 uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 3x3 (in cell units eta X phi)
std::vector< floate235
 uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 3x5
std::vector< floate255
 uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 5x5
std::vector< floate237
 uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 3x7
std::vector< floate277
 uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 7x7
std::vector< floate333
 uncalibrated energy (sum of cells) of the third sampling in a rectangle of size 3x3
std::vector< floate335
 uncalibrated energy (sum of cells) of the third sampling in a rectangle of size 3x5
std::vector< floate337
 uncalibrated energy (sum of cells) of the third sampling in a rectangle of size 3x7
std::vector< floate377
 uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 7x7
std::vector< floatweta1
 shower width using +/-3 strips around the one with the maximal energy deposit: w3 strips = sqrt{sum(Ei)x(i-imax)^2/sum(Ei)}, where i is the number of the strip and imax the strip number of the most energetic one
std::vector< floatweta2
 the lateral width is calculated with a window of 3x5 cells using the energy weighted sum over all cells, which depends on the particle impact point inside the cell: weta2 = sqrt(sum Ei x eta^2)/(sum Ei) -((sum Ei x eta)/(sum Ei))^2, where Ei is the energy of the i-th cell
std::vector< floate2ts1
 2nd max in strips calc by summing 3 strips
std::vector< floate2tsts1
 energy of the cell corresponding to second energy maximum in the first sampling
std::vector< floatfracs1
 shower shape in the shower core : [E(+/-3)-E(+/-1)]/E(+/-1), where E(+/-n) is the energy in +- n strips around the strip with highest energy
std::vector< floatwidths1
 same as egammaParameters::weta1 but without corrections on particle impact point inside the cell
std::vector< floatwidths2
 same as egammaParameters::weta2 but without corrections on particle impact point inside the cell
std::vector< floatposcs1
 relative position in eta within cell in 1st sampling
std::vector< floatposcs2
 relative position in eta within cell in 2nd sampling
std::vector< floatasy1
 uncorr asymmetry in 3 strips in the 1st sampling
std::vector< floatpos
 difference between shower cell and predicted track in +/- 1 cells
std::vector< floatpos7
 Difference between the track and the shower positions: sum_{i=i_m-7}^{i=i_m+7}E_i x (i-i_m) / sum_{i=i_m-7}^{i=i_m+7}E_i, The difference between the track and the shower positions measured in units of distance between the strips, where i_m is the impact cell for the track reconstructed in the inner detector and E_i is the energy reconstructed in the i-th cell in the eta direction for constant phi given by the track parameters.
std::vector< floatbarys1
 barycentre in sampling 1 calculated in 3 strips
std::vector< floatwtots1
 shower width is determined in a window detaxdphi = 0,0625 x~0,2, corresponding typically to 20 strips in eta : wtot1=sqrt{sum Ei x ( i-imax)^2 / sum Ei}, where i is the strip number and imax the strip number of the first local maximum
std::vector< floatemins1
 energy reconstructed in the strip with the minimal value between the first and second maximum
std::vector< floatemaxs1
 energy of strip with maximal energy deposit
std::vector< floatr33over37allcalo
 1-ratio of energy in 3x3 over 3x7 cells; E(3x3) = E0(1x1) + E1(3x1) + E2(3x3) + E3(3x3); E(3x7) = E0(3x3) + E1(15x3) + E2(3x7) + E3(3x7)
std::vector< floatecore
 core energy in em calo E(core) = E0(3x3) + E1(15x2) + E2(5x5) + E3(3x5)
std::vector< floatzvertex
 pointing z at vertex reconstructed from the cluster
std::vector< floaterrz
 error associated to zvertex
std::vector< floatetap
 pointing eta reconstructed from the cluster (first and second sampling)
std::vector< floatdepth
 pointing depth of the shower as calculated in egammaqgcld
Isolation variables

ET in a cone of R=0.45 in calo, with exclusion of a window of size 7x5 in electromagnetic calorimeter and exclude CaloSampling::TileGap3

std::vector< floatetcone
std::vector< floatetcone15
 ET in a cone with half-opening angle 0.15, with exclusion of a window of size 7x5 in electromagnetic calorimeter and exclude CaloSampling::TileGap3.
std::vector< floatetcone20
 ET in a cone with half-opening angle 0.2, with exclusion of a window of size 7x5 in electromagnetic calorimeter and exclude CaloSampling::TileGap3.
std::vector< floatetcone25
 ET in a cone with half-opening angle 0.25, with exclusion of a window of size 7x5 in electromagnetic calorimeter and exclude CaloSampling::TileGap3.
std::vector< floatetcone30
 ET in a cone with half-opening angle 0.3, with exclusion of a window of size 7x5 in electromagnetic calorimeter and exclude CaloSampling::TileGap3.
std::vector< floatetcone35
 ET in a cone with half-opening angle 0.35, with exclusion of a window of size 7x5 in electromagnetic calorimeter and exclude CaloSampling::TileGap3.
std::vector< floatetcone40
 ET in a cone with half-opening angle 0.4, with exclusion of a window of size 7x5 in electromagnetic calorimeter and exclude CaloSampling::TileGap3.
std::vector< floatptcone20
 summed pt of tracks in a cone with half-opening angle 0.2 (no zvx cut photons, 1mm electrons)
std::vector< floatptcone30
 summed pt of tracks in a cone with half-opening angle 0.3
std::vector< floatptcone40
 summed pt of tracks in a cone with half-opening angle 0.4
std::vector< floatnucone20
 number of tracks in a cone with half-opening angle 0.2
std::vector< floatnucone30
 number of tracks in a cone with half-opening angle 0.3
std::vector< floatnucone40
 number of tracks in a cone with half-opening angle 0.4
std::vector< floatetcone15_ptcorrected
 pt corrected ET in a cone with half-opening angle 0.15
std::vector< floatetcone20_ptcorrected
 pt corrected ET in a cone with half-opening angle 0.2
std::vector< floatetcone25_ptcorrected
 pt corrected ET in a cone with half-opening angle 0.25
std::vector< floatetcone30_ptcorrected
 pt corrected ET in a cone with half-opening angle 0.3
std::vector< floatetcone35_ptcorrected
 pt corrected ET in a cone with half-opening angle 0.35
std::vector< floatetcone40_ptcorrected
 ptcorrected ET in a cone with half-opening angle 0.4
std::vector< floatetcone20_corrected
 pt + ED corrected ET in a cone with half-opening angle 0.2
std::vector< floatetcone30_corrected
 pt + ED corrected ET in a cone with half-opening angle 0.3
std::vector< floatetcone40_corrected
 pt + ED corrected ET in a cone with half-opening angle 0.4
std::vector< floattopoetcone20
 ET in a cone with half-opening angle 0.20.
std::vector< floattopoetcone30
 ET in a cone with half-opening angle 0.30.
std::vector< floattopoetcone40
 ET in a cone with half-opening angle 0.40.
std::vector< floattopoetcone40_ptcorrected
 pt corrected ET in a cone with half-opening angle 0.40
std::vector< floattopoetcone40_corrected
 fully corrected ET in a cone with half-opening angle 0.40

Detailed Description

Temporary container used until we have I/O for AuxStoreInternal.

This class is meant to serve as a temporary way to provide an auxiliary store with Athena I/O capabilities for the electron EDM. Will be exchanged for a generic auxiliary container type (AuxStoreInternal) later on.

Author
Christos Anastopoulos
Anthony Morley
Revision
614829
Date
2014-09-03 11:39:36 +0200 (Wed, 03 Sep 2014)

Definition at line 34 of file ElectronAuxContainer_v1.h.

Member Typedef Documentation

◆ auxid_set_t

The aux ID set type definition.

Definition at line 61 of file AuxContainerBase.h.

◆ auxid_t

The aux ID type definition.

Definition at line 59 of file AuxContainerBase.h.

◆ AuxVariable_t

template<class T, class ALLOC = std::allocator<T>>
using xAOD::AuxContainerBase::AuxVariable_t = std::vector<T, ALLOC>
inherited

Declare how to wrap variables for this sort of base.

Definition at line 198 of file AuxContainerBase.h.

◆ guard_t

Definition at line 250 of file AuxContainerBase.h.

◆ LinkedVariable_t

template<class T, class ALLOC = std::allocator<T>>
using xAOD::AuxContainerBase::LinkedVariable_t = AuxVariable_t<T, ALLOC>
inherited

Definition at line 200 of file AuxContainerBase.h.

◆ mutex_t

Mutex for multithread synchronization.

Definition at line 249 of file AuxContainerBase.h.

Member Enumeration Documentation

◆ AuxStoreType

Type of the auxiliary store.

In the xAOD EDM we use auxiliary store objects in some cases to describe a single object, and in most cases to describe a container of objects. This enumeration declares which type the object implementing this interface is.

Enumerator
AST_ObjectStore 

The store describes a single object.

AST_ContainerStore 

The store describes a container.

Definition at line 68 of file IAuxStoreHolder.h.

68 {
69 AST_ObjectStore = 0,
71 };
@ AST_ContainerStore
The store describes a container.
@ AST_ObjectStore
The store describes a single object.

Constructor & Destructor Documentation

◆ ElectronAuxContainer_v1()

xAOD::ElectronAuxContainer_v1::ElectronAuxContainer_v1 ( )

Member Function Documentation

◆ clearDecorations()

bool xAOD::AuxContainerBase::clearDecorations ( )
overridevirtualinherited

Clear all decorations.

Definition at line 364 of file AuxContainerBase.cxx.

364 {
365
366 // Guard against multi-threaded execution:
367 guard_t guard( m_mutex );
368
369 // Clear the decorations from the dynamic store:
370 bool anycleared = false;
371 if( m_store ) {
372 anycleared = m_store->clearDecorations();
373 }
374 // Early exit if there were no decorations.
375 if (!anycleared) return false;
376
377 // Construct the list of managed auxiliary variables from scratch after
378 // the cleanup:
380 for( auxid_t auxid = 0; auxid < m_vecs.size(); ++auxid ) {
381 if( m_vecs[ auxid ] ) {
382 ids.insert( auxid );
383 }
384 }
385 if( m_store ) {
386 ids.insert (m_store->getAuxIDs());
387 }
388 m_auxids = std::move(ids);
389
390 return true;
391 }
SG::auxid_set_t auxid_set_t
The aux ID set type definition.
SG::IAuxStore * m_store
Internal dynamic auxiliary store object.
AthContainers_detail::lock_guard< mutex_t > guard_t
auxid_set_t m_auxids
Internal list of all available variables.
std::vector< SG::IAuxTypeVector * > m_vecs
Internal list of all managed variables.
SG::auxid_t auxid_t
The aux ID type definition.
SG::auxid_t auxid() const
Return the aux id for this variable.

◆ getAuxID() [1/2]

template<typename T>
auxid_t xAOD::AuxContainerBase::getAuxID ( const std::string & name,
SG::PackedContainer< T > & ,
SG::AuxVarFlags flags = SG::AuxVarFlags::None,
const SG::auxid_t linkedVariable = SG::null_auxid )
inherited

Get the auxiliary ID for one of the persistent variables.

◆ getAuxID() [2/2]

template<typename T, typename ALLOC>
auxid_t xAOD::AuxContainerBase::getAuxID ( const std::string & name,
std::vector< T, ALLOC > & ,
SG::AuxVarFlags flags = SG::AuxVarFlags::None,
const SG::auxid_t linkedVariable = SG::null_auxid )
inherited

Get the auxiliary ID for one of the persistent variables.

◆ getAuxIDs()

const AuxContainerBase::auxid_set_t & xAOD::AuxContainerBase::getAuxIDs ( ) const
overridevirtualinherited

Get the types(names) of variables handled by this container.

Definition at line 277 of file AuxContainerBase.cxx.

277 {
278
279 // Return the full list of IDs:
280 return getWritableAuxIDs();
281 }
virtual const auxid_set_t & getWritableAuxIDs() const override
Return a set of writable data identifiers.

◆ getCopyIDs()

SG::auxid_set_t xAOD::AuxContainerBase::getCopyIDs ( bool warnUnlocked = false) const
overridevirtualinherited

Get the set of variables that we should deep copy.

Definition at line 293 of file AuxContainerBase.cxx.

294 {
295 return SG::getCopyIDs (getAuxIDs(), getDecorIDs(), warnUnlocked, {});
296 }
virtual const auxid_set_t & getAuxIDs() const override
Get the types(names) of variables handled by this container.
virtual const auxid_set_t & getDecorIDs() const override
Get the types(names) of decorations handled by this container.
virtual SG::auxid_set_t getCopyIDs(bool warnUnlocked=false) const override
Return the set of variables to copy in a deep copy.

◆ getData() [1/2]

const void * xAOD::AuxContainerBase::getData ( auxid_t auxid) const
overridevirtualinherited

Get a pointer to a given array.

Definition at line 232 of file AuxContainerBase.cxx.

232 {
233
234 const SG::IAuxTypeVector* v = getVector( auxid );
235 if( v ) {
236 return v->toPtr();
237 }
238 return nullptr;
239 }
virtual const SG::IAuxTypeVector * getVector(SG::auxid_t auxid) const override final
Return vector interface for one aux data item.

◆ getData() [2/2]

void * xAOD::AuxContainerBase::getData ( auxid_t auxid,
size_t size,
size_t capacity )
overridevirtualinherited

Get a pointer to a given array, creating the array if necessary.

Implements SG::IAuxStore.

Definition at line 487 of file AuxContainerBase.cxx.

488 {
489
490 // Guard against multi-threaded execution:
491 guard_t guard( m_mutex );
492
493 if( ( auxid >= m_vecs.size() ) || ( ! m_vecs[ auxid ] ) ) {
494
495 if( m_store ) {
496 void* result = m_store->getData( auxid, size, capacity );
497 if( result ) {
498 m_auxids.insert( auxid );
499 const SG::AuxTypeRegistry& r = SG::AuxTypeRegistry::instance();
500 auxid_t linked_id = r.linkedVariable( auxid );
501 if (linked_id != SG::null_auxid) {
502 m_auxids.insert( linked_id );
503 }
504 }
505 return result;
506 } else {
507 std::cout << "ERROR xAOD::AuxContainerBase::getData "
508 << "Unknown variable ("
510 << ") requested" << std::endl;
511 return nullptr;
512 }
513 }
514 m_vecs[ auxid ]->reserve( capacity );
515 if (m_vecs[ auxid ]->size() < size) {
516 m_vecs[ auxid ]->resize( size );
517 }
518
519 return m_vecs[ auxid ]->toPtr();
520 }
std::string getName(SG::auxid_t auxid) const
Return the name of an aux data item.
static AuxTypeRegistry & instance()
Return the singleton registry instance.
virtual size_t size() const override
Get the size of the container.
int r
Definition globals.cxx:22
static const auxid_t null_auxid
To signal no aux data item.
Definition AuxTypes.h:30

◆ getDecoration()

void * xAOD::AuxContainerBase::getDecoration ( auxid_t auxid,
size_t size,
size_t capacity )
overridevirtualinherited

Get a pointer to a given array, as a decoration.

Reimplemented in xAOD::EventInfoAuxContainer_v1.

Definition at line 307 of file AuxContainerBase.cxx.

308 {
309 {
310 // Guard against multi-threaded execution:
311 guard_t guard( m_mutex );
312
313 // Check if we have it as a static variable:
314 if( ( auxid >= m_vecs.size() ) || ( ! m_vecs[ auxid ] ) ) {
315 // If not, but we have a dynamic store, push it in there:
316 if( m_store ) {
317 void* result = m_store->getDecoration( auxid, size, capacity );
318 if( result ) {
319 m_auxids.insert( auxid );
320 const SG::AuxTypeRegistry& r = SG::AuxTypeRegistry::instance();
321 auxid_t linked_id = r.linkedVariable( auxid );
322 if (linked_id != SG::null_auxid) {
323 m_auxids.insert( linked_id );
324 }
325 }
326 return result;
327 }
328 // If we don't have a dynamic store, complain:
329 else {
330 std::cout << "ERROR xAOD::AuxContainerBase::getDecoration "
331 << "Can't provide variable "
333 << std::endl;
334 return nullptr;
335 }
336 }
337
338 // If the container is locked, static variables can't be accessed this
339 // way:
340 if( m_locked ) {
341 throw SG::ExcStoreLocked( auxid );
342 }
343 }
344
345 // If the container is not locked, then fall back on the normal accessor
346 // function:
347 return getData( auxid, size, capacity );
348 }
bool m_locked
Has the container been locked?
virtual const void * getData(auxid_t auxid) const override
Get a pointer to a given array.

◆ getDecorIDs()

const AuxContainerBase::auxid_set_t & xAOD::AuxContainerBase::getDecorIDs ( ) const
overridevirtualinherited

Get the types(names) of decorations handled by this container.

Definition at line 284 of file AuxContainerBase.cxx.

284 {
285
286 if( m_store ) {
287 return m_store->getDecorIDs();
288 }
289 static const auxid_set_t empty;
290 return empty;
291 }
static const Attributes_t empty

◆ getDynamicAuxIDs()

const AuxContainerBase::auxid_set_t & xAOD::AuxContainerBase::getDynamicAuxIDs ( ) const
overridevirtualinherited

Get the types(names) of variables created dynamically.

Implements SG::IAuxStoreIO.

Definition at line 726 of file AuxContainerBase.cxx.

726 {
727
728 // Guard against multi-threaded execution:
729 guard_t guard( m_mutex );
730
731 // All the variables handled by the internal store are dynamic
732 // if such a store exists:
733 if( m_storeIO && m_store) {
734 // I mean, all the variables. Not just the ones reported as dynamic
735 // by the internal object. Because the internal object may be something
736 // that was put into this one in order to achieve data slimming.
737 return m_store->getAuxIDs();
738 }
739 // In case we don't use an internal store, there are no dynamic
740 // variables:
741 static const auxid_set_t dummy (0);
742 return dummy;
743 }
SG::IAuxStoreIO * m_storeIO
The IO interface to the internal auxiliary store.

◆ getIOData()

const void * xAOD::AuxContainerBase::getIOData ( auxid_t auxid) const
overridevirtualinherited

Get a pointer to the data being stored for one aux data item.

Implements SG::IAuxStoreIO.

Definition at line 684 of file AuxContainerBase.cxx.

684 {
685
686 // Guard against multi-threaded execution:
687 guard_t guard( m_mutex );
688
689 // If the variable is not static, look for it in the dynamic store:
690 if( ( auxid >= m_vecs.size() ) || ( ! m_vecs[ auxid ] ) ) {
691 if( m_storeIO ) {
692 return m_storeIO->getIOData( auxid );
693 } else {
694 std::cout << "ERROR xAOD::AuxContainerBase::getIOData "
695 << "Unknown variable ("
697 << ") requested" << std::endl;
698 return nullptr;
699 }
700 }
701
702 // Update the statistics for this variable. The dynamic store registers
703 // its own variable accesses.
705
706 return m_vecs[ auxid ]->toVector();
707 }
std::string m_name
Name of the container in memory. Set externally.
ReadStats & stats()
Access the object belonging to the current thread.
Definition IOStats.cxx:17
static IOStats & instance()
Singleton object accessor.
Definition IOStats.cxx:11
void readBranch(const std::string &prefix, SG::auxid_t auxid)
Function incrementing the read counter on a specific branch.

◆ getIOType()

const std::type_info * xAOD::AuxContainerBase::getIOType ( auxid_t auxid) const
overridevirtualinherited

Return the type of the data to be stored for one aux data item.

Implements SG::IAuxStoreIO.

Definition at line 709 of file AuxContainerBase.cxx.

709 {
710
711 // Guard against multi-threaded execution:
712 guard_t guard( m_mutex );
713
714 // If the variable is not static, ask the dynamic store:
715 if( ( auxid >= m_vecs.size() ) || ( ! m_vecs[ auxid ] ) ) {
716 if( m_storeIO ) {
717 return m_storeIO->getIOType( auxid );
718 }
719 }
720
721 // Fall back on getting the information from the registry:
723 }
const std::type_info * getVecType(SG::auxid_t auxid) const
Return the type of the STL vector used to hold an aux data item.

◆ getSelectedAuxIDs()

AuxContainerBase::auxid_set_t xAOD::AuxContainerBase::getSelectedAuxIDs ( ) const
overridevirtualinherited

Get the IDs of the selected dynamic Aux variables (for writing).

Reimplemented from SG::IAuxStoreIO.

Definition at line 746 of file AuxContainerBase.cxx.

746 {
747
748 // Guard against multi-threaded execution:
749 guard_t guard( m_mutex );
750
751 // All the variables handled by the internal store are dynamic
752 // if such a store exists:
753 if( m_storeIO && m_store) {
754 // I mean, all the variables. Not just the ones reported as dynamic
755 // by the internal object. Because the internal object may be something
756 // that was put into this one in order to achieve data slimming.
757 return m_store->getAuxIDs();
758 }
759
760 // In case we don't use an internal store, there are no dynamic
761 // variables:
762 return auxid_set_t();
763 }

◆ getStore() [1/2]

const SG::IAuxStore * xAOD::AuxContainerBase::getStore ( ) const
overridevirtualinherited

Implements SG::IAuxStoreHolder.

Definition at line 183 of file AuxContainerBase.cxx.

184 {
185 return m_store;
186 }

◆ getStore() [2/2]

SG::IAuxStore * xAOD::AuxContainerBase::getStore ( )
overridevirtualinherited

Get the currently used internal store object.

Implements SG::IAuxStoreHolder.

Definition at line 156 of file AuxContainerBase.cxx.

157 {
158 return m_store;
159 }

◆ getStoreType()

virtual AuxStoreType xAOD::AuxContainerBase::getStoreType ( ) const
inlineoverridevirtualinherited

Return the type of the store object.

Implements SG::IAuxStoreHolder.

Definition at line 88 of file AuxContainerBase.h.

88{ return AST_ContainerStore; }

◆ getVector()

const SG::IAuxTypeVector * xAOD::AuxContainerBase::getVector ( SG::auxid_t auxid) const
finaloverridevirtualinherited

Return vector interface for one aux data item.

Definition at line 241 of file AuxContainerBase.cxx.

241 {
242
243 // Guard against multi-threaded execution:
244 guard_t guard( m_mutex );
245
246 if( ( auxid >= m_vecs.size() ) || ( ! m_vecs[ auxid ] ) ) {
247 if( m_store ) {
248 const SG::IAuxTypeVector* result = m_store->getVector( auxid );
249 if( result ) {
250 auxid_set_t& auxids_nc ATLAS_THREAD_SAFE =
251 const_cast<auxid_set_t&> (m_auxids);
252 auxids_nc.insert( auxid );
253 const SG::AuxTypeRegistry& r = SG::AuxTypeRegistry::instance();
254 auxid_t linked_id = r.linkedVariable( auxid );
255 if (linked_id != SG::null_auxid) {
256 auxids_nc.insert( linked_id );
257 }
258 }
259 return result;
260 } else {
261 std::cout << "ERROR xAOD::AuxContainerBase::getData "
262 << "Unknown variable ("
264 << ") requested" << std::endl;
265 return nullptr;
266 }
267 }
268
269 // Update the statistics for this variable. The dynamic store registers
270 // its own variable accesses.
272
273 return m_vecs[ auxid ];
274 }
CxxUtils::CachedPointer< std::pmr::memory_resource > m_memResource ATLAS_THREAD_SAFE
Memory resource to use for this container.

◆ getWritableAuxIDs()

const AuxContainerBase::auxid_set_t & xAOD::AuxContainerBase::getWritableAuxIDs ( ) const
overridevirtualinherited

Return a set of writable data identifiers.

Implements SG::IAuxStore.

Definition at line 523 of file AuxContainerBase.cxx.

523 {
524
525 // Return the full list of known IDs. The constness of this object's
526 // members comes from the object being const or not.
527 return m_auxids;
528 }

◆ insertMove() [1/2]

virtual bool SG::IAuxStore::insertMove ( size_t pos,
IAuxStore & other,
const SG::auxid_set_t & ignore = SG::auxid_set_t() )
pure virtualinherited

Move all elements from other to this store.

Parameters
posThe starting index of the insertion.
otherStore from which to do the move.
ignoreSet of variables that should not be added to the store.

Let len be the size of other. The store will be increased in size by len elements, with the elements at pos being copied to pos+len. Then, for each auxiliary variable, the entire contents of that variable for other will be moved to this store at index pos. This will be done via move semantics if possible; otherwise, it will be done with a copy. Variables present in this store but not in other will have the corresponding elements default-initialized. Variables in other but not in this store will be added unless they are in ignore.

Returns true if it is known that none of the vectors' memory moved, false otherwise.

◆ insertMove() [2/2]

bool xAOD::AuxContainerBase::insertMove ( size_t pos,
IAuxStore & other,
const SG::auxid_set_t & ignore )
overridevirtualinherited

Insert contents of another store via move.

Definition at line 609 of file AuxContainerBase.cxx.

611 {
612 // Guard against multi-threaded execution:
613 guard_t guard( m_mutex );
614
615 // This operation is not allowed on a locked container:
616 if( m_locked ) {
617 throw SG::ExcStoreLocked( "insertMove" );
618 }
619
620 bool nomove = true;
621 size_t other_size = other.size();
622
623 SG::auxid_set_t ignore = ignore_in;
624
625 // Do the operation on the static variables:
626 for (SG::auxid_t id : m_auxids) {
627 SG::IAuxTypeVector* v_dst = nullptr;
628 if (id < m_vecs.size())
629 v_dst = m_vecs[id];
630 // Skip linked vars --- they should be taken care of by the parent var.
631 if (v_dst && !v_dst->isLinked()) {
632 ignore.insert (id);
633 if (other.getData (id)) {
634 void* src_ptr = other.getData (id, other_size, other_size);
635 if (src_ptr) {
636 if (!v_dst->insertMove (pos, src_ptr, 0, other_size,
637 other))
638 nomove = false;
639 }
640 }
641 else {
642 const void* orig = v_dst->toPtr();
643 v_dst->shift (pos, other_size);
644 if (orig != v_dst->toPtr())
645 nomove = false;
646 }
647 }
648 }
649
650 // Do the operation on the dynamic variables:
651 if( m_store ) {
652 if (!m_store->insertMove( pos, other, ignore ))
653 nomove = false;
654
655 // Notice any new variables added as a result of this.
656 m_auxids.insert (m_store->getAuxIDs());
657 }
658
659 return nomove;
660 }
bool isLinked() const
Return true if this variable is linked from another one.
virtual void * toPtr()=0
Return a pointer to the start of the vector's data.
virtual bool insertMove(size_t pos, void *src, size_t src_pos, size_t src_n, IAuxStore &srcStore)=0
Insert elements into the vector via move semantics.
virtual bool shift(size_t pos, ptrdiff_t offs)=0
Shift the elements of the vector.
size_t auxid_t
Identifier for a particular aux data item.
Definition AuxTypes.h:27

◆ isDecoration()

bool xAOD::AuxContainerBase::isDecoration ( auxid_t auxid) const
overridevirtualinherited

Test if a variable is a decoration.

Reimplemented in xAOD::EventInfoAuxContainer_v1.

Definition at line 298 of file AuxContainerBase.cxx.

299 {
300 guard_t guard( m_mutex );
301 if (m_store) {
302 return m_store->isDecoration (auxid);
303 }
304 return false;
305 }

◆ linkedVector() [1/2]

const SG::IAuxTypeVector * xAOD::AuxContainerBase::linkedVector ( SG::auxid_t auxid) const
overridevirtualinherited

Return interface for a linked variable.

Definition at line 403 of file AuxContainerBase.cxx.

404 {
405 const SG::AuxTypeRegistry& r = SG::AuxTypeRegistry::instance();
406 auxid_t linked_id = r.linkedVariable( auxid );
407 if (linked_id != SG::null_auxid) {
408 guard_t guard( m_mutex );
409 if (linked_id < m_vecs.size() && m_vecs[ linked_id ]) {
410 return m_vecs[ linked_id ];
411 }
412 if (m_store) {
413 return CxxUtils::as_const_ptr(m_store)->linkedVector( auxid );
414 }
415 }
416 return nullptr;
417 }
const T * as_const_ptr(const T *p)
Helper for getting a const version of a pointer.

◆ linkedVector() [2/2]

SG::IAuxTypeVector * xAOD::AuxContainerBase::linkedVector ( SG::auxid_t auxid)
overridevirtualinherited

Return interface for a linked variable.

Reimplemented from SG::IAuxStore.

Definition at line 420 of file AuxContainerBase.cxx.

421 {
422 const SG::AuxTypeRegistry& r = SG::AuxTypeRegistry::instance();
423 auxid_t linked_id = r.linkedVariable( auxid );
424 if (linked_id != SG::null_auxid) {
425 guard_t guard( m_mutex );
426 if (linked_id < m_vecs.size() && m_vecs[ linked_id ]) {
427 return m_vecs[ linked_id ];
428 }
429 if (m_store) {
430 return m_store->linkedVector( auxid );
431 }
432 }
433 return nullptr;
434 }

◆ lock()

void xAOD::AuxContainerBase::lock ( )
overridevirtualinherited

Lock the container.

Definition at line 350 of file AuxContainerBase.cxx.

350 {
351
352 // Guard against multi-threaded execution:
353 guard_t guard( m_mutex );
354
355 // Lock the object and its dynamic store:
356 m_locked = true;
357 if( m_store ) {
358 m_store->lock();
359 }
360
361 return;
362 }

◆ lockDecoration()

void xAOD::AuxContainerBase::lockDecoration ( SG::auxid_t auxid)
overridevirtualinherited

Lock a decoration.

Reimplemented in xAOD::EventInfoAuxContainer_v1.

Definition at line 394 of file AuxContainerBase.cxx.

395 {
396 guard_t guard (m_mutex);
397 if (m_store) {
398 m_store->lockDecoration (auxid);
399 }
400 }

◆ memResource()

std::pmr::memory_resource * xAOD::AuxContainerBase::memResource ( )
inherited

Return the memory resource to use.

Definition at line 161 of file AuxContainerBase.cxx.

162 {
163 const std::pmr::memory_resource* cptr = m_memResource.get();
164 std::pmr::memory_resource* ptr ATLAS_THREAD_SAFE = const_cast<std::pmr::memory_resource*>( cptr );
165 if( !ptr ) {
166#ifndef XAOD_STANDALONE
167 const EventContext& ctx = Gaudi::Hive::currentContext();
168 if( Atlas::hasExtendedEventContext( ctx ) ) {
169 ptr = Atlas::getExtendedEventContext( ctx ).memResource();
170 }
171 if( !ptr )
172#endif
173 {
174 ptr = std::pmr::get_default_resource();
175 }
176 if( ptr ) {
177 m_memResource.set( ptr );
178 }
179 }
180 return ptr;
181 }
const ExtendedEventContext & getExtendedEventContext(const EventContext &ctx)
Retrieve an extended context from a context object.
bool hasExtendedEventContext(const EventContext &ctx)
Test whether a context object has an extended context installed.
void * ptr(T *p)
Definition SGImplSvc.cxx:74

◆ name()

const char * xAOD::AuxContainerBase::name ( ) const
inherited

Get the name of the container instance.

Definition at line 768 of file AuxContainerBase.cxx.

768 {
769
770 return m_name.c_str();
771 }

◆ regAuxVar() [1/2]

template<typename T>
void xAOD::AuxContainerBase::regAuxVar ( auxid_t auxid,
const std::string & name,
SG::PackedContainer< T > & vec )
inherited

Register one of the persistent variables internally.

◆ regAuxVar() [2/2]

template<typename T, typename ALLOC>
void xAOD::AuxContainerBase::regAuxVar ( auxid_t auxid,
const std::string & name,
std::vector< T, ALLOC > & vec )
inherited

Register one of the persistent variables internally.

◆ regAuxVar1()

template<typename ELT, typename CONT>
void xAOD::AuxContainerBase::regAuxVar1 ( auxid_t auxid,
const std::string & name,
CONT & vec )
privateinherited

Common code between regAuxVar cases.

◆ reserve()

void xAOD::AuxContainerBase::reserve ( size_t size)
overridevirtualinherited

Reserve a given size for the arrays.

Implements SG::IAuxStore.

Definition at line 558 of file AuxContainerBase.cxx.

558 {
559
560 // Guard against multi-threaded execution:
561 guard_t guard( m_mutex );
562
563 // This operation is not allowed on a locked container:
564 if( m_locked ) {
565 throw SG::ExcStoreLocked( "reserve" );
566 }
567
568 // Do the operation on the static variables:
569 for (SG::IAuxTypeVector* v : m_vecs) {
570 if(v && !v->isLinked()) {
571 v->reserve( size );
572 }
573 }
574
575 // Do the operation on the dynamic variables:
576 if( m_store ) {
577 m_store->reserve( size );
578 }
579
580 return;
581 }

◆ resize()

bool xAOD::AuxContainerBase::resize ( size_t size)
overridevirtualinherited

Resize the arrays to a given size.

Implements SG::IAuxStore.

Definition at line 530 of file AuxContainerBase.cxx.

530 {
531
532 // Guard against multi-threaded execution:
533 guard_t guard( m_mutex );
534
535 // This operation is not allowed on a locked container:
536 if( m_locked ) {
537 throw SG::ExcStoreLocked( "resize" );
538 }
539
540 // Do the operation on the static variables:
541 bool nomoves = true;
542 for (SG::IAuxTypeVector* v : m_vecs) {
543 if(v && !v->isLinked()) {
544 if (!v->resize( size ))
545 nomoves = false;
546 }
547 }
548
549 // Do the operation on the dynamic variables:
550 if( m_store ) {
551 if (!m_store->resize( size ))
552 nomoves = false;
553 }
554
555 return nomoves;
556 }

◆ setName()

void xAOD::AuxContainerBase::setName ( const char * name)
inherited

Set the name of the container instance.

Definition at line 773 of file AuxContainerBase.cxx.

773 {
774
775 m_name = name;
776 return;
777 }
const char * name() const
Get the name of the container instance.

◆ setOption()

bool xAOD::AuxContainerBase::setOption ( auxid_t id,
const SG::AuxDataOption & option )
overridevirtualinherited

Make an option setting on an aux variable.

Reimplemented from SG::IAuxStore.

Definition at line 663 of file AuxContainerBase.cxx.

664 {
665
666 guard_t guard (m_mutex);
667 if (id < m_vecs.size() && m_vecs[id] != nullptr)
668 return m_vecs[id]->setOption (option);
669
670 if (m_store)
671 return m_store->setOption (id, option);
672 return false;
673 }

◆ setStore()

void xAOD::AuxContainerBase::setStore ( SG::IAuxStore * store)
overridevirtualinherited

Set a different internal store object.

This function is used by the I/O infrastructure to possibly put a store object into this one, which can interact with dynamic variables directly.

Note that the object takes ownership of the received store.

Parameters
storeThe store that should be used for dynamic variable handling inside the object from now on

Implements SG::IAuxStoreHolder.

Definition at line 197 of file AuxContainerBase.cxx.

197 {
198
199 // Guard against multi-threaded execution:
200 guard_t guard( m_mutex );
201
202 // Check that no funny business is going on:
203 if( m_store == store ) return;
204
205 // Clean up the current store object:
206 if( m_store && m_ownsStore ) {
207 m_auxids -= m_store->getAuxIDs();
208 delete m_store;
209 }
210 m_store = nullptr;
211 m_storeIO = nullptr;
212
213 // Take posession of the new object:
214 m_store = store;
215 m_storeIO = dynamic_cast< SG::IAuxStoreIO* >( m_store );
216 m_ownsStore = true;
217 if( m_store ) {
218 m_auxids.insert (m_store->getAuxIDs());
219 }
220
221 return;
222 }
bool m_ownsStore
Flag deciding if the object owns the dynamic store or not.
TestStore store
Definition TestStore.cxx:23

◆ shift()

void xAOD::AuxContainerBase::shift ( size_t pos,
ptrdiff_t offs )
overridevirtualinherited

Shift the contents of the stored arrays.

Implements SG::IAuxStore.

Definition at line 583 of file AuxContainerBase.cxx.

583 {
584
585 // Guard against multi-threaded execution:
586 guard_t guard( m_mutex );
587
588 // This operation is not allowed on a locked container:
589 if( m_locked ) {
590 throw SG::ExcStoreLocked( "shift" );
591 }
592
593 // Do the operation on the static variables:
594 for (SG::IAuxTypeVector* v : m_vecs) {
595 if(v && !v->isLinked()) {
596 v->shift( pos, offs );
597 }
598 }
599
600 // Do the operation on the dynamic variables:
601 if( m_store ) {
602 m_store->shift( pos, offs );
603 }
604
605 return;
606 }

◆ size()

size_t xAOD::AuxContainerBase::size ( ) const
overridevirtualinherited

Get the size of the container.

Definition at line 455 of file AuxContainerBase.cxx.

455 {
456
457 // Guard against multi-threaded execution:
458 guard_t guard (m_mutex);
459
460 // Try to find a variable:
461 for (SG::auxid_t i : m_auxids) {
462 if( ( i < m_vecs.size() ) && m_vecs[ i ] && !m_vecs[ i ]->isLinked()) {
463 size_t sz = m_vecs[ i ]->size();
464 if( sz > 0 ) {
465 return sz;
466 }
467 }
468 }
469
470 // If we didn't find any, let's ask the dynamic store:
471 if( m_store ) {
472 return m_store->size();
473 }
474
475 // If we don't have any variables, then the size must be null:
476 return 0;
477 }
static Double_t sz

◆ toTransient()

void xAOD::AuxContainerBase::toTransient ( const EventContext & ctx)
overridevirtualinherited

Perform processing on aux variable objects just after reading to make them usable as transient objects.

Implements SG::IAuxStore.

Reimplemented in xAOD::EventInfoAuxContainer_v1, xAOD::TrackParticleAuxContainer_v2, xAOD::TrackParticleAuxContainer_v3, and xAOD::TrackParticleAuxContainer_v4.

Definition at line 437 of file AuxContainerBase.cxx.

438 {
439 // Guard against multi-threaded execution:
440 guard_t guard (m_mutex);
441
442 for (SG::IAuxTypeVector* v : m_vecs) {
443 if(v) {
444 v->toTransient( ctx );
445 }
446 }
447
448 // Do the operation on the dynamic variables:
449 if( m_store ) {
450 m_store->toTransient( ctx );
451 }
452 }

Member Data Documentation

◆ asy1

std::vector< float > xAOD::EgammaAuxContainer_v1::asy1
privateinherited

uncorr asymmetry in 3 strips in the 1st sampling

Definition at line 146 of file EgammaAuxContainer_v1.h.

◆ ATLAS_THREAD_SAFE

CxxUtils::CachedPointer<std::pmr::memory_resource> m_memResource xAOD::AuxContainerBase::ATLAS_THREAD_SAFE
mutableprivateinherited

Memory resource to use for this container.

Definition at line 257 of file AuxContainerBase.h.

◆ author

std::vector< uint16_t > xAOD::EgammaAuxContainer_v1::author
privateinherited

Definition at line 74 of file EgammaAuxContainer_v1.h.

◆ barys1

std::vector< float > xAOD::EgammaAuxContainer_v1::barys1
privateinherited

barycentre in sampling 1 calculated in 3 strips

Definition at line 157 of file EgammaAuxContainer_v1.h.

◆ caloClusterLinks

std::vector< std::vector< ElementLink< CaloClusterContainer > > > xAOD::EgammaAuxContainer_v1::caloClusterLinks
privateinherited

Definition at line 54 of file EgammaAuxContainer_v1.h.

◆ charge

std::vector<float> xAOD::ElectronAuxContainer_v1::charge
private

Definition at line 52 of file ElectronAuxContainer_v1.h.

◆ deltaEta0

std::vector< float > xAOD::ElectronAuxContainer_v1::deltaEta0
private

difference between the cluster eta (presampler) and the eta of the track extrapolated to the presampler

Definition at line 60 of file ElectronAuxContainer_v1.h.

◆ deltaEta1

std::vector< float > xAOD::ElectronAuxContainer_v1::deltaEta1
private

difference between the cluster eta (first sampling) and the eta of the track extrapolated to the first sampling: |eta_stripscluster -eta_ID|, where eta_stripscluster is computed in the first sampling of the electromagnetic calorimeter, where the granularity is very fine, and eta_ID is the pseudo-rapidity of the track extrapolated to the calorimeter

Definition at line 63 of file ElectronAuxContainer_v1.h.

◆ deltaEta2

std::vector< float > xAOD::ElectronAuxContainer_v1::deltaEta2
private

difference between the cluster eta (second sampling) and the eta of the track extrapolated to the second sampling

Definition at line 65 of file ElectronAuxContainer_v1.h.

◆ deltaEta3

std::vector< float > xAOD::ElectronAuxContainer_v1::deltaEta3
private

difference between the cluster eta (3rd sampling) and the eta of the track extrapolated to the 3rd sampling

Definition at line 68 of file ElectronAuxContainer_v1.h.

◆ deltaPhi0

std::vector< float > xAOD::ElectronAuxContainer_v1::deltaPhi0
private

difference between the cluster phi (presampler) and the eta of the track extrapolated to the presampler

Definition at line 71 of file ElectronAuxContainer_v1.h.

◆ deltaPhi1

std::vector< float > xAOD::ElectronAuxContainer_v1::deltaPhi1
private

difference between the cluster eta (1st sampling) and the eta of the track extrapolated to the 1st sampling (strips)

Definition at line 74 of file ElectronAuxContainer_v1.h.

◆ deltaPhi2

std::vector< float > xAOD::ElectronAuxContainer_v1::deltaPhi2
private

difference between the cluster phi (second sampling) and the phi of the track extrapolated to the second sampling : |phi_middlecluster -phi_ID|, where phi_middlecluster is computed in the second compartment of the electromagnetic calorimeter and phi_ID is the azimuth of the track extrapolated to the calorimeter

Definition at line 79 of file ElectronAuxContainer_v1.h.

◆ deltaPhi3

std::vector< float > xAOD::ElectronAuxContainer_v1::deltaPhi3
private

difference between the cluster eta (3rd sampling) and the eta of the track extrapolated to the 3rd sampling

Definition at line 82 of file ElectronAuxContainer_v1.h.

◆ deltaPhiFromLastMeasurement

std::vector< float > xAOD::ElectronAuxContainer_v1::deltaPhiFromLastMeasurement
private

difference between the cluster phi (sampling 2) and the eta of the track extrapolated from the last measurement point.

Definition at line 85 of file ElectronAuxContainer_v1.h.

◆ deltaPhiRescaled0

std::vector< float > xAOD::ElectronAuxContainer_v1::deltaPhiRescaled0
private

difference between the cluster phi (presampler) and the eta of the track extrapolated to the presampler from the perigee with a rescaled momentum.

Definition at line 89 of file ElectronAuxContainer_v1.h.

◆ deltaPhiRescaled1

std::vector< float > xAOD::ElectronAuxContainer_v1::deltaPhiRescaled1
private

difference between the cluster eta (1st sampling) and the eta of the track extrapolated to the 1st sampling (strips) from the perigee with a rescaled momentum.

Definition at line 93 of file ElectronAuxContainer_v1.h.

◆ deltaPhiRescaled2

std::vector< float > xAOD::ElectronAuxContainer_v1::deltaPhiRescaled2
private

difference between the cluster phi (second sampling) and the phi of the track extrapolated to the second sampling from the perigee with a rescaled momentum.

Definition at line 97 of file ElectronAuxContainer_v1.h.

◆ deltaPhiRescaled3

std::vector< float > xAOD::ElectronAuxContainer_v1::deltaPhiRescaled3
private

difference between the cluster eta (3rd sampling) and the eta of the track extrapolated to the 3rd sampling from the perigee with a rescaled momentum.

Definition at line 101 of file ElectronAuxContainer_v1.h.

◆ depth

std::vector< float > xAOD::EgammaAuxContainer_v1::depth
privateinherited

pointing depth of the shower as calculated in egammaqgcld

Definition at line 176 of file EgammaAuxContainer_v1.h.

◆ e011

std::vector< float > xAOD::EgammaAuxContainer_v1::e011
privateinherited

Definition at line 86 of file EgammaAuxContainer_v1.h.

◆ e033

std::vector< float > xAOD::EgammaAuxContainer_v1::e033
privateinherited

uncalibrated energy (sum of cells) in presampler in a 3x3 window in cells in eta X phi

Definition at line 88 of file EgammaAuxContainer_v1.h.

◆ e1152

std::vector< float > xAOD::EgammaAuxContainer_v1::e1152
privateinherited

uncalibrated energy (sum of cells) in strips in a 15x2 window in cells in eta X phi

Definition at line 92 of file EgammaAuxContainer_v1.h.

◆ e132

std::vector< float > xAOD::EgammaAuxContainer_v1::e132
privateinherited

uncalibrated energy (sum of cells) in strips in a 3x2 window in cells in eta X phi

Definition at line 90 of file EgammaAuxContainer_v1.h.

◆ e233

std::vector< float > xAOD::EgammaAuxContainer_v1::e233
privateinherited

uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 3x3 (in cell units eta X phi)

Definition at line 108 of file EgammaAuxContainer_v1.h.

◆ e235

std::vector< float > xAOD::EgammaAuxContainer_v1::e235
privateinherited

uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 3x5

Definition at line 110 of file EgammaAuxContainer_v1.h.

◆ e237

std::vector< float > xAOD::EgammaAuxContainer_v1::e237
privateinherited

uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 3x7

Definition at line 114 of file EgammaAuxContainer_v1.h.

◆ e255

std::vector< float > xAOD::EgammaAuxContainer_v1::e255
privateinherited

uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 5x5

Definition at line 112 of file EgammaAuxContainer_v1.h.

◆ e277

std::vector< float > xAOD::EgammaAuxContainer_v1::e277
privateinherited

uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 7x7

Definition at line 116 of file EgammaAuxContainer_v1.h.

◆ e2ts1

std::vector< float > xAOD::EgammaAuxContainer_v1::e2ts1
privateinherited

2nd max in strips calc by summing 3 strips

Definition at line 132 of file EgammaAuxContainer_v1.h.

◆ e2tsts1

std::vector< float > xAOD::EgammaAuxContainer_v1::e2tsts1
privateinherited

energy of the cell corresponding to second energy maximum in the first sampling

Definition at line 134 of file EgammaAuxContainer_v1.h.

◆ e333

std::vector< float > xAOD::EgammaAuxContainer_v1::e333
privateinherited

uncalibrated energy (sum of cells) of the third sampling in a rectangle of size 3x3

Definition at line 118 of file EgammaAuxContainer_v1.h.

◆ e335

std::vector< float > xAOD::EgammaAuxContainer_v1::e335
privateinherited

uncalibrated energy (sum of cells) of the third sampling in a rectangle of size 3x5

Definition at line 120 of file EgammaAuxContainer_v1.h.

◆ e337

std::vector< float > xAOD::EgammaAuxContainer_v1::e337
privateinherited

uncalibrated energy (sum of cells) of the third sampling in a rectangle of size 3x7

Definition at line 122 of file EgammaAuxContainer_v1.h.

◆ e377

std::vector< float > xAOD::EgammaAuxContainer_v1::e377
privateinherited

uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 7x7

Definition at line 124 of file EgammaAuxContainer_v1.h.

◆ ecore

std::vector< float > xAOD::EgammaAuxContainer_v1::ecore
privateinherited

core energy in em calo E(core) = E0(3x3) + E1(15x2) + E2(5x5) + E3(3x5)

Definition at line 168 of file EgammaAuxContainer_v1.h.

◆ EgammaCovarianceMatrix

std::vector< std::vector<float> > xAOD::EgammaAuxContainer_v1::EgammaCovarianceMatrix
privateinherited

Definition at line 69 of file EgammaAuxContainer_v1.h.

◆ ehad1

std::vector< float > xAOD::EgammaAuxContainer_v1::ehad1
privateinherited

E leakage into 1st sampling of had calo (CaloSampling::HEC0 + CaloSampling::TileBar0 + CaloSampling::TileExt0).

Definition at line 98 of file EgammaAuxContainer_v1.h.

◆ emaxs1

std::vector< float > xAOD::EgammaAuxContainer_v1::emaxs1
privateinherited

energy of strip with maximal energy deposit

Definition at line 163 of file EgammaAuxContainer_v1.h.

◆ emins1

std::vector< float > xAOD::EgammaAuxContainer_v1::emins1
privateinherited

energy reconstructed in the strip with the minimal value between the first and second maximum

Definition at line 161 of file EgammaAuxContainer_v1.h.

◆ errz

std::vector< float > xAOD::EgammaAuxContainer_v1::errz
privateinherited

error associated to zvertex

Definition at line 172 of file EgammaAuxContainer_v1.h.

◆ eta

std::vector<float> xAOD::EgammaAuxContainer_v1::eta
privateinherited

Definition at line 62 of file EgammaAuxContainer_v1.h.

◆ etap

std::vector< float > xAOD::EgammaAuxContainer_v1::etap
privateinherited

pointing eta reconstructed from the cluster (first and second sampling)

Definition at line 174 of file EgammaAuxContainer_v1.h.

◆ etcone

std::vector< float > xAOD::EgammaAuxContainer_v1::etcone
privateinherited

Definition at line 183 of file EgammaAuxContainer_v1.h.

◆ etcone15

std::vector< float > xAOD::EgammaAuxContainer_v1::etcone15
privateinherited

ET in a cone with half-opening angle 0.15, with exclusion of a window of size 7x5 in electromagnetic calorimeter and exclude CaloSampling::TileGap3.

Definition at line 185 of file EgammaAuxContainer_v1.h.

◆ etcone15_ptcorrected

std::vector< float > xAOD::EgammaAuxContainer_v1::etcone15_ptcorrected
privateinherited

pt corrected ET in a cone with half-opening angle 0.15

Definition at line 209 of file EgammaAuxContainer_v1.h.

◆ etcone20

std::vector< float > xAOD::EgammaAuxContainer_v1::etcone20
privateinherited

ET in a cone with half-opening angle 0.2, with exclusion of a window of size 7x5 in electromagnetic calorimeter and exclude CaloSampling::TileGap3.

Definition at line 187 of file EgammaAuxContainer_v1.h.

◆ etcone20_corrected

std::vector< float > xAOD::EgammaAuxContainer_v1::etcone20_corrected
privateinherited

pt + ED corrected ET in a cone with half-opening angle 0.2

Definition at line 221 of file EgammaAuxContainer_v1.h.

◆ etcone20_ptcorrected

std::vector< float > xAOD::EgammaAuxContainer_v1::etcone20_ptcorrected
privateinherited

pt corrected ET in a cone with half-opening angle 0.2

Definition at line 211 of file EgammaAuxContainer_v1.h.

◆ etcone25

std::vector< float > xAOD::EgammaAuxContainer_v1::etcone25
privateinherited

ET in a cone with half-opening angle 0.25, with exclusion of a window of size 7x5 in electromagnetic calorimeter and exclude CaloSampling::TileGap3.

Definition at line 189 of file EgammaAuxContainer_v1.h.

◆ etcone25_ptcorrected

std::vector< float > xAOD::EgammaAuxContainer_v1::etcone25_ptcorrected
privateinherited

pt corrected ET in a cone with half-opening angle 0.25

Definition at line 213 of file EgammaAuxContainer_v1.h.

◆ etcone30

std::vector< float > xAOD::EgammaAuxContainer_v1::etcone30
privateinherited

ET in a cone with half-opening angle 0.3, with exclusion of a window of size 7x5 in electromagnetic calorimeter and exclude CaloSampling::TileGap3.

Definition at line 191 of file EgammaAuxContainer_v1.h.

◆ etcone30_corrected

std::vector< float > xAOD::EgammaAuxContainer_v1::etcone30_corrected
privateinherited

pt + ED corrected ET in a cone with half-opening angle 0.3

Definition at line 223 of file EgammaAuxContainer_v1.h.

◆ etcone30_ptcorrected

std::vector< float > xAOD::EgammaAuxContainer_v1::etcone30_ptcorrected
privateinherited

pt corrected ET in a cone with half-opening angle 0.3

Definition at line 215 of file EgammaAuxContainer_v1.h.

◆ etcone35

std::vector< float > xAOD::EgammaAuxContainer_v1::etcone35
privateinherited

ET in a cone with half-opening angle 0.35, with exclusion of a window of size 7x5 in electromagnetic calorimeter and exclude CaloSampling::TileGap3.

Definition at line 193 of file EgammaAuxContainer_v1.h.

◆ etcone35_ptcorrected

std::vector< float > xAOD::EgammaAuxContainer_v1::etcone35_ptcorrected
privateinherited

pt corrected ET in a cone with half-opening angle 0.35

Definition at line 217 of file EgammaAuxContainer_v1.h.

◆ etcone40

std::vector< float > xAOD::EgammaAuxContainer_v1::etcone40
privateinherited

ET in a cone with half-opening angle 0.4, with exclusion of a window of size 7x5 in electromagnetic calorimeter and exclude CaloSampling::TileGap3.

Definition at line 195 of file EgammaAuxContainer_v1.h.

◆ etcone40_corrected

std::vector< float > xAOD::EgammaAuxContainer_v1::etcone40_corrected
privateinherited

pt + ED corrected ET in a cone with half-opening angle 0.4

Definition at line 225 of file EgammaAuxContainer_v1.h.

◆ etcone40_ptcorrected

std::vector< float > xAOD::EgammaAuxContainer_v1::etcone40_ptcorrected
privateinherited

ptcorrected ET in a cone with half-opening angle 0.4

Definition at line 219 of file EgammaAuxContainer_v1.h.

◆ ethad

std::vector< float > xAOD::EgammaAuxContainer_v1::ethad
privateinherited

ET leakage into hadronic calorimeter with exclusion of energy in CaloSampling::TileGap3.

Definition at line 96 of file EgammaAuxContainer_v1.h.

◆ ethad1

std::vector< float > xAOD::EgammaAuxContainer_v1::ethad1
privateinherited

transverse energy in the first sampling of the hadronic calorimeters behind the cluster calculated from ehad1

Definition at line 94 of file EgammaAuxContainer_v1.h.

◆ f1

std::vector< float > xAOD::EgammaAuxContainer_v1::f1
privateinherited

E1/E = fraction of energy reconstructed in the first sampling, where E1 is energy in all strips belonging to the cluster and E is the total energy reconstructed in the electromagnetic calorimeter cluster.

Definition at line 100 of file EgammaAuxContainer_v1.h.

◆ f1core

std::vector< float > xAOD::EgammaAuxContainer_v1::f1core
privateinherited

E1(3x1)/E = fraction of the energy reconstructed in the first longitudinal compartment of the electromagnetic calorimeter, where E1(3x1) the energy reconstructed in +/-3 strips in eta, centered around the maximum energy strip and E is the energy reconstructed in the electromagnetic calorimeter.

Definition at line 104 of file EgammaAuxContainer_v1.h.

◆ f3

std::vector< float > xAOD::EgammaAuxContainer_v1::f3
privateinherited

fraction of energy reconstructed in 3rd sampling

Definition at line 102 of file EgammaAuxContainer_v1.h.

◆ f3core

std::vector< float > xAOD::EgammaAuxContainer_v1::f3core
privateinherited

E3(3x3)/E fraction of the energy reconstructed in the third compartment of the electromagnetic calorimeter, where E3(3x3), energy in the back sampling, is the sum of the energy contained in a 3x3 window around the maximum energy cell.

Definition at line 106 of file EgammaAuxContainer_v1.h.

◆ fracs1

std::vector< float > xAOD::EgammaAuxContainer_v1::fracs1
privateinherited

shower shape in the shower core : [E(+/-3)-E(+/-1)]/E(+/-1), where E(+/-n) is the energy in +- n strips around the strip with highest energy

Definition at line 136 of file EgammaAuxContainer_v1.h.

◆ m

std::vector<float> xAOD::EgammaAuxContainer_v1::m
privateinherited

Definition at line 64 of file EgammaAuxContainer_v1.h.

◆ m_auxids

auxid_set_t xAOD::AuxContainerBase::m_auxids
privateinherited

Internal list of all available variables.

Definition at line 235 of file AuxContainerBase.h.

◆ m_locked

bool xAOD::AuxContainerBase::m_locked
privateinherited

Has the container been locked?

Definition at line 246 of file AuxContainerBase.h.

◆ m_mutex

mutex_t xAOD::AuxContainerBase::m_mutex
mutableprivateinherited

Definition at line 251 of file AuxContainerBase.h.

◆ m_name

std::string xAOD::AuxContainerBase::m_name
privateinherited

Name of the container in memory. Set externally.

Definition at line 254 of file AuxContainerBase.h.

◆ m_ownsStore

bool xAOD::AuxContainerBase::m_ownsStore
privateinherited

Flag deciding if the object owns the dynamic store or not.

Definition at line 244 of file AuxContainerBase.h.

◆ m_store

SG::IAuxStore* xAOD::AuxContainerBase::m_store
privateinherited

Internal dynamic auxiliary store object.

Definition at line 240 of file AuxContainerBase.h.

◆ m_storeIO

SG::IAuxStoreIO* xAOD::AuxContainerBase::m_storeIO
privateinherited

The IO interface to the internal auxiliary store.

Definition at line 242 of file AuxContainerBase.h.

◆ m_vecs

std::vector< SG::IAuxTypeVector* > xAOD::AuxContainerBase::m_vecs
privateinherited

Internal list of all managed variables.

Definition at line 237 of file AuxContainerBase.h.

◆ nucone20

std::vector< float > xAOD::EgammaAuxContainer_v1::nucone20
privateinherited

number of tracks in a cone with half-opening angle 0.2

Definition at line 203 of file EgammaAuxContainer_v1.h.

◆ nucone30

std::vector< float > xAOD::EgammaAuxContainer_v1::nucone30
privateinherited

number of tracks in a cone with half-opening angle 0.3

Definition at line 205 of file EgammaAuxContainer_v1.h.

◆ nucone40

std::vector< float > xAOD::EgammaAuxContainer_v1::nucone40
privateinherited

number of tracks in a cone with half-opening angle 0.4

Definition at line 207 of file EgammaAuxContainer_v1.h.

◆ OQ

std::vector< uint32_t > xAOD::EgammaAuxContainer_v1::OQ
privateinherited

Definition at line 80 of file EgammaAuxContainer_v1.h.

◆ phi

std::vector<float> xAOD::EgammaAuxContainer_v1::phi
privateinherited

Definition at line 63 of file EgammaAuxContainer_v1.h.

◆ pos

std::vector< float > xAOD::EgammaAuxContainer_v1::pos
privateinherited

difference between shower cell and predicted track in +/- 1 cells

Definition at line 148 of file EgammaAuxContainer_v1.h.

◆ pos7

std::vector< float > xAOD::EgammaAuxContainer_v1::pos7
privateinherited

Difference between the track and the shower positions: sum_{i=i_m-7}^{i=i_m+7}E_i x (i-i_m) / sum_{i=i_m-7}^{i=i_m+7}E_i, The difference between the track and the shower positions measured in units of distance between the strips, where i_m is the impact cell for the track reconstructed in the inner detector and E_i is the energy reconstructed in the i-th cell in the eta direction for constant phi given by the track parameters.

Definition at line 155 of file EgammaAuxContainer_v1.h.

◆ poscs1

std::vector< float > xAOD::EgammaAuxContainer_v1::poscs1
privateinherited

relative position in eta within cell in 1st sampling

Definition at line 142 of file EgammaAuxContainer_v1.h.

◆ poscs2

std::vector< float > xAOD::EgammaAuxContainer_v1::poscs2
privateinherited

relative position in eta within cell in 2nd sampling

Definition at line 144 of file EgammaAuxContainer_v1.h.

◆ pt

std::vector<float> xAOD::EgammaAuxContainer_v1::pt
privateinherited

Definition at line 61 of file EgammaAuxContainer_v1.h.

◆ ptcone20

std::vector< float > xAOD::EgammaAuxContainer_v1::ptcone20
privateinherited

summed pt of tracks in a cone with half-opening angle 0.2 (no zvx cut photons, 1mm electrons)

Definition at line 197 of file EgammaAuxContainer_v1.h.

◆ ptcone30

std::vector< float > xAOD::EgammaAuxContainer_v1::ptcone30
privateinherited

summed pt of tracks in a cone with half-opening angle 0.3

Definition at line 199 of file EgammaAuxContainer_v1.h.

◆ ptcone40

std::vector< float > xAOD::EgammaAuxContainer_v1::ptcone40
privateinherited

summed pt of tracks in a cone with half-opening angle 0.4

Definition at line 201 of file EgammaAuxContainer_v1.h.

◆ r33over37allcalo

std::vector< float > xAOD::EgammaAuxContainer_v1::r33over37allcalo
privateinherited

1-ratio of energy in 3x3 over 3x7 cells; E(3x3) = E0(1x1) + E1(3x1) + E2(3x3) + E3(3x3); E(3x7) = E0(3x3) + E1(15x3) + E2(3x7) + E3(3x7)

Definition at line 166 of file EgammaAuxContainer_v1.h.

◆ supportsThinning

bool SG::IAuxStore::supportsThinning = true
staticconstexprinherited

Mark that this type supports thinning operations.

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

Definition at line 216 of file IAuxStore.h.

◆ topoetcone20

std::vector< float > xAOD::EgammaAuxContainer_v1::topoetcone20
privateinherited

ET in a cone with half-opening angle 0.20.

Definition at line 228 of file EgammaAuxContainer_v1.h.

◆ topoetcone30

std::vector< float > xAOD::EgammaAuxContainer_v1::topoetcone30
privateinherited

ET in a cone with half-opening angle 0.30.

Definition at line 230 of file EgammaAuxContainer_v1.h.

◆ topoetcone40

std::vector< float > xAOD::EgammaAuxContainer_v1::topoetcone40
privateinherited

ET in a cone with half-opening angle 0.40.

Definition at line 232 of file EgammaAuxContainer_v1.h.

◆ topoetcone40_corrected

std::vector< float > xAOD::EgammaAuxContainer_v1::topoetcone40_corrected
privateinherited

fully corrected ET in a cone with half-opening angle 0.40

Definition at line 236 of file EgammaAuxContainer_v1.h.

◆ topoetcone40_ptcorrected

std::vector< float > xAOD::EgammaAuxContainer_v1::topoetcone40_ptcorrected
privateinherited

pt corrected ET in a cone with half-opening angle 0.40

Definition at line 234 of file EgammaAuxContainer_v1.h.

◆ trackParticleLinks

std::vector< std::vector< ElementLink< TrackParticleContainer > > > xAOD::ElectronAuxContainer_v1::trackParticleLinks
private

Definition at line 46 of file ElectronAuxContainer_v1.h.

◆ weta1

std::vector< float > xAOD::EgammaAuxContainer_v1::weta1
privateinherited

shower width using +/-3 strips around the one with the maximal energy deposit: w3 strips = sqrt{sum(Ei)x(i-imax)^2/sum(Ei)}, where i is the number of the strip and imax the strip number of the most energetic one

Definition at line 127 of file EgammaAuxContainer_v1.h.

◆ weta2

std::vector< float > xAOD::EgammaAuxContainer_v1::weta2
privateinherited

the lateral width is calculated with a window of 3x5 cells using the energy weighted sum over all cells, which depends on the particle impact point inside the cell: weta2 = sqrt(sum Ei x eta^2)/(sum Ei) -((sum Ei x eta)/(sum Ei))^2, where Ei is the energy of the i-th cell

Definition at line 130 of file EgammaAuxContainer_v1.h.

◆ widths1

std::vector< float > xAOD::EgammaAuxContainer_v1::widths1
privateinherited

same as egammaParameters::weta1 but without corrections on particle impact point inside the cell

Definition at line 138 of file EgammaAuxContainer_v1.h.

◆ widths2

std::vector< float > xAOD::EgammaAuxContainer_v1::widths2
privateinherited

same as egammaParameters::weta2 but without corrections on particle impact point inside the cell

Definition at line 140 of file EgammaAuxContainer_v1.h.

◆ wtots1

std::vector< float > xAOD::EgammaAuxContainer_v1::wtots1
privateinherited

shower width is determined in a window detaxdphi = 0,0625 x~0,2, corresponding typically to 20 strips in eta : wtot1=sqrt{sum Ei x ( i-imax)^2 / sum Ei}, where i is the strip number and imax the strip number of the first local maximum

Definition at line 159 of file EgammaAuxContainer_v1.h.

◆ zvertex

std::vector< float > xAOD::EgammaAuxContainer_v1::zvertex
privateinherited

pointing z at vertex reconstructed from the cluster

Definition at line 170 of file EgammaAuxContainer_v1.h.


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