29 return StatusCode::SUCCESS;
44 if ( !eFexContainer.
isValid() ) {
45 ATH_MSG_WARNING(
"No eFex EM container found in storegate "<< key.key());
49 nEmTOBs_total = eFexContainer->size();
55 if(key.key().find(
"Sim") == std::string::npos) {
57 locIdx = std::to_string(roi->iPhi() / 8) +
":" + std::to_string(roi->iEta());
69 if ( !eFexTauContainer.
isValid() ) {
70 ATH_MSG_WARNING(
"No eFex Tau container found in storegate "<< key.key());
74 nTauTOBs_total = eFexTauContainer->size();
80 if(key.key().find(
"Sim") == std::string::npos) {
82 locIdx = std::to_string(roi->iPhi() / 8) +
":" + std::to_string(roi->iEta());
90 return StatusCode::SUCCESS;
116 if (efexEmRoI->et() >= cut_et){
117 nEmTOBs_passcut += 1;
118 TOBeT = efexEmRoI->et();
119 fill(groupName, TOBeT);
120 TOBeta = efexEmRoI->eta();
121 TOBphi = efexEmRoI->phi();
122 fill(groupName, TOBeta, TOBphi);
123 TOBshelfNumber=efexEmRoI->shelfNumber();
124 fill(groupName, TOBshelfNumber);
126 if (TOBshelfNumber == 0) {
127 TOBeFEXNumberSh0 = int(efexEmRoI->eFexNumber());
128 fill(groupName, TOBeFEXNumberSh0);
130 TOBeFEXNumberSh1 = int(efexEmRoI->eFexNumber());
131 fill(groupName, TOBeFEXNumberSh1);
133 TOBfpga = efexEmRoI->fpga();
134 fill(groupName, TOBfpga);
135 TOBReta = efexEmRoI->Reta();
136 fill(groupName, TOBReta);
137 TOBRhad = efexEmRoI->Rhad();
138 fill(groupName, TOBRhad);
139 TOBWstot = efexEmRoI->Wstot();
140 fill(groupName, TOBWstot);
141 TOBReta_threshold = efexEmRoI->RetaThresholds();
142 fill(groupName, TOBReta_threshold);
143 TOBRhad_threshold = efexEmRoI->RhadThresholds();
144 fill(groupName, TOBRhad_threshold);
145 TOBWstot_threshold = efexEmRoI->WstotThresholds();
146 fill(groupName, TOBWstot_threshold);
147 int iPhi = efexEmRoI->iPhi();
148 if (iPhi>31) iPhi -= 64;
149 binNumber = (25 + efexEmRoI->iEta())*64 + iPhi+33;
150 fill(groupName,binNumber,lbn);
153 fill(groupName, nEmTOBs_passcut);
155 return StatusCode::SUCCESS;
180 if (efexTauRoI->et() >= cut_et){
181 nTauTOBs_passcut += 1;
182 tauTOBeT = efexTauRoI->et();
183 fill(groupName, tauTOBeT);
184 tauTOBeta = efexTauRoI->eta();
185 tauTOBphi = efexTauRoI->phi();
186 fill(groupName, tauTOBeta, tauTOBphi);
187 tauTOBshelfNumber=efexTauRoI->shelfNumber();
188 fill(groupName, tauTOBshelfNumber);
190 if (tauTOBshelfNumber == 0) {
191 tauTOBeFEXNumberSh0 = int(efexTauRoI->eFexNumber());
192 fill(groupName, tauTOBeFEXNumberSh0);
194 tauTOBeFEXNumberSh1 = int(efexTauRoI->eFexNumber());
195 fill(groupName, tauTOBeFEXNumberSh1);
197 tauTOBfpga = efexTauRoI->fpga();
198 fill(groupName, tauTOBfpga);
199 tauTOBRcore = efexTauRoI->rCore();
200 fill(groupName, tauTOBRcore);
201 tauTOBRhad = efexTauRoI->rHad();
202 fill(groupName, tauTOBRhad);
203 tauTOBRcore_threshold=efexTauRoI->rCoreThresholds();
204 fill(groupName, tauTOBRcore_threshold);
205 tauTOBRhad_threshold=efexTauRoI->rHadThresholds();
206 fill(groupName, tauTOBRhad_threshold);
207 tauTOBthree_threshold=efexTauRoI->tauThreeThresholds();
208 fill(groupName, tauTOBthree_threshold);
209 int iPhi = efexTauRoI->iPhi();
210 if (iPhi>31) iPhi -= 64;
211 binNumber = (25 + efexTauRoI->iEta())*64 + iPhi+33;
212 fill(groupName,binNumber,lbn);
215 fill(groupName, nTauTOBs_passcut);
217 return StatusCode::SUCCESS;
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_DEBUG(x,...)
#define ATH_MSG_WARNING(x,...)
#define ATH_MSG_INFO(x,...)
uint16_t tobEt(const T *tob)
virtual StatusCode initialize() override
initialize
SG::ReadHandle< xAOD::EventInfo > GetEventInfo(const EventContext &) const
Return a ReadHandle for an EventInfo object (get run/event numbers, etc.).
AthMonitorAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
StatusCode fillTauHistograms(const std::string &groupName, const xAOD::eFexTauRoIContainer *taucont, const float &cut_et, const EventContext &ctx) const
StringProperty m_packageName
EfexMonitorAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
SG::ReadHandleKeyArray< xAOD::eFexTauRoIContainer > m_eFexTauTobKeyList
Gaudi::Property< float > m_lowPtCut
virtual StatusCode initialize() override
initialize
SG::ReadHandleKeyArray< xAOD::eFexEMRoIContainer > m_eFexEMTobKeyList
StatusCode fillEMHistograms(const std::string &groupName, const xAOD::eFexEMRoIContainer *emcont, const float &cut_et, const EventContext &ctx) const
Gaudi::Property< float > m_hiPtCut
virtual StatusCode fillHistograms(const EventContext &ctx) const override
adds event to the monitoring histograms
Declare a monitored scalar variable.
Property holding a SG store/key/clid from which a ReadHandle is made.
virtual bool isValid() override final
Can the handle be successfully dereferenced?
const_pointer_type cptr()
Dereference the pointer.
eFexEMRoIContainer_v1 eFexEMRoIContainer
eFexEMRoI_v1 eFexEMRoI
Define the latest version of the eFexEMRoI class.
eFexTauRoIContainer_v1 eFexTauRoIContainer
eFexTauRoI_v1 eFexTauRoI
Define the latest version of the eFexTauRoI class.
void fill(H5::Group &out_file, size_t iterations)