Commit 09859bd6 authored by Marco Clemencic's avatar Marco Clemencic
Browse files

add sysExecute(EventContext) and extract errorCount from Algorithm base class

We need to extract the `m_errorCount` variable from the Algorithm base class,
as it's not important on a per-instance basis, but rather on a job level. This
is moved to the AlgExecStateSvc.

This merge request also adds an explicit `IAlgorithm::sysExecute(const EventContext&)`,
which should become the standard entry point to `Algorithm::execute`. This sets the local
m_event_context variable, so derived classes can get quick access to the current context
instead of going through the slower thead local `Gaudi::Hive::currentContext()`.  

Note that `IAlgorithm::sysExecute()` has been removed, to avoid "overloaded virtual" compiler errors, and should be replaced in all clients with `IAlgorithm::sysExecute(EventContext)`, or if the context is not immediately available, with `IAlgorithm::sysExecute(Gaudi::Hive::currentContext())`.

All this is being done in preparation to re-introduce the ReEntrantAlgorithm class from mer...
parents 29443f02 24ca9a58
......@@ -122,7 +122,7 @@ public:
* @see Algorithm::sysExecute
* @return status code
*/
StatusCode sysExecute() override;
StatusCode sysExecute(const EventContext& ctx) override;
// ==========================================================================
public:
// following methods cannot go in GaudiCommon since they use methods ( evtSvc()
......
......@@ -6,6 +6,7 @@
// ============================================================================
#include "GaudiKernel/IAlgContextSvc.h"
#include "GaudiKernel/DataObject.h"
#include "GaudiKernel/ThreadLocalContext.h"
// ============================================================================
// GaudiAlg
// ============================================================================
......@@ -90,7 +91,7 @@ SmartIF<INTupleSvc>& GaudiAlgorithm::evtColSvc() const
* @return status code
*/
// ============================================================================
StatusCode GaudiAlgorithm::sysExecute ()
StatusCode GaudiAlgorithm::sysExecute (const EventContext& evtCtx)
{
IAlgContextSvc* ctx = nullptr ;
if ( registerContext() ) { ctx = contextSvc() ; }
......@@ -113,7 +114,7 @@ StatusCode GaudiAlgorithm::sysExecute ()
[&](const std::string& loc) { return this->exist<DataObject>(loc); } );
// execute the generic method:
if( doIt ) return Algorithm::sysExecute() ;
if( doIt ) return Algorithm::sysExecute(evtCtx) ;
return StatusCode::SUCCESS;
}
// ============================================================================
......
......@@ -166,7 +166,7 @@ StatusCode GaudiSequencer::execute()
if ( ! myAlg->isExecuted() ) {
if ( m_measureTime ) m_timerTool->start( entry.timer() );
result = myAlg->sysExecute();
result = myAlg->sysExecute(getContext());
if ( m_measureTime ) m_timerTool->stop( entry.timer() );
myAlg->setExecuted( true );
if ( !result.isSuccess() ) break; //== Abort and return bad status
......
......@@ -508,7 +508,7 @@ StatusCode Sequencer::executeMember( Algorithm* theAlgorithm )
StatusCode result = StatusCode::SUCCESS;
if ( theAlgorithm->isEnabled( ) ) {
if ( ! theAlgorithm->isExecuted( ) ) {
result = theAlgorithm->sysExecute( );
result = theAlgorithm->sysExecute( getContext() );
// Set the executed state of the algorithm.
// I think this should be done by the algorithm itself, but just in case...
......
......@@ -184,6 +184,9 @@ AlgExecStateSvc::addAlg(const Gaudi::StringKey& alg) {
for (size_t i = 0; i<m_algStates.size(); ++i) {
m_algStates.at(i)[alg] = s;
}
m_errorCount[alg] = 0;
}
if (msgLevel(MSG::DEBUG))
......@@ -303,6 +306,48 @@ AlgExecStateSvc::reset(const EventContext& ctx) {
//-----------------------------------------------------------------------------
unsigned int
AlgExecStateSvc::algErrorCount(const IAlgorithm* iAlg) const {
AlgErrorMap_t::const_iterator itr = m_errorCount.find( iAlg->nameKey() );
if (itr != m_errorCount.end()) {
return itr->second;
} else {
error() << "Unable to find Algorithm \"" << iAlg->name() << "\" in map"
<< " of ErrorCounts" << endmsg;
return 0;
}
}
//-----------------------------------------------------------------------------
void
AlgExecStateSvc::resetErrorCount(const IAlgorithm* iAlg) {
AlgErrorMap_t::iterator itr = m_errorCount.find( iAlg->nameKey() );
if (itr != m_errorCount.end()) {
itr->second = 0;
} else {
error() << "Unable to find Algorithm \"" << iAlg->name() << "\" in map"
<< " of ErrorCounts" << endmsg;
}
}
//-----------------------------------------------------------------------------
unsigned int
AlgExecStateSvc::incrementErrorCount(const IAlgorithm* iAlg) {
AlgErrorMap_t::iterator itr = m_errorCount.find( iAlg->nameKey() );
if (itr != m_errorCount.end()) {
return (++(itr->second));
} else {
error() << "Unable to find Algorithm \"" << iAlg->name() << "\" in map"
<< " of ErrorCounts" << endmsg;
return 0;
}
}
//-----------------------------------------------------------------------------
std::string
AlgExecStateSvc::trans(const EventStatus::Status& s) const {
switch (s) {
......
......@@ -48,6 +48,10 @@ public:
void updateEventStatus(const bool& b, const EventContext& ctx) override;
unsigned int algErrorCount(const IAlgorithm* iAlg) const override;
void resetErrorCount(const IAlgorithm* iAlg) override;
unsigned int incrementErrorCount(const IAlgorithm* iAlg) override;
void dump(std::ostringstream& ost, const EventContext& ctx) const override;
private:
......@@ -62,6 +66,9 @@ private:
std::vector< EventStatus::Status > m_eventStatus;
std::vector< Gaudi::StringKey > m_preInitAlgs;
typedef std::map< Gaudi::StringKey, std::atomic<unsigned int> > AlgErrorMap_t;
AlgErrorMap_t m_errorCount;
void init();
void checkInit() const;
std::once_flag m_initFlag;
......
......@@ -6,6 +6,7 @@
#include "GaudiKernel/System.h"
#include "GaudiKernel/MsgStream.h"
#include "GaudiKernel/TypeNameString.h"
#include "GaudiKernel/IAlgExecStateSvc.h"
#include <iostream>
#ifndef _WIN32
#include <errno.h>
......@@ -191,10 +192,19 @@ StatusCode AlgorithmManager::reinitialize() {
}
StatusCode AlgorithmManager::restart() {
SmartIF<IAlgExecStateSvc> m_aess;
m_aess = serviceLocator()->service("AlgExecStateSvc");
if( !m_aess.isValid() ) {
fatal() << "Error retrieving AlgExecStateSvc" << endmsg;
return StatusCode::FAILURE;
}
StatusCode rc;
for (auto& it : m_algs ) {
if (!it.managed) continue;
rc = it.algorithm->sysRestart();
m_aess->resetErrorCount(it.algorithm);
if( rc.isFailure() ){
this->error() << "Unable to re-initialize algorithm: " << it.algorithm->name() << endmsg;
return rc;
......
......@@ -25,6 +25,7 @@
#include "GaudiKernel/Property.h"
#include "GaudiKernel/ToStream.h"
#include "GaudiKernel/TypeNameString.h"
#include "GaudiKernel/ThreadLocalContext.h"
// ============================================================================
// Local
// ============================================================================
......@@ -691,7 +692,7 @@ StatusCode DataOnDemandSvc::execHandler( const std::string& tag, Leaf& l )
// if (!l.algorithm->getContext()) {
// l.algorithm->setContext( &Gaudi::Hive::currentContext() );
// }
StatusCode sc = l.algorithm->sysExecute();
StatusCode sc = l.algorithm->sysExecute(Gaudi::Hive::currentContext());
if ( sc.isFailure() ) {
error() << "Failed to execute the algorithm:" << l.algorithm->name() << " for location:" << tag << endmsg;
return sc; // RETURN
......
JobOptionsSvc INFO # =======> /home/marco/Devel/LHCb/workspace/Gaudi/GaudiExamples/options/Histograms.opts
JobOptionsSvc INFO # =======> /build1/leggett/git/leggett/Gaudi/GaudiExamples/options/Histograms.opts
JobOptionsSvc INFO # (5,1): AuditorSvc.Auditors = ["ChronoAuditor"]
JobOptionsSvc INFO # (9,1): MessageSvc.OutputLevel = 3
JobOptionsSvc INFO # (20,1): ApplicationMgr.TopAlg += ["GaudiHistoAlgorithm/SimpleHistos"]
......@@ -19,19 +19,19 @@ JobOptionsSvc INFO # (48,1): RootHistSvc.OutputFile = "histo.root"
JobOptionsSvc INFO # (57,1): HistogramDataSvc.Input = ["InFile DATAFILE='../data/input.hbook' TYP='HBOOK'"]
JobOptionsSvc INFO # (59,1): HistogramDataSvc.Predefined1DHistos = {"/stat/Histos2/2":["TEST2", -100, 200]}
JobOptionsSvc INFO # (63,1): HistogramDataSvc.OutputLevel = 2
JobOptionsSvc INFO # =======> /home/marco/Devel/LHCb/workspace/Gaudi/GaudiExamples/options/Aida2Root.opts
JobOptionsSvc INFO # =======> /build1/leggett/git/leggett/Gaudi/GaudiExamples/options/Aida2Root.opts
JobOptionsSvc INFO # (3,1): ApplicationMgr.TopAlg += ["Aida2Root"]
JobOptionsSvc INFO Job options successfully read in from /home/marco/Devel/LHCb/workspace/Gaudi/GaudiExamples/options/Aida2Root.opts
JobOptionsSvc INFO Job options successfully read in from /build1/leggett/git/leggett/Gaudi/GaudiExamples/options/Aida2Root.opts
ApplicationMgr SUCCESS
====================================================================================================================================
Welcome to ApplicationMgr (GaudiCoreSvc v27r1)
running on pcphlbc16 on Tue Nov 1 17:20:17 2016
Welcome to ApplicationMgr (GaudiCoreSvc v28r1)
running on p05614910w96644.cern.ch on Tue Jan 17 22:47:43 2017
====================================================================================================================================
ApplicationMgr INFO Application Manager Configured successfully
SimpleHistos DEBUG Property update for OutputLevel : new value = 2
SimpleHistos DEBUG Initialize base class GaudiCommon<Algorithm>
SimpleHistos DEBUG could not locate CounterSummarySvc, no counter summary will be made
SimpleHistos DEBUG List of ALL properties of GaudiHistoAlgorithm/SimpleHistos #properties = 52
SimpleHistos DEBUG List of ALL properties of GaudiHistoAlgorithm/SimpleHistos #properties = 51
SimpleHistos DEBUG Property ['Name': Value] = 'AutoStringIDPurgeMap':{ '/' : '=SLASH=' }
SimpleHistos DEBUG Property ['Name': Value] = 'UseSequencialNumericAutoIDs':False
SimpleHistos DEBUG Property ['Name': Value] = 'HeaderFor1DHistoTable':| Title | # | Mean | RMS | Skewness | Kurtosis |
......@@ -78,7 +78,6 @@ SimpleHistos DEBUG Property ['Name': Value] = 'AuditRestart':False
SimpleHistos DEBUG Property ['Name': Value] = 'AuditReinitialize':False
SimpleHistos DEBUG Property ['Name': Value] = 'AuditInitialize':False
SimpleHistos DEBUG Property ['Name': Value] = 'AuditAlgorithms':False
SimpleHistos DEBUG Property ['Name': Value] = 'ErrorCounter':0
SimpleHistos DEBUG Property ['Name': Value] = 'ErrorMax':1
SimpleHistos DEBUG Property ['Name': Value] = 'Enable':True
SimpleHistos DEBUG Property ['Name': Value] = 'OutputLevel':2
......@@ -95,7 +94,7 @@ SimpleHistos DEBUG GaudiHistoAlgorithm:: The histogram path is set to be
SimpleHistos DEBUG input handles: 0
SimpleHistos DEBUG output handles: 0
SimpleHistos DEBUG Data Deps for SimpleHistos
Histos2 SUCCESS List of ALL properties of Gaudi::Examples::HistoProps/Histos2 #properties = 54
Histos2 SUCCESS List of ALL properties of Gaudi::Examples::HistoProps/Histos2 #properties = 53
Histos2 SUCCESS Property ['Name': Value] = 'Histo2':('',-5.00000,5.00000,200)
Histos2 SUCCESS Property ['Name': Value] = 'Histo1':('Histogram1',-3.00000,3.00000,200)
Histos2 SUCCESS Property ['Name': Value] = 'AutoStringIDPurgeMap':{ '/' : '=SLASH=' }
......@@ -144,13 +143,12 @@ Histos2 SUCCESS Property ['Name': Value] = 'AuditRestart':False
Histos2 SUCCESS Property ['Name': Value] = 'AuditReinitialize':False
Histos2 SUCCESS Property ['Name': Value] = 'AuditInitialize':False
Histos2 SUCCESS Property ['Name': Value] = 'AuditAlgorithms':False
Histos2 SUCCESS Property ['Name': Value] = 'ErrorCounter':0
Histos2 SUCCESS Property ['Name': Value] = 'ErrorMax':1
Histos2 SUCCESS Property ['Name': Value] = 'Enable':True
Histos2 SUCCESS Property ['Name': Value] = 'OutputLevel':3
Histos2 SUCCESS Property ['Name': Value] = 'ExtraOutputs':[]
Histos2 SUCCESS Property ['Name': Value] = 'ExtraInputs':[]
Aida2Root SUCCESS List of ALL properties of Aida2Root/Aida2Root #properties = 57
Aida2Root SUCCESS List of ALL properties of Aida2Root/Aida2Root #properties = 56
Aida2Root SUCCESS Property ['Name': Value] = 'Profs2D':[ 'SimpleHistos/321' , 'SimpleHistos/2dprof' ]
Aida2Root SUCCESS Property ['Name': Value] = 'Profs1D':[ 'SimpleHistos/Expo V Gauss 1DProf' ]
Aida2Root SUCCESS Property ['Name': Value] = 'Histos3D':[ 'SimpleHistos/3D plot AutoID' , 'SimpleHistos/3d' ]
......@@ -202,7 +200,6 @@ Aida2Root SUCCESS Property ['Name': Value] = 'AuditRestart':False
Aida2Root SUCCESS Property ['Name': Value] = 'AuditReinitialize':False
Aida2Root SUCCESS Property ['Name': Value] = 'AuditInitialize':False
Aida2Root SUCCESS Property ['Name': Value] = 'AuditAlgorithms':False
Aida2Root SUCCESS Property ['Name': Value] = 'ErrorCounter':0
Aida2Root SUCCESS Property ['Name': Value] = 'ErrorMax':1
Aida2Root SUCCESS Property ['Name': Value] = 'Enable':True
Aida2Root SUCCESS Property ['Name': Value] = 'OutputLevel':3
......@@ -438,11 +435,11 @@ EventLoopMgr INFO Histograms converted successfully according to request
*****Chrono***** INFO ****************************************************************************************************
*****Chrono***** INFO The Final CPU consumption ( Chrono ) Table (ordered)
*****Chrono***** INFO ****************************************************************************************************
1DForcedNumericID INFO Time User : Tot= 84 [ms] Ave/Min/Max=0.00168(+-0.082)/ 0/ 4 [ms] #=49999
1DAutoID INFO Time User : Tot= 88 [ms] Ave/Min/Max=0.00176(+-0.0839)/ 0/ 4 [ms] #=49999
1DForcedAlphaID INFO Time User : Tot= 112 [ms] Ave/Min/Max=0.00224(+-0.0946)/ 0/ 4 [ms] #=49999
1DOldStyle INFO Time User : Tot= 116 [ms] Ave/Min/Max=0.00232(+-0.0963)/ 0/ 4 [ms] #=49999
ChronoStatSvc INFO Time User : Tot= 4.07 [s] #= 1
1DForcedAlphaID INFO Time User : Tot= 40 [ms] Ave/Min/Max=0.0008(+-0.0894)/ 0/ 10 [ms] #=49999
1DOldStyle INFO Time User : Tot= 40 [ms] Ave/Min/Max=0.0008(+-0.0894)/ 0/ 10 [ms] #=49999
1DForcedNumericID INFO Time User : Tot= 40 [ms] Ave/Min/Max=0.0008(+-0.0894)/ 0/ 10 [ms] #=49999
1DAutoID INFO Time User : Tot= 50 [ms] Ave/Min/Max=0.001(+- 0.1)/ 0/ 10 [ms] #=49999
ChronoStatSvc INFO Time User : Tot= 2.76 [s] #= 1
*****Chrono***** INFO ****************************************************************************************************
ChronoStatSvc.f... INFO Service finalized successfully
HistogramDataSvc DEBUG Substituted histograms #1 :
......
JobOptionsSvc INFO # =======> /var/clus/usera/jonesc/LHCbCMake/Gaudi/GaudiExamples/options/Services.opts
JobOptionsSvc INFO # =======> /build1/leggett/git/leggett/Gaudi/GaudiExamples/options/Services.opts
JobOptionsSvc INFO # (12,1): AuditorSvc.Auditors = ["ChronoAuditor"]
JobOptionsSvc INFO # =======> /var/clus/usera/jonesc/LHCbCMake/Gaudi/GaudiExamples/options/Common.opts
JobOptionsSvc INFO # =======> /build1/leggett/git/leggett/Gaudi/GaudiExamples/options/Common.opts
JobOptionsSvc INFO # (9,1): ApplicationMgr.StatusCodeCheck = 1
JobOptionsSvc INFO # =======> /var/clus/usera/jonesc/LHCbCMake/Gaudi/GaudiExamples/options/AlgTools2.opts
JobOptionsSvc INFO # =======> /build1/leggett/git/leggett/Gaudi/GaudiExamples/options/AlgTools2.opts
JobOptionsSvc INFO # (10,1): ApplicationMgr.TopAlg = ["MyGaudiAlgorithm/MyAlg"]
JobOptionsSvc INFO # (13,1): MessageSvc.OutputLevel = 3
JobOptionsSvc INFO # (18,1): ApplicationMgr.EvtMax = 10
......@@ -23,18 +23,18 @@ JobOptionsSvc INFO # (44,1): ToolSvc.ToolA.Tools = ["TestTool/ToolB"]
JobOptionsSvc INFO # (45,1): ToolSvc.ToolB.Tools = ["TestTool/ToolA"]
JobOptionsSvc INFO # (46,1): ToolSvc.ToolA.OutputLevel = 2
JobOptionsSvc INFO # (47,1): ToolSvc.ToolB.OutputLevel = 2
JobOptionsSvc INFO Job options successfully read in from /var/clus/usera/jonesc/LHCbCMake/Gaudi/GaudiExamples/options/AlgTools2.opts
JobOptionsSvc INFO Job options successfully read in from /build1/leggett/git/leggett/Gaudi/GaudiExamples/options/AlgTools2.opts
ApplicationMgr SUCCESS
====================================================================================================================================
Welcome to ApplicationMgr (GaudiCoreSvc v27r1)
running on pcmf on Mon Oct 31 14:20:22 2016
Welcome to ApplicationMgr (GaudiCoreSvc v28r1)
running on p05614910w96644.cern.ch on Tue Jan 17 22:49:10 2017
====================================================================================================================================
ApplicationMgr INFO Application Manager Configured successfully
StatusCodeSvc INFO initialize
MyAlg DEBUG Property update for OutputLevel : new value = 2
MyAlg DEBUG Initialize base class GaudiCommon<Algorithm>
MyAlg DEBUG could not locate CounterSummarySvc, no counter summary will be made
MyAlg DEBUG List of ALL properties of MyGaudiAlgorithm/MyAlg #properties = 46
MyAlg DEBUG List of ALL properties of MyGaudiAlgorithm/MyAlg #properties = 45
MyAlg DEBUG Property ['Name': Value] = 'trackSelection':/Event/MyAnalysis/Tracks
MyAlg DEBUG Property ['Name': Value] = 'raw':/Rec/RAW
MyAlg DEBUG Property ['Name': Value] = 'hits':/Event/Rec/Hits
......@@ -75,12 +75,11 @@ MyAlg DEBUG Property ['Name': Value] = 'AuditRestart':False
MyAlg DEBUG Property ['Name': Value] = 'AuditReinitialize':False
MyAlg DEBUG Property ['Name': Value] = 'AuditInitialize':False
MyAlg DEBUG Property ['Name': Value] = 'AuditAlgorithms':False
MyAlg DEBUG Property ['Name': Value] = 'ExtraOutputs':[]
MyAlg DEBUG Property ['Name': Value] = 'ExtraInputs':[]
MyAlg DEBUG Property ['Name': Value] = 'ErrorCounter':0
MyAlg DEBUG Property ['Name': Value] = 'ErrorMax':1
MyAlg DEBUG Property ['Name': Value] = 'Enable':True
MyAlg DEBUG Property ['Name': Value] = 'OutputLevel':2
MyAlg DEBUG Property ['Name': Value] = 'ExtraOutputs':[]
MyAlg DEBUG Property ['Name': Value] = 'ExtraInputs':[]
MyAlg INFO initializing....
ToolSvc.MyTool INFO intialize() has been called
ToolSvc.MyTool INFO Int = 201
......@@ -122,8 +121,6 @@ MyAlg.MyGaudiTool DEBUG Property ['Name': Value] = 'TypePrint':True
MyAlg.MyGaudiTool DEBUG Property ['Name': Value] = 'StatPrint':True
MyAlg.MyGaudiTool DEBUG Property ['Name': Value] = 'PropertiesPrint':False
MyAlg.MyGaudiTool DEBUG Property ['Name': Value] = 'ErrorsPrint':True
MyAlg.MyGaudiTool DEBUG Property ['Name': Value] = 'ExtraOutputs':[]
MyAlg.MyGaudiTool DEBUG Property ['Name': Value] = 'ExtraInputs':[]
MyAlg.MyGaudiTool DEBUG Property ['Name': Value] = 'AuditRestart':False
MyAlg.MyGaudiTool DEBUG Property ['Name': Value] = 'AuditReinitialize':False
MyAlg.MyGaudiTool DEBUG Property ['Name': Value] = 'AuditFinalize':False
......@@ -133,6 +130,8 @@ MyAlg.MyGaudiTool DEBUG Property ['Name': Value] = 'AuditInitialize':False
MyAlg.MyGaudiTool DEBUG Property ['Name': Value] = 'AuditTools':False
MyAlg.MyGaudiTool DEBUG Property ['Name': Value] = 'MonitorService':MonitorSvc
MyAlg.MyGaudiTool DEBUG Property ['Name': Value] = 'OutputLevel':2
MyAlg.MyGaudiTool DEBUG Property ['Name': Value] = 'ExtraOutputs':[]
MyAlg.MyGaudiTool DEBUG Property ['Name': Value] = 'ExtraInputs':[]
MyAlg.MyGaudiTool INFO intialize() has been called
MyAlg.MyGaudiTool INFO Int = 100
MyAlg.MyGaudiTool INFO Double = 100
......@@ -203,8 +202,6 @@ ToolSvc.ToolA DEBUG Property ['Name': Value] = 'TypePrint':True
ToolSvc.ToolA DEBUG Property ['Name': Value] = 'StatPrint':True
ToolSvc.ToolA DEBUG Property ['Name': Value] = 'PropertiesPrint':False
ToolSvc.ToolA DEBUG Property ['Name': Value] = 'ErrorsPrint':True
ToolSvc.ToolA DEBUG Property ['Name': Value] = 'ExtraOutputs':[]
ToolSvc.ToolA DEBUG Property ['Name': Value] = 'ExtraInputs':[]
ToolSvc.ToolA DEBUG Property ['Name': Value] = 'AuditRestart':False
ToolSvc.ToolA DEBUG Property ['Name': Value] = 'AuditReinitialize':False
ToolSvc.ToolA DEBUG Property ['Name': Value] = 'AuditFinalize':False
......@@ -214,6 +211,8 @@ ToolSvc.ToolA DEBUG Property ['Name': Value] = 'AuditInitialize':False
ToolSvc.ToolA DEBUG Property ['Name': Value] = 'AuditTools':False
ToolSvc.ToolA DEBUG Property ['Name': Value] = 'MonitorService':MonitorSvc
ToolSvc.ToolA DEBUG Property ['Name': Value] = 'OutputLevel':2
ToolSvc.ToolA DEBUG Property ['Name': Value] = 'ExtraOutputs':[]
ToolSvc.ToolA DEBUG Property ['Name': Value] = 'ExtraInputs':[]
ToolSvc.ToolA DEBUG Loading tool ToolB of type TestTool
ToolSvc.ToolB DEBUG Property update for OutputLevel : new value = 2
ToolSvc.ToolB DEBUG Initialize
......@@ -234,8 +233,6 @@ ToolSvc.ToolB DEBUG Property ['Name': Value] = 'TypePrint':True
ToolSvc.ToolB DEBUG Property ['Name': Value] = 'StatPrint':True
ToolSvc.ToolB DEBUG Property ['Name': Value] = 'PropertiesPrint':False
ToolSvc.ToolB DEBUG Property ['Name': Value] = 'ErrorsPrint':True
ToolSvc.ToolB DEBUG Property ['Name': Value] = 'ExtraOutputs':[]
ToolSvc.ToolB DEBUG Property ['Name': Value] = 'ExtraInputs':[]
ToolSvc.ToolB DEBUG Property ['Name': Value] = 'AuditRestart':False
ToolSvc.ToolB DEBUG Property ['Name': Value] = 'AuditReinitialize':False
ToolSvc.ToolB DEBUG Property ['Name': Value] = 'AuditFinalize':False
......@@ -245,6 +242,8 @@ ToolSvc.ToolB DEBUG Property ['Name': Value] = 'AuditInitialize':False
ToolSvc.ToolB DEBUG Property ['Name': Value] = 'AuditTools':False
ToolSvc.ToolB DEBUG Property ['Name': Value] = 'MonitorService':MonitorSvc
ToolSvc.ToolB DEBUG Property ['Name': Value] = 'OutputLevel':2
ToolSvc.ToolB DEBUG Property ['Name': Value] = 'ExtraOutputs':[]
ToolSvc.ToolB DEBUG Property ['Name': Value] = 'ExtraInputs':[]
ToolSvc.ToolB DEBUG Loading tool ToolA of type TestTool
ToolSvc.ToolB DEBUG Registering tool ToolSvc.ToolA
ToolSvc.ToolA DEBUG Registering tool ToolSvc.ToolB
......
JobOptionsSvc INFO # =======> /build1/leggett/git/Gaudi/GaudiExamples/options/Services.opts
JobOptionsSvc INFO # =======> /build1/leggett/git/leggett/Gaudi/GaudiExamples/options/Services.opts
JobOptionsSvc INFO # (12,1): AuditorSvc.Auditors = ["ChronoAuditor"]
JobOptionsSvc INFO # =======> /build1/leggett/git/Gaudi/GaudiExamples/options/Common.opts
JobOptionsSvc INFO # =======> /build1/leggett/git/leggett/Gaudi/GaudiExamples/options/Common.opts
JobOptionsSvc INFO # (9,1): ApplicationMgr.StatusCodeCheck = 1
JobOptionsSvc INFO # =======> /build1/leggett/git/Gaudi/GaudiExamples/options/ColorMsg.opts
JobOptionsSvc INFO # =======> /build1/leggett/git/leggett/Gaudi/GaudiExamples/options/ColorMsg.opts
JobOptionsSvc INFO # (10,1): ApplicationMgr.TopAlg = ["ColorMsgAlg"]
JobOptionsSvc INFO # (16,1): MessageSvc.OutputLevel = 1
JobOptionsSvc INFO # (17,1): MessageSvc.useColors = 1
......@@ -14,39 +14,32 @@ JobOptionsSvc INFO # (22,1): MessageSvc.debugColorCode = ["[92;1m"]
JobOptionsSvc INFO # (23,1): MessageSvc.verboseColorCode = ["[95;4m"]
JobOptionsSvc INFO # (31,1): ApplicationMgr.EvtMax = 2
JobOptionsSvc INFO # (32,1): ApplicationMgr.EvtSel = "NONE"
JobOptionsSvc INFO Job options successfully read in from /build1/leggett/git/Gaudi/GaudiExamples/options/ColorMsg.opts
JobOptionsSvc INFO Job options successfully read in from /build1/leggett/git/leggett/Gaudi/GaudiExamples/options/ColorMsg.opts
ApplicationMgr DEBUG Getting my own properties
ApplicationMgr SUCCESS
====================================================================================================================================
Welcome to ApplicationMgr (GaudiCoreSvc v4r1)
running on p05614910w96644.cern.ch on Wed Oct 5 19:57:26 2016
Welcome to ApplicationMgr (GaudiCoreSvc v28r1)
running on p05614910w96644.cern.ch on Fri Jan 27 19:43:29 2017
====================================================================================================================================
ApplicationMgr INFO Application Manager Configured successfully
ServiceManager DEBUG Initializing service StatusCodeSvc
StatusCodeSvc DEBUG Property update for OutputLevel : new value = 1
StatusCodeSvc DEBUG Service base class initialized successfully
StatusCodeSvc INFO initialize
ServiceManager DEBUG Initializing service AppMgrRunable
AppMgrRunable DEBUG Property update for OutputLevel : new value = 1
AppMgrRunable DEBUG Service base class initialized successfully
ServiceManager DEBUG Initializing service EventLoopMgr
EventLoopMgr DEBUG Property update for OutputLevel : new value = 1
EventLoopMgr DEBUG Service base class initialized successfully
IncidentSvc DEBUG Property update for OutputLevel : new value = 1
IncidentSvc DEBUG Service base class initialized successfully
IncidentSvc DEBUG Adding [AbortEvent] listener '<unknown>' with priority 0
EventLoopMgr DEBUG Creating Top Algorithm ColorMsgAlg with name ColorMsgAlg
EventDataSvc DEBUG Property update for OutputLevel : new value = 1
EventDataSvc DEBUG Service base class initialized successfully
EventDataSvc VERBOSE ServiceLocatorHelper::service: found service IncidentSvc
EventPersistenc... DEBUG Property update for OutputLevel : new value = 1
EventPersistenc... DEBUG Service base class initialized successfully
EventLoopMgr VERBOSE ServiceLocatorHelper::service: found service EventDataSvc
EventLoopMgr DEBUG Creating Top Algorithm ColorMsgAlg with name ColorMsgAlg
ColorMsgAlg VERBOSE ServiceLocatorHelper::service: found service EventDataSvc
TimelineSvc DEBUG Property update for OutputLevel : new value = 1
TimelineSvc DEBUG Service base class initialized successfully
TimelineSvc DEBUG initialize
ColorMsgAlg VERBOSE ServiceLocatorHelper::service: found service TimelineSvc
AlgExecStateSvc DEBUG Property update for OutputLevel : new value = 1
AlgExecStateSvc DEBUG Service base class initialized successfully
ColorMsgAlg VERBOSE ServiceLocatorHelper::service: found service AlgExecStateSvc
AlgExecStateSvc DEBUG preInit: will add Alg ColorMsgAlg later
......@@ -55,7 +48,6 @@ ApplicationMgr SUCCESS
ColorMsgAlg DEBUG Data Deps for ColorMsgAlg
EventLoopMgr WARNING Unable to locate service "EventSelector" 
EventLoopMgr WARNING No events will be processed from external input.
HistogramDataSvc DEBUG Property update for OutputLevel : new value = 1
HistogramDataSvc DEBUG Service base class initialized successfully
HistogramDataSvc VERBOSE ServiceLocatorHelper::service: found service IncidentSvc
HistogramPersis... DEBUG 'CnvServices':[ 'RootHistSvc' ]
......@@ -108,7 +100,7 @@ Algs: 1
ColorMsgAlg INFO setting....this should be in yellow and red
ColorMsgAlg INFO multicolor: this is blue on green and purple on white
ColorMsgAlg INFO This is green. This is in yellow on blue. This is back to normal
EventLoopMgr DEBUG ---> Loop Finished - WSS 38.5352 | total time (skipping 1st evt) 80322 ns
EventLoopMgr DEBUG ---> Loop Finished - WSS 45.5195 | total time (skipping 1st evt) 82272 ns
ServiceManager DEBUG Stopping service EventLoopMgr
ServiceManager DEBUG Stopping service HistogramDataSvc
ServiceManager DEBUG Stopping service HistogramPersistencySvc
......
# --> Including file '/build1/leggett/git/Gaudi/GaudiExamples/options/EvtColsEx/Write.py'
# <-- End of file '/build1/leggett/git/Gaudi/GaudiExamples/options/EvtColsEx/Write.py'
# --> Including file '/build1/leggett/git/leggett/Gaudi/GaudiExamples/options/EvtColsEx/Write.py'
# <-- End of file '/build1/leggett/git/leggett/Gaudi/GaudiExamples/options/EvtColsEx/Write.py'
# applying configuration of GaudiPersistency
# /***** User GaudiPersistency/GaudiPersistency ******************************************************
# |-<no properties>
......@@ -22,15 +22,15 @@
'Fill': {'EvtColLUN': 'EVTCOLS'}}
ApplicationMgr SUCCESS
====================================================================================================================================
Welcome to ApplicationMgr (GaudiCoreSvc v4r1)
running on p05614910w96644.cern.ch on Thu Oct 6 21:31:00 2016
Welcome to ApplicationMgr (GaudiCoreSvc v28r1)
running on p05614910w96644.cern.ch on Tue Jan 17 22:52:01 2017
====================================================================================================================================
ApplicationMgr INFO Application Manager Configured successfully
RndmGenSvc.Engine INFO Generator engine type:CLHEP::RanluxEngine
RndmGenSvc.Engine INFO Current Seed:1234567 Luxury:3
RndmGenSvc INFO Using Random engine:HepRndm::Engine<CLHEP::RanluxEngine>
EvtTupleSvc INFO Added stream file:PFN:EvtColsEx.tags as EVTCOLS
Fill SUCCESS List of ALL properties of Gaudi::Examples::EvtColAlg/Fill #properties = 66
Fill SUCCESS List of ALL properties of Gaudi::Examples::EvtColAlg/Fill #properties = 65
Fill SUCCESS Property ['Name': Value] = 'EvtColDir':Fill
Fill SUCCESS Property ['Name': Value] = 'EvtColTopDir':
Fill SUCCESS Property ['Name': Value] = 'EvtColLUN':EVTCOLS
......@@ -91,7 +91,6 @@ Fill SUCCESS Property ['Name': Value] = 'AuditRestart':False
Fill SUCCESS Property ['Name': Value] = 'AuditReinitialize':False
Fill SUCCESS Property ['Name': Value] = 'AuditInitialize':False
Fill SUCCESS Property ['Name': Value] = 'AuditAlgorithms':False
Fill SUCCESS Property ['Name': Value] = 'ErrorCounter':0
Fill SUCCESS Property ['Name': Value] = 'ErrorMax':1
Fill SUCCESS Property ['Name': Value] = 'Enable':True
Fill SUCCESS Property ['Name': Value] = 'OutputLevel':3
......@@ -103,7 +102,7 @@ EventSelector INFO Stream:EventSelector.DataStreamTool_1 Def:DATAFILE='PF
ApplicationMgr INFO Application Manager Initialized successfully
ApplicationMgr INFO Application Manager Started successfully
EventSelector SUCCESS Reading Event record 1. Record number within stream 1: 1
IODataManager INFO Referring to dataset EvtColsEx.tags by its file ID:C878A86A-FB8B-E611-B0B6-001E67ABF0AC
IODataManager INFO Referring to dataset EvtColsEx.tags by its file ID:5C96012E-FFDC-E611-9318-001E67ABF0AC
Gaudi::RootData... INFO Recreate Database file:PFN:EvtColsEx.tags as /EVTCOLS
EventSelector SUCCESS Reading Event record 1001. Record number within stream 1: 1001
EventSelector SUCCESS Reading Event record 2001. Record number within stream 1: 2001
......@@ -160,9 +159,9 @@ Fill SUCCESS Booked 0 N-Tuples and 1 Event Tag Collections
Fill SUCCESS List of booked Event Tag Collections in directory "EVTCOLS/Fill"
Fill SUCCESS ID=COL1 Title="The most trivial Event Tag Collection" #items=10 {Address,evtNum,runNum,gauss,flat,expo,breit,poisson,binom,flag} Items:{ 'Address' : 'IOpaqueAddress*' , 'binom' : 'I' , 'breit' : 'D' , 'evtNum' : 'I' , 'expo' : 'D' , 'flag' : 'I' , 'flat' : 'D' , 'gauss' : 'D' , 'poisson' : 'I' , 'runNum' : 'I' }
EventLoopMgr INFO Histograms converted successfully according to request.
RootCnvSvc INFO Disconnected data IO:3EAC1D56-FB8B-E611-88EE-001E67ABF0AC [EvtColsEx.dst]
RootCnvSvc INFO Disconnected data IO:84255519-FFDC-E611-B178-001E67ABF0AC [EvtColsEx.dst]
ToolSvc INFO Removing all tools created by ToolSvc
EvtTupleSvc INFO NTuples saved successfully
EvtTupleSvc.EVT... INFO Disconnected data IO:C878A86A-FB8B-E611-B0B6-001E67ABF0AC [EvtColsEx.tags]
EvtTupleSvc.EVT... INFO Disconnected data IO:5C96012E-FFDC-E611-9318-001E67ABF0AC [EvtColsEx.tags]
ApplicationMgr INFO Application Manager Finalized successfully
ApplicationMgr INFO Application Manager Terminated successfully
JobOptionsSvc INFO # =======> /build1/leggett/git/Gaudi/GaudiExamples/options/Services.opts
JobOptionsSvc INFO # =======> /build1/leggett/git/leggett/Gaudi/GaudiExamples/options/Services.opts
JobOptionsSvc INFO # (12,1): AuditorSvc.Auditors = ["ChronoAuditor"]
JobOptionsSvc INFO # =======> /build1/leggett/git/Gaudi/GaudiExamples/options/Common.opts
JobOptionsSvc INFO # =======> /build1/leggett/git/leggett/Gaudi/GaudiExamples/options/Common.opts
JobOptionsSvc INFO # (9,1): ApplicationMgr.StatusCodeCheck = 1
JobOptionsSvc INFO # =======> /build1/leggett/git/Gaudi/GaudiExamples/options/GaudiCommonTests.opts
JobOptionsSvc INFO # =======> /build1/leggett/git/leggett/Gaudi/GaudiExamples/options/GaudiCommonTests.opts
JobOptionsSvc INFO # (9,1): EventDataSvc.ForceLeaves = 1
JobOptionsSvc INFO # (10,1): EventDataSvc.RootCLID = 1
JobOptionsSvc INFO # (17,1): MessageSvc.OutputLevel = 3
......@@ -15,18 +15,18 @@ JobOptionsSvc INFO # (25,1): Test2.RootInTES = "microDST/"
JobOptionsSvc INFO # (30,1): ApplicationMgr.EvtMax = 1
JobOptionsSvc INFO # (31,1): ApplicationMgr.EvtSel = "NONE"
JobOptionsSvc INFO # (32,1): ApplicationMgr.HistogramPersistency = "NONE"
JobOptionsSvc INFO Job options successfully read in from /build1/leggett/git/Gaudi/GaudiExamples/options/GaudiCommonTests.opts
JobOptionsSvc INFO Job options successfully read in from /build1/leggett/git/leggett/Gaudi/GaudiExamples/options/GaudiCommonTests.opts
ApplicationMgr SUCCESS
====================================================================================================================================
Welcome to ApplicationMgr (GaudiCoreSvc v4r1)
running on p05614910w96644.cern.ch on Wed Oct 5 19:59:21 2016
Welcome to ApplicationMgr (GaudiCoreSvc v28r1)
running on p05614910w96644.cern.ch on Tue Jan 17 22:52:45 2017
====================================================================================================================================
ApplicationMgr INFO Application Manager Configured successfully
StatusCodeSvc INFO initialize
Test1 DEBUG Property update for OutputLevel : new value = 2
Test1 DEBUG Initialize base class GaudiCommon<Algorithm>
Test1 DEBUG could not locate CounterSummarySvc, no counter summary will be made
Test1 DEBUG List of ALL properties of GaudiCommonTests/Test1 #properties = 37
Test1 DEBUG List of ALL properties of GaudiCommonTests/Test1 #properties = 36
Test1 DEBUG Property ['Name': Value] = 'RequireObjects':[ ]
Test1 DEBUG Property ['Name': Value] = 'VetoObjects':[ ]
Test1 DEBUG Property ['Name': Value] = 'StatEntityList':[ ]
......@@ -58,7 +58,6 @@ Test1 DEBUG Property ['Name': Value] = 'AuditRestart':False
Test1 DEBUG Property ['Name': Value] = 'AuditReinitialize':False
Test1 DEBUG Property ['Name': Value] = 'AuditInitialize':False
Test1 DEBUG Property ['Name': Value] = 'AuditAlgorithms':False
Test1 DEBUG Property ['Name': Value] = 'ErrorCounter':0
Test1 DEBUG Property ['Name': Value] = 'ErrorMax':1
Test1 DEBUG Property ['Name': Value] = 'Enable':True
Test1 DEBUG Property ['Name': Value] = 'OutputLevel':2
......@@ -70,7 +69,7 @@ Test1 DEBUG Data Deps for Test1
Test2 DEBUG Property update for OutputLevel : new value = 2
Test2 DEBUG Initialize base class GaudiCommon<Algorithm>
Test2 DEBUG could not locate CounterSummarySvc, no counter summary will be made
Test2 DEBUG List of ALL properties of GaudiCommonTests/Test2 #properties = 37
Test2 DEBUG List of ALL properties of GaudiCommonTests/Test2 #properties = 36
Test2 DEBUG Property ['Name': Value] = 'RequireObjects':[ ]
Test2 DEBUG Property ['Name': Value] = 'VetoObjects':[ ]
Test2 DEBUG Property ['Name': Value] = 'StatEntityList':[ ]
......@@ -102,7 +101,6 @@ Test2 DEBUG Property ['Name': Value] = 'AuditRestart':False
Test2 DEBUG Property ['Name': Value] = 'AuditReinitialize':False
Test2 DEBUG Property ['Name': Value] = 'AuditInitialize':False
Test2 DEBUG Property ['Name': Value] = 'AuditAlgorithms':False
Test2 DEBUG Property ['Name': Value] = 'ErrorCounter':0
Test2 DEBUG Property ['Name': Value] = 'ErrorMax':1
Test2 DEBUG Property ['Name': Value] = 'Enable':True
Test2 DEBUG Property ['Name': Value] = 'OutputLevel':2
......
JobOptionsSvc INFO # =======> /build1/leggett/git/Gaudi/GaudiExamples/options/Histograms.opts
JobOptionsSvc INFO # =======> /build1/leggett/git/leggett/Gaudi/GaudiExamples/options/Histograms.opts
JobOptionsSvc INFO # (5,1): AuditorSvc.Auditors = ["ChronoAuditor"]
JobOptionsSvc INFO # (9,1): MessageSvc.OutputLevel = 3
JobOptionsSvc INFO # (20,1): ApplicationMgr.TopAlg += ["GaudiHistoAlgorithm/SimpleHistos"]
......@@ -19,17 +19,17 @@ JobOptionsSvc INFO # (48,1): RootHistSvc.OutputFile = "histo.root"
JobOptionsSvc INFO # (57,1): HistogramDataSvc.Input = ["InFile DATAFILE='../data/input.hbook' TYP='HBOOK'"]
JobOptionsSvc INFO # (59,1): HistogramDataSvc.Predefined1DHistos = {"/stat/Histos2/2":["TEST2", -100, 200]}
JobOptionsSvc INFO # (63,1): HistogramDataSvc.OutputLevel = 2
JobOptionsSvc INFO Job options successfully read in from /build1/leggett/git/Gaudi/GaudiExamples/options/Histograms.opts
JobOptionsSvc INFO Job options successfully read in from /build1/leggett/git/leggett/Gaudi/GaudiExamples/options/Histograms.opts
ApplicationMgr SUCCESS
====================================================================================================================================
Welcome to ApplicationMgr (GaudiCoreSvc v4r1)
running on p05614910w96644.cern.ch on Wed Oct 5 20:00:16 2016
Welcome to ApplicationMgr (GaudiCoreSvc v28r1)
running on p05614910w96644.cern.ch on Tue Jan 17 22:53:48 2017
====================================================================================================================================
ApplicationMgr INFO Application Manager Configured successfully
SimpleHistos DEBUG Property update for OutputLevel : new value = 2
SimpleHistos DEBUG Initialize base class GaudiCommon<Algorithm>
SimpleHistos DEBUG could not locate CounterSummarySvc, no counter summary will be made
SimpleHistos DEBUG List of ALL properties of GaudiHistoAlgorithm/SimpleHistos #properties = 52
SimpleHistos DEBUG List of ALL properties of GaudiHistoAlgorithm/SimpleHistos #properties = 51
SimpleHistos DEBUG Property ['Name': Value] = 'AutoStringIDPurgeMap':{ '/' : '=SLASH=' }
SimpleHistos DEBUG Property ['Name': Value] = 'UseSequencialNumericAutoIDs':False
SimpleHistos DEBUG Property ['Name': Value] = 'HeaderFor1DHistoTable':| Title | # | Mean | RMS | Skewness | Kurtosis |
......@@ -76,7 +76,6 @@ SimpleHistos DEBUG Property ['Name': Value] = 'AuditRestart':False
SimpleHistos DEBUG Property ['Name': Value] = 'AuditReinitialize':False
SimpleHistos DEBUG Property ['Name': Value] = 'AuditInitialize':False
SimpleHistos DEBUG Property ['Name': Value] = 'AuditAlgorithms':False
SimpleHistos DEBUG Property ['Name': Value] = 'ErrorCounter':0
SimpleHistos DEBUG Property ['Name': Value] = 'ErrorMax':1
SimpleHistos DEBUG Property ['Name': Value] = 'Enable':True
SimpleHistos DEBUG Property ['Name': Value] = 'OutputLevel':2
......@@ -93,7 +92,7 @@ SimpleHistos DEBUG GaudiHistoAlgorithm:: The histogram path is set to be
SimpleHistos DEBUG input handles: 0
SimpleHistos DEBUG output handles: 0
SimpleHistos DEBUG Data Deps for SimpleHistos
Histos2 SUCCESS List of ALL properties of Gaudi::Examples::HistoProps/Histos2 #properties = 54
Histos2 SUCCESS List of ALL properties of Gaudi::Examples::HistoProps/Histos2 #properties = 53
Histos2 SUCCESS Property ['Name': Value] = 'Histo2':('',-5.00000,5.00000,200)
Histos2 SUCCESS Property ['Name': Value] = 'Histo1':('Histogram1',-3.00000,3.00000,200)
Histos2 SUCCESS Property ['Name': Value] = 'AutoStringIDPurgeMap':{ '/' : '=SLASH=' }
......@@ -142,7 +141,6 @@ Histos2 SUCCESS Property ['Name': Value] = 'AuditRestart':False
Histos2 SUCCESS Property ['Name': Value] = 'AuditReinitialize':False
Histos2 SUCCESS Property ['Name': Value] = 'AuditInitialize':False
Histos2 SUCCESS Property ['Name': Value] = 'AuditAlgorithms':False
Histos2 SUCCESS Property ['Name': Value] = 'ErrorCounter':0
Histos2 SUCCESS Property ['Name': Value] = 'ErrorMax':1
Histos2 SUCCESS Property ['Name': Value] = 'Enable':True
Histos2 SUCCESS Property ['Name': Value] = 'OutputLevel':3
......@@ -271,11 +269,11 @@ EventLoopMgr INFO Histograms converted successfully according to request
*****Chrono***** INFO ****************************************************************************************************
*****Chrono***** INFO The Final CPU consumption ( Chrono ) Table (ordered)
*****Chrono***** INFO ****************************************************************************************************
1DForcedNumericID INFO Time User : Tot= 34 [ms] Ave/Min/Max=0.00068(+-0.0261)/ 0/ 1 [ms] #=49999
1DForcedAlphaID INFO Time User : Tot= 41 [ms] Ave/Min/Max=0.00082(+-0.0286)/ 0/ 1 [ms] #=49999
1DAutoID INFO Time User : Tot= 51 [ms] Ave/Min/Max=0.00102(+-0.0319)/ 0/ 1 [ms] #=49999