Commit eef3609d authored by Peter Onyisi's avatar Peter Onyisi Committed by Graeme Stewart
Browse files

Reintegration of 02-02-00-branch (AthenaMonitoring-02-03-04)

	* Reintegration of 02-02-00-branch (changelogs below)
	* Tag AthenaMonitoring-02-03-04

2016-09-08 Peter Onyisi <ponyisi AT cern.ch>
	* Enable HI monitoring for HIP runs
	* Tag AthenaMonitoring-02-02-00-08

2016-08-11 Peter Onyisi <ponyisi AT cern.ch>
	* Enable pixel monitoring in ZeroBias obo Yosuke Takubo
	* Tag AthenaMonitoring-02-02-00-07

2016-06-21 Peter Onyisi <ponyisi AT cern.ch>
	* Fix ATLASRECTS-3216
	* Other changes obo Benjamin Trocme
	* Tag AthenaMonitoring-02-02-00-06

2016-06-20 Peter Onyisi <ponyisi AT cern.ch>
	* Enable plot X axis extension when plot is vs LB (only TH1 derivatives)
	* Fix bug in histogram output areas when LB is skipped
	* Actually switch TDT to global instance
...
(Long ChangeLog diff - truncated)
parent 5e40a424
......@@ -45,7 +45,7 @@ class AthenaMonManager : public AthAlgorithm {
* transform or during the ESD --> AOD transform (but not both!)
* Strings of the same names may be given as jobOptions.
*/
enum Environment_t { user = 0, noOutput, online, tier0, tier0Raw, tier0ESD, altprod, AOD };
enum Environment_t { user = 0, noOutput, online, tier0, tier0Raw, tier0ESD, AOD, altprod };
/**
* An enumeration of the different types of data the
......
......@@ -791,17 +791,21 @@ class ManagedMonitorToolBase : public AthAlgTool, virtual public IMonitorToolBas
public:
OfflineStream( const std::string& fileKey, AthenaMonManager::DataType_t /*dataType*/,
AthenaMonManager::Environment_t /*environment*/ )
: m_fileKey(fileKey) { }
: m_fileKey(fileKey),
m_prev_run_number(0),
m_prev_lumi_block(0) { }
virtual ~OfflineStream() { }
virtual std::string getStreamName( const ManagedMonitorToolBase* tool, const MonGroup& group, const std::string& objName, bool usePreviousInterval=false );
virtual std::string getDirectoryName( const ManagedMonitorToolBase* tool, const MonGroup& group, const std::string& objName, const bool usePreviousInterval );
void updateRunLB();
private:
OfflineStream() { }
const std::string m_fileKey;
//AthenaMonManager::DataType_t m_dataType;
//AthenaMonManager::Environment_t m_environment;
uint32_t m_prev_run_number, m_prev_lumi_block;
std::set<std::string> m_ebNames;
void getLBrange(int*,int*,int,int);
};
......@@ -920,6 +924,7 @@ protected:
bool m_hasRetrievedLumiTool;
bool m_bookHistogramsInitial;
bool m_useLumi;
float m_defaultLBDuration;
//int m_cycleNum;
std::set<Interval_t> m_supportedIntervalsForRebooking;
......
......@@ -234,7 +234,7 @@ class doStreamAwareMon(JobProperty):
""" Switch for stream-aware monitoring """
statusOn=True
allowedTypes=['bool']
StoredValue=False
StoredValue=True
list+=[doStreamAwareMon]
class monType(JobProperty):
......@@ -353,7 +353,7 @@ class nameTrigDecTool(JobProperty):
""" name of trigger decision tool """
statusOn = True
allowedTypes = ['str']
StoredValue = 'monTrigDecTool'
StoredValue = 'TrigDecisionTool'
list+=[nameTrigDecTool]
class nameTrigTransTool(JobProperty):
......
include.block('AthenaMonitoring/AtlasReadyFilterTool_jobOptions.py')
# Set up the ATLAS Ready filter tool
from AthenaCommon.Logging import logging
......
......@@ -23,7 +23,7 @@ if rec.doTrigger() == False:
# Set the data type based on beamType/HI flag
if globalflags.DataSource.get_Value() == 'geant4':
DQMonFlags.monManDataType = 'monteCarlo'
elif rec.doHeavyIon():
elif (rec.doHeavyIon() or rec.doHIP()):
DQMonFlags.monManDataType = 'heavyioncollisions'
DQMonFlags.doHIMon = True
elif jobproperties.Beam.beamType() == 'cosmics':
......@@ -145,6 +145,7 @@ else:
DQMonFlags.doMuonCombinedMon=False
DQMonFlags.doLucidMon=False
DQMonFlags.doJetTagMon=False
DQMonFlags.doJetMon=False
# switch off monitoring if reco is off during BS reading
if rec.readRDO() and not 'DetFlags' in dir():
......@@ -259,17 +260,53 @@ if DQMonFlags.doStreamAwareMon:
# So set them as false by default. Turn them on as needed
LArMonFlags.doLArRODMonTool=False # savannah bug report #83390
LArMonFlags.doLArRawMonitorSignal=False
LArMonFlags.doLArRawChannelMon=False
LArMonFlags.doLArCollisionTimeMon=False
LArMonFlags.doLArAffectedRegions=False
LArMonFlags.doLArHVCorrectionMonTool=False
LArMonFlags.doLArCoverage=False
doCaloCellVecMon=False
# The following are ON except for certain streams
LArMonFlags.doLArDigitMon=True
LArMonFlags.doLArNoisyROMon=True
# All monitoring turned on for express stream (except LArRawChannelMon)
# HIP runs will use the express settings for MinBias, MinBiasOverlay, HardProbes, bulk, and UPC
if (rec.triggerStream()=='express' or
if (rec.triggerStream()=='express' or rec.triggerStream()=='Main' or
(rec.doHIP() and rec.triggerStream() in ['MinBias', 'MinBiasOverlay', 'HardProbes', 'bulk', 'UPC'])):
LArMonFlags.doLArRawChannelMon=False
LArMonFlags.doLArCollisionTimeMon=True
LArMonFlags.doLArAffectedRegions=True
LArMonFlags.doLArHVCorrectionMonTool=True
LArMonFlags.doLArCoverage=True
LArMonFlags.doLArRODMonTool=True # savannah bug report #83390
if (rec.triggerStream()=='express' or rec.triggerStream()=='Main'):
doCaloCellVecMon=True
elif (rec.triggerStream()=='CosmicCalo'):
LArMonFlags.doLArRawChannelMon=True
LArMonFlags.doLArRawMonitorSignal=True
LArMonFlags.doLArAffectedRegions=True
LArMonFlags.doLArHVCorrectionMonTool=True
LArMonFlags.doLArCoverage=True
LArMonFlags.doLArDigitMon=False
doCaloCellVecMon=True
HLTMonFlags.doBjet=False
HLTMonFlags.doEgamma=False
HLTMonFlags.doTau=False
HLTMonFlags.doJet=False
HLTMonFlags.doCalo=False
HLTMonFlags.doMuon=False
DQMonFlags.doTauMon=False
DQMonFlags.doPixelMon=False
DQMonFlags.doMuonRawMon=False
DQMonFlags.doMuonTrackMon=False
DQMonFlags.doMuonAlignMon=False
DQMonFlags.doMuonCombinedMon=False
DQMonFlags.doMuonSegmentMon=False
DQMonFlags.doMuonPhysicsMon=False
DQMonFlags.doMuonTrkPhysMon=False
DQMonFlags.doTRTMon=False
DQMonFlags.doJetTagMon=False
elif (rec.triggerStream()=='JetTauEtmiss'):
DQMonFlags.doEgammaMon=False
......@@ -334,16 +371,10 @@ if DQMonFlags.doStreamAwareMon:
DQMonFlags.doMuonPhysicsMon=False
DQMonFlags.doCaloMon=False
DQMonFlags.doJetTagMon=False
LArMonFlags.doLArRawChannelMon=False
LArMonFlags.doLArCollisionTimeMon=False
LArMonFlags.doLArAffectedRegions=False
#LArMonFlags.doLArFEBMon=False
LArMonFlags.doLArHVCorrectionMonTool=False
LArMonFlags.doLArCoverage=False
LArMonFlags.doLArDigitMon=False
LArMonFlags.doLArNoisyROMon=False
#LArMonFlags.doLArDigitMon=False
#LArMonFlags.doLArNoisyROMon=False
elif (rec.triggerStream()=='ZeroBias'):
DQMonFlags.doEgammaMon=False
DQMonFlags.doTauMon=False
HLTMonFlags.doBjet=False
HLTMonFlags.doEgamma=False
......@@ -351,7 +382,7 @@ if DQMonFlags.doStreamAwareMon:
HLTMonFlags.doJet=False
HLTMonFlags.doCalo=False
HLTMonFlags.doMuon=False
DQMonFlags.doPixelMon=False
DQMonFlags.doPixelMon=True
DQMonFlags.doMuonRawMon=False
DQMonFlags.doMuonTrackMon=False
DQMonFlags.doMuonAlignMon=False
......@@ -361,19 +392,34 @@ if DQMonFlags.doStreamAwareMon:
DQMonFlags.doMuonTrkPhysMon=False
DQMonFlags.doTRTMon=False
DQMonFlags.doJetTagMon=False
LArMonFlags.doLArRawChannelMon=False
LArMonFlags.doLArCollisionTimeMon=False
LArMonFlags.doLArAffectedRegions=False
#LArMonFlags.doLArRawChannelMon=False
#LArMonFlags.doLArCollisionTimeMon=False
#LArMonFlags.doLArAffectedRegions=False
#LArMonFlags.doLArFEBMon=False
LArMonFlags.doLArHVCorrectionMonTool=False
LArMonFlags.doLArCoverage=False
LArMonFlags.doLArDigitMon=False
LArMonFlags.doLArNoisyROMon=False
LArMonFlags.doLArRODMonTool=True # savannah bug report #83390
#LArMonFlags.doLArHVCorrectionMonTool=False
#LArMonFlags.doLArCoverage=False
#LArMonFlags.doLArDigitMon=False
#LArMonFlags.doLArNoisyROMon=False
#LArMonFlags.doLArRODMonTool=True # savannah bug report #83390
elif (rec.triggerStream()=='L1Calo' or rec.triggerStream()=='L1Topo'):
HLTMonFlags.doBjet=False
HLTMonFlags.doMuon=False
DQMonFlags.doPixelMon=False
DQMonFlags.doMuonRawMon=False
DQMonFlags.doMuonTrackMon=False
DQMonFlags.doMuonAlignMon=False
DQMonFlags.doMuonCombinedMon=False
DQMonFlags.doMuonSegmentMon=False
DQMonFlags.doMuonPhysicsMon=False
DQMonFlags.doMuonTrkPhysMon=False
DQMonFlags.doTRTMon=False
DQMonFlags.doJetTagMon=False
# Default stream-aware settings for unspecified streams
# Only run a select few set of tools
else:
#LArMonFlags.doLArRawChannelMon=False
DQMonFlags.doEgammaMon=False
DQMonFlags.doJetMon=False
DQMonFlags.doMissingEtMon=False
......@@ -392,8 +438,12 @@ if DQMonFlags.doStreamAwareMon:
else:
local_logger.info("Stream-Aware monitoring is turned OFF")
# disabled until further notice 20140401 - PUEO
# DQMonFlags.doMuonRawMon=False
# If data type is '*comm' disable ATLAS Ready filter by default
if (rec.projectName.get_Value().endswith('_comm') and
not DQMonFlags.disableAtlasReadyFilter()
):
local_logger.info("This is a commissioning project tag, will attempt to disable ATLAS Ready filter for monitoring tools. To really enable it, use DQMonFlags.disableAtlasReadyFilter.set_Value_and_Lock(False).")
DQMonFlags.disableAtlasReadyFilter=True
DQMonFlags.lock_JobProperties()
DQMonFlags.print_JobProperties()
......
......@@ -4,7 +4,7 @@
# $Id: DataQualitySteering_jobOptions.py,v 1.15 2009-05-05 08:20:08 sschaetz Exp $
# ********************************************************************************
# disable InDetPerformanceMonitoring, JetMonitoring until further notice
# disable TRTEleMon until further notice
# - PUEO 20140401
TRTELEMON=False
......@@ -248,19 +248,22 @@ if DQMonFlags.doMonitoring():
local_logger.debug('DQ Post-Setup Configuration')
for tool in monToolSet_after-monToolSet_before:
# stop lumi access if we're in MC or enableLumiAccess == False
if globalflags.DataSource.get_Value() == 'geant4' or not DQMonFlags.enableLumiAccess():
if 'EnableLumi' in dir(tool):
if 'EnableLumi' in dir(tool):
if globalflags.DataSource.get_Value() == 'geant4' or not DQMonFlags.enableLumiAccess():
tool.EnableLumi = False
else:
tool.EnableLumi = True
# if we have the FilterTools attribute, assume this is in fact a
# monitoring tool
if hasattr(tool, 'FilterTools'):
# if express: use ATLAS Ready filter
local_logger.warning('Processing for tool %s', tool)
local_logger.debug('Setting up filters for tool %s', tool)
if rec.triggerStream()=='express':
local_logger.warning('Stream is express and we will add ready tool')
local_logger.info('Stream is express and we will add ready tool for %s', tool)
tool.FilterTools += [monAtlasReadyFilterTool]
# give all the tools the trigger translator
if DQMonFlags.useTrigger():
tool.TrigDecisionTool = monTrigDecTool
tool.TriggerTranslatorTool = monTrigTransTool
if DQMonFlags.monToolPostExec():
......
......@@ -20,7 +20,7 @@ if DQMonFlags.useTrigger():
from TriggerJobOpts.TriggerConfigGetter import TriggerConfigGetter
cfg = TriggerConfigGetter()
if not hasattr(ToolSvc, DQMonFlags.nameTrigDecTool()):
if not hasattr(ToolSvc, DQMonFlags.nameTrigDecTool().split('/')[-1]):
from TrigDecisionTool.TrigDecisionToolConf import Trig__TrigDecisionTool
monTrigDecTool = Trig__TrigDecisionTool(name=DQMonFlags.nameTrigDecTool(),
OutputLevel=ERROR,
......@@ -30,6 +30,9 @@ if DQMonFlags.useTrigger():
}
)
ToolSvc += monTrigDecTool
else:
monTrigDecTool = getattr(ToolSvc, DQMonFlags.nameTrigDecTool().split('/')[-1])
tdt_local_logger.info('Scheduled monitoring TDT %s', monTrigDecTool)
tdt_local_logger.info('Scheduling the trigger translator')
# Look up all monitoring menu lists, shove into trigger translator
......
......@@ -45,14 +45,14 @@ StatusCode AthenaMon::initialize()
/*---------------------------------------------------------------*/
{
MsgStream log(msgSvc(), name());
log << MSG::INFO << "initialize AthenaMon algorithm" << endreq;
log << MSG::INFO << "initialize AthenaMon algorithm" << endmsg;
std::vector<std::string>::iterator it = m_monToolNames.begin();
IToolSvc* p_toolSvc;
StatusCode sc = service("ToolSvc",p_toolSvc);
if (sc.isFailure()) {
log << MSG::FATAL << " Tool Service not found " << endreq;
log << MSG::FATAL << " Tool Service not found " << endmsg;
return StatusCode::FAILURE;
}
......@@ -66,18 +66,18 @@ StatusCode AthenaMon::initialize()
sc = p_toolSvc->retrieveTool(mytool.type(), mytool.name(), p_tool);
if(sc.isFailure()) {
log << MSG::FATAL << "Unable to create " << toolname
<< " AlgTool" << endreq;
<< " AlgTool" << endmsg;
return StatusCode::FAILURE;
} else {
log << MSG::INFO
<< "Tool Name = " << toolname
<< endreq;
<< endmsg;
sc = p_tool->setupOutputStreams(m_THistSvc_streamnameMapping);
if(sc.isFailure()) {
log << MSG::WARNING << "Unable to setup the OutPutStreams in "
<< toolname << endreq;
<< toolname << endmsg;
}
// shall I book histograms now ?
......@@ -87,7 +87,7 @@ StatusCode AthenaMon::initialize()
// dynamic booking, it should define bookHists as empty.
sc = p_tool->bookHists();
if(sc.isFailure()) {
log << MSG::WARNING << "Unable to book in " << toolname << endreq;
log << MSG::WARNING << "Unable to book in " << toolname << endmsg;
}
}
m_monTools.push_back(p_tool);
......@@ -102,7 +102,7 @@ StatusCode AthenaMon::execute()
{
MsgStream log(msgSvc(), name());
log << MSG::DEBUG << "executing AthenaMon algorithm" << endreq;
log << MSG::DEBUG << "executing AthenaMon algorithm" << endmsg;
//Invoke all declared alg monitoring tools to fill their histograms
std::vector<IMonitorToolBase*>::iterator it = m_monTools.begin();
......@@ -110,7 +110,7 @@ StatusCode AthenaMon::execute()
for (; it < m_monTools.end(); it++) {
if((*it)->preSelector())
if((*it)->fillHists().isFailure()) {
log << MSG::WARNING << "Error Filling Histograms" << endreq;
log << MSG::WARNING << "Error Filling Histograms" << endmsg;
// return StatusCode::FAILURE;
}
}
......@@ -119,10 +119,10 @@ StatusCode AthenaMon::execute()
it = m_monTools.begin();
for (; it < m_monTools.end(); it++) {
log << MSG::INFO << "calling checkHists of tool " << endreq;
log << MSG::INFO << "calling checkHists of tool " << endmsg;
StatusCode sc = (*it)->checkHists(false);
if(sc.isFailure()) {
log << MSG::WARNING << "Can\'t call checkHists of tool." << endreq;
log << MSG::WARNING << "Can\'t call checkHists of tool." << endmsg;
// return StatusCode::FAILURE;
}
}
......@@ -137,16 +137,16 @@ StatusCode AthenaMon::finalize()
{
MsgStream log(msgSvc(), name());
log << MSG::INFO << "finalizing AthenaMon algorithm" << endreq;
log << MSG::INFO << "finalizing AthenaMon algorithm" << endmsg;
//Invoke all declared alg monitoring tools to finalize their histograms
std::vector<IMonitorToolBase*>::iterator it = m_monTools.begin();
for (; it < m_monTools.end(); it++) {
log << MSG::INFO << "finalizing tool " << endreq;
log << MSG::INFO << "finalizing tool " << endmsg;
StatusCode sc = (*it)->finalHists();
if(sc.isFailure()) {
log << MSG::WARNING << "Can\'t finalize a tool." << endreq;
log << MSG::WARNING << "Can\'t finalize a tool." << endmsg;
// return StatusCode::FAILURE;
}
}
......@@ -154,10 +154,10 @@ StatusCode AthenaMon::finalize()
it = m_monTools.begin();
for (; it < m_monTools.end(); it++) {
log << MSG::INFO << "calling checkHists of tool " << endreq;
log << MSG::INFO << "calling checkHists of tool " << endmsg;
StatusCode sc = (*it)->checkHists(true);
if(sc.isFailure()) {
log << MSG::WARNING << "Can\'t call checkHists of tool." << endreq;
log << MSG::WARNING << "Can\'t call checkHists of tool." << endmsg;
// return StatusCode::FAILURE;
}
}
......@@ -169,7 +169,7 @@ StatusCode AthenaMon::finalize()
StatusCode AthenaMon::beginRun()
{
MsgStream log(msgSvc(), name());
log << MSG::INFO << "beginRun()" << endreq;
log << MSG::INFO << "beginRun()" << endmsg;
// histograms already booked
if(m_bookHistsinInitialize)
......@@ -178,7 +178,7 @@ StatusCode AthenaMon::beginRun()
std::vector<IMonitorToolBase*>::iterator it = m_monTools.begin();
for (; it < m_monTools.end(); it++)
if((*it)->bookHists().isFailure())
log << MSG::WARNING << "Error Filling Histograms" << endreq;
log << MSG::WARNING << "Error Filling Histograms" << endmsg;
return StatusCode::SUCCESS;
}
......@@ -187,12 +187,12 @@ StatusCode AthenaMon::beginRun()
StatusCode AthenaMon::endRun()
{
MsgStream log(msgSvc(), name());
log << MSG::INFO << "endRun()" << endreq;
log << MSG::INFO << "endRun()" << endmsg;
std::vector<IMonitorToolBase*>::iterator it = m_monTools.begin();
for (; it < m_monTools.end(); it++)
if((*it)->runStat().isFailure())
log << MSG::WARNING << "Error calling runStat" << endreq;
log << MSG::WARNING << "Error calling runStat" << endmsg;
return StatusCode::SUCCESS;
}
......@@ -24,7 +24,7 @@ StatusCode FastPhysMonToolBase::initialize() {
//Register Incident-handler
ServiceHandle<IIncidentSvc> incSvc("IncidentSvc",this->name());
if (incSvc.retrieve().isFailure()) {
msg(MSG::ERROR) << "Can't retrieve IIncidentSvc" << endreq;
msg(MSG::ERROR) << "Can't retrieve IIncidentSvc" << endmsg;
return StatusCode::FAILURE;
}
......@@ -41,7 +41,7 @@ void FastPhysMonToolBase::handle(const Incident&) {
ATH_MSG_DEBUG("In incident handler...");
const EventInfo* eventInfo;
if (evtStore()->retrieve(eventInfo).isFailure()) {
msg(MSG::ERROR) << "Can't retrieve EventInfo object" << endreq;
msg(MSG::ERROR) << "Can't retrieve EventInfo object" << endmsg;
return;
}
......@@ -71,7 +71,7 @@ StatusCode FastPhysMonToolBase::regFPMTree(TTree* tree,const std::string& syste
ATH_MSG_DEBUG("Registering FPM Tree with name " << tree->GetName() << " with system name " << systemName);
if (ManagedMonitorToolBase::regTree(tree,systemName,all, ManagedMonitorToolBase::ATTRIB_UNMANAGED, chain, merge).isFailure()) {
msg(MSG::ERROR) << "Failed to register Tree with name " << tree->GetName() << " with system name " << systemName << endreq;
msg(MSG::ERROR) << "Failed to register Tree with name " << tree->GetName() << " with system name " << systemName << endmsg;
return StatusCode::FAILURE;
}
......@@ -89,7 +89,7 @@ StatusCode FastPhysMonToolBase::bookHistograms() {
StatusCode sc=this->bookNtuple();
if (sc.isFailure()) {
msg(MSG::ERROR) << "bookNtuple method failed!" << endreq;
msg(MSG::ERROR) << "bookNtuple method failed!" << endmsg;
return StatusCode::FAILURE;
}
......@@ -100,6 +100,6 @@ StatusCode FastPhysMonToolBase::bookHistograms() {
StatusCode FastPhysMonToolBase::bookNtuple() {
msg(MSG::ERROR) << "No bookNtuple() method implemented for this FastPhysMonTool!" << endreq;
msg(MSG::ERROR) << "No bookNtuple() method implemented for this FastPhysMonTool!" << endmsg;
return StatusCode::FAILURE;
}
......@@ -160,14 +160,14 @@ void ManagedMonitorToolBase::Imp::benchFinalReport()
{
if (!m_doResourceMon)
return;
m_theclass->msg(AthMonBench::s_resourceMonThreshold) << "ResourceSummary --> Result of dedicated mon-tool resource monitoring:"<<endreq;
m_theclass->msg(AthMonBench::s_resourceMonThreshold) << "ResourceSummary --> Book : "<<m_bench_book << endreq;
m_theclass->msg(AthMonBench::s_resourceMonThreshold) << "ResourceSummary --> First Fill : "<<m_bench_fillfirst << endreq;
m_theclass->msg(AthMonBench::s_resourceMonThreshold) << "ResourceSummary --> Last Fill : "<<m_bench_filllast << endreq;
m_theclass->msg(AthMonBench::s_resourceMonThreshold) << "ResourceSummary --> Other Fills : "<<m_bench_fillall << endreq;
m_theclass->msg(AthMonBench::s_resourceMonThreshold) << "ResourceSummary --> Proc : "<<m_bench_proc << endreq;
m_theclass->msg(AthMonBench::s_resourceMonThreshold) << "ResourceSummary --> Result of dedicated mon-tool resource monitoring:"<<endmsg;
m_theclass->msg(AthMonBench::s_resourceMonThreshold) << "ResourceSummary --> Book : "<<m_bench_book << endmsg;
m_theclass->msg(AthMonBench::s_resourceMonThreshold) << "ResourceSummary --> First Fill : "<<m_bench_fillfirst << endmsg;
m_theclass->msg(AthMonBench::s_resourceMonThreshold) << "ResourceSummary --> Last Fill : "<<m_bench_filllast << endmsg;
m_theclass->msg(AthMonBench::s_resourceMonThreshold) << "ResourceSummary --> Other Fills : "<<m_bench_fillall << endmsg;
m_theclass->msg(AthMonBench::s_resourceMonThreshold) << "ResourceSummary --> Proc : "<<m_bench_proc << endmsg;
m_bench_total.setUnitCount();//to avoid dividing by number of measurements
m_theclass->msg(AthMonBench::s_resourceMonThreshold) << "ResourceSummary --> Grand Total : "<<m_bench_total << endreq;
m_theclass->msg(AthMonBench::s_resourceMonThreshold) << "ResourceSummary --> Grand Total : "<<m_bench_total << endmsg;
//NB: Needs total also!
}
......@@ -418,6 +418,7 @@ ManagedMonitorToolBase( const std::string & type, const std::string & name,
, m_hasRetrievedLumiTool(false)
, m_bookHistogramsInitial(false)
, m_useLumi(false)
, m_defaultLBDuration(60.)
//, m_cycleNum(0)
, m_d(new Imp(this))
{
......@@ -449,6 +450,9 @@ ManagedMonitorToolBase( const std::string & type, const std::string & name,
// How detailed should the monitoring be?
declareProperty( "DetailLevel", m_detailLevel );
// If we don't know how long an LB is, here's the default
declareProperty( "DefaultLBDuration", m_defaultLBDuration );
// Properties that are overridden in initialize()---settings via jobOptions are ignored!
declareProperty( "FileKey", m_fileKey );
declareProperty( "DataType", m_dataTypeStr );
......@@ -487,10 +491,10 @@ ManagedMonitorToolBase::
streamNameFunction()
{
if( m_streamNameFcn == 0 ) {
msg(MSG::ERROR) << "!! streamNameFunction() has not been initialized !!" << endreq;
msg(MSG::ERROR) << " --> neither ManagedMonitorToolBase::initialize() nor" << endreq;
msg(MSG::ERROR) << " --> ManagedMonitorToolBase::setMonManager() has been called." << endreq;
msg(MSG::ERROR) << " --> Correct configuration cannot be guaranteed from this point." << endreq;
msg(MSG::ERROR) << "!! streamNameFunction() has not been initialized !!" << endmsg;
msg(MSG::ERROR) << " --> neither ManagedMonitorToolBase::initialize() nor" << endmsg;
msg(MSG::ERROR) << " --> ManagedMonitorToolBase::setMonManager() has been called." << endmsg;
msg(MSG::ERROR) << " --> Correct configuration cannot be guaranteed from this point." << endmsg;
m_streamNameFcn = getNewStreamNameFcn();
}
return m_streamNameFcn;
......@@ -558,7 +562,7 @@ levelOfDetailStringToEnum( const std::string& str )
if( sc.isSuccess() ) {
MsgStream log( ms, "ManagedMonitorToolBase::levelOfDetailStringToEnum()" );
log << MSG::WARNING << "Unknown ManagedMonitorToolBase::LevelOfDetail_t \""
<< str << "\", returning \"transient\"" << endreq;
<< str << "\", returning \"transient\"" << endmsg;
}
}
......@@ -640,7 +644,7 @@ intervalStringToEnum( const std::string& str )
if( sc.isSuccess() ) {
MsgStream log( ms, "ManagedMonitorToolBase::intervalStringToEnum()" );
log << MSG::WARNING << "Unknown ManagedMonitorToolBase::Interval_t \""
<< str << "\", returning \"file\"" << endreq;
<< str << "\", returning \"file\"" << endmsg;
}
}
......@@ -664,7 +668,7 @@ initialize()
sc = m_THistSvc.retrieve();
if( !sc.isSuccess() ) {
msg(MSG::ERROR) << "!! Unable to locate the THistSvc service !!" << endreq;
msg(MSG::ERROR) << "!! Unable to locate the THistSvc service !!" << endmsg;
return sc;
}
ATH_MSG_DEBUG(" --> Found service \"THistSvc\"");
......@@ -672,7 +676,7 @@ initialize()
if( !m_trigDecTool.empty() ) {
sc = m_trigDecTool.retrieve();
if( !sc.isSuccess() ) {
msg(MSG::ERROR) << "!! Unable to retrieve the TrigDecisionTool !!" << endreq;
msg(MSG::ERROR) << "!! Unable to retrieve the TrigDecisionTool !!" << endmsg;
return sc;
}
ATH_MSG_DEBUG(" --> Found AlgTool \"TrigDecisionTool\"");
......@@ -680,7 +684,7 @@ initialize()
if( !m_trigTranslator.empty() ) {
sc = m_trigTranslator.retrieve();
if ( !sc.isSuccess() ) {
ATH_MSG_ERROR(" Unable to retrieve the TrigTranslatorTool!" << endreq);
ATH_MSG_ERROR(" Unable to retrieve the TrigTranslatorTool!" << endmsg);
return sc;
}
}
......@@ -689,7 +693,7 @@ initialize()
ATH_MSG_DEBUG(" --> Found nonempty trigger chain list");
sc=parseList(m_triggerChainProp, m_vTrigChainNames);
if(!sc.isSuccess()) {
msg(MSG::WARNING) << "Error parsing the trigger chain list, using empty list" << endreq;
msg(MSG::WARNING) << "Error parsing the trigger chain list, using empty list" << endmsg;
m_vTrigChainNames.clear();
}
if (!m_trigTranslator.empty()) {
......@@ -703,7 +707,7 @@ initialize()
ATH_MSG_DEBUG(" --> Found nonempty trigger group list");
sc=parseList(m_triggerGroupProp, m_vTrigGroupNames);
if(!sc.isSuccess()) {
msg(MSG::WARNING) << "Error parsing the trigger group names list, using empty list" << endreq;
msg(MSG::WARNING) << "Error parsing the trigger group names list, using empty list" << endmsg;
m_vTrigGroupNames.clear();
}
if (!m_trigTranslator.empty()) {
......@@ -727,7 +731,7 @@ initialize()
ServiceHandle<IJobOptionsSvc> joSvc( "JobOptionsSvc", name() );
sc = joSvc.retrieve();
if( !sc.isSuccess() ) {
msg(MSG::ERROR) << "!! Unable to locate the JobOptionsSvc service !!" << endreq;
msg(MSG::ERROR) << "!! Unable to locate the JobOptionsSvc service !!" << endmsg;
return StatusCode::FAILURE;
}
ATH_MSG_DEBUG(" --> Found service \"JobOptionsSvc\"");
......@@ -736,7 +740,7 @@ initialize()