ATLAS Offline Software
Loading...
Searching...
No Matches
CalibHitToCaloCellTool Class Reference

#include <CalibHitToCaloCellTool.h>

Inheritance diagram for CalibHitToCaloCellTool:
Collaboration diagram for CalibHitToCaloCellTool:

Public Member Functions

 CalibHitToCaloCellTool (const std::string &t, const std::string &n, const IInterface *p)
 ~CalibHitToCaloCellTool ()
virtual StatusCode initialize () override
StatusCode processCalibHitsFromParticle () const
ServiceHandle< StoreGateSvc > & evtStore ()
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
const ServiceHandle< StoreGateSvc > & detStore () const
 The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
virtual StatusCode sysInitialize () override
 Perform system initialization for an algorithm.
virtual StatusCode sysStart () override
 Handle START transition.
virtual std::vector< Gaudi::DataHandle * > inputHandles () const override
 Return this algorithm's input handles.
virtual std::vector< Gaudi::DataHandle * > outputHandles () const override
 Return this algorithm's output handles.
Gaudi::Details::PropertyBase & declareProperty (Gaudi::Property< T, V, H > &t)
void updateVHKA (Gaudi::Details::PropertyBase &)
MsgStream & msg () const
bool msgLvl (const MSG::Level lvl) const

Static Public Member Functions

static const InterfaceID & interfaceID ()

Protected Member Functions

void renounceArray (SG::VarHandleKeyArray &handlesArray)
 remove all handles from I/O resolution
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce (T &h)
void extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps)
 Add StoreName to extra input/output deps as needed.

Private Types

typedef ServiceHandle< StoreGateSvcStoreGateSvc_t

Private Member Functions

Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey>

Private Attributes

Gaudi::Property< int > m_caloGain {this, "CaloGain", static_cast<int>(CaloGain::LARLOWGAIN)}
Gaudi::Property< std::vector< std::string > > m_calibHitContainerNames {this, "CalibHitContainers", {}}
std::string m_tileActiveHitCnt {"TileCalibHitActiveCell"}
std::string m_tileInactiveHitCnt {"TileCalibHitInactiveCell"}
std::string m_tileDMHitCnt {"TileCalibHitDeadMaterial"}
std::string m_larInactHitCnt {"LArCalibrationHitActive"}
std::string m_larActHitCnt {"LArCalibrationHitInactive"}
std::string m_larDMHitCnt {"LArCalibrationHitDeadMaterial"}
Gaudi::Property< bool > m_doTile {this, "DoTile", false}
Gaudi::Property< std::string > m_caloCell_Tot {this, "CellTotEne", "TotalCalibCell"}
Gaudi::Property< std::string > m_caloCell_Vis {this, "CellVisEne", "VisCalibCell"}
Gaudi::Property< std::string > m_caloCell_Em {this, "CellEmEne", ""}
Gaudi::Property< std::string > m_caloCell_NonEm {this, "CellNonEmEne", ""}
const CaloCell_IDm_caloCell_ID {nullptr}
const CaloDM_IDm_caloDM_ID {nullptr}
SG::ReadCondHandleKey< CaloDetDescrManagerm_caloMgrKey
Gaudi::Property< std::string > m_outputCellContainerName {this, "OutputCellContainerName", "TruthCells"}
Gaudi::Property< std::string > m_outputClusterContainerName {this, "OutputClusterContainerName", "TruthClusters"}
SG::WriteHandleKeyArray< CaloCellContainerm_cellContKeys
SG::WriteHandleKeyArray< xAOD::CaloClusterContainerm_clusterContKeys
SG::WriteHandleKeyArray< CaloClusterCellLinkContainerm_cellLinkKeys
const std::array< std::string, 3 > m_energyTypeToStr {"Eem","Evis","Etot"}
StoreGateSvc_t m_evtStore
 Pointer to StoreGate (event store by default)
