Skip to content
Snippets Groups Projects
Commit c8ad7160 authored by Vakhtang Tsulaia's avatar Vakhtang Tsulaia
Browse files

Merge branch 'check-master' into 'master'

Merge branch 'bugfix/pp0-histos' into master after resolving conflict (i.e. fixing failed sweep)

See merge request atlas/athena!15091

Former-commit-id: 2c516bae
parents 7354878f 5b28649d
No related branches found
No related tags found
No related merge requests found
...@@ -181,6 +181,7 @@ class PixelMainMon : public ManagedMonitorToolBase { ...@@ -181,6 +181,7 @@ class PixelMainMon : public ManagedMonitorToolBase {
const PixelID* m_pixelid; const PixelID* m_pixelid;
uint64_t m_event; uint64_t m_event;
uint64_t m_event5min;
time_t m_startTime; time_t m_startTime;
bool m_majorityDisabled; // check for each event, true if >50% modules disabled bool m_majorityDisabled; // check for each event, true if >50% modules disabled
...@@ -196,8 +197,8 @@ class PixelMainMon : public ManagedMonitorToolBase { ...@@ -196,8 +197,8 @@ class PixelMainMon : public ManagedMonitorToolBase {
int m_nGood_mod[PixLayerIBL2D3DDBM::COUNT]; int m_nGood_mod[PixLayerIBL2D3DDBM::COUNT];
int m_nActive_mod[PixLayerIBL2D3DDBM::COUNT]; int m_nActive_mod[PixLayerIBL2D3DDBM::COUNT];
unsigned int m_nRefresh; int m_nRefresh;
unsigned int m_nRefresh5min; int m_nRefresh5min;
const AtlasDetectorID* m_idHelper; const AtlasDetectorID* m_idHelper;
......
...@@ -206,7 +206,7 @@ void PixelMainMon::formatPP0Histos(TProfile_LW* D_A, TProfile_LW* D_C, TProfile_ ...@@ -206,7 +206,7 @@ void PixelMainMon::formatPP0Histos(TProfile_LW* D_A, TProfile_LW* D_C, TProfile_
} }
void PixelMainMon::fillPP0Histos(PixelMon2DMapsLW* occupancy, TProfile_LW* D_A, TProfile_LW* D_C, TProfile_LW* B0, TProfile_LW* B1, TProfile_LW* B2, TProfile_LW* IBL_A, TProfile_LW* IBL_C) { void PixelMainMon::fillPP0Histos(PixelMon2DMapsLW* occupancy, TProfile_LW* D_A, TProfile_LW* D_C, TProfile_LW* B0, TProfile_LW* B1, TProfile_LW* B2, TProfile_LW* IBL_A, TProfile_LW* IBL_C) {
if (!(D_A && D_C && B0 && B1 && B2 && occupancy && m_status && m_event)) return; if (!(D_A && D_C && B0 && B1 && B2 && occupancy && m_status && m_event5min)) return;
unsigned int nbinx; unsigned int nbinx;
unsigned int nbiny; unsigned int nbiny;
// use FE occ for IBL, mod occ for the rest // use FE occ for IBL, mod occ for the rest
...@@ -216,7 +216,7 @@ void PixelMainMon::fillPP0Histos(PixelMon2DMapsLW* occupancy, TProfile_LW* D_A, ...@@ -216,7 +216,7 @@ void PixelMainMon::fillPP0Histos(PixelMon2DMapsLW* occupancy, TProfile_LW* D_A,
nbiny = occupancy->IBL->GetNbinsY(); nbiny = occupancy->IBL->GetNbinsY();
for (unsigned int x = 1; x <= nbinx; ++x) { for (unsigned int x = 1; x <= nbinx; ++x) {
for (unsigned int y = 1; y <= nbiny; ++y) { for (unsigned int y = 1; y <= nbiny; ++y) {
const auto content = occupancy->IBL->GetBinContent(x, y) / (1.0 * m_event); const auto content = occupancy->IBL->GetBinContent(x, y) / (1.0 * m_event5min);
if (m_status->IBL->GetBinContent(x, y)!=2) { if (m_status->IBL->GetBinContent(x, y)!=2) {
if (x>0.5*nbinx) IBL_A->Fill(y, content); if (x>0.5*nbinx) IBL_A->Fill(y, content);
else IBL_C->Fill(y, content); else IBL_C->Fill(y, content);
...@@ -228,7 +228,7 @@ void PixelMainMon::fillPP0Histos(PixelMon2DMapsLW* occupancy, TProfile_LW* D_A, ...@@ -228,7 +228,7 @@ void PixelMainMon::fillPP0Histos(PixelMon2DMapsLW* occupancy, TProfile_LW* D_A,
nbiny = occupancy->B0->GetNbinsY(); nbiny = occupancy->B0->GetNbinsY();
for (unsigned int x = 1; x <= nbinx; ++x) { for (unsigned int x = 1; x <= nbinx; ++x) {
for (unsigned int y = 1; y <= nbiny; ++y) { for (unsigned int y = 1; y <= nbiny; ++y) {
const auto content = occupancy->B0->GetBinContent(x, y) / (1.0 * m_event); const auto content = occupancy->B0->GetBinContent(x, y) / (1.0 * m_event5min);
if (m_status->B0->GetBinContent(x, y)!=2) { if (m_status->B0->GetBinContent(x, y)!=2) {
B0->Fill(y, content); B0->Fill(y, content);
} }
...@@ -238,7 +238,7 @@ void PixelMainMon::fillPP0Histos(PixelMon2DMapsLW* occupancy, TProfile_LW* D_A, ...@@ -238,7 +238,7 @@ void PixelMainMon::fillPP0Histos(PixelMon2DMapsLW* occupancy, TProfile_LW* D_A,
nbiny = occupancy->B1->GetNbinsY(); nbiny = occupancy->B1->GetNbinsY();
for (unsigned int x = 1; x <= nbinx; ++x) { for (unsigned int x = 1; x <= nbinx; ++x) {
for (unsigned int y = 1; y <= nbiny; ++y) { for (unsigned int y = 1; y <= nbiny; ++y) {
const auto content = occupancy->B1->GetBinContent(x, y) / (1.0 * m_event); const auto content = occupancy->B1->GetBinContent(x, y) / (1.0 * m_event5min);
if (m_status->B1->GetBinContent(x, y)!=2) { if (m_status->B1->GetBinContent(x, y)!=2) {
B1->Fill(y, content); B1->Fill(y, content);
} }
...@@ -248,7 +248,7 @@ void PixelMainMon::fillPP0Histos(PixelMon2DMapsLW* occupancy, TProfile_LW* D_A, ...@@ -248,7 +248,7 @@ void PixelMainMon::fillPP0Histos(PixelMon2DMapsLW* occupancy, TProfile_LW* D_A,
nbiny = occupancy->B2->GetNbinsY(); nbiny = occupancy->B2->GetNbinsY();
for (unsigned int x = 1; x <= nbinx; ++x) { for (unsigned int x = 1; x <= nbinx; ++x) {
for (unsigned int y = 1; y <= nbiny; ++y) { for (unsigned int y = 1; y <= nbiny; ++y) {
const auto content = occupancy->B2->GetBinContent(x, y) / (1.0 * m_event); const auto content = occupancy->B2->GetBinContent(x, y) / (1.0 * m_event5min);
if (m_status->B2->GetBinContent(x, y)!=2) { if (m_status->B2->GetBinContent(x, y)!=2) {
B2->Fill(y, content); B2->Fill(y, content);
} }
...@@ -258,7 +258,7 @@ void PixelMainMon::fillPP0Histos(PixelMon2DMapsLW* occupancy, TProfile_LW* D_A, ...@@ -258,7 +258,7 @@ void PixelMainMon::fillPP0Histos(PixelMon2DMapsLW* occupancy, TProfile_LW* D_A,
nbiny = occupancy->A->GetNbinsY(); nbiny = occupancy->A->GetNbinsY();
for (unsigned int x = 1; x <= nbinx; ++x) { for (unsigned int x = 1; x <= nbinx; ++x) {
for (unsigned int y = 1; y <= nbiny; ++y) { for (unsigned int y = 1; y <= nbiny; ++y) {
const auto content = occupancy->A->GetBinContent(x, y) / (1.0 * m_event); const auto content = occupancy->A->GetBinContent(x, y) / (1.0 * m_event5min);
if (m_status->A->GetBinContent(x, y)!=2) { if (m_status->A->GetBinContent(x, y)!=2) {
D_A->Fill( (x-1)*8 + (y-1)/6 + 1, content); D_A->Fill( (x-1)*8 + (y-1)/6 + 1, content);
} }
...@@ -268,7 +268,7 @@ void PixelMainMon::fillPP0Histos(PixelMon2DMapsLW* occupancy, TProfile_LW* D_A, ...@@ -268,7 +268,7 @@ void PixelMainMon::fillPP0Histos(PixelMon2DMapsLW* occupancy, TProfile_LW* D_A,
nbiny = occupancy->C->GetNbinsY(); nbiny = occupancy->C->GetNbinsY();
for (unsigned int x = 1; x <= nbinx; ++x) { for (unsigned int x = 1; x <= nbinx; ++x) {
for (unsigned int y = 1; y <= nbiny; ++y) { for (unsigned int y = 1; y <= nbiny; ++y) {
const auto content = occupancy->C->GetBinContent(x, y) / (1.0 * m_event); const auto content = occupancy->C->GetBinContent(x, y) / (1.0 * m_event5min);
if (m_status->C->GetBinContent(x, y)!=2) { if (m_status->C->GetBinContent(x, y)!=2) {
D_C->Fill( (x-1)*8 + (y-1)/6 + 1, content); D_C->Fill( (x-1)*8 + (y-1)/6 + 1, content);
} }
......
...@@ -123,6 +123,7 @@ PixelMainMon::PixelMainMon(const std::string& type, const std::string& name, con ...@@ -123,6 +123,7 @@ PixelMainMon::PixelMainMon(const std::string& type, const std::string& name, con
memset(m_nActive_mod, 0, sizeof(m_nActive_mod)); memset(m_nActive_mod, 0, sizeof(m_nActive_mod));
m_pixelid = 0; m_pixelid = 0;
m_event = 0; m_event = 0;
m_event5min = 0;
m_startTime = 0; m_startTime = 0;
m_majorityDisabled = 0; m_majorityDisabled = 0;
m_lumiBlockNum = 0; m_lumiBlockNum = 0;
...@@ -710,10 +711,12 @@ StatusCode PixelMainMon::fillHistograms() { ...@@ -710,10 +711,12 @@ StatusCode PixelMainMon::fillHistograms() {
if(!(thisEventInfo.isValid())) { if(!(thisEventInfo.isValid())) {
if (msgLvl(MSG::WARNING)) msg(MSG::WARNING) << "No EventInfo object found" << endmsg; if (msgLvl(MSG::WARNING)) msg(MSG::WARNING) << "No EventInfo object found" << endmsg;
} else { } else {
m_currentTime = thisEventInfo->timeStamp(); m_currentTime = thisEventInfo->timeStamp();
m_currentBCID = thisEventInfo->bcid(); m_currentBCID = thisEventInfo->bcid();
unsigned int currentdiff = (m_currentTime - m_firstBookTime) / 100; int currentdiff = (int)(m_currentTime - m_firstBookTime) / 100;
unsigned int currentdiff5min = (m_currentTime - m_firstBookTime) / 300; int currentdiff5min = (int)(m_currentTime - m_firstBookTime) / 300;
// for 100 sec // for 100 sec
if (currentdiff > m_nRefresh) { if (currentdiff > m_nRefresh) {
m_doRefresh = true; m_doRefresh = true;
...@@ -725,8 +728,10 @@ StatusCode PixelMainMon::fillHistograms() { ...@@ -725,8 +728,10 @@ StatusCode PixelMainMon::fillHistograms() {
if (currentdiff5min > m_nRefresh5min) { if (currentdiff5min > m_nRefresh5min) {
m_doRefresh5min = true; m_doRefresh5min = true;
m_nRefresh5min = currentdiff5min; m_nRefresh5min = currentdiff5min;
m_event5min = 1;
} else { } else {
m_doRefresh5min = false; m_doRefresh5min = false;
m_event5min++;
} }
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment