|
ATLAS Offline Software
|
#include <FastHitConvertTool.h>
|
SG::WriteHandleKey< LArHitContainer > | m_embHitContainerKey {this,"embHitContainername","LArHitEMB","Name of output FastSim LAr EM Barrel Hit Container"} |
|
SG::WriteHandleKey< LArHitContainer > | m_emecHitContainerKey {this,"emecHitContainername","LArHitEMEC","Name of output FastSim LAr EM Endcap Hit Container"} |
|
SG::WriteHandleKey< LArHitContainer > | m_fcalHitContainerKey {this,"fcalHitContainername","LArHitFCAL","Name of output FastSim LAr FCAL Hit Container"} |
|
SG::WriteHandleKey< LArHitContainer > | m_hecHitContainerKey {this,"hecHitContainername","LArHitHEC","Name of output FastSim LAr HEC Hit Container"} |
|
SG::WriteHandleKey< TileHitVector > | m_tileHitVectorKey {this,"tileHitContainername","TileHitVec","Name of output FastSim Tile Hit Container"} |
|
SG::ReadCondHandleKey< ILArfSampl > | m_fSamplKey {this,"fSamplKey","LArfSamplSym","SG Key of LArfSampl object"} |
|
SG::ReadCondHandleKey< TileSamplingFraction > | m_tileSamplingFractionKey |
| Name of TileSamplingFraction in condition store. More...
|
|
ServiceHandle< TileCablingSvc > | m_tileCablingSvc |
| Name of Tile cabling service. More...
|
|
const LArEM_ID * | m_larEmID {nullptr} |
|
const LArFCAL_ID * | m_larFcalID {nullptr} |
|
const LArHEC_ID * | m_larHecID {nullptr} |
|
const TileID * | m_tileID {nullptr} |
|
const TileHWID * | m_tileHWID {nullptr} |
|
const TileCablingService * | m_tileCabling {nullptr} |
|
This is for the Doxygen-Documentation. Please delete these lines and fill in information about the Algorithm! Please precede every member function declaration with a short Doxygen comment stating the purpose of this function.
- Author
- Bo Liu boliu.nosp@m.@cer.nosp@m.n.ch
Definition at line 43 of file FastHitConvertTool.h.
◆ FastHitConvertTool()
FastHitConvertTool::FastHitConvertTool |
( |
const std::string & |
type, |
|
|
const std::string & |
name, |
|
|
const IInterface * |
parent |
|
) |
| |
◆ ~FastHitConvertTool()
virtual FastHitConvertTool::~FastHitConvertTool |
( |
| ) |
|
|
inlinevirtual |
◆ initialize()
StatusCode FastHitConvertTool::initialize |
( |
| ) |
|
|
finaloverridevirtual |
standard Athena-Algorithm method
Definition at line 44 of file FastHitConvertTool.cxx.
51 throw std::runtime_error(
"FastHitConvertTool: Invalid LAr EM ID helper");
54 throw std::runtime_error(
"FastHitConvertTool: Invalid FCAL ID helper");
57 throw std::runtime_error(
"FastHitConvertTool: Invalid HEC ID helper");
60 throw std::runtime_error(
"FastHitConvertTool: Invalid Tile ID helper");
78 return StatusCode::SUCCESS;
◆ process()
StatusCode FastHitConvertTool::process |
( |
CaloCellContainer * |
theCellContainer, |
|
|
const EventContext & |
ctx |
|
) |
| const |
|
overridevirtual |
standard Athena-Algorithm method
Definition at line 81 of file FastHitConvertTool.cxx.
96 const double minEnergy=1
e-9;
100 double energyConv=0.0;
105 double eLArEMRead=0.0;
106 double eLArHECRead=0.0;
107 double eLArFCALRead=0.0;
108 double eTileRead=0.0;
110 double eLArEMConv=0.0;
111 double eLArHECConv=0.0;
112 double eLArFCALConv=0.0;
113 double eTileConv=0.0;
126 SampFrac=fSampl->
FSAMPL(cellid);
127 energyConv=
energy*SampFrac;
130 eLArEMConv+=energyConv;
133 if(energyConv > minEnergy)
140 embHitContainer->push_back(
new LArHit(cellid,energyConv,
hitTime));
145 emecHitContainer->push_back(
new LArHit(cellid,energyConv,
hitTime));
162 SampFrac=fSampl->
FSAMPL(cellid);
163 energyConv=
energy*SampFrac;
166 eLArHECConv+=energyConv;
170 if(energyConv>minEnergy)
175 hecHitContainer->push_back(
new LArHit(cellid,energyConv,
hitTime));
189 SampFrac=fSampl->
FSAMPL(cellid);
190 energyConv=
energy*SampFrac;
193 eLArHECConv+=energyConv;
196 if(energyConv>minEnergy)
201 fcalHitContainer->push_back(
new LArHit(cellid,energyConv,
hitTime));
208 ATH_CHECK( tileSamplingFraction.isValid() );
229 SampFrac = tileSamplingFraction->getSamplingFraction(drawerIdx,
channel);
230 energyConv=
energy/SampFrac;
233 eTileConv+=energyConv;
237 if(energyConv>minEnergy)
248 tileHitVector->push_back(
TileHit(pmt_id0,energyConv/2.0,
hitTime));
249 tileHitVector->push_back(
TileHit(pmt_id1,energyConv/2.0,
hitTime));
255 ATH_MSG_DEBUG(
"eReadTot= "<<eLArEMRead+eLArHECRead+eLArFCALRead+eTileRead);
256 ATH_MSG_DEBUG(
"eLArEMRead= "<<eLArEMRead<<
" eLArHECRead= "<<eLArHECRead<<
" eLArFCALRead= "<<eLArFCALRead<<
" eTileRead= "<<eTileRead);
257 ATH_MSG_DEBUG(
"eConvTot= "<<eLArEMConv+eLArHECConv+eLArFCALConv+eTileConv);
258 ATH_MSG_DEBUG(
"eLArEMConv= "<<eLArEMConv<<
" eLArHECConv= "<<eLArHECConv<<
"eLArFCALConv"<<eLArFCALConv<<
"eTileConv"<<eTileConv);
261 ATH_MSG_DEBUG(embHitContainer.name()<<
" : "<<embHitContainer->size()<<
" hits ");
262 ATH_MSG_DEBUG(emecHitContainer.name()<<
" : "<<emecHitContainer->size()<<
" hits ");
263 ATH_MSG_DEBUG(fcalHitContainer.name()<<
" : "<<fcalHitContainer->size()<<
" hits ");
264 ATH_MSG_DEBUG(hecHitContainer.name()<<
" : "<<hecHitContainer->size()<<
" hits ");
265 ATH_MSG_DEBUG(tileHitVector.name()<<
" : "<<tileHitVector->size()<<
" hits ");
267 return StatusCode::SUCCESS;
◆ m_embHitContainerKey
◆ m_emecHitContainerKey
◆ m_fcalHitContainerKey
◆ m_fSamplKey
◆ m_hecHitContainerKey
◆ m_larEmID
◆ m_larFcalID
◆ m_larHecID
◆ m_tileCabling
◆ m_tileCablingSvc
Initial value:{ this,
"TileCablingSvc", "TileCablingSvc", "Tile cabling service"}
Name of Tile cabling service.
Definition at line 77 of file FastHitConvertTool.h.
◆ m_tileHitVectorKey
◆ m_tileHWID
◆ m_tileID
◆ m_tileSamplingFractionKey
The documentation for this class was generated from the following files:
def retrieve(aClass, aKey=None)
Const iterator class for DataVector/DataList.
bool is_lar_fcal(Identifier id) const
const LArEM_ID * getEM_ID(void) const
const std::string & key() const
Return the StoreGate ID for the referenced object.
int channel(const HWIdentifier &id) const
extract channel field from HW identifier
const TileID * getTileID(void) const
const LArHEC_ID * getHEC_ID(void) const
bool is_tile_gapscin(const Identifier &id) const
This class initializes the Calo (LAr and Tile) offline identifiers.
std::vector< HWIdentifier >::iterator it1
virtual const float & FSAMPL(const HWIdentifier &id) const =0
const LArFCAL_ID * getFCAL_ID(void) const
#define CHECK(...)
Evaluate an expression and check for errors.
bool is_tile(Identifier id) const
bool is_lar_hec(Identifier id) const
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
int drawerIdx(const HWIdentifier &id) const
construct drawer index from HW identifier
StatusCode initialize(bool used=true)
Class to store hit energy and time in LAr cell from G4 simulation.
bool is_em_barrel(const Identifier id) const
test if the id belongs to the EM barrel
Identifier pmt_id(const Identifier &any_id) const
float hitTime(const AFP_SIDSimHit &hit)
bool is_lar_em(Identifier id) const
bool is_em_endcap(const Identifier id) const
test if the id belongs to the EM Endcap
HWIdentifier s2h_channel_id(const Identifier &id) const