|
ATLAS Offline Software
|
#include <jFEXPileupAndNoise.h>
|
| jFEXPileupAndNoise (const std::string &type, const std::string &name, const IInterface *parent) |
| Constructors. More...
|
|
virtual StatusCode | initialize () override |
| standard Athena-Algorithm method More...
|
|
virtual StatusCode | safetyTest () override |
|
virtual StatusCode | reset () override |
|
virtual void | setup (int FPGA[FEXAlgoSpaceDefs::jFEX_algoSpace_height][FEXAlgoSpaceDefs::jFEX_thin_algoSpace_width]) override |
|
virtual void | setup (int FPGA[FEXAlgoSpaceDefs::jFEX_algoSpace_height][FEXAlgoSpaceDefs::jFEX_wide_algoSpace_width]) override |
|
virtual std::unordered_map< int, std::vector< int > > | GetEt_values () override |
|
virtual std::unordered_map< int, std::vector< int > > | Get_EM_Et_values () override |
|
virtual std::unordered_map< int, std::vector< int > > | Get_HAD_Et_values () override |
|
virtual | ~jFEXPileupAndNoise () |
| Destructor. More...
|
|
virtual std::vector< int > | CalculatePileup () override |
|
virtual StatusCode | ApplyPileup () override |
|
virtual void | ApplyNoise2Jets (bool b) override |
|
virtual void | ApplyNoise2Met (bool b) 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 |
|
|
SG::ReadHandleKey< LVL1::jTowerContainer > | m_jTowerContainerKey {this, "MyjTowers", "jTowerContainer", "Input container for jTowers"} |
|
SG::ReadHandle< jTowerContainer > | m_jTowerContainer |
|
SG::ReadCondHandleKey< jFEXDBCondData > | m_BDToolKey {this, "BDToolKey", "jFEXDBParams", "DB tool key"} |
|
int | m_FPGA_central [FEXAlgoSpaceDefs::jFEX_algoSpace_height][FEXAlgoSpaceDefs::jFEX_thin_algoSpace_width] ={{0}} |
|
int | m_FPGA_forward [FEXAlgoSpaceDefs::jFEX_algoSpace_height][FEXAlgoSpaceDefs::jFEX_wide_algoSpace_width] ={{0}} |
|
int | m_etaMAX =0 |
|
std::unordered_map< int, int > | m_FPGA_ET_EM |
|
std::unordered_map< int, int > | m_FPGA_ET_HAD |
|
int | m_rho_EM = 0 |
|
int | m_rho_HAD1 = 0 |
|
int | m_rho_HAD2 = 0 |
|
int | m_rho_HAD3 = 0 |
|
int | m_rho_FCAL = 0 |
|
int | m_count_rho_EM = 0 |
|
int | m_count_rho_HAD1 = 0 |
|
int | m_count_rho_HAD2 = 0 |
|
int | m_count_rho_HAD3 = 0 |
|
int | m_count_rho_FCAL = 0 |
|
bool | m_is_FWD = false |
|
bool | m_apply_pileup2jets = false |
|
bool | m_apply_pileup2met = false |
|
bool | m_apply_noise2jets = false |
|
bool | m_apply_noise2met = false |
|
std::unordered_map< int, std::vector< int > > | m_map_Etvalues_EM |
|
std::unordered_map< int, std::vector< int > > | m_map_Etvalues_HAD |
|
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 31 of file jFEXPileupAndNoise.h.
◆ StoreGateSvc_t
◆ jFEXPileupAndNoise()
LVL1::jFEXPileupAndNoise::jFEXPileupAndNoise |
( |
const std::string & |
type, |
|
|
const std::string & |
name, |
|
|
const IInterface * |
parent |
|
) |
| |
◆ ~jFEXPileupAndNoise()
LVL1::jFEXPileupAndNoise::~jFEXPileupAndNoise |
( |
| ) |
|
|
virtual |
◆ ApplyNoise2Jets()
void LVL1::jFEXPileupAndNoise::ApplyNoise2Jets |
( |
bool |
b | ) |
|
|
overridevirtual |
◆ ApplyNoise2Met()
void LVL1::jFEXPileupAndNoise::ApplyNoise2Met |
( |
bool |
b | ) |
|
|
overridevirtual |
◆ ApplyNoiseCuts()
void LVL1::jFEXPileupAndNoise::ApplyNoiseCuts |
( |
std::unordered_map< int, std::vector< int > > & |
map_Etvalues, |
|
|
int |
layer |
|
) |
| |
|
private |
◆ ApplyPileup()
StatusCode LVL1::jFEXPileupAndNoise::ApplyPileup |
( |
| ) |
|
|
overridevirtual |
◆ CalculatePileup()
std::vector< int > LVL1::jFEXPileupAndNoise::CalculatePileup |
( |
| ) |
|
|
overridevirtual |
Implements LVL1::IjFEXPileupAndNoise.
Definition at line 106 of file jFEXPileupAndNoise.cxx.
116 for(
int ieta=0;ieta<
m_etaMAX;ieta++){
136 int em_granularity = 25;
137 int had_granularity = tmp_eta < 15 ? 500 : 25;
139 int tmp_energy_EM =
getET_EM(tmpTower)/em_granularity;
140 int tmp_energy_HAD =
getET_HAD(tmpTower)/had_granularity;
154 if(tmp_energy_EM > myDBTool->get_PUThrLowEm() and tmp_energy_EM < myDBTool->get_PUThrHighEm()) {
162 if(tmp_energy_HAD > myDBTool->get_PUThrLowHadTrex() and tmp_energy_HAD < myDBTool->get_PUThrHighHadTrex()){
168 else if(tmp_eta < 16 ){
169 if(tmp_energy_HAD > myDBTool->get_PUThrLowHadHecOverlap() and tmp_energy_HAD < myDBTool->get_PUThrHighHadHecOverlap()){
175 else if(tmp_eta < 32 ){
176 if(tmp_energy_HAD > myDBTool->get_PUThrLowHadLar() and tmp_energy_HAD < myDBTool->get_PUThrHighHadLar()){
182 else if(tmp_eta >= 32){
186 if(tmp_energy_HAD > myDBTool->get_PUThrLowFcal() and tmp_energy_HAD < myDBTool->get_PUThrHighFcal()){
193 if(tmp_energy_EM > myDBTool->get_PUThrLowFcal() and tmp_energy_EM < myDBTool->get_PUThrHighFcal()){
◆ 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
◆ Get_EM_Et_values()
std::unordered_map< int, std::vector< int > > LVL1::jFEXPileupAndNoise::Get_EM_Et_values |
( |
| ) |
|
|
overridevirtual |
Implements LVL1::IjFEXPileupAndNoise.
Definition at line 299 of file jFEXPileupAndNoise.cxx.
306 for(
int ieta=0; ieta<
m_etaMAX; ieta++) {
317 if(TTID == 0)
continue;
321 std::vector<int> v_energies;
323 v_energies.resize(2,0);
326 int tmp_TotalEt_jet=
getET_EM(tmpTower);
327 int tmp_TotalEt_met=
getET_EM(tmpTower);
339 v_energies[0]=tmp_TotalEt_jet;
340 v_energies[1]=tmp_TotalEt_met;
◆ Get_HAD_Et_values()
std::unordered_map< int, std::vector< int > > LVL1::jFEXPileupAndNoise::Get_HAD_Et_values |
( |
| ) |
|
|
overridevirtual |
Implements LVL1::IjFEXPileupAndNoise.
Definition at line 351 of file jFEXPileupAndNoise.cxx.
358 for(
int ieta=0; ieta<
m_etaMAX; ieta++) {
369 if(TTID == 0)
continue;
373 std::vector<int> v_energies;
375 v_energies.resize(2,0);
391 v_energies[0]=tmp_TotalEt_jet;
392 v_energies[1]=tmp_TotalEt_met;
◆ getET_EM()
◆ getET_HAD()
◆ GetEt_values()
std::unordered_map< int, std::vector< int > > LVL1::jFEXPileupAndNoise::GetEt_values |
( |
| ) |
|
|
overridevirtual |
Implements LVL1::IjFEXPileupAndNoise.
Definition at line 424 of file jFEXPileupAndNoise.cxx.
427 std::unordered_map<int,std::vector<int> > map_Etvalues;
428 map_Etvalues.clear();
436 std::vector<int> Et_energy;
441 Et_energy.resize(2,0);
445 map_Etvalues[
key] = Et_energy;
◆ getTTArea_EM()
◆ getTTArea_HAD()
◆ getTTAreaINV_EM()
◆ getTTAreaINV_HAD()
◆ getTTowerET()
◆ getTTowerEta()
◆ initialize()
StatusCode LVL1::jFEXPileupAndNoise::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::IjFEXPileupAndNoise::interfaceID |
( |
| ) |
|
|
inlinestaticinherited |
◆ 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.
◆ renounce()
◆ renounceArray()
◆ reset()
StatusCode LVL1::jFEXPileupAndNoise::reset |
( |
| ) |
|
|
overridevirtual |
◆ reset_conters()
void LVL1::jFEXPileupAndNoise::reset_conters |
( |
| ) |
|
|
private |
◆ rhoDivLUT()
int LVL1::jFEXPileupAndNoise::rhoDivLUT |
( |
int |
ntowers | ) |
|
|
private |
◆ safetyTest()
StatusCode LVL1::jFEXPileupAndNoise::safetyTest |
( |
| ) |
|
|
overridevirtual |
◆ setup() [1/2]
void LVL1::jFEXPileupAndNoise::setup |
( |
int |
FPGA[FEXAlgoSpaceDefs::jFEX_algoSpace_height][FEXAlgoSpaceDefs::jFEX_thin_algoSpace_width] | ) |
|
|
overridevirtual |
◆ setup() [2/2]
void LVL1::jFEXPileupAndNoise::setup |
( |
int |
FPGA[FEXAlgoSpaceDefs::jFEX_algoSpace_height][FEXAlgoSpaceDefs::jFEX_wide_algoSpace_width] | ) |
|
|
overridevirtual |
◆ SubtractPileup()
void LVL1::jFEXPileupAndNoise::SubtractPileup |
( |
| ) |
|
|
private |
Definition at line 226 of file jFEXPileupAndNoise.cxx.
229 for(
int ieta=0; ieta<
m_etaMAX; ieta++) {
240 if(TTID == 0)
continue;
254 else if(tmp_eta < 16 ) {
257 else if(tmp_eta < 32 ) {
260 else if(tmp_eta >= 32) {
◆ 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_apply_noise2jets
bool LVL1::jFEXPileupAndNoise::m_apply_noise2jets = false |
|
private |
◆ m_apply_noise2met
bool LVL1::jFEXPileupAndNoise::m_apply_noise2met = false |
|
private |
◆ m_apply_pileup2jets
bool LVL1::jFEXPileupAndNoise::m_apply_pileup2jets = false |
|
private |
◆ m_apply_pileup2met
bool LVL1::jFEXPileupAndNoise::m_apply_pileup2met = false |
|
private |
◆ m_BDToolKey
◆ m_count_rho_EM
int LVL1::jFEXPileupAndNoise::m_count_rho_EM = 0 |
|
private |
◆ m_count_rho_FCAL
int LVL1::jFEXPileupAndNoise::m_count_rho_FCAL = 0 |
|
private |
◆ m_count_rho_HAD1
int LVL1::jFEXPileupAndNoise::m_count_rho_HAD1 = 0 |
|
private |
◆ m_count_rho_HAD2
int LVL1::jFEXPileupAndNoise::m_count_rho_HAD2 = 0 |
|
private |
◆ m_count_rho_HAD3
int LVL1::jFEXPileupAndNoise::m_count_rho_HAD3 = 0 |
|
private |
◆ m_detStore
◆ m_etaMAX
int LVL1::jFEXPileupAndNoise::m_etaMAX =0 |
|
private |
◆ m_evtStore
◆ m_FPGA_central
◆ m_FPGA_ET_EM
std::unordered_map<int,int > LVL1::jFEXPileupAndNoise::m_FPGA_ET_EM |
|
private |
◆ m_FPGA_ET_HAD
std::unordered_map<int,int > LVL1::jFEXPileupAndNoise::m_FPGA_ET_HAD |
|
private |
◆ m_FPGA_forward
◆ m_is_FWD
bool LVL1::jFEXPileupAndNoise::m_is_FWD = false |
|
private |
◆ m_jTowerContainer
◆ m_jTowerContainerKey
◆ m_map_Etvalues_EM
std::unordered_map<int,std::vector<int> > LVL1::jFEXPileupAndNoise::m_map_Etvalues_EM |
|
private |
◆ m_map_Etvalues_HAD
std::unordered_map<int,std::vector<int> > LVL1::jFEXPileupAndNoise::m_map_Etvalues_HAD |
|
private |
◆ m_rho_EM
int LVL1::jFEXPileupAndNoise::m_rho_EM = 0 |
|
private |
◆ m_rho_FCAL
int LVL1::jFEXPileupAndNoise::m_rho_FCAL = 0 |
|
private |
◆ m_rho_HAD1
int LVL1::jFEXPileupAndNoise::m_rho_HAD1 = 0 |
|
private |
◆ m_rho_HAD2
int LVL1::jFEXPileupAndNoise::m_rho_HAD2 = 0 |
|
private |
◆ m_rho_HAD3
int LVL1::jFEXPileupAndNoise::m_rho_HAD3 = 0 |
|
private |
◆ m_varHandleArraysDeclared
◆ m_vhka
The documentation for this class was generated from the following files:
void ApplyNoiseCuts(std::unordered_map< int, std::vector< int > > &map_Etvalues, int layer)
int getTTowerEta(const LVL1::jTower *tmpTower)
int iEta() const
Get coordinates of tower.
constexpr static int jFEX_thin_algoSpace_width
int getTTAreaINV_HAD(const LVL1::jTower *tmpTower)
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
int getET_EM(const LVL1::jTower *tmpTower)
std::unordered_map< int, int > m_FPGA_ET_EM
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
constexpr static unsigned int pu_Area
std::vector< size_t > vec
constexpr static int jFEX_algoSpace_height
SG::ReadCondHandleKey< jFEXDBCondData > m_BDToolKey
constexpr static unsigned int pu_rhoLUT
const std::string & key() const
Return the StoreGate ID for the referenced object.
int m_FPGA_central[FEXAlgoSpaceDefs::jFEX_algoSpace_height][FEXAlgoSpaceDefs::jFEX_thin_algoSpace_width]
int getTTowerAreaInv(int layer) const
virtual void setOwner(IDataHandleHolder *o)=0
std::unordered_map< int, std::vector< int > > m_map_Etvalues_EM
int getTTArea_HAD(const LVL1::jTower *tmpTower)
int getNoiseForJet(int layer) const
int getTTAreaINV_EM(const LVL1::jTower *tmpTower)
std::unordered_map< int, std::vector< int > > m_map_Etvalues_HAD
SG::ReadHandleKey< LVL1::jTowerContainer > m_jTowerContainerKey
constexpr static int jFEX_wide_algoSpace_width
int getTotalET() const
Get ET sum of all cells in the jTower in MeV.
int rhoDivLUT(int ntowers)
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
constexpr static unsigned int pu_AreaINV
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
int getET_EM() const
Get EM ET value in MeV.
SG::ReadHandle< jTowerContainer > m_jTowerContainer
int getET_HAD() const
Get HAD ET value in MeV.
int getTTowerArea(int layer) const
int getET_HAD(const LVL1::jTower *tmpTower)
int getTTArea_EM(const LVL1::jTower *tmpTower)
constexpr static int jFEX_FCAL2_start
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:
int m_FPGA_forward[FEXAlgoSpaceDefs::jFEX_algoSpace_height][FEXAlgoSpaceDefs::jFEX_wide_algoSpace_width]
std::unordered_map< int, int > m_FPGA_ET_HAD
int getNoiseForMet(int layer) const
setScale setgFexType iEta
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>