15 m_LArOnlineIDHelper(nullptr) {
31 std::vector<std::string>
part;
47 if( !
isMC && badCont->size()==0) {
69 if( !
isMC && mnbCont->size()==0) {
101 if (!noisyRO.isValid())
104 return StatusCode::SUCCESS;
111 ATH_MSG_WARNING(
"Can't retrieve LArHVIdMapping, no per partition HVlines histograms ! " );
115 unsigned int LBN = eventInfo->lumiBlock();
118 const std::vector<HWIdentifier>& mnbtightFEB = noisyRO->get_MNBTight_febs();
119 const std::vector<HWIdentifier>& mnbtight_PsVetoFEB = noisyRO->get_MNBTight_PsVeto_febs();
120 const std::vector<HWIdentifier>& mnblooseFEB = noisyRO->get_MNBLoose_febs();
123 std::vector<int> v_candidate_MNBTightFEB;
124 std::vector<int> v_candidate_MNBTight_PsVetoFEB;
125 std::vector<int> v_candidate_MNBLooseFEB;
127 for(
unsigned int iFeb=0; iFeb<mnbtightFEB.size(); iFeb++)
128 v_candidate_MNBTightFEB.push_back(mnbtightFEB.at(iFeb).get_identifier32().get_compact());
130 for(
unsigned int iFeb=0; iFeb<mnbtight_PsVetoFEB.size(); iFeb++)
131 v_candidate_MNBTight_PsVetoFEB.push_back(mnbtight_PsVetoFEB.at(iFeb).get_identifier32().get_compact());
134 for(
unsigned int iFeb=0; iFeb<mnblooseFEB.size(); iFeb++)
135 v_candidate_MNBLooseFEB.push_back(mnblooseFEB.at(iFeb).get_identifier32().get_compact());
138 if(v_candidate_MNBLooseFEB.size() > 0 || v_candidate_MNBTightFEB.size() > 0) {
145 auto mon_candidate_MNBTightFEB =
Monitored::Collection(
"v_candidate_MNBTightFEB", v_candidate_MNBTightFEB);
146 auto mon_candidate_MNBTight_PsVetoFEB =
Monitored::Collection(
"v_candidate_MNBTight_PsVetoFEB", v_candidate_MNBTight_PsVetoFEB);
147 auto mon_candidate_MNBLooseFEB =
Monitored::Collection(
"v_candidate_MNBLooseFEB", v_candidate_MNBLooseFEB);
151 fill(
m_MonGroupName,candidate_MNB_time,candidate_MNB_time_ns,n_candidate_MNBTight_FEB,n_candidate_MNBTight_PsVeto_FEB,n_candidate_MNBLoose_FEB,mon_candidate_MNBTightFEB,mon_candidate_MNBTight_PsVetoFEB,mon_candidate_MNBLooseFEB);
188 if ( burstveto ) algo |= 0x4;
196 unsigned long trigbits = 0;
197 unsigned long L1trigbits = 0;
205 ATH_MSG_DEBUG(
"Trigger words: " << std::hex << trigbits <<
" " << L1trigbits << std::dec);
207 if(!
m_doHisto)
return StatusCode::SUCCESS;
210 const std::vector<HWIdentifier>& noisyFEB = noisyRO->get_noisy_febs();
214 unsigned int NbNoisyFEB = 0;
221 for (
size_t i = 0;
i<noisyFEB.size();
i++) {
238 const std::vector<HWIdentifier>& noisyHVlines = noisyRO->get_noisy_hvlines();
239 unsigned int NbNoisyHVlines = noisyHVlines.size();
247 ATH_MSG_DEBUG(
"MNBTight FEB vector size " << mnbtightFEB.size());
252 for (
size_t i = 0;
i<mnbtightFEB.size();
i++) {
263 if((noisyRO->MNBTightFlaggedPartitions() & partMask[
partition]) != 0){
278 ATH_MSG_DEBUG(
"MNBTight_PsVeto FEB vector size " << mnbtight_PsVetoFEB.size());
279 for (
size_t i = 0;
i<mnbtight_PsVetoFEB.size();
i++) {
290 if((noisyRO->MNBTight_PsVetoFlaggedPartitions() & partMask[
partition]) != 0){
291 slot_PsVetoTight =
unsigned(slot_PsVetoTightCan);
292 FT_PsVetoTight =
unsigned(FT_PsVetoTightCan);
305 ATH_MSG_DEBUG(
"MNBLoose FEB vector size " << mnblooseFEB.size());
306 for (
size_t i = 0;
i<mnblooseFEB.size();
i++) {
317 if((noisyRO->MNBLooseFlaggedPartitions() & partMask[
partition]) != 0){
328 uint8_t BadFEBPartitions = noisyRO->BadFEBFlaggedPartitions();
329 if ( BadFEBPartitions != 0) {
333 if ( (BadFEBPartitions & partMask[
i]) != 0 ) {
345 uint8_t BadHVPartitions = noisyRO->HVlineFlaggedPartitions();
346 if ( BadHVPartitions != 0) {
350 if ( (BadHVPartitions & partMask[
i]) != 0 ) {
360 uint8_t SatTightPartitions = noisyRO->SatTightFlaggedPartitions();
365 if ( (SatTightPartitions & partMask[
i]) != 0 ) {
376 uint8_t MNBTightPartitions = noisyRO->MNBTightFlaggedPartitions();
377 if ( MNBTightPartitions != 0) {
381 if ( (MNBTightPartitions & partMask[
i]) != 0 ) {
391 uint8_t MNBTight_PsVetoPartitions = noisyRO->MNBTight_PsVetoFlaggedPartitions();
392 if ( MNBTight_PsVetoPartitions != 0) {
396 if ( (MNBTight_PsVetoPartitions & partMask[
i]) != 0 ) {
406 uint8_t MNBLoosePartitions = noisyRO->MNBLooseFlaggedPartitions();
407 if ( MNBLoosePartitions != 0) {
411 if ( (MNBLoosePartitions & partMask[
i]) != 0 ) {
420 return StatusCode::SUCCESS;
424 unsigned long triggerbits,
unsigned long L1triggerbits)
const{
427 if ( triggerbits ==0 ) {
432 if ( triggerbits & (0
x1 <<
i) ) {
440 if ( L1triggerbits ==0 ) {
445 if ( L1triggerbits & (0
x1 <<
i) ) {