|
ATLAS Offline Software
|
#include <jFEXForwardElecAlgo.h>
|
| jFEXForwardElecAlgo (const std::string &type, const std::string &name, const IInterface *parent) |
| Constructors. More...
|
|
virtual StatusCode | initialize () override |
| standard Athena-Algorithm method More...
|
|
virtual | ~jFEXForwardElecAlgo () |
| Destructor. More...
|
|
virtual StatusCode | safetyTest () override |
| Standard methods. More...
|
|
virtual StatusCode | reset () override |
|
virtual void | setup (int inputTable[FEXAlgoSpaceDefs::jFEX_algoSpace_height][FEXAlgoSpaceDefs::jFEX_wide_algoSpace_width], int jfex, int fpga) override |
|
virtual std::unordered_map< uint, jFEXForwardElecInfo > | calculateEDM () override |
|
virtual void | setFPGAEnergy (std::unordered_map< int, std::vector< int > > etmapEM, std::unordered_map< int, std::vector< int > > etmapHAD) override |
|
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 | sysInitialize () override |
| Perform system initialization for an algorithm. 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 > &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 |
|
|
virtual std::array< float, 2 > | getEtaPhi (uint) override |
|
virtual std::array< int, 2 > | getEtEmHad (uint) override |
|
bool | getEMSat (unsigned int ttID) |
|
bool | isValidSeed (uint seedTTID) |
|
void | findAndFillNextTT (jFEXForwardElecInfo &elCluster, int neta, int nphi) |
|
StatusCode | ReadfromFile (const std::string &, std::unordered_map< unsigned int, std::vector< unsigned int > > &) |
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKey> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyArrayType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleType &) |
| specialization for handling Gaudi::Property<SG::VarHandleBase> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &t, const SG::NotHandleType &) |
| specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More...
|
|
|
SG::ReadHandleKey< LVL1::jTowerContainer > | m_jTowerContainerKey {this, "MyjTowers", "jTowerContainer", "jTower input container"} |
|
SG::ReadHandle< jTowerContainer > | m_jTowerContainer |
|
std::unordered_map< int, std::vector< int > > | m_map_Etvalues_EM |
|
std::unordered_map< int, std::vector< int > > | m_map_Etvalues_HAD |
|
int | m_jFEXalgoTowerID [FEXAlgoSpaceDefs::jFEX_algoSpace_height][FEXAlgoSpaceDefs::jFEX_wide_algoSpace_width] |
|
int | m_jfex |
|
int | m_fpga |
|
const int | m_Edge_dR2 = std::round( (std::pow(2*M_PI/32,2)) * 1e5 ) |
|
const int | m_Edge_dR3 = std::round( (std::pow(3*M_PI/32,2)) * 1e5 ) |
|
const int | m_Edge_dR4 = std::round( (std::pow(4*M_PI/32,2)) * 1e5 ) |
|
Gaudi::Property< std::string > | m_IsoMapStr {this, "IsoMap", "Run3L1CaloSimulation/JetMaps/2024_04_09/jFEX_FWD_iso.dat", "Contains Trigger towers in (forward) EM layer used for isolation"} |
|
Gaudi::Property< std::string > | m_Frac1MapStr {this, "Frac1Map", "Run3L1CaloSimulation/JetMaps/2024_04_09/jFEX_FWD_frac.dat", "Contains Trigger towers in FCal layer2 used for hadronic fraction 1 discriminant"} |
|
Gaudi::Property< std::string > | m_Frac2MapStr {this, "Frac2Map", "Run3L1CaloSimulation/JetMaps/2024_04_09/jFEX_FWD_frac2.dat", "Contains Trigger towers in FCal layer3 used for hadronic fraction 2 discriminant"} |
|
Gaudi::Property< std::string > | m_SearchGTauStr {this, "SearchGTauMap", "Run3L1CaloSimulation/JetMaps/2024_04_09/jFEX_FWD_searchGTau.dat" , "Contains Trigger tower to find local max (greater than)"} |
|
Gaudi::Property< std::string > | m_SearchGeTauStr {this, "SearchGeTauMap", "Run3L1CaloSimulation/JetMaps/2024_04_09/jFEX_FWD_searchGeTau.dat", "Contains Trigger tower to find local max (greater or equal than)"} |
|
std::unordered_map< unsigned int, std::vector< unsigned int > > | m_SeedRingMap |
|
std::unordered_map< unsigned int, std::vector< unsigned int > > | m_1stRingMap |
|
std::unordered_map< unsigned int, std::vector< unsigned int > > | m_IsoMap |
|
std::unordered_map< unsigned int, std::vector< unsigned int > > | m_Frac1Map |
|
std::unordered_map< unsigned int, std::vector< unsigned int > > | m_Frac2Map |
|
std::unordered_map< unsigned int, std::vector< unsigned int > > | m_SearchGTauMap |
|
std::unordered_map< unsigned int, std::vector< unsigned int > > | m_SearchGeTauMap |
|
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 30 of file jFEXForwardElecAlgo.h.
◆ StoreGateSvc_t
◆ jFEXForwardElecAlgo()
LVL1::jFEXForwardElecAlgo::jFEXForwardElecAlgo |
( |
const std::string & |
type, |
|
|
const std::string & |
name, |
|
|
const IInterface * |
parent |
|
) |
| |
◆ ~jFEXForwardElecAlgo()
LVL1::jFEXForwardElecAlgo::~jFEXForwardElecAlgo |
( |
| ) |
|
|
virtual |
◆ calculateEDM()
Implements LVL1::IjFEXForwardElecAlgo.
Definition at line 236 of file jFEXForwardElecAlgo.cxx.
237 std::unordered_map<uint, LVL1::jFEXForwardElecInfo> clusterList;
238 std::vector<int> lower_centre_neta;
239 std::vector<int> upper_centre_neta;
268 for(
uint region = 0; region<3; region++) {
269 for(
int nphi = lower_centre_nphi[region]; nphi < upper_centre_nphi[region]; nphi++) {
270 for(
int neta = lower_centre_neta[region]; neta < upper_centre_neta[region]; neta++) {
280 if(ttID == 0)
continue;
285 jFEXForwardElecInfo elCluster;
286 elCluster.setup(
m_jfex, ttID, neta, nphi);
287 const auto [centreTT_eta, centreTT_phi] =
getEtaPhi(ttID);
288 const auto [centreTT_EtEM, centreTT_EtHad] =
getEtEmHad(ttID);
289 elCluster.setCoreTTfPhi(centreTT_phi);
290 elCluster.setCoreTTfEta(centreTT_eta);
291 elCluster.setCoreTTEtEM(centreTT_EtEM);
292 elCluster.setCoreTTSatEM(
getEMSat(ttID));
293 elCluster.setNextTTEtEM(0);
294 elCluster.setNextTTID(0);
295 elCluster.setTTEtEMiso(0);
303 auto it_iso_map =
m_IsoMap.find(ttID);
305 for(
const auto& gtt : it_iso_map->second){
309 elCluster.setTTEtEMiso(sumEtEM-elCluster.getNextTTEtEM());
311 ATH_MSG_ERROR(
"Could not find TT" << ttID <<
" in jEM isolation map file.");
315 if(fabs(centreTT_eta) < 3.2) {
317 elCluster.setTTEtHad1(centreTT_EtHad);
318 elCluster.setTTEtHad2(0);
325 for(
const auto& gtt : it_frac1_map->second){
327 sumEtHad1 += tmp_EtHad;
329 elCluster.setTTEtHad1(sumEtHad1);
331 ATH_MSG_ERROR(
"Could not find TT" << ttID <<
" in jEM frac1 map file.");
340 for(
const auto& gtt : it_frac2_map->second) {
342 sumEtHad2 += tmp_EtHad;
344 elCluster.setTTEtHad2(sumEtHad2);
346 ATH_MSG_ERROR(
"Could not find TT" << ttID <<
" in jEM frac2 map file.");
352 clusterList[ttID] = elCluster;
◆ 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);
253 return PBASE::declareProperty(
name,hndl,
doc);
◆ 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.
229 return PBASE::declareProperty(
name,hndl,
doc);
◆ 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.
338 return PBASE::declareProperty(
name, property,
doc);
◆ 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]
◆ 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
◆ findAndFillNextTT()
void LVL1::jFEXForwardElecAlgo::findAndFillNextTT |
( |
jFEXForwardElecInfo & |
elCluster, |
|
|
int |
neta, |
|
|
int |
nphi |
|
) |
| |
|
private |
Definition at line 151 of file jFEXForwardElecAlgo.cxx.
153 int direction =
m_jfex < 3 ? -1 : +1;
155 std::vector<std::pair<int,int>> neighbours;
161 neighbours = { {neta , nphi+1},
169 neighbours = { {neta, nphi+1},
171 {neta-direction, nphi},
172 {neta+direction, nphi/2}
177 neighbours = { {neta, nphi+1},
179 {neta+direction, nphi},
180 {neta-direction, 2*nphi+0},
181 {neta-direction, 2*nphi+1},
186 neighbours = { {neta , nphi+1},
194 neighbours = { {neta, nphi+1},
196 {neta-direction, nphi},
197 {neta+2*direction, nphi/2}
203 neighbours = { {neta-2*direction, 2*nphi+0},
204 {neta-2*direction, 2*nphi+1},
205 {neta+direction, nphi}
210 neighbours = { {neta+1, nphi},
216 neighbours = { {neta-direction, nphi}
219 ATH_MSG_ERROR(
"Eta index " << neta <<
" (side: "<< (direction>0?
"A":
"C") <<
") does not seem to belong to any valid seed region");
223 for (
const auto& candEtaPhi: neighbours) {
225 const auto [candTT_EtEM, candTT_EtHad] =
getEtEmHad(candID);
226 if (candTT_EtEM > elCluster.getNextTTEtEM()) {
227 elCluster.setNextTTEtEM(candTT_EtEM);
228 elCluster.setNextTTID(candID);
229 elCluster.setNextTTSatEM(
getEMSat(candID));
◆ getEMSat()
bool LVL1::jFEXForwardElecAlgo::getEMSat |
( |
unsigned int |
ttID | ) |
|
|
private |
◆ getEtaPhi()
std::array< float, 2 > LVL1::jFEXForwardElecAlgo::getEtaPhi |
( |
uint |
ttID | ) |
|
|
overrideprivatevirtual |
◆ getEtEmHad()
std::array< int, 2 > LVL1::jFEXForwardElecAlgo::getEtEmHad |
( |
uint |
ttID | ) |
|
|
overrideprivatevirtual |
◆ initialize()
StatusCode LVL1::jFEXForwardElecAlgo::initialize |
( |
| ) |
|
|
overridevirtual |
◆ 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.
◆ interfaceID()
const InterfaceID & LVL1::IjFEXForwardElecAlgo::interfaceID |
( |
| ) |
|
|
inlinestaticinherited |
◆ isValidSeed()
bool LVL1::jFEXForwardElecAlgo::isValidSeed |
( |
uint |
seedTTID | ) |
|
|
private |
Definition at line 115 of file jFEXForwardElecAlgo.cxx.
116 auto [centreTT_EtEM,centreTT_EtHad] =
getEtEmHad(seedTTID);
121 ATH_MSG_ERROR(
"Could not find TT" << seedTTID <<
" in the seach (>) local maxima for tau/em file.");
124 for (
const auto& gtt : it_seed_map->second ){
126 if(tmp_EtEM>=centreTT_EtEM) {
136 ATH_MSG_ERROR(
"Could not find TT" << seedTTID <<
" in the seach (>=) local maxima for tau/em file.");
139 for (
const auto& gtt : it_seed_map->second ){
141 if( tmp_EtEM>centreTT_EtEM) {
◆ 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.
◆ ReadfromFile()
StatusCode LVL1::jFEXForwardElecAlgo::ReadfromFile |
( |
const std::string & |
fileName, |
|
|
std::unordered_map< unsigned int, std::vector< unsigned int > > & |
fillingMap |
|
) |
| |
|
private |
Definition at line 359 of file jFEXForwardElecAlgo.cxx.
363 if ( !myfile.is_open() ){
365 return StatusCode::FAILURE;
369 while ( std::getline (myfile, myline) ) {
371 if(myline[0] ==
'#')
continue;
374 std::stringstream oneLine(myline);
377 std::vector<unsigned int> elements;
379 while(std::getline(oneLine, element,
' '))
381 elements.push_back(std::stoi(element));
385 if(elements.size() < 1){
387 return StatusCode::FAILURE;
391 unsigned int TTID = elements.at(0);
394 elements.erase(elements.begin());
395 fillingMap[TTID] = elements;
399 return StatusCode::SUCCESS;
◆ renounce()
◆ renounceArray()
◆ reset()
StatusCode LVL1::jFEXForwardElecAlgo::reset |
( |
| ) |
|
|
overridevirtual |
◆ safetyTest()
StatusCode LVL1::jFEXForwardElecAlgo::safetyTest |
( |
| ) |
|
|
overridevirtual |
◆ setFPGAEnergy()
void LVL1::jFEXForwardElecAlgo::setFPGAEnergy |
( |
std::unordered_map< int, std::vector< int > > |
etmapEM, |
|
|
std::unordered_map< int, std::vector< int > > |
etmapHAD |
|
) |
| |
|
overridevirtual |
◆ setup()
void LVL1::jFEXForwardElecAlgo::setup |
( |
int |
inputTable[FEXAlgoSpaceDefs::jFEX_algoSpace_height][FEXAlgoSpaceDefs::jFEX_wide_algoSpace_width], |
|
|
int |
jfex, |
|
|
int |
fpga |
|
) |
| |
|
overridevirtual |
◆ sysInitialize()
◆ 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_1stRingMap
std::unordered_map<unsigned int, std::vector<unsigned int> > LVL1::jFEXForwardElecAlgo::m_1stRingMap |
|
private |
◆ m_2PI
constexpr float LVL1::jFEXForwardElecAlgo::m_2PI = 2*M_PI |
|
staticconstexprprivate |
◆ m_detStore
◆ m_Edge_dR2
const int LVL1::jFEXForwardElecAlgo::m_Edge_dR2 = std::round( (std::pow(2*M_PI/32,2)) * 1e5 ) |
|
private |
◆ m_Edge_dR3
const int LVL1::jFEXForwardElecAlgo::m_Edge_dR3 = std::round( (std::pow(3*M_PI/32,2)) * 1e5 ) |
|
private |
◆ m_Edge_dR4
const int LVL1::jFEXForwardElecAlgo::m_Edge_dR4 = std::round( (std::pow(4*M_PI/32,2)) * 1e5 ) |
|
private |
◆ m_evtStore
◆ m_fpga
int LVL1::jFEXForwardElecAlgo::m_fpga |
|
private |
◆ m_Frac1Map
std::unordered_map<unsigned int, std::vector<unsigned int> > LVL1::jFEXForwardElecAlgo::m_Frac1Map |
|
private |
◆ m_Frac1MapStr
Gaudi::Property<std::string> LVL1::jFEXForwardElecAlgo::m_Frac1MapStr {this, "Frac1Map", "Run3L1CaloSimulation/JetMaps/2024_04_09/jFEX_FWD_frac.dat", "Contains Trigger towers in FCal layer2 used for hadronic fraction 1 discriminant"} |
|
private |
◆ m_Frac2Map
std::unordered_map<unsigned int, std::vector<unsigned int> > LVL1::jFEXForwardElecAlgo::m_Frac2Map |
|
private |
◆ m_Frac2MapStr
Gaudi::Property<std::string> LVL1::jFEXForwardElecAlgo::m_Frac2MapStr {this, "Frac2Map", "Run3L1CaloSimulation/JetMaps/2024_04_09/jFEX_FWD_frac2.dat", "Contains Trigger towers in FCal layer3 used for hadronic fraction 2 discriminant"} |
|
private |
◆ m_IsoMap
std::unordered_map<unsigned int, std::vector<unsigned int> > LVL1::jFEXForwardElecAlgo::m_IsoMap |
|
private |
◆ m_IsoMapStr
Gaudi::Property<std::string> LVL1::jFEXForwardElecAlgo::m_IsoMapStr {this, "IsoMap", "Run3L1CaloSimulation/JetMaps/2024_04_09/jFEX_FWD_iso.dat", "Contains Trigger towers in (forward) EM layer used for isolation"} |
|
private |
◆ m_jfex
int LVL1::jFEXForwardElecAlgo::m_jfex |
|
private |
◆ m_jFEXalgoTowerID
◆ m_jTowerContainer
◆ m_jTowerContainerKey
◆ m_map_Etvalues_EM
std::unordered_map<int,std::vector<int> > LVL1::jFEXForwardElecAlgo::m_map_Etvalues_EM |
|
private |
◆ m_map_Etvalues_HAD
std::unordered_map<int,std::vector<int> > LVL1::jFEXForwardElecAlgo::m_map_Etvalues_HAD |
|
private |
◆ m_SearchGeTauMap
std::unordered_map<unsigned int, std::vector<unsigned int> > LVL1::jFEXForwardElecAlgo::m_SearchGeTauMap |
|
private |
◆ m_SearchGeTauStr
Gaudi::Property<std::string> LVL1::jFEXForwardElecAlgo::m_SearchGeTauStr {this, "SearchGeTauMap", "Run3L1CaloSimulation/JetMaps/2024_04_09/jFEX_FWD_searchGeTau.dat", "Contains Trigger tower to find local max (greater or equal than)"} |
|
private |
◆ m_SearchGTauMap
std::unordered_map<unsigned int, std::vector<unsigned int> > LVL1::jFEXForwardElecAlgo::m_SearchGTauMap |
|
private |
◆ m_SearchGTauStr
Gaudi::Property<std::string> LVL1::jFEXForwardElecAlgo::m_SearchGTauStr {this, "SearchGTauMap", "Run3L1CaloSimulation/JetMaps/2024_04_09/jFEX_FWD_searchGTau.dat" , "Contains Trigger tower to find local max (greater than)"} |
|
private |
◆ m_SeedRingMap
std::unordered_map<unsigned int, std::vector<unsigned int> > LVL1::jFEXForwardElecAlgo::m_SeedRingMap |
|
private |
◆ m_TT_Size_phi
constexpr float LVL1::jFEXForwardElecAlgo::m_TT_Size_phi = M_PI/32 |
|
staticconstexprprivate |
◆ m_varHandleArraysDeclared
◆ m_vhka
The documentation for this class was generated from the following files:
constexpr static int jFEX_algoSpace_EMB_start_phi
static std::string find_calib_file(const std::string &logical_file_name)
constexpr static int jFEX_algoSpace_EMIE_start_phi
SG::ReadHandle< jTowerContainer > m_jTowerContainer
bool getEMSat(unsigned int ttID)
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
constexpr static int jFEX_algoSpace_C_EMIE_end_eta
SG::ReadHandleKey< LVL1::jTowerContainer > m_jTowerContainerKey
Gaudi::Property< std::string > m_SearchGTauStr
StatusCode ReadfromFile(const std::string &, std::unordered_map< unsigned int, std::vector< unsigned int > > &)
constexpr static int jFEX_algoSpace_C_FCAL_end_eta
std::unordered_map< int, std::vector< int > > m_map_Etvalues_EM
constexpr static int jFEX_algoSpace_A_FCAL_end_eta
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
constexpr static int jFEX_algoSpace_C_EMB_start_eta
std::unordered_map< unsigned int, std::vector< unsigned int > > m_IsoMap
constexpr static int jFEX_algoSpace_height
constexpr static int jFEX_algoSpace_EMB_end_phi
const std::string & key() const
Return the StoreGate ID for the referenced object.
std::unordered_map< unsigned int, std::vector< unsigned int > > m_SearchGeTauMap
constexpr static int jFEX_algoSpace_C_FCAL_start_eta
constexpr static int jFEX_algoSpace_A_EMB_eta
std::unordered_map< unsigned int, std::vector< unsigned int > > m_Frac2Map
std::unordered_map< int, std::vector< int > > m_map_Etvalues_HAD
virtual void setOwner(IDataHandleHolder *o)=0
std::unordered_map< unsigned int, std::vector< unsigned int > > m_Frac1Map
constexpr static int jFEX_algoSpace_EMIE_end_phi
constexpr static int jFEX_algoSpace_A_FwdEl_start
constexpr static int jFEX_algoSpace_C_EMIE_start_eta
Gaudi::Property< std::string > m_Frac1MapStr
constexpr static int jFEX_wide_algoSpace_width
constexpr static int jFEX_algoSpace_C_EMB_end_eta
Gaudi::Property< std::string > m_IsoMapStr
Gaudi::Property< std::string > m_Frac2MapStr
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.
void findAndFillNextTT(jFEXForwardElecInfo &elCluster, int neta, int nphi)
constexpr static int jFEX_algoSpace_C_FCAL1_1st
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
constexpr static int jFEX_algoSpace_FCAL_end_phi
constexpr static int jFEX_algoSpace_A_FCAL_start_eta
constexpr static int jFEX_algoSpace_A_EMIE_eta
virtual std::array< int, 2 > getEtEmHad(uint) override
std::unordered_map< unsigned int, std::vector< unsigned int > > m_SearchGTauMap
int m_jFEXalgoTowerID[FEXAlgoSpaceDefs::jFEX_algoSpace_height][FEXAlgoSpaceDefs::jFEX_wide_algoSpace_width]
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
The jTower class is an interface object for jFEX trigger algorithms The purposes are twofold:
virtual std::array< float, 2 > getEtaPhi(uint) override
Gaudi::Property< std::string > m_SearchGeTauStr
constexpr static int jFEX_algoSpace_C_FwdEl_start
constexpr static int jFEX_algoSpace_A_FCAL1_1st
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
constexpr static int jFEX_algoSpace_FCAL_start_phi
bool isValidSeed(uint seedTTID)