StoreGateSvc_t m_detStore
 Pointer to StoreGate (detector store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
bool m_varHandleArraysDeclared

Detailed Description

Definition at line 38 of file CalibHitToCaloCellTool.h.

Member Typedef Documentation

◆ StoreGateSvc_t

typedef ServiceHandle<StoreGateSvc> AthCommonDataStore< AthCommonMsg< AlgTool > >::StoreGateSvc_t
privateinherited

Definition at line 388 of file AthCommonDataStore.h.

Constructor & Destructor Documentation

◆ CalibHitToCaloCellTool()

CalibHitToCaloCellTool::CalibHitToCaloCellTool ( const std::string & t,
const std::string & n,
const IInterface * p )

Definition at line 27 of file CalibHitToCaloCellTool.cxx.

28 : AthAlgTool(t,n,p)
29{
30 declareInterface<CalibHitToCaloCellTool>(this);
31}
AthAlgTool()
Default constructor:

◆ ~CalibHitToCaloCellTool()

CalibHitToCaloCellTool::~CalibHitToCaloCellTool ( )
default

Member Function Documentation

◆ declareGaudiProperty()

Gaudi::Details::PropertyBase & AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T, V, H > & hndl,
const SG::VarHandleKeyType &  )
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKey>

Definition at line 156 of file AthCommonDataStore.h.

158 {
160 hndl.value(),
161 hndl.documentation());
162
163 }
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)

◆ declareProperty()

Gaudi::Details::PropertyBase & AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( Gaudi::Property< T, V, H > & t)
inlineinherited

Definition at line 145 of file AthCommonDataStore.h.

145 {
146 typedef typename SG::HandleClassifier<T>::type htype;
148 }
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>

◆ detStore()

const ServiceHandle< StoreGateSvc > & AthCommonDataStore< AthCommonMsg< AlgTool > >::detStore ( ) const
inlineinherited

The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 95 of file AthCommonDataStore.h.

◆ evtStore()

ServiceHandle< StoreGateSvc > & AthCommonDataStore< AthCommonMsg< AlgTool > >::evtStore ( )
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 85 of file AthCommonDataStore.h.

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::extraDeps_update_handler ( Gaudi::Details::PropertyBase & ExtraDeps)
protectedinherited

Add StoreName to extra input/output deps as needed.

use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given

◆ initialize()

StatusCode CalibHitToCaloCellTool::initialize ( )
overridevirtual

Definition at line 36 of file CalibHitToCaloCellTool.cxx.

37{
38 // retrieve ID helpers from det store
39 ATH_MSG_INFO("initialisation ID helpers" );
40
41 ATH_CHECK( detStore()->retrieve(m_caloCell_ID) );
42 ATH_CHECK( detStore()->retrieve(m_caloDM_ID) );
43 ATH_CHECK( m_caloMgrKey.initialize() );
44
45
46 for (unsigned int i=0; i<CalibHitUtils::nEnergyTypes; i++) {
50 }
51
52 ATH_CHECK(m_cellContKeys.initialize());
53 ATH_CHECK(m_clusterContKeys.initialize());
54 ATH_CHECK(m_cellLinkKeys.initialize());
55
56 ATH_MSG_INFO("initialisation completed" );
57 return StatusCode::SUCCESS;
58}
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_INFO(x)
const ServiceHandle< StoreGateSvc > & detStore() const
SG::WriteHandleKeyArray< CaloCellContainer > m_cellContKeys
SG::WriteHandleKeyArray< CaloClusterCellLinkContainer > m_cellLinkKeys
Gaudi::Property< std::string > m_outputCellContainerName
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloMgrKey
const std::array< std::string, 3 > m_energyTypeToStr
SG::WriteHandleKeyArray< xAOD::CaloClusterContainer > m_clusterContKeys
Gaudi::Property< std::string > m_outputClusterContainerName
const CaloCell_ID * m_caloCell_ID

◆ inputHandles()

virtual std::vector< Gaudi::DataHandle * > AthCommonDataStore< AthCommonMsg< AlgTool > >::inputHandles ( ) const
overridevirtualinherited

Return this algorithm's input handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ interfaceID()

const InterfaceID & CalibHitToCaloCellTool::interfaceID ( )
inlinestatic

Definition at line 46 of file CalibHitToCaloCellTool.h.

static const InterfaceID IID_CalibHitToCaloCellTool("CalibHitToCaloCellTool", 1, 0)

◆ msg()

MsgStream & AthCommonMsg< AlgTool >::msg ( ) const
inlineinherited

Definition at line 24 of file AthCommonMsg.h.

24 {
25 return this->msgStream();
26 }

◆ msgLvl()

bool AthCommonMsg< AlgTool >::msgLvl ( const MSG::Level lvl) const
inlineinherited

Definition at line 30 of file AthCommonMsg.h.

