 |
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, 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 |
|
|
virtual std::array< float, 2 > | getEtaPhi (uint) override |
|
virtual std::array< int, 2 > | getEtEmHad (uint) const override |
|
bool | getEMSat (unsigned int ttID) |
|
bool | isValidSeed (uint seedTTID) const |
|
void | findAndFillNextTT (jFEXForwardElecInfo &elCluster, int neta, int nphi) |
|
StatusCode | ReadfromFile (const std::string &, std::unordered_map< unsigned int, std::vector< unsigned int > > &) 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< 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 25 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 231 of file jFEXForwardElecAlgo.cxx.
232 std::unordered_map<uint, LVL1::jFEXForwardElecInfo> clusterList;
233 std::vector<int> lower_centre_neta;
234 std::vector<int> upper_centre_neta;
263 for(
uint region = 0; region<3; region++) {
264 for(
int nphi = lower_centre_nphi[region]; nphi < upper_centre_nphi[region]; nphi++) {
265 for(
int neta = lower_centre_neta[region]; neta < upper_centre_neta[region]; neta++) {
275 if(ttID == 0)
continue;
280 jFEXForwardElecInfo elCluster;
281 elCluster.setup(
m_jfex, ttID, neta, nphi);
282 const auto [centreTT_eta, centreTT_phi] =
getEtaPhi(ttID);
283 const auto [centreTT_EtEM, centreTT_EtHad] =
getEtEmHad(ttID);
284 elCluster.setCoreTTfPhi(centreTT_phi);
285 elCluster.setCoreTTfEta(centreTT_eta);
286 elCluster.setCoreTTEtEM(centreTT_EtEM);
287 elCluster.setCoreTTSatEM(
getEMSat(ttID));
288 elCluster.setNextTTEtEM(0);
289 elCluster.setNextTTID(0);
290 elCluster.setTTEtEMiso(0);
298 auto it_iso_map =
m_IsoMap.find(ttID);
300 for(
const auto& gtt : it_iso_map->second){
304 elCluster.setTTEtEMiso(sumEtEM-elCluster.getNextTTEtEM());
306 ATH_MSG_ERROR(
"Could not find TT" << ttID <<
" in jEM isolation map file.");
310 if(fabs(centreTT_eta) < 3.2) {
312 elCluster.setTTEtHad1(centreTT_EtHad);
313 elCluster.setTTEtHad2(0);
320 for(
const auto& gtt : it_frac1_map->second){
322 sumEtHad1 += tmp_EtHad;
324 elCluster.setTTEtHad1(sumEtHad1);
326 ATH_MSG_ERROR(
"Could not find TT" << ttID <<
" in jEM frac1 map file.");
335 for(
const auto& gtt : it_frac2_map->second) {
337 sumEtHad2 += tmp_EtHad;
339 elCluster.setTTEtHad2(sumEtHad2);
341 ATH_MSG_ERROR(
"Could not find TT" << ttID <<
" in jEM frac2 map file.");
347 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 146 of file jFEXForwardElecAlgo.cxx.
148 int direction =
m_jfex < 3 ? -1 : +1;
150 std::vector<std::pair<int,int>> neighbours;
156 neighbours = { {neta , nphi+1},
164 neighbours = { {neta, nphi+1},
166 {neta-direction, nphi},
167 {neta+direction, nphi/2}
172 neighbours = { {neta, nphi+1},
174 {neta+direction, nphi},
175 {neta-direction, 2*nphi+0},
176 {neta-direction, 2*nphi+1},
181 neighbours = { {neta , nphi+1},
189 neighbours = { {neta, nphi+1},
191 {neta-direction, nphi},
192 {neta+2*direction, nphi/2}
198 neighbours = { {neta-2*direction, 2*nphi+0},
199 {neta-2*direction, 2*nphi+1},
200 {neta+direction, nphi}
205 neighbours = { {neta+1, nphi},
211 neighbours = { {neta-direction, nphi}
214 ATH_MSG_ERROR(
"Eta index " << neta <<
" (side: "<< (direction>0?
"A":
"C") <<
") does not seem to belong to any valid seed region");
218 for (
const auto& candEtaPhi: neighbours) {
220 const auto [candTT_EtEM, candTT_EtHad] =
getEtEmHad(candID);
221 if (candTT_EtEM > elCluster.getNextTTEtEM()) {
222 elCluster.setNextTTEtEM(candTT_EtEM);
223 elCluster.setNextTTID(candID);
224 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 | ) |
const |
|
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 | ) |
const |
|
private |
Definition at line 110 of file jFEXForwardElecAlgo.cxx.
111 auto [centreTT_EtEM,centreTT_EtHad] =
getEtEmHad(seedTTID);
116 ATH_MSG_ERROR(
"Could not find TT" << seedTTID <<
" in the seach (>) local maxima for tau/em file.");
119 for (
const auto& gtt : it_seed_map->second ){
121 if(tmp_EtEM>=centreTT_EtEM) {
131 ATH_MSG_ERROR(
"Could not find TT" << seedTTID <<
" in the seach (>=) local maxima for tau/em file.");
134 for (
const auto& gtt : it_seed_map->second ){
136 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 |
|
) |
| const |
|
private |
Definition at line 354 of file jFEXForwardElecAlgo.cxx.
358 if ( !myfile.is_open() ){
360 return StatusCode::FAILURE;
364 while ( std::getline (myfile, myline) ) {
366 if(myline[0] ==
'#')
continue;
369 std::stringstream oneLine(myline);
372 std::vector<unsigned int> elements;
374 while(std::getline(oneLine, element,
' '))
376 elements.push_back(std::stoi(element));
380 if(elements.size() < 1){
382 return StatusCode::FAILURE;
386 unsigned int TTID = elements.at(0);
389 elements.erase(elements.begin());
390 fillingMap[TTID] = elements;
394 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)
constexpr static int jFEX_algoSpace_C_EMIE_end_eta
SG::ReadHandleKey< LVL1::jTowerContainer > m_jTowerContainerKey
Gaudi::Property< std::string > m_SearchGTauStr
constexpr static int jFEX_algoSpace_C_FCAL_end_eta
std::unordered_map< int, std::vector< int > > m_map_Etvalues_EM
bool isValidSeed(uint seedTTID) const
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
StatusCode ReadfromFile(const std::string &, std::unordered_map< unsigned int, std::vector< unsigned int > > &) const
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
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
constexpr static int jFEX_algoSpace_C_EMIE_start_eta
Gaudi::Property< std::string > m_Frac1MapStr
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
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) const 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
constexpr static int jFEX_algoSpace_FCAL_start_phi