|
ATLAS Offline Software
|
#include <L1CaloTTIdTools.h>
|
| L1CaloTTIdTools (const std::string &name) |
| Create a proper constructor for Athena. More...
|
|
virtual | ~L1CaloTTIdTools () |
| destructor More...
|
|
| L1CaloTTIdTools ()=delete |
| delete the big 4 More...
|
|
| L1CaloTTIdTools (const L1CaloTTIdTools &rhs)=delete |
|
| L1CaloTTIdTools (L1CaloTTIdTools &&rhs)=delete |
|
L1CaloTTIdTools & | operator= (const L1CaloTTIdTools &rhs)=delete |
|
virtual StatusCode | initialize () |
| Dummy implementation of the initialisation function. More...
|
|
virtual StatusCode | finalize () |
|
int | side (const HWIdentifier &id) |
| Declare the interface that the class provides. More...
|
|
int | sampling (const HWIdentifier &id) |
|
int | region (const HWIdentifier &id) |
|
int | eta (const HWIdentifier &id) |
|
int | phi (const HWIdentifier &id) |
|
int | layer (const HWIdentifier &id) |
|
int | PPM_type (const HWIdentifier &id) |
|
int | module_type (const HWIdentifier &id) |
|
int | barrel_endcap_fcal (const HWIdentifier &id) |
|
double | IDeta (const Identifier &id) const |
|
double | IDphi (const Identifier &id) const |
|
LVL1::InternalTriggerTower * | findInternalTriggerTower (std::map< unsigned int, LVL1::InternalTriggerTower * > *pIntTTContainer, const Identifier &towerId, bool bCreate=true) |
|
LVL1::InternalTriggerTower * | findInternalTriggerTower (std::map< unsigned int, LVL1::InternalTriggerTower * > *pIntTTContainer, double tt_phi, double tt_eta, unsigned int key, bool bCreate=true) |
|
double | etaWidth (const double eta) const |
|
double | phiWidth (const double eta) const |
|
int | pos_neg_z (const double eta) const |
|
int | regionIndex (const double eta) const |
|
int | etaIndex (const double eta) const |
|
int | phiIndex (const double eta, const double phi) const |
|
virtual void | print () const =0 |
| Print the state of the tool. More...
|
|
virtual void | print () const |
| Print the state of the tool. More...
|
|
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 |
|
Definition at line 35 of file L1CaloTTIdTools.h.
◆ StoreGateSvc_t
◆ L1CaloTTIdTools() [1/4]
LVL1::L1CaloTTIdTools::L1CaloTTIdTools |
( |
const std::string & |
name | ) |
|
◆ ~L1CaloTTIdTools()
virtual LVL1::L1CaloTTIdTools::~L1CaloTTIdTools |
( |
| ) |
|
|
inlinevirtual |
◆ L1CaloTTIdTools() [2/4]
LVL1::L1CaloTTIdTools::L1CaloTTIdTools |
( |
| ) |
|
|
delete |
◆ L1CaloTTIdTools() [3/4]
◆ L1CaloTTIdTools() [4/4]
◆ barrel_endcap_fcal()
Implements LVL1::IL1CaloTTIdTools.
Definition at line 353 of file L1CaloTTIdTools.cxx.
356 if(crate==0 || crate==1 || crate==6 || crate==7)
return 0;
357 else if(crate==2 || crate==3)
return 1;
358 else if(crate==4 || crate==5) {
360 if(ppm_type == 9)
return 2;
361 else if (ppm_type>=5 && ppm_type<=8)
return 1;
◆ 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()
◆ eta()
Implements LVL1::IL1CaloTTIdTools.
Definition at line 160 of file L1CaloTTIdTools.cxx.
164 int pos_neg = this->
side(
id);
173 if(ppm_type==7)
return 24;
175 int module_eta_offset = 0;
176 int submodule_eta_offset = 0;
177 int channel_eta_offset = 0;
179 module_eta_offset = (ppm_type-1)*4;
182 if( (submodule%4)==0 || (submodule%4)==3 ) submodule_eta_offset = 0;
183 else submodule_eta_offset = 2;
184 channel_eta_offset =
channel/2;
186 if( (submodule%4)==0 || (submodule%4)==3 ) submodule_eta_offset = 2;
187 else submodule_eta_offset = 0;
188 channel_eta_offset = 1-
channel/2;
190 return module_eta_offset + submodule_eta_offset + channel_eta_offset;
195 if(ppm_type==8)
return 2;
198 if(submodule%4==1 || submodule%4 ==2)
return 1;
201 if(submodule%4==0 || submodule%4 ==3)
return 1;
217 else if(
channel%4==1)
return 3;
218 else if(
channel%4==2)
return 1;
219 else if(
channel%4==3)
return 2;
239 else if(
channel%4==1)
return 3;
240 else if(
channel%4==2)
return 1;
241 else if(
channel%4==3)
return 2;
248 else if(
channel%4==1)
return 0;
249 else if(
channel%4==2)
return 2;
250 else if(
channel%4==3)
return 1;
270 else if(
channel%4==1)
return 0;
271 else if(
channel%4==2)
return 2;
272 else if(
channel%4==3)
return 1;
◆ etaIndex()
int LVL1::L1CaloTTIdTools::etaIndex |
( |
const double |
eta | ) |
const |
|
virtual |
◆ etaWidth()
double LVL1::L1CaloTTIdTools::etaWidth |
( |
const double |
eta | ) |
const |
|
virtual |
◆ 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
◆ finalize()
StatusCode LVL1::L1CaloTTIdTools::finalize |
( |
| ) |
|
|
virtual |
◆ findInternalTriggerTower() [1/2]
◆ findInternalTriggerTower() [2/2]
◆ getKey()
Get the (hashed) key of an object that is in the event store.
This is a bit of a special one. StoreGateSvc
and xAOD::TEvent
both provide ways for getting the SG::sgkey_t
key for an object that is in the store, based on a bare pointer. But they provide different interfaces for doing so.
In order to allow tools to efficiently perform this operation, they can use this helper function.
- See also
- asg::AsgTool::getName
- Parameters
-
ptr | The bare pointer to the object that the event store should know about |
- Returns
- The hashed key of the object in the store. If not found, an invalid (zero) key.
Definition at line 119 of file AsgTool.cxx.
121 #ifdef XAOD_STANDALONE
127 return (
proxy ==
nullptr ? 0 :
proxy->sgkey() );
128 #endif // XAOD_STANDALONE
◆ getName()
const std::string & asg::AsgTool::getName |
( |
const void * |
ptr | ) |
const |
|
inherited |
Get the name of an object that is / should be in the event store.
This is a bit of a special one. StoreGateSvc
and xAOD::TEvent
both provide ways for getting the std::string
name for an object that is in the store, based on a bare pointer. But they provide different interfaces for doing so.
In order to allow tools to efficiently perform this operation, they can use this helper function.
- See also
- asg::AsgTool::getKey
- Parameters
-
ptr | The bare pointer to the object that the event store should know about |
- Returns
- The string name of the object in the store. If not found, an empty string.
Definition at line 106 of file AsgTool.cxx.
108 #ifdef XAOD_STANDALONE
114 static const std::string
dummy =
"";
116 #endif // XAOD_STANDALONE
◆ getProperty()
template<class T >
const T* asg::AsgTool::getProperty |
( |
const std::string & |
name | ) |
const |
|
inherited |
Get one of the tool's properties.
◆ IDeta()
◆ IDphi()
◆ initialize()
StatusCode LVL1::L1CaloTTIdTools::initialize |
( |
| ) |
|
|
virtual |
Dummy implementation of the initialisation function.
It's here to allow the dual-use tools to skip defining an initialisation function. Since many are doing so...
Reimplemented from asg::AsgTool.
Definition at line 29 of file L1CaloTTIdTools.cxx.
36 sc =
detStore()->retrieve(l1ttonline_id,
"TTOnlineID");
46 sc =
detStore()->retrieve(l1ttoffline_id,
"CaloLVL1_ID");
◆ 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.
◆ layer()
◆ module_type()
Implements LVL1::IL1CaloTTIdTools.
Definition at line 366 of file L1CaloTTIdTools.cxx.
374 }
else if(crate==1) {
378 }
else if(crate==2) {
382 }
else if(crate==3) {
386 }
else if(crate==4) {
390 }
else if(crate==5) {
394 }
else if(crate==6) {
398 }
else if(crate==7) {
402 }
else if(crate==8) {
406 }
else if(crate==9) {
410 }
else if(crate==10) {
414 }
else if(crate==11) {
418 }
else if(crate==12) {
422 }
else if(crate==13) {
◆ msg() [1/2]
◆ msg() [2/2]
◆ msg_level_name()
const std::string & asg::AsgTool::msg_level_name |
( |
| ) |
const |
|
inherited |
A deprecated function for getting the message level's name.
Instead of using this, weirdly named function, user code should get the string name of the current minimum message level (in case they really need it...), with:
MSG::name( msg().level() )
This function's name doesn't follow the ATLAS coding rules, and as such will be removed in the not too distant future.
- Returns
- The string name of the current minimum message level that's printed
Definition at line 101 of file AsgTool.cxx.
◆ msgLvl()
◆ operator=()
◆ 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.
◆ phi()
Implements LVL1::IL1CaloTTIdTools.
Definition at line 282 of file L1CaloTTIdTools.cxx.
292 int module_phi_offset = 0;
293 int submodule_phi_offset = 0;
294 int channel_phi_offset = 0;
299 module_phi_offset =
int((
module-5)/4)*16;
300 submodule_phi_offset =
int(submodule/2)*2;
301 channel_phi_offset =
channel%2;
303 return module_phi_offset + submodule_phi_offset + channel_phi_offset;
309 submodule_phi_offset =
int(submodule/2)*1;
310 channel_phi_offset = 0;
312 }
else if(ppm_type==8) {
313 if(
module==9) module_phi_offset = 0;
314 if(
module==17) module_phi_offset = 16;
315 submodule_phi_offset = submodule;
316 channel_phi_offset = 0;
319 return module_phi_offset + submodule_phi_offset + channel_phi_offset;
323 if(
module==9) module_phi_offset = 0;
324 if(
module==17) module_phi_offset = 16;
325 submodule_phi_offset = submodule;
326 channel_phi_offset = 0;
328 return module_phi_offset + submodule_phi_offset + channel_phi_offset;
332 module_phi_offset = 0;
333 submodule_phi_offset = submodule;
334 channel_phi_offset = 0;
336 return module_phi_offset + submodule_phi_offset + channel_phi_offset;
◆ phiIndex()
int LVL1::L1CaloTTIdTools::phiIndex |
( |
const double |
eta, |
|
|
const double |
phi |
|
) |
| const |
|
virtual |
◆ phiWidth()
double LVL1::L1CaloTTIdTools::phiWidth |
( |
const double |
eta | ) |
const |
|
virtual |
◆ pos_neg_z()
int LVL1::L1CaloTTIdTools::pos_neg_z |
( |
const double |
eta | ) |
const |
|
virtual |
◆ PPM_type()
◆ print() [1/2]
void asg::AsgTool::print |
( |
| ) |
const |
|
virtualinherited |
Print the state of the tool.
Implements asg::IAsgTool.
Reimplemented in JetRecTool, JetFinder, JetModifiedMassDrop, JetFromPseudojet, JetReclusterer, JetReclusteringTool, JetTruthLabelingTool, JetPileupLabelingTool, HI::HIPileupTool, JetDumper, JetBottomUpSoftDrop, JetRecursiveSoftDrop, JetSoftDrop, JetConstituentsRetriever, JetSubStructureMomentToolsBase, JetSplitter, JetToolRunner, JetPruner, JetPseudojetRetriever, JetTrimmer, AsgHelloTool, and KtDeltaRTool.
Definition at line 131 of file AsgTool.cxx.
◆ print() [2/2]
virtual void asg::IAsgTool::print |
( |
| ) |
const |
|
pure virtualinherited |
Print the state of the tool.
Implemented in JetRecTool, JetFinder, JetModifiedMassDrop, JetFromPseudojet, JetReclusterer, JetReclusteringTool, JetTruthLabelingTool, JetPileupLabelingTool, HI::HIPileupTool, asg::AsgTool, JetDumper, JetBottomUpSoftDrop, JetRecursiveSoftDrop, JetSoftDrop, JetConstituentsRetriever, JetSubStructureMomentToolsBase, JetSplitter, JetToolRunner, JetPruner, JetPseudojetRetriever, JetTrimmer, AsgHelloTool, and KtDeltaRTool.
◆ region()
Implements LVL1::IL1CaloTTIdTools.
Definition at line 83 of file L1CaloTTIdTools.cxx.
88 }
else if ( ppm_type==7 && this->
side(
id)==1 ) {
91 int normalized_submodule_number = submodule%4;
94 if( normalized_submodule_number==1 || normalized_submodule_number ==2)
return 1;
105 }
else if ( ppm_type==7 && this->
side(
id)==0 ) {
108 int normalized_submodule_number = submodule%4;
111 if( normalized_submodule_number==0 || normalized_submodule_number ==3)
return 1;
122 }
else if ( ppm_type==8 && this->
side(
id)==1 ) {
129 }
else if ( ppm_type==8 && this->
side(
id)==0 ) {
136 }
else if ( ppm_type==9 ) {
◆ regionIndex()
int LVL1::L1CaloTTIdTools::regionIndex |
( |
const double |
eta | ) |
const |
|
virtual |
◆ renounce()
◆ renounceArray()
◆ sampling()
Implements LVL1::IL1CaloTTIdTools.
Definition at line 72 of file L1CaloTTIdTools.cxx.
74 if(crate==0 || crate==1 || crate==2 || crate==3)
return 0;
75 else if(crate==6 || crate ==7 )
return 1;
76 else if (crate==4 || crate ==5) {
◆ side()
Declare the interface that the class provides.
Implements LVL1::IL1CaloTTIdTools.
Definition at line 65 of file L1CaloTTIdTools.cxx.
67 if(crate==0 || crate==2 || crate==4 || crate==6)
return 1;
68 else if(crate==1 || crate==3 || crate==5 || crate==7)
return 0;
◆ 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()
◆ BASEDETA
const double LVL1::L1CaloTTIdTools::BASEDETA = 0.1 |
|
staticprivate |
◆ BASEDPHI
const double LVL1::L1CaloTTIdTools::BASEDPHI = 0.098175 |
|
staticprivate |
◆ ETAMAXREGION0
const double LVL1::L1CaloTTIdTools::ETAMAXREGION0 = 2.5 |
|
staticprivate |
◆ ETAMAXREGION1
const double LVL1::L1CaloTTIdTools::ETAMAXREGION1 = 3.1 |
|
staticprivate |
◆ ETAMAXREGION2
const double LVL1::L1CaloTTIdTools::ETAMAXREGION2 = 3.2 |
|
staticprivate |
◆ ETAMAXREGION3
const double LVL1::L1CaloTTIdTools::ETAMAXREGION3 = 4.9 |
|
staticprivate |
◆ ETAMIN
const double LVL1::L1CaloTTIdTools::ETAMIN = -4.9 |
|
staticprivate |
◆ FCALDETA
const double LVL1::L1CaloTTIdTools::FCALDETA = 0.425 |
|
staticprivate |
◆ m_bInitialized
bool LVL1::L1CaloTTIdTools::m_bInitialized |
|
private |
◆ m_detStore
◆ m_evtStore
◆ m_l1ttofflineHelper
◆ m_l1ttonlineHelper
◆ m_varHandleArraysDeclared
◆ m_vhka
◆ PHIMIN
const double LVL1::L1CaloTTIdTools::PHIMIN = 0. |
|
staticprivate |
The documentation for this class was generated from the following files:
JetConstituentVector::iterator iterator
virtual double phi() const
returns phi coordinate of centre of relevant trigger tower.
int channel(const HWIdentifier id) const
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Helper class for Calo TT online identifiers.
int phi_max(const Identifier regId) const
min value of phi index (-999 == failure)
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
int region(const Identifier id) const
return region according to :
Identifier region_id(int pos_neg_z, int sampling, int region) const
build a region (of towers) identifier
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
virtual void setOwner(IDataHandleHolder *o)=0
virtual double eta() const
returns the centre of the TT at eta_coord:
int phi(const Identifier id) const
return phi according to :
ServiceHandle< StoreGateSvc > & evtStore()
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
int module(const HWIdentifier id) const
::StatusCode StatusCode
StatusCode definition for legacy code.
const std::string & name(Level lvl)
Convenience function for translating message levels to strings.
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
A version of the TriggerTower that contains information that would not be availiable during datatakin...
Helper class for offline TT identifiers.
int eta(const Identifier id) const
return eta according to :
int pos_neg_z(const Identifier id) const
return pos_neg_z according to :
int submodule(const HWIdentifier id) const
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
virtual unsigned int ttKey(const TriggerTower &tower)
returns the key of the passed tower
int crate(const HWIdentifier id) const
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
The TriggerTowerKey object provides the key for each trigger tower depending on its eta-phi coords.