k4SimGeant4
Loading...
Searching...
No Matches
EnergyInCaloLayers Class Reference

Sums energy deposited in every calorimeter layer separately, sums also energy deposited in the dead material of the calorimeter (cryostat). More...

#include <Detector/DetStudies/src/components/EnergyInCaloLayers.h>

Inheritance diagram for EnergyInCaloLayers:
Collaboration diagram for EnergyInCaloLayers:

Public Member Functions

 EnergyInCaloLayers (const std::string &, ISvcLocator *)
 
virtual ~EnergyInCaloLayers ()
 
virtual StatusCode initialize () final
 Initialize.
 
virtual StatusCode execute (const EventContext &) const final
 Fills the histograms.
 
virtual StatusCode finalize () final
 Finalize.
 

Private Attributes

DataHandle< edm4hep::CalorimeterHitCollection > m_deposits {"det/caloDeposits", Gaudi::DataHandle::Reader, this}
 Handle for the energy deposits.
 
DataHandle< edm4hep::MCParticleCollection > m_particle {"det/particles", Gaudi::DataHandle::Reader, this}
 Handle for the particle.
 
DataHandle< podio::UserDataCollection< double > > m_energyInLayer {"energyInLayer", Gaudi::DataHandle::Writer, this}
 Handle for vector with energy deposited in every layer.
 
DataHandle< podio::UserDataCollection< double > > m_energyInCryo {"energyInCryo", Gaudi::DataHandle::Writer, this}
 Handle for vector with energy deposited in cryostat and in its parts.
 
DataHandle< podio::UserDataCollection< double > > m_particleVec {"particleVec", Gaudi::DataHandle::Writer, this}
 Handle for initial particle vector.
 
ServiceHandle< IGeoSvc > m_geoSvc
 Pointer to the geometry service.
 
Gaudi::Property< size_t > m_numLayers {this, "numLayers", 11, "Number of layers"}
 Number of layers/cells cells.
 
Gaudi::Property< std::vector< double > > m_samplingFractions
 Values of sampling fraction.
 
Gaudi::Property< std::string > m_readoutName {this, "readoutName", "", "Name of the readout"}
 Name of the detector readout.
 

Detailed Description

Sums energy deposited in every calorimeter layer separately, sums also energy deposited in the dead material of the calorimeter (cryostat).

In order to calculate upstream or downstream energy correction one needs to mark cryostat as sensitive in the detector XML files. Additionally, for the downstream correction, the thickness of the back cryostat needs to be enlarged to be unrealistically large (at least one meter) to capture all energy deposited behind the calorimeter.

Based on work done by Anna Zaborowska and Jana Faltova.

Author
Juraj Smiesko

Constructor & Destructor Documentation

◆ EnergyInCaloLayers()

EnergyInCaloLayers::EnergyInCaloLayers ( const std::string & aName,
ISvcLocator * aSvcLoc )
explicit

◆ ~EnergyInCaloLayers()

EnergyInCaloLayers::~EnergyInCaloLayers ( )
virtual

Member Function Documentation

◆ execute()

StatusCode EnergyInCaloLayers::execute ( const EventContext & ) const
finalvirtual

Fills the histograms.

Returns
status code

◆ finalize()

StatusCode EnergyInCaloLayers::finalize ( )
finalvirtual

Finalize.

Returns
status code

◆ initialize()

StatusCode EnergyInCaloLayers::initialize ( )
finalvirtual

Initialize.

Returns
status code

Member Data Documentation

◆ m_deposits

DataHandle<edm4hep::CalorimeterHitCollection> EnergyInCaloLayers::m_deposits {"det/caloDeposits", Gaudi::DataHandle::Reader, this}
mutableprivate

Handle for the energy deposits.

◆ m_energyInCryo

DataHandle<podio::UserDataCollection<double> > EnergyInCaloLayers::m_energyInCryo {"energyInCryo", Gaudi::DataHandle::Writer, this}
mutableprivate

Handle for vector with energy deposited in cryostat and in its parts.

◆ m_energyInLayer

DataHandle<podio::UserDataCollection<double> > EnergyInCaloLayers::m_energyInLayer {"energyInLayer", Gaudi::DataHandle::Writer, this}
mutableprivate

Handle for vector with energy deposited in every layer.

◆ m_geoSvc

ServiceHandle<IGeoSvc> EnergyInCaloLayers::m_geoSvc
private

Pointer to the geometry service.

◆ m_numLayers

Gaudi::Property<size_t> EnergyInCaloLayers::m_numLayers {this, "numLayers", 11, "Number of layers"}
private

Number of layers/cells cells.

◆ m_particle

DataHandle<edm4hep::MCParticleCollection> EnergyInCaloLayers::m_particle {"det/particles", Gaudi::DataHandle::Reader, this}
mutableprivate

Handle for the particle.

◆ m_particleVec

DataHandle<podio::UserDataCollection<double> > EnergyInCaloLayers::m_particleVec {"particleVec", Gaudi::DataHandle::Writer, this}
mutableprivate

Handle for initial particle vector.

◆ m_readoutName

Gaudi::Property<std::string> EnergyInCaloLayers::m_readoutName {this, "readoutName", "", "Name of the readout"}
private

Name of the detector readout.

◆ m_samplingFractions

Gaudi::Property<std::vector<double> > EnergyInCaloLayers::m_samplingFractions
private
Initial value:
{
this, "samplingFractions", {}, "Values of sampling fraction per layer"}

Values of sampling fraction.


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