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;
109 ATH_MSG_WARNING(
"Can't retrieve LArHVIdMapping, no per partition HVlines histograms ! " );
112 unsigned int LBN = eventInfo->
lumiBlock();
115 const std::vector<HWIdentifier>& mnbtightFEB = noisyRO->get_MNBTight_febs();
116 const std::vector<HWIdentifier>& mnbtight_PsVetoFEB = noisyRO->get_MNBTight_PsVeto_febs();
117 const std::vector<HWIdentifier>& mnblooseFEB = noisyRO->get_MNBLoose_febs();
120 std::vector<int> v_candidate_MNBTightFEB;
121 std::vector<int> v_candidate_MNBTight_PsVetoFEB;
122 std::vector<int> v_candidate_MNBLooseFEB;
124 for(
unsigned int iFeb=0; iFeb<mnbtightFEB.size(); iFeb++)
125 v_candidate_MNBTightFEB.push_back(mnbtightFEB.at(iFeb).get_identifier32().get_compact());
127 for(
unsigned int iFeb=0; iFeb<mnbtight_PsVetoFEB.size(); iFeb++)
128 v_candidate_MNBTight_PsVetoFEB.push_back(mnbtight_PsVetoFEB.at(iFeb).get_identifier32().get_compact());
131 for(
unsigned int iFeb=0; iFeb<mnblooseFEB.size(); iFeb++)
132 v_candidate_MNBLooseFEB.push_back(mnblooseFEB.at(iFeb).get_identifier32().get_compact());
135 if(v_candidate_MNBLooseFEB.size() > 0 || v_candidate_MNBTightFEB.size() > 0) {
142 auto mon_candidate_MNBTightFEB =
Monitored::Collection(
"v_candidate_MNBTightFEB", v_candidate_MNBTightFEB);
143 auto mon_candidate_MNBTight_PsVetoFEB =
Monitored::Collection(
"v_candidate_MNBTight_PsVetoFEB", v_candidate_MNBTight_PsVetoFEB);
144 auto mon_candidate_MNBLooseFEB =
Monitored::Collection(
"v_candidate_MNBLooseFEB", v_candidate_MNBLooseFEB);
148 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);
185 if ( burstveto ) algo |= 0x4;
193 unsigned long trigbits = 0;
194 unsigned long L1trigbits = 0;
202 ATH_MSG_DEBUG(
"Trigger words: " << std::hex << trigbits <<
" " << L1trigbits << std::dec);
204 if(!
m_doHisto)
return StatusCode::SUCCESS;
207 const std::vector<HWIdentifier>& noisyFEB = noisyRO->get_noisy_febs();
211 unsigned int NbNoisyFEB = 0;
218 for (
size_t i = 0;
i<noisyFEB.size();
i++) {
235 const std::vector<HWIdentifier>& noisyHVlines = noisyRO->get_noisy_hvlines();
236 unsigned int NbNoisyHVlines = noisyHVlines.size();
244 ATH_MSG_DEBUG(
"MNBTight FEB vector size " << mnbtightFEB.size());
249 for (
size_t i = 0;
i<mnbtightFEB.size();
i++) {
260 if((noisyRO->MNBTightFlaggedPartitions() & partMask[
partition]) != 0){
275 ATH_MSG_DEBUG(
"MNBTight_PsVeto FEB vector size " << mnbtight_PsVetoFEB.size());
276 for (
size_t i = 0;
i<mnbtight_PsVetoFEB.size();
i++) {
287 if((noisyRO->MNBTight_PsVetoFlaggedPartitions() & partMask[
partition]) != 0){
288 slot_PsVetoTight =
unsigned(slot_PsVetoTightCan);
289 FT_PsVetoTight =
unsigned(FT_PsVetoTightCan);
302 ATH_MSG_DEBUG(
"MNBLoose FEB vector size " << mnblooseFEB.size());
303 for (
size_t i = 0;
i<mnblooseFEB.size();
i++) {
314 if((noisyRO->MNBLooseFlaggedPartitions() & partMask[
partition]) != 0){
325 uint8_t BadFEBPartitions = noisyRO->BadFEBFlaggedPartitions();
326 if ( BadFEBPartitions != 0) {
330 if ( (BadFEBPartitions & partMask[
i]) != 0 ) {
342 uint8_t BadHVPartitions = noisyRO->HVlineFlaggedPartitions();
343 if ( BadHVPartitions != 0) {
347 if ( (BadHVPartitions & partMask[
i]) != 0 ) {
357 uint8_t SatTightPartitions = noisyRO->SatTightFlaggedPartitions();
362 if ( (SatTightPartitions & partMask[
i]) != 0 ) {
373 uint8_t MNBTightPartitions = noisyRO->MNBTightFlaggedPartitions();
374 if ( MNBTightPartitions != 0) {
378 if ( (MNBTightPartitions & partMask[
i]) != 0 ) {
388 uint8_t MNBTight_PsVetoPartitions = noisyRO->MNBTight_PsVetoFlaggedPartitions();
389 if ( MNBTight_PsVetoPartitions != 0) {
393 if ( (MNBTight_PsVetoPartitions & partMask[
i]) != 0 ) {
403 uint8_t MNBLoosePartitions = noisyRO->MNBLooseFlaggedPartitions();
404 if ( MNBLoosePartitions != 0) {
408 if ( (MNBLoosePartitions & partMask[
i]) != 0 ) {
417 return StatusCode::SUCCESS;
421 unsigned long triggerbits,
unsigned long L1triggerbits)
const{
424 if ( triggerbits ==0 ) {
429 if ( triggerbits & (0
x1 <<
i) ) {
437 if ( L1triggerbits ==0 ) {
442 if ( L1triggerbits & (0
x1 <<
i) ) {