26 declareInterface<IL1DynamicPedestalProvider>(
this);
42 if(fullFileName.empty()) {
45 return StatusCode::FAILURE;
48 TFile firRefFile(fullFileName.c_str(),
"READ");
49 if (firRefFile.IsZombie()) {
51 return StatusCode::FAILURE;
53 for (
int iBin = 0; iBin <
s_nElement; ++iBin) {
54 TString histoNameEm =
"p1_bcidFir_em_"+(TString)std::to_string(iBin);
55 TString histoNameHad =
"p1_bcidFir_had_"+(TString)std::to_string(iBin);
56 TProfile* h_em = (TProfile*)firRefFile.Get(histoNameEm);
57 TProfile* h_had = (TProfile*)firRefFile.Get(histoNameHad);
58 for (
int iBcid = 0; iBcid <
s_nBcid; ++iBcid) {
68 return StatusCode::SUCCESS;
83 if(iBCID < 0 || iBCID >=
s_nBcid) {
89 }
else if (layer == 1) {
92 ATH_MSG_ERROR(
"Wrong layer index. Give 0 for Em, 1 for Had.");
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
static const int s_nElement
L1DynamicPedestalProviderRoot(const std::string &, const std::string &, const IInterface *)
constructor
int m_firRefEm[s_nElement][s_nBcid]
std::string m_firRefFileName
int m_firRefHad[s_nElement][s_nBcid]
virtual int dynamicPedestal(int iEta, int layer, int pedestal, int iBCID, float mu) const override
retrieve the bcidCorrection value
virtual ~L1DynamicPedestalProviderRoot()
default destructor
virtual StatusCode initialize() override
standard Athena-Algorithm method
static std::string find_file(const std::string &logical_file_name, const std::string &search_path)
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...