30 {
31 return this->msgLevel(lvl);
32 }

◆ outputHandles()

virtual std::vector< Gaudi::DataHandle * > AthCommonDataStore< AthCommonMsg< AlgTool > >::outputHandles ( ) const
overridevirtualinherited

Return this algorithm's output handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ processCalibHitsFromParticle()

StatusCode CalibHitToCaloCellTool::processCalibHitsFromParticle ( ) const

..........................................................

Definition at line 61 of file CalibHitToCaloCellTool.cxx.

62{
63 ATH_MSG_DEBUG("in calibHitToCaloCellTool");
64
65 SG::ReadCondHandle<CaloDetDescrManager> caloMgrHandle{m_caloMgrKey};
66 ATH_CHECK(caloMgrHandle.isValid());
67 const CaloDetDescrManager* caloDDMgr = *caloMgrHandle;
68
69 std::vector<SG::WriteHandle<CaloCellContainer> > truthCells;
70 std::vector<SG::WriteHandle<xAOD::CaloClusterContainer> > truthClusters;
71 std::vector<SG::WriteHandle<CaloClusterCellLinkContainer> > truthLinks;
72
73
74 // register containers for cells and clusters
75 for (unsigned int i=0; i<CalibHitUtils::nEnergyTypes; i++) {
76
77 truthCells.emplace_back(m_cellContKeys[i]);
78 ATH_CHECK(truthCells.back().record(std::make_unique<CaloCellContainer>()));
79
80 truthClusters.emplace_back(m_clusterContKeys[i]);
82
83 truthLinks.emplace_back(m_cellLinkKeys[i]);
84 ATH_CHECK(truthLinks.back().record(std::make_unique<CaloClusterCellLinkContainer>()));
85 }
86
87 // retrieve calibration hit containers
88 const unsigned int nCont = m_calibHitContainerNames.size();
89 std::vector<const CaloCalibrationHitContainer*> calibHitContainers(nCont,nullptr);
90 for (unsigned int i=0; i<nCont; i++) {
91 ATH_MSG_DEBUG("Retrieving " << m_calibHitContainerNames[i]);
92 ATH_CHECK( evtStore()->retrieve(calibHitContainers[i], m_calibHitContainerNames[i].c_str()) );
93 ATH_MSG_DEBUG(" Retrieved container " << calibHitContainers[i]->Name() << " with size " << calibHitContainers[i]->Size() );
94 if( calibHitContainers[i]->Size() == 0 ) {
95 ATH_MSG_DEBUG("Container " << calibHitContainers[i]->Name() << " is empty");
96 }
97 }
98 ATH_MSG_DEBUG("CaloCalibrationHitContainers retrieved successfuly" );
99
100 //count
101 int nchan=0;
102 int em_nchan=0;
103 int hec_nchan=0;
104 int fcal_nchan=0;
105 int tile_nchan=0;
106
107 std::vector<Identifier> ID;
108
109 using CellPtr = std::unique_ptr<CaloCell>;
110 std::vector<CellPtr> CellsEtot;
111 std::vector<CellPtr> CellsEvis;
112 std::vector<CellPtr> CellsEem;
113
114 int nhitsInactive = 0;
115
116 for (unsigned int i=0; i<calibHitContainers.size(); i++) {
117 for( const auto *const calibhit: *(calibHitContainers[i])) {
118 //care only for deposits of the given truth particle
119 if (!MC::isGenStable(HepMC::barcode(calibhit))) continue; // FIXME barcode-based
120
121 double Etot = calibhit->energyTotal();
122 double Eem = calibhit->energy(0);
123 double Enonem = calibhit->energy(1);
124 double Evis = Eem + Enonem;
125
126 Identifier id=calibhit->cellID();
127
128 //merge inactive and active hits from the same cell together
129 if (i>0) {
130 //find if have already created cell..
131 bool isNewId = true;
132 for (int n=0; n<nhitsInactive; n++) {
133 if( id == ID[n] ) { //found
134 CellsEtot[n]->addEnergy(Etot);
135 CellsEvis[n]->addEnergy(Evis);
136 CellsEem[n]->addEnergy(Eem);
137 isNewId = false;
138 break;
139 }
140 }
141 if(!isNewId) continue; //go to next hit, else create new cell for this hit
142 }
143
144 //check if this ID is LAr or Tile
145 if(m_caloCell_ID->is_lar(id)) {
146 ATH_MSG_VERBOSE( "Found LAr cell" );
147 const CaloDetDescrElement* caloDDE = caloDDMgr->get_element(id);
148 CellsEtot.push_back(CellPtr{new LArCell(caloDDE, id, Etot, 0., 0, 0, (CaloGain::CaloGain)m_caloGain.value())});
149 CellsEvis.push_back(CellPtr{new LArCell(caloDDE, id, Evis, 0., 0, 0, (CaloGain::CaloGain)m_caloGain.value())});
150 CellsEem.push_back(CellPtr{new LArCell(caloDDE, id, Eem, 0., 0, 0, (CaloGain::CaloGain)m_caloGain.value())});
151 ID.push_back(id);
152 ++nchan;
153 }
154 else if(m_caloCell_ID->is_tile(id)) {
155 ATH_MSG_VERBOSE( "Found Tile cell" );
156 const CaloDetDescrElement* caloDDE = caloDDMgr->get_element(id);
157 CellsEtot.push_back(CellPtr{new TileCell(caloDDE, id, Etot, 0., 0, 0, (CaloGain::CaloGain)m_caloGain.value())});
158 CellsEvis.push_back(CellPtr{new TileCell(caloDDE, id, Evis, 0., 0, 0, (CaloGain::CaloGain)m_caloGain.value())});
159 CellsEem.push_back(CellPtr{new TileCell(caloDDE, id, Eem, 0., 0, 0, (CaloGain::CaloGain)m_caloGain.value())});
160 ID.push_back(id);
161 ++nchan;
162 }
163 else { //other, DeadMaterial
165 ATH_MSG_VERBOSE( "Found unknown cell" );
166 continue;
167 }
168 }
169 if (i==0) nhitsInactive = (int)ID.size();
170 }
171
172 //Now, put cells in the containers keeping the order. First goes EM, then HEC and so on
173 // if(CellsEtot.size()==0) {
174 // ID.clear();
175 // return StatusCode::SUCCESS;
176 // }
177
178 ATH_MSG_DEBUG("N cells : " << nchan );
179
180 for(int itr=0; itr!=nchan; itr++) {
181 if(m_caloCell_ID->is_em(CellsEtot[itr]->ID())) {
182 truthCells[CalibHitUtils::EnergyTotal]->push_back(std::move(CellsEtot[itr]));
183 truthCells[CalibHitUtils::EnergyVisible]->push_back(std::move(CellsEvis[itr]));
184 truthCells[CalibHitUtils::EnergyEM]->push_back(std::move(CellsEem[itr]));
185 ++em_nchan;
186 }
187 }
188 if(em_nchan) {
189 for (int i=0;i<CalibHitUtils::nEnergyTypes;i++) truthCells[i]->setHasCalo(CaloCell_ID::LAREM);
190 }
191
192 for(int itr=0; itr!=nchan; itr++) {
193 if(m_caloCell_ID->is_hec(CellsEtot[itr]->ID())) {
194 truthCells[CalibHitUtils::EnergyTotal]->push_back(std::move(CellsEtot[itr]));
195 truthCells[CalibHitUtils::EnergyVisible]->push_back(std::move(CellsEvis[itr]));
196 truthCells[CalibHitUtils::EnergyEM]->push_back(std::move(CellsEem[itr]));
197 ++hec_nchan;
198 }
199 }
200 if(hec_nchan){
201 for (int i=0;i<CalibHitUtils::nEnergyTypes;i++) truthCells[i]->setHasCalo(CaloCell_ID::LARHEC);
202 }
203
204 for(int itr=0; itr!=nchan; itr++) {
205 if(m_caloCell_ID->is_fcal(CellsEtot[itr]->ID())) {
206 truthCells[CalibHitUtils::EnergyTotal]->push_back(std::move(CellsEtot[itr]));
207 truthCells[CalibHitUtils::EnergyVisible]->push_back(std::move(CellsEvis[itr]));
208 truthCells[CalibHitUtils::EnergyEM]->push_back(std::move(CellsEem[itr]));
209 ++fcal_nchan;
210 }
211 }
212 if(fcal_nchan) {
213 for (int i=0;i<CalibHitUtils::nEnergyTypes;i++) truthCells[i]->setHasCalo(CaloCell_ID::LARFCAL);
214 }
215
216 for(int itr=0; itr!=nchan; itr++) {
217 if((m_caloCell_ID->is_tile(CellsEtot[itr]->ID()))) {
218 truthCells[CalibHitUtils::EnergyTotal]->push_back(std::move(CellsEtot[itr]));
219 truthCells[CalibHitUtils::EnergyVisible]->push_back(std::move(CellsEvis[itr]));
220 truthCells[CalibHitUtils::EnergyEM]->push_back(std::move(CellsEem[itr]));
221 ++tile_nchan;
222 }
223 }
224 if(tile_nchan) {
225 for (int i=0;i<CalibHitUtils::nEnergyTypes;i++) truthCells[i]->setHasCalo(CaloCell_ID::TILE);
226 }
227 ATH_MSG_DEBUG("--- LAr INFO --- "<<nchan );
228 ATH_MSG_DEBUG("LArCells = "<<nchan );
229 ATH_MSG_DEBUG("EMCells = "<<em_nchan );
230 ATH_MSG_DEBUG("HECCells = "<<hec_nchan );
231 ATH_MSG_DEBUG("FCALCells = "<<fcal_nchan );
232 ATH_MSG_DEBUG("TileCells = "<<tile_nchan );
233
234 ID.clear();
235
237
238 ATH_MSG_DEBUG("making truth cluster");
239 xAOD::CaloCluster* truthCluster[3] = {nullptr,nullptr,nullptr};
240 for (int i=0;i<CalibHitUtils::nEnergyTypes;i++) {
241 truthCluster[i] = CaloClusterStoreHelper::makeCluster(truthClusters[i].ptr(),truthCells[i].ptr());
242 if (!truthCluster[i]) {
243 ATH_MSG_FATAL("makeCluster failed");
244 return StatusCode::FAILURE;
245 }
246 for (const auto cell: *truthCells[i]) {
247 if(m_caloCell_ID->is_lar(cell->ID()) || m_caloCell_ID->is_tile(cell->ID()))
248 truthCluster[i]->addCell( truthCells[i]->findIndex(cell->caloDDE()->calo_hash()) , 1.);
249 }
250
252 CaloClusterKineHelper::calculateKine(truthCluster[i], true, true);
254 truthClusters[i].ptr()));
255
256 ATH_MSG_INFO("Created truth cluster with " << m_energyTypeToStr[i] <<" " << truthCluster[i]->e());
257 }
258
259 ATH_MSG_DEBUG("execute() completed successfully" );
260 return StatusCode::SUCCESS;
261}
#define ATH_MSG_FATAL(x)
#define ATH_MSG_VERBOSE(x)
#define ATH_MSG_DEBUG(x)
JetDumper::Name Name
Definition JetDumper.cxx:19
ServiceHandle< StoreGateSvc > & evtStore()
Gaudi::Property< std::vector< std::string > > m_calibHitContainerNames
Gaudi::Property< int > m_caloGain
static void calculateKine(xAOD::CaloCluster *clu, const bool useweight=true, const bool updateLayers=true, const bool useGPUCriteria=false)
Helper class to calculate cluster kinematics based on cells.
static std::unique_ptr< xAOD::CaloCluster > makeCluster(const CaloCellContainer *cellCont)
Creates a valid CaloCluster with a private Aux-Store and CellLink container.
static StatusCode AddContainerWriteHandle(SG::WriteHandle< xAOD::CaloClusterContainer > &clusColl)
Creates a new xAOD::CaloClusterContainer in the given WriteHandle + CaloClusterAuxContainer and recor...
static StatusCode finalizeClusters(SG::WriteHandle< CaloClusterCellLinkContainer > &h, xAOD::CaloClusterContainer *pClusterColl)
Finalize clusters (move CaloClusterCellLink to a separate container).
const CaloDetDescrElement * get_element(const Identifier &cellId) const
get element by its identifier
void setClusterSize(const ClusterSize)
Get cluster size.
bool addCell(const unsigned index, const double weight)
Method to add a cell to the cluster (Beware: Kinematics not updated!)
int barcode(const T *p)
Definition Barcode.h:16
bool isGenStable(const T &p)
Determine if the particle is stable at the generator (not det-sim) level,.
void * ptr(T *p)
Definition SGImplSvc.cxx:74
ID
//////////////////////////////////////// JetAlgorithmType::ID defines most common physics jet finding...
CaloCluster_v1 CaloCluster
Define the latest version of the calorimeter cluster class.

◆ renounce()

std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > AthCommonDataStore< AthCommonMsg< AlgTool > >::renounce ( T & h)
inlineprotectedinherited

Definition at line 380 of file AthCommonDataStore.h.

381 {
382 h.renounce();
384 }
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce(T &h)

◆ renounceArray()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::renounceArray ( SG::VarHandleKeyArray & handlesArray)
inlineprotectedinherited

remove all handles from I/O resolution

Definition at line 364 of file AthCommonDataStore.h.

364 {
366 }

◆ sysInitialize()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysInitialize ( )
overridevirtualinherited

Perform system initialization for an algorithm.

We override this to declare all the elements of handle key arrays at the end of initialization. See comments on updateVHKA.

Reimplemented in asg::AsgMetadataTool, AthCheckedComponent< AthAlgTool >, AthCheckedComponent<::AthAlgTool >, and DerivationFramework::CfAthAlgTool.

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysStart ( )
overridevirtualinherited

Handle START transition.

We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.

◆ updateVHKA()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::updateVHKA ( Gaudi::Details::PropertyBase & )
inlineinherited

Definition at line 308 of file AthCommonDataStore.h.

308 {
309 // debug() << "updateVHKA for property " << p.name() << " " << p.toString()
310 // << " size: " << m_vhka.size() << endmsg;
311 for (auto &a : m_vhka) {
313 for (auto k : keys) {
314 k->setOwner(this);
315 }
316 }
317 }
std::vector< SG::VarHandleKeyArray * > m_vhka

Member Data Documentation

◆ m_calibHitContainerNames

Gaudi::Property<std::vector<std::string> > CalibHitToCaloCellTool::m_calibHitContainerNames {this, "CalibHitContainers", {}}
private

Definition at line 50 of file CalibHitToCaloCellTool.h.

50{this, "CalibHitContainers", {}};

◆ m_caloCell_Em

Gaudi::Property<std::string> CalibHitToCaloCellTool::m_caloCell_Em {this, "CellEmEne", ""}
private

Definition at line 63 of file CalibHitToCaloCellTool.h.

63{this, "CellEmEne", ""};

◆ m_caloCell_ID

const CaloCell_ID* CalibHitToCaloCellTool::m_caloCell_ID {nullptr}
private

Definition at line 66 of file CalibHitToCaloCellTool.h.

66{nullptr};

◆ m_caloCell_NonEm

Gaudi::Property<std::string> CalibHitToCaloCellTool::m_caloCell_NonEm {this, "CellNonEmEne", ""}
private

Definition at line 64 of file CalibHitToCaloCellTool.h.

64{this, "CellNonEmEne", ""};

◆ m_caloCell_Tot

Gaudi::Property<std::string> CalibHitToCaloCellTool::m_caloCell_Tot {this, "CellTotEne", "TotalCalibCell"}
private

Definition at line 61 of file CalibHitToCaloCellTool.h.

61{this, "CellTotEne", "TotalCalibCell"};

◆ m_caloCell_Vis

Gaudi::Property<std::string> CalibHitToCaloCellTool::m_caloCell_Vis {this, "CellVisEne", "VisCalibCell"}
private

Definition at line 62 of file CalibHitToCaloCellTool.h.

62{this, "CellVisEne", "VisCalibCell"};

◆ m_caloDM_ID

const CaloDM_ID* CalibHitToCaloCellTool::m_caloDM_ID {nullptr}
private

Definition at line 67 of file CalibHitToCaloCellTool.h.

67{nullptr};

◆ m_caloGain

Gaudi::Property<int> CalibHitToCaloCellTool::m_caloGain {this, "CaloGain", static_cast<int>(CaloGain::LARLOWGAIN)}
private

Definition at line 49 of file CalibHitToCaloCellTool.h.

49{this, "CaloGain", static_cast<int>(CaloGain::LARLOWGAIN)};
@ LARLOWGAIN
Definition CaloGain.h:18

◆ m_caloMgrKey

SG::ReadCondHandleKey<CaloDetDescrManager> CalibHitToCaloCellTool::m_caloMgrKey
private
Initial value:
{ this
, "CaloDetDescrManager"
, "CaloDetDescrManager"
, "SG Key for CaloDetDescrManager in the Condition Store" }

Definition at line 69 of file CalibHitToCaloCellTool.h.

69 { this
70 , "CaloDetDescrManager"
71 , "CaloDetDescrManager"
72 , "SG Key for CaloDetDescrManager in the Condition Store" };

◆ m_cellContKeys

SG::WriteHandleKeyArray<CaloCellContainer> CalibHitToCaloCellTool::m_cellContKeys
private

Definition at line 77 of file CalibHitToCaloCellTool.h.

◆ m_cellLinkKeys

SG::WriteHandleKeyArray<CaloClusterCellLinkContainer> CalibHitToCaloCellTool::m_cellLinkKeys
private

Definition at line 79 of file CalibHitToCaloCellTool.h.

◆ m_clusterContKeys

SG::WriteHandleKeyArray<xAOD::CaloClusterContainer> CalibHitToCaloCellTool::m_clusterContKeys
private

Definition at line 78 of file CalibHitToCaloCellTool.h.

◆ m_detStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
privateinherited

Pointer to StoreGate (detector store by default)

Definition at line 393 of file AthCommonDataStore.h.

◆ m_doTile

Gaudi::Property<bool> CalibHitToCaloCellTool::m_doTile {this, "DoTile", false}
private

Definition at line 59 of file CalibHitToCaloCellTool.h.

59{this, "DoTile", false};

◆ m_energyTypeToStr

const std::array<std::string, 3> CalibHitToCaloCellTool::m_energyTypeToStr {"Eem","Evis","Etot"}
private

Definition at line 81 of file CalibHitToCaloCellTool.h.

81{"Eem","Evis","Etot"};

◆ m_evtStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_evtStore
privateinherited

Pointer to StoreGate (event store by default)

Definition at line 390 of file AthCommonDataStore.h.

◆ m_larActHitCnt

std::string CalibHitToCaloCellTool::m_larActHitCnt {"LArCalibrationHitInactive"}
private

Definition at line 56 of file CalibHitToCaloCellTool.h.

56{"LArCalibrationHitInactive"};

◆ m_larDMHitCnt

std::string CalibHitToCaloCellTool::m_larDMHitCnt {"LArCalibrationHitDeadMaterial"}
private

Definition at line 57 of file CalibHitToCaloCellTool.h.

57{"LArCalibrationHitDeadMaterial"};

◆ m_larInactHitCnt

std::string CalibHitToCaloCellTool::m_larInactHitCnt {"LArCalibrationHitActive"}
private

Definition at line 55 of file CalibHitToCaloCellTool.h.

55{"LArCalibrationHitActive"};

◆ m_outputCellContainerName

Gaudi::Property<std::string> CalibHitToCaloCellTool::m_outputCellContainerName {this, "OutputCellContainerName", "TruthCells"}
private

Definition at line 74 of file CalibHitToCaloCellTool.h.

74{this, "OutputCellContainerName", "TruthCells"};

◆ m_outputClusterContainerName

Gaudi::Property<std::string> CalibHitToCaloCellTool::m_outputClusterContainerName {this, "OutputClusterContainerName", "TruthClusters"}
private

Definition at line 75 of file CalibHitToCaloCellTool.h.

75{this, "OutputClusterContainerName", "TruthClusters"};

◆ m_tileActiveHitCnt

std::string CalibHitToCaloCellTool::m_tileActiveHitCnt {"TileCalibHitActiveCell"}
private

Definition at line 52 of file CalibHitToCaloCellTool.h.

52{"TileCalibHitActiveCell"};

◆ m_tileDMHitCnt

std::string CalibHitToCaloCellTool::m_tileDMHitCnt {"TileCalibHitDeadMaterial"}
private

Definition at line 54 of file CalibHitToCaloCellTool.h.

54{"TileCalibHitDeadMaterial"};

◆ m_tileInactiveHitCnt

std::string CalibHitToCaloCellTool::m_tileInactiveHitCnt {"TileCalibHitInactiveCell"}
private

Definition at line 53 of file CalibHitToCaloCellTool.h.

53{"TileCalibHitInactiveCell"};

◆ m_varHandleArraysDeclared

bool AthCommonDataStore< AthCommonMsg< AlgTool > >::m_varHandleArraysDeclared
privateinherited

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

std::vector<SG::VarHandleKeyArray*> AthCommonDataStore< AthCommonMsg< AlgTool > >::m_vhka
privateinherited

Definition at line 398 of file AthCommonDataStore.h.


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