 |
ATLAS Offline Software
|
#include <jFexTower2SCellDecorator.h>
|
| jFexTower2SCellDecorator (const std::string &name, ISvcLocator *svc) |
|
virtual StatusCode | initialize () override |
| Function initialising the algorithm. More...
|
|
virtual StatusCode | execute (const EventContext &) const override |
| Function executing the algorithm. More...
|
|
virtual StatusCode | sysInitialize () override |
| Override sysInitialize. More...
|
|
virtual bool | isClonable () const override |
| Specify if the algorithm is clonable. More...
|
|
virtual unsigned int | cardinality () const override |
| Cardinality (Maximum number of clones that can exist) special value 0 means that algorithm is reentrant. More...
|
|
virtual StatusCode | sysExecute (const EventContext &ctx) override |
| Execute an algorithm. More...
|
|
virtual const DataObjIDColl & | extraOutputDeps () const override |
| Return the list of extra output dependencies. More...
|
|
virtual bool | filterPassed (const EventContext &ctx) const |
|
virtual void | setFilterPassed (bool state, const EventContext &ctx) const |
|
ServiceHandle< StoreGateSvc > & | evtStore () |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | evtStore () const |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | detStore () const |
| The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
virtual StatusCode | sysStart () override |
| Handle START transition. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | inputHandles () const override |
| Return this algorithm's input handles. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | outputHandles () const override |
| Return this algorithm's output handles. More...
|
|
Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Property< T, V, H > &t) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc="none") |
| Declare a new Gaudi property. More...
|
|
void | updateVHKA (Gaudi::Details::PropertyBase &) |
|
MsgStream & | msg () const |
|
MsgStream & | msg (const MSG::Level lvl) const |
|
bool | msgLvl (const MSG::Level lvl) const |
|
|
StatusCode | ReadSCfromFile (const std::string &) |
|
StatusCode | ReadTilefromFile (const std::string &) |
|
bool | isBadSCellID (const std::string &) const |
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKey> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyArrayType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleType &) |
| specialization for handling Gaudi::Property<SG::VarHandleBase> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &t, const SG::NotHandleType &) |
| specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More...
|
|
|
SG::ReadHandleKey< CaloCellContainer > | m_SCellKey {this, "SCell", "SCell", "SCell container"} |
|
SG::ReadHandleKey< xAOD::TriggerTowerContainer > | m_triggerTowerKey {this, "xODTriggerTowers", "xAODTriggerTowers", "xAODTriggerTowers container"} |
|
SG::ReadHandleKey< xAOD::jFexTowerContainer > | m_jTowersReadKey {this,"jTowersReadKey" ,"L1_jFexDataTowers", "Read jFexEDM Trigger Tower container"} |
|
SG::WriteDecorHandleKey< xAOD::jFexTowerContainer > | m_SCellEtdecorKey { this, "SCellEtdecorKey" , m_jTowersReadKey, "SCellEt" , "SCell Et information of the jTower in MEV"} |
|
SG::WriteDecorHandleKey< xAOD::jFexTowerContainer > | m_SCellEtadecorKey { this, "SCellEtadecorKey" , m_jTowersReadKey, "SCellEta" , "SCell Eta information of the jTower"} |
|
SG::WriteDecorHandleKey< xAOD::jFexTowerContainer > | m_SCellPhidecorKey { this, "SCellPhidecorKey" , m_jTowersReadKey, "SCellPhi" , "SCell Phi information of the jTower"} |
|
SG::WriteDecorHandleKey< xAOD::jFexTowerContainer > | m_SCellIDdecorKey { this, "SCellIDdecorKey" , m_jTowersReadKey, "SCellID" , "SCell IDs information of the jTower"} |
|
SG::WriteDecorHandleKey< xAOD::jFexTowerContainer > | m_SCellMaskdecorKey { this, "SCellMaskdecorKey" , m_jTowersReadKey, "SCellMask" , "SCell masking information of the jTower"} |
|
SG::WriteDecorHandleKey< xAOD::jFexTowerContainer > | m_TileEtdecorKey { this, "TileEtdecorKey" , m_jTowersReadKey, "TileEt" , "Tile Tower Et information in Encoded from cpET"} |
|
SG::WriteDecorHandleKey< xAOD::jFexTowerContainer > | m_TileEtadecorKey { this, "TileEtadecorKey" , m_jTowersReadKey, "TileEta" , "Tile Tower Eta information of the jTower"} |
|
SG::WriteDecorHandleKey< xAOD::jFexTowerContainer > | m_TilePhidecorKey { this, "TilePhidecorKey" , m_jTowersReadKey, "TilePhi" , "Tile Tower Phi information of the jTower"} |
|
SG::WriteDecorHandleKey< xAOD::jFexTowerContainer > | m_jtowerEtMeVdecorKey { this, "jtowerEtMeVdecorKey", m_jTowersReadKey, "jtowerEtMeV" , "jFex Tower Et information in MeV"} |
|
SG::WriteDecorHandleKey< xAOD::jFexTowerContainer > | m_SCellEtMeVdecorKey { this, "SCellEtMeVdecorKey" , m_jTowersReadKey, "SCellEtMeV" , "SCell Et sum information in MeV"} |
|
SG::WriteDecorHandleKey< xAOD::jFexTowerContainer > | m_TileEtMeVdecorKey { this, "TileEtMeVdecorKey" , m_jTowersReadKey, "TileEtMeV" , "Tile Et information in MeV"} |
|
SG::WriteDecorHandleKey< xAOD::jFexTowerContainer > | m_jTowerEtdecorKey { this, "jTowerEtdecorKey" , m_jTowersReadKey, "emulated_jtowerEt" , "jFex Tower Et information. ENCODED!"} |
|
Gaudi::Property< bool > | m_apply_masking {this, "SCellMasking", true , "Applies masking. Only use for data"} |
|
Gaudi::Property< bool > | m_save_extras {this, "ExtraInfo" , false, "Saves additional decorated information "} |
|
Gaudi::Property< std::string > | m_jFEX2Scellmapping {this, "jFEX2SCmapping" , PathResolver::find_calib_file("L1CaloFEXByteStream/2022-10-19/jfex_SCID.txt") , "Text file to convert from simulation ID to SuperCell Identifier"} |
|
Gaudi::Property< std::string > | m_jFEX2Tilemapping {this, "jFEX2Tilemapping", PathResolver::find_calib_file("L1CaloFEXByteStream/2022-10-19/jfex_TileID.txt"), "Text file to convert from simulation ID to Tile Identifier"} |
|
bool | m_save_emulated_var = true |
|
std::unordered_map< uint32_t, std::vector< uint64_t > > | m_map_TTower2SCellsEM |
|
std::unordered_map< uint32_t, std::vector< uint64_t > > | m_map_TTower2SCellsHAD |
|
std::unordered_map< uint32_t, std::tuple< uint32_t, float, float > > | m_map_TTower2Tile |
|
DataObjIDColl | m_extendedExtraObjects |
| Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks. More...
|
|
StoreGateSvc_t | m_evtStore |
| Pointer to StoreGate (event store by default) More...
|
|
StoreGateSvc_t | m_detStore |
| Pointer to StoreGate (detector store by default) More...
|
|
std::vector< SG::VarHandleKeyArray * > | m_vhka |
|
bool | m_varHandleArraysDeclared |
|
Definition at line 33 of file jFexTower2SCellDecorator.h.
◆ StoreGateSvc_t
◆ jFexTower2SCellDecorator()
LVL1::jFexTower2SCellDecorator::jFexTower2SCellDecorator |
( |
const std::string & |
name, |
|
|
ISvcLocator * |
svc |
|
) |
| |
◆ cardinality()
Cardinality (Maximum number of clones that can exist) special value 0 means that algorithm is reentrant.
Override this to return 0 for reentrant algorithms.
Override this to return 0 for reentrant algorithms.
Definition at line 75 of file AthCommonReentrantAlgorithm.cxx.
◆ declareGaudiProperty() [1/4]
specialization for handling Gaudi::Property<SG::VarHandleKeyArray>
Definition at line 170 of file AthCommonDataStore.h.
175 hndl.documentation());
◆ declareGaudiProperty() [2/4]
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
161 hndl.documentation());
◆ declareGaudiProperty() [3/4]
specialization for handling Gaudi::Property<SG::VarHandleBase>
Definition at line 184 of file AthCommonDataStore.h.
189 hndl.documentation());
◆ declareGaudiProperty() [4/4]
◆ declareProperty() [1/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleBase
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 245 of file AthCommonDataStore.h.
250 this->declare(hndl.
vhKey());
251 hndl.
vhKey().setOwner(
this);
◆ declareProperty() [2/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleKey
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 221 of file AthCommonDataStore.h.
◆ declareProperty() [3/6]
◆ declareProperty() [4/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This is the generic version, for types that do not derive from SG::VarHandleKey
. It just forwards to the base class version of declareProperty
.
Definition at line 333 of file AthCommonDataStore.h.
◆ declareProperty() [5/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This dispatches to either the generic declareProperty
or the one for VarHandle/Key/KeyArray.
Definition at line 352 of file AthCommonDataStore.h.
◆ declareProperty() [6/6]
◆ detStore()
◆ evtStore() [1/2]
◆ evtStore() [2/2]
◆ execute()
StatusCode LVL1::jFexTower2SCellDecorator::execute |
( |
const EventContext & |
ctx | ) |
const |
|
overridevirtual |
Function executing the algorithm.
Definition at line 87 of file jFexTower2SCellDecorator.cxx.
91 if(!ScellContainer.isValid()) {
92 ATH_MSG_ERROR(
"Could not retrieve collection " << ScellContainer.key() );
93 return StatusCode::FAILURE;
98 if(!triggerTowerContainer.isValid()) {
99 ATH_MSG_ERROR(
"Could not retrieve collection " << triggerTowerContainer.key() );
100 return StatusCode::FAILURE;
107 return StatusCode::FAILURE;
110 if(ScellContainer->empty() || triggerTowerContainer->empty() ||
jTowerContainer->empty() ){
111 ATH_MSG_DEBUG(
"Nothing to decorate here, at least one container is empty. ScellContainer.size="<<ScellContainer->size() <<
" or jTowerContainer.size=" <<
jTowerContainer->size() <<
" or triggerTowerContainer.size=" << triggerTowerContainer->size() );
112 return StatusCode::SUCCESS;
116 std::unordered_map< uint64_t, const CaloCell*> map_ScellID2ptr;
118 for(
const CaloCell* scell : *ScellContainer){
119 const uint64_t ID = scell->ID().get_compact();
120 map_ScellID2ptr[
ID] = scell;
124 std::unordered_map< uint32_t, const xAOD::TriggerTower*> map_TileID2ptr;
129 if(std::abs(tower->eta())>1.5 || tower->sampling()!=1)
continue;
130 map_TileID2ptr[tower->coolId()]=tower;
151 uint32_t jFexID = jTower->jFEXtowerID();
160 std::vector<float> scEt;
161 std::vector<float> scEta;
162 std::vector<float> scPhi;
163 std::vector<int> scID;
164 std::vector<bool> scMask;
167 float TileEta = -99.0;
168 float TilePhi = -99.0;
172 const std::unordered_map< uint32_t, std::vector<uint64_t> > * ptr_TTower2Cells;
183 auto it_TTower2SCells = (*ptr_TTower2Cells).find(jFexID);
184 if(it_TTower2SCells == (*ptr_TTower2Cells).end()) {
185 ATH_MSG_ERROR(
"ID: "<<jFexID<<
" not found on map m_map_TTower2SCellsEM/HAD");
186 return StatusCode::FAILURE;
190 for (
auto const& SCellID : it_TTower2SCells->second ) {
193 auto it_ScellID2ptr = map_ScellID2ptr.find(SCellID);
194 if(it_ScellID2ptr == map_ScellID2ptr.end()) {
195 ATH_MSG_DEBUG(
"Scell ID: 0x"<<std::hex<<(SCellID >> 32)<<std::dec<<
" not found on map map_ScellID2ptr");
198 scEta.push_back(-99);
199 scPhi.push_back(-99);
201 scID.push_back( SCellID >> 32 );
206 const CaloCell* myCell = it_ScellID2ptr->second;
209 bool isMasked =
m_apply_masking ? ((myCell)->provenance()&0x80) :
false;
210 bool isInvalid =
m_apply_masking ? ((myCell)->provenance()&0x40) :
false;
212 invalid &= isInvalid;
215 if( isMasked || isInvalid ) {
220 scEta.push_back(myCell->
eta());
221 scPhi.push_back(myCell->
phi());
223 scID.push_back( SCellID >> 32 );
224 scMask.push_back( isMasked );
229 float tmpSCellEt = 0;
230 for(
const auto& tmpet : scEt){
235 unsigned int count_scMask =0;
236 for(
const bool masked : scMask){
237 if(masked) count_scMask++;
240 SCellEt = tmpSCellEt*12.5;
242 if(count_scMask==scMask.size()) {
245 jFexEtencoded = 4095;
257 ATH_MSG_ERROR(
"ID: "<<jFexID<<
" not found on map m_map_TTower2Tile");
258 return StatusCode::FAILURE;
264 auto it_TileID2ptr = map_TileID2ptr.find(
TileID);
265 if(it_TileID2ptr == map_TileID2ptr.end()) {
274 jFexEtencoded = (it_TileID2ptr->second)->cpET();
275 TileEt = jFexEtencoded*500;
276 TileEta = (it_TileID2ptr->second)->
eta();
282 jFexEt = jTower->jTowerEt()*500;
289 (*jTowerSCellEt) (*jTower) = std::move(scEt);
290 (*jTowerSCellEta) (*jTower) = std::move(scEta);
291 (*jTowerSCellPhi) (*jTower) = std::move(scPhi);
292 (*jTowerSCellID) (*jTower) = std::move(scID);
293 (*jTowerSCellMask) (*jTower) = std::move(scMask);
294 (*jTowerTileEt) (*jTower) =
static_cast<int>( TileEt );
295 (*jTowerTileEta) (*jTower) = TileEta;
296 (*jTowerTilePhi) (*jTower) = TilePhi;
299 jTowerEtMeV (*jTower) = jFexEt;
300 SCellEtMeV (*jTower) = SCellEt;
301 TileEtMeV (*jTower) = TileEt;
304 (*jTowerEtencoded) (*jTower) = jFexEtencoded;
311 return StatusCode::SUCCESS;
◆ extraDeps_update_handler()
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
◆ extraOutputDeps()
Return the list of extra output dependencies.
This list is extended to include symlinks implied by inheritance relations.
Definition at line 94 of file AthCommonReentrantAlgorithm.cxx.
◆ filterPassed()
◆ initialize()
StatusCode LVL1::jFexTower2SCellDecorator::initialize |
( |
| ) |
|
|
overridevirtual |
Function initialising the algorithm.
Definition at line 49 of file jFexTower2SCellDecorator.cxx.
51 ATH_MSG_INFO(
"Initializing L1CaloFEXTools/jFexTower2SCellDecorator algorithm with name: "<<
name());
84 return StatusCode::SUCCESS;
◆ inputHandles()
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.
◆ isBadSCellID()
bool LVL1::jFexTower2SCellDecorator::isBadSCellID |
( |
const std::string & |
ID | ) |
const |
|
private |
◆ isClonable()
◆ msg() [1/2]
◆ msg() [2/2]
◆ msgLvl()
◆ outputHandles()
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.
◆ ReadSCfromFile()
StatusCode LVL1::jFexTower2SCellDecorator::ReadSCfromFile |
( |
const std::string & |
fileName | ) |
|
|
private |
Definition at line 315 of file jFexTower2SCellDecorator.cxx.
322 if ( !myfile.is_open() ){
324 return StatusCode::FAILURE;
328 while ( std::getline (myfile, myline) ) {
329 std::vector<uint64_t> SCellvectorEM;
330 SCellvectorEM.clear();
331 std::vector<uint64_t> SCellvectorHAD;
332 SCellvectorHAD.clear();
335 if(myline[0] ==
'#')
continue;
338 std::stringstream oneSCellID(myline);
341 std::string substr =
"";
345 while(std::getline(oneSCellID, substr,
' '))
349 TTID = std::stoi(substr);
354 return StatusCode::FAILURE;
358 uint64_t scid_uint64 = std::strtoull(substr.c_str(),
nullptr, 0);
361 if(scid_uint64 == 0xffffffffffffffff)
continue;
364 if(
elem<14) SCellvectorEM.push_back(scid_uint64);
365 else SCellvectorHAD.push_back(scid_uint64);
375 return StatusCode::SUCCESS;
◆ ReadTilefromFile()
StatusCode LVL1::jFexTower2SCellDecorator::ReadTilefromFile |
( |
const std::string & |
fileName | ) |
|
|
private |
Definition at line 391 of file jFexTower2SCellDecorator.cxx.
398 if ( !myfile.is_open() ){
400 return StatusCode::FAILURE;
404 while ( std::getline (myfile, myline) ) {
407 if(myline[0] ==
'#')
continue;
410 std::stringstream oneLine(myline);
412 std::vector<std::string> elements;
413 std::string element =
"";
415 while(std::getline(oneLine, element,
' ')){
416 elements.push_back(element);
419 if(elements.size() != 4){
420 ATH_MSG_ERROR(
"Invalid number of element in " << myline <<
". Expecting 4 elements {jFexID, TileID, eta, phi}");
421 return StatusCode::FAILURE;
424 uint32_t jFexID = std::stoi( elements.at(0) );
426 float eta = std::stof( elements.at(2) );
427 float phi = std::stof( elements.at(3) );
434 return StatusCode::SUCCESS;
◆ renounce()
◆ renounceArray()
◆ setFilterPassed()
◆ sysExecute()
Execute an algorithm.
We override this in order to work around an issue with the Algorithm base class storing the event context in a member variable that can cause crashes in MT jobs.
Definition at line 85 of file AthCommonReentrantAlgorithm.cxx.
◆ sysInitialize()
Override sysInitialize.
Override sysInitialize from the base class.
Loop through all output handles, and if they're WriteCondHandles, automatically register them and this Algorithm with the CondSvc
Scan through all outputHandles, and if they're WriteCondHandles, register them with the CondSvc
Reimplemented from AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >.
Reimplemented in InputMakerBase, and HypoBase.
Definition at line 61 of file AthCommonReentrantAlgorithm.cxx.
110 if (
sc.isFailure()) {
118 if ( cs.retrieve().isFailure() ) {
120 return StatusCode::SUCCESS;
122 if (cs->regHandle(
this,*
h).isFailure()) {
123 sc = StatusCode::FAILURE;
124 ATH_MSG_ERROR(
"unable to register WriteCondHandle " <<
h->fullKey()
◆ sysStart()
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
◆ updateVHKA()
◆ m_apply_masking
Gaudi::Property<bool> LVL1::jFexTower2SCellDecorator::m_apply_masking {this, "SCellMasking", true , "Applies masking. Only use for data"} |
|
private |
◆ m_detStore
◆ m_evtStore
◆ m_extendedExtraObjects
Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.
Empty if no symlinks were found.
Definition at line 114 of file AthCommonReentrantAlgorithm.h.
◆ m_jFEX2Scellmapping
Gaudi::Property<std::string> LVL1::jFexTower2SCellDecorator::m_jFEX2Scellmapping {this, "jFEX2SCmapping" , PathResolver::find_calib_file("L1CaloFEXByteStream/2022-10-19/jfex_SCID.txt") , "Text file to convert from simulation ID to SuperCell Identifier"} |
|
private |
◆ m_jFEX2Tilemapping
Gaudi::Property<std::string> LVL1::jFexTower2SCellDecorator::m_jFEX2Tilemapping {this, "jFEX2Tilemapping", PathResolver::find_calib_file("L1CaloFEXByteStream/2022-10-19/jfex_TileID.txt"), "Text file to convert from simulation ID to Tile Identifier"} |
|
private |
◆ m_jTowerEtdecorKey
◆ m_jtowerEtMeVdecorKey
◆ m_jTowersReadKey
◆ m_map_TTower2SCellsEM
std::unordered_map< uint32_t, std::vector<uint64_t> > LVL1::jFexTower2SCellDecorator::m_map_TTower2SCellsEM |
|
private |
◆ m_map_TTower2SCellsHAD
std::unordered_map< uint32_t, std::vector<uint64_t> > LVL1::jFexTower2SCellDecorator::m_map_TTower2SCellsHAD |
|
private |
◆ m_map_TTower2Tile
std::unordered_map< uint32_t, std::tuple<uint32_t,float,float> > LVL1::jFexTower2SCellDecorator::m_map_TTower2Tile |
|
private |
◆ m_save_emulated_var
bool LVL1::jFexTower2SCellDecorator::m_save_emulated_var = true |
|
private |
◆ m_save_extras
Gaudi::Property<bool> LVL1::jFexTower2SCellDecorator::m_save_extras {this, "ExtraInfo" , false, "Saves additional decorated information "} |
|
private |
◆ m_SCellEtadecorKey
◆ m_SCellEtdecorKey
◆ m_SCellEtMeVdecorKey
◆ m_SCellIDdecorKey
◆ m_SCellKey
◆ m_SCellMaskdecorKey
◆ m_SCellPhidecorKey
◆ m_TileEtadecorKey
◆ m_TileEtdecorKey
◆ m_TileEtMeVdecorKey
◆ m_TilePhidecorKey
◆ m_triggerTowerKey
◆ m_varHandleArraysDeclared
◆ m_vhka
The documentation for this class was generated from the following files:
SG::ReadHandleKey< CaloCellContainer > m_SCellKey
Container class for jTower.
Gaudi::Property< std::string > m_jFEX2Scellmapping
virtual double phi() const override final
get phi (through CaloDetDescrElement)
SG::WriteDecorHandleKey< xAOD::jFexTowerContainer > m_SCellMaskdecorKey
Scalar phi() const
phi method
std::unordered_map< uint32_t, std::vector< uint64_t > > m_map_TTower2SCellsEM
std::vector< Identifier > ID
Scalar eta() const
pseudorapidity method
bool isBadSCellID(const std::string &) const
float round(const float toRound, const unsigned int decimals)
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)
SG::WriteDecorHandleKey< xAOD::jFexTowerContainer > m_TileEtadecorKey
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
SG::ReadHandleKey< xAOD::jFexTowerContainer > m_jTowersReadKey
Gaudi::Property< bool > m_save_extras
std::unordered_map< uint32_t, std::tuple< uint32_t, float, float > > m_map_TTower2Tile
virtual void setOwner(IDataHandleHolder *o)=0
double energy() const
get energy (data member)
An algorithm that can be simultaneously executed in multiple threads.
static int Expand(unsigned int code)
Uncompress data.
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
virtual const DataObjIDColl & extraOutputDeps() const override
Return the list of extra output dependencies.
SG::WriteDecorHandleKey< xAOD::jFexTowerContainer > m_TileEtdecorKey
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
SG::WriteDecorHandleKey< xAOD::jFexTowerContainer > m_TileEtMeVdecorKey
SG::WriteDecorHandleKey< xAOD::jFexTowerContainer > m_SCellEtMeVdecorKey
Helper class for TileCal offline identifiers.
::StatusCode StatusCode
StatusCode definition for legacy code.
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
static unsigned int Compress(float floatEt, bool empty=false)
Compress data.
Handle class for adding a decoration to an object.
virtual StatusCode sysExecute(const EventContext &ctx) override
Execute an algorithm.
Description of TriggerTower_v2.
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
AthROOTErrorHandlerSvc * svc
SG::WriteDecorHandleKey< xAOD::jFexTowerContainer > m_SCellEtdecorKey
StatusCode ReadSCfromFile(const std::string &)
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
Gaudi::Property< bool > m_apply_masking
std::unordered_map< uint32_t, std::vector< uint64_t > > m_map_TTower2SCellsHAD
SG::WriteDecorHandleKey< xAOD::jFexTowerContainer > m_SCellPhidecorKey
StatusCode ReadTilefromFile(const std::string &)
SG::WriteDecorHandleKey< xAOD::jFexTowerContainer > m_jtowerEtMeVdecorKey
Data object for each calorimeter readout cell.
#define ATH_MSG_WARNING(x)
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
SG::WriteDecorHandleKey< xAOD::jFexTowerContainer > m_TilePhidecorKey
virtual StatusCode sysInitialize() override
Override sysInitialize.
SG::WriteDecorHandleKey< xAOD::jFexTowerContainer > m_SCellEtadecorKey
SG::ReadHandleKey< xAOD::TriggerTowerContainer > m_triggerTowerKey
Class describing input data of a LVL1 jFEX.
DataObjIDColl m_extendedExtraObjects
Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.
Gaudi::Property< std::string > m_jFEX2Tilemapping
virtual double eta() const override final
get eta (through CaloDetDescrElement)
SG::WriteDecorHandleKey< xAOD::jFexTowerContainer > m_SCellIDdecorKey
SG::WriteDecorHandleKey< xAOD::jFexTowerContainer > m_jTowerEtdecorKey