 |
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, 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 |
|
|
void | reset_conters () |
|
void | SubtractPileup () |
|
void | ApplyNoiseCuts (std::unordered_map< int, std::vector< int > > &map_Etvalues, int layer) |
|
int | rhoDivLUT (int ntowers) |
|
int | getTTowerEta (const LVL1::jTower *tmpTower) |
|
int | getTTowerET (const LVL1::jTower *tmpTower) |
|
int | getET_EM (const LVL1::jTower *tmpTower) |
|
int | getET_HAD (const LVL1::jTower *tmpTower) |
|
int | getTTArea_EM (const LVL1::jTower *tmpTower) |
|
int | getTTArea_HAD (const LVL1::jTower *tmpTower) |
|
int | getTTAreaINV_EM (const LVL1::jTower *tmpTower) |
|
int | getTTAreaINV_HAD (const LVL1::jTower *tmpTower) |
|
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", "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 26 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 100 of file jFEXPileupAndNoise.cxx.
110 for(
int ieta=0;ieta<
m_etaMAX;ieta++){
130 int em_granularity = 25;
131 int had_granularity = tmp_eta < 15 ? 500 : 25;
133 int tmp_energy_EM =
getET_EM(tmpTower)/em_granularity;
134 int tmp_energy_HAD =
getET_HAD(tmpTower)/had_granularity;
148 if(tmp_energy_EM > myDBTool->get_PUThrLowEm() and tmp_energy_EM < myDBTool->get_PUThrHighEm()) {
156 if(tmp_energy_HAD > myDBTool->get_PUThrLowHadTrex() and tmp_energy_HAD < myDBTool->get_PUThrHighHadTrex()){
162 else if(tmp_eta < 16 ){
163 if(tmp_energy_HAD > myDBTool->get_PUThrLowHadHecOverlap() and tmp_energy_HAD < myDBTool->get_PUThrHighHadHecOverlap()){
169 else if(tmp_eta < 32 ){
170 if(tmp_energy_HAD > myDBTool->get_PUThrLowHadLar() and tmp_energy_HAD < myDBTool->get_PUThrHighHadLar()){
176 else if(tmp_eta >= 32){
180 if(tmp_energy_HAD > myDBTool->get_PUThrLowFcal() and tmp_energy_HAD < myDBTool->get_PUThrHighFcal()){
187 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 293 of file jFEXPileupAndNoise.cxx.
300 for(
int ieta=0; ieta<
m_etaMAX; ieta++) {
311 if(TTID == 0)
continue;
315 std::vector<int> v_energies;
317 v_energies.resize(2,0);
320 int tmp_TotalEt_jet=
getET_EM(tmpTower);
321 int tmp_TotalEt_met=
getET_EM(tmpTower);
333 v_energies[0]=tmp_TotalEt_jet;
334 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 345 of file jFEXPileupAndNoise.cxx.
352 for(
int ieta=0; ieta<
m_etaMAX; ieta++) {
363 if(TTID == 0)
continue;
367 std::vector<int> v_energies;
369 v_energies.resize(2,0);
385 v_energies[0]=tmp_TotalEt_jet;
386 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 418 of file jFEXPileupAndNoise.cxx.
421 std::unordered_map<int,std::vector<int> > map_Etvalues;
422 map_Etvalues.clear();
430 std::vector<int> Et_energy;
435 Et_energy.resize(2,0);
439 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 220 of file jFEXPileupAndNoise.cxx.
223 for(
int ieta=0; ieta<
m_etaMAX; ieta++) {
234 if(TTID == 0)
continue;
248 else if(tmp_eta < 16 ) {
251 else if(tmp_eta < 32 ) {
254 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)
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
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
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
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
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