Commit 8f15f19c authored by Marco Clemencic's avatar Marco Clemencic
Browse files

Merge branch 'master' into dev/Configurables

Conflicts:
	GaudiKernel/cmt/requirements
	GaudiKernel/src/Lib/Property.cpp
	GaudiKernel/src/Util/genconf.cpp
parents ae9209da 9aa26c56
*~
*.pyc
build.*.log
Makefile
NMake
install.*.history
setup.*
cleanup.*
version.cmt
genConf/
QMTest/
InstallArea/
patches/
test_results/
*-slc5-*/
i686-winxp-vc9-dbg/
.*-slc5-*.d/
.i686-winxp-vc9-dbg.d/
DoxyWarnings.log
.gdb_history
*.new
*.launch
*.launch.py
*.launch.opts
.project
.cproject
.settings
.pydevproject
.build/
CMakeFiles/
CTestTestfile.cmake
CPackSourceConfig.cmake
CPackConfig.cmake
cmake_install.cmake
GaudiConfig.cmake
GaudiConfigVersion.cmake
package Gaudi
version v22r2
version v22r4
branches doc cmt
use GaudiSys *
......
Package : Gaudi
Package manager : Marco Clemencic
================================ Gaudi v22r4 =================================
================================ Gaudi v22r3 =================================
================================ Gaudi v22r2 =================================
================================ Gaudi v22r1 =================================
================================ Gaudi v22r0 =================================
......
......@@ -12,7 +12,7 @@ public:
/**
** Destructor
**/
~EventCounter( );
virtual ~EventCounter( );
/*****************************
** Public Function Members **
......
......@@ -12,6 +12,15 @@ class ISequencerTimerTool;
/** @class GaudiSequencer GaudiSequencer.h
* Sequencer for executing several algorithms, stopping when one is faulty.
*
* Default behaviour (ModeOR=False) is to execute all algorithms until one returns
* filterPassed() = False. If ShortCircuit is set to False, then all algorithms
* will be executed.
*
* In OR mode, the logic is opposite. All algorithms until one returns
* filterPassed() = True. To then exit one must onter-intuitively set
* ShortCircuit to False. If the default value ShortCircuit=True is left
* then all algorithms will be executed.
*
* @author Olivier Callot
* @date 2004-05-13
*/
......@@ -73,7 +82,8 @@ private:
std::vector<AlgorithmEntry> m_entries; ///< List of algorithms to process.
bool m_modeOR; ///< Indicates that the OR is wanted instead of AND
bool m_shortCircuit; ///< Indicates whether to stop processing as soon as possible,
/// or to always execute _all_ subalgorithms
/// or to always execute _all_ subalgorithms.
/// In MOdeOR=True the behaviour is the exact opposite.
bool m_ignoreFilter; ///< True if one continues always.
bool m_isInitialized; ///< Indicate that we are ready
bool m_measureTime; ///< Flag to measure time
......
......@@ -15,7 +15,7 @@ public:
/**
** Destructor
**/
~Prescaler( );
virtual ~Prescaler( );
/*****************************
** Public Function Members **
......
# $Id: requirements,v 1.73 2008/11/10 18:48:45 marcocle Exp $
# =============================================================================
package GaudiAlg
version v13r7
version v13r8
# ============== structure ====================================================
branches GaudiAlg src cmt doc
......@@ -17,7 +16,7 @@ use Boost * LCG_Interfaces -no_auto_imports
apply_pattern install_more_includes more="GaudiAlg"
# ============== constituents =================================================
library GaudiAlgLib lib/*.cpp -import=AIDA -import=Boost -no_static
library GaudiAlg components/*.cpp -import=AIDA -no_static
library GaudiAlg components/*.cpp -import=AIDA -import=Boost -no_static
# ============== patterns =====================================================
apply_pattern linker_library library="GaudiAlgLib"
......
Package: GaudiAlg
Package manager : Marco Clemencic
=============================== GaudiAlg v13r8 ===============================
! 2011-08-08 - Marco Clemencic
- Fixing bug #83775: unprotected MSG::DEBUG/VERBOSE
- Sequencer
- GaudiCommon
! 2011-08-04 - Patrick Koppenburg
- Patch #4923: GaudiSequencer
- Correct indentation
- Protect all debug() with if msgLevel()
- Add some more verbose() printout
- Improve doxygen documentation
! 2011-06-23 - Hubert Degaudenzi
- fixed warnings from the eclipse code analysis engine.
! 2011-04-27 - Charles Leggett
- added "-import Boost" to requirements for new CMT
M cmt/requirements
=============================== GaudiAlg v13r7 ===============================
! 2011-04-15 - Marco Clemencic
- Patch #4814: Move EventNodeKiller algorithm from LHCb to Gaudi.
......
// $Id: TimerForSequencer.h,v 1.5 2004/11/25 13:26:26 mato Exp $
#ifndef TIMERFORSEQUENCER_H
#ifndef TIMERFORSEQUENCER_H
#include "GaudiKernel/MsgStream.h"
#include "GaudiKernel/Timing.h"
......@@ -18,14 +18,16 @@ public:
TimerForSequencer( std::string name, double factor ) {
m_name = name;
m_num = 0;
m_min = 0;
m_max = 0;
m_sum = 0;
m_sumCpu = 0;
m_num = 0L;
m_min = 0.;
m_max = 0.;
m_sum = 0.;
m_sumCpu = 0.;
m_factor = factor;
m_lastTime = 0.;
m_lastCpu = 0.;
m_startClock = 0LL;
m_startCpu = 0LL;
}
~TimerForSequencer() {};
......@@ -35,7 +37,7 @@ public:
m_startClock = System::currentTime( System::microSec );
m_startCpu = System::cpuTime( System::microSec );
}
/** Stop time measurement and return the last elapsed time.
@return Measured time in ms
*/
......@@ -46,12 +48,12 @@ public:
//== Change to normalized millisecond
cpuTime *= m_factor;
lastTime *= m_factor;
//== Update the counter
m_num += 1;
m_sum += lastTime;
m_sumCpu += cpuTime;
if ( 1 == m_num ) {
m_min = lastTime;
m_max = lastTime;
......@@ -77,13 +79,13 @@ public:
MsgStream & fillStream(MsgStream & s) const {
double ave = 0.;
double cpu = 0.;
if ( 0 != m_num ) {
ave = m_sum / m_num;
cpu = m_sumCpu / m_num;
}
return s << m_name
return s << m_name
<< format( "| %9.3f | %9.3f | %8.3f %9.1f | %7d | %9.3f |",
cpu, ave, m_min, m_max, m_num, m_sum * 0.001 );
}
......
// $Id: GaudiCommon.icpp,v 1.22 2008/10/10 15:18:56 marcocle Exp $
// ============================================================================
// CVS tag $Name: $ version $Revision: 1.22 $
// ============================================================================
// ============================================================================
// include files
// ============================================================================
......@@ -178,7 +173,8 @@ GaudiCommon<PBASE>::initGaudiCommonConstructor( const IInterface * parent )
}
// Get the job option service
IJobOptionsSvc* jos = svc<IJobOptionsSvc>( "JobOptionsSvc" );
SmartIF<IJobOptionsSvc> jos(PBASE::service("JobOptionsSvc"));
if (!jos.isValid()) Exception("Cannot get JobOptionsSvc");
// Get the "Context" option if in the file...
const std::vector<const Property*>* myList = jos->getProperties( this->name() );
......@@ -204,9 +200,6 @@ GaudiCommon<PBASE>::initGaudiCommonConstructor( const IInterface * parent )
}
}
// release tool
release( jos ).ignore();
}
//=============================================================================
......
......@@ -42,7 +42,7 @@ GaudiSequencer::~GaudiSequencer() {}
StatusCode GaudiSequencer::initialize() {
GaudiAlgorithm::initialize();
debug() << "==> Initialise" << endmsg;
if (msgLevel(MSG::DEBUG)) debug() << "==> Initialise" << endmsg;
StatusCode status = decodeNames();
if ( !status.isSuccess() ) return status;
......@@ -83,7 +83,7 @@ StatusCode GaudiSequencer::execute() {
if ( m_measureTime ) m_timerTool->start( m_timer );
debug() << "==> Execute" << endmsg;
if (msgLevel(MSG::DEBUG)) debug() << "==> Execute" << endmsg;
StatusCode result = StatusCode::SUCCESS;
......@@ -95,22 +95,25 @@ StatusCode GaudiSequencer::execute() {
for ( itE = m_entries.begin(); m_entries.end() != itE; ++itE ) {
Algorithm* myAlg = itE->algorithm();
if ( ! myAlg->isEnabled() ) continue;
if ( ! myAlg->isExecuted() ) {
if ( ! myAlg->isExecuted() ) {
if ( m_measureTime ) m_timerTool->start( itE->timer() );
result = myAlg->sysExecute();
result = myAlg->sysExecute();
if ( m_measureTime ) m_timerTool->stop( itE->timer() );
myAlg->setExecuted( true );
if ( ! result.isSuccess() ) break; //== Abort and return bad status
}
//== Check the returned status
if ( !m_ignoreFilter ) {
bool passed = myAlg->filterPassed();
myAlg->setExecuted( true );
if ( ! result.isSuccess() ) break; //== Abort and return bad status
}
//== Check the returned status
if ( !m_ignoreFilter ) {
bool passed = myAlg->filterPassed();
if (msgLevel(MSG::VERBOSE))
verbose() << "Algorithm " << myAlg->name() << " returned filter passed "
<< (passed ? "true" : "false") << endmsg;
if ( itE->reverse() ) passed = !passed;
//== indicate our own result. For OR, exit as soon as true.
// If no more, will exit with false.
//== for AND, exit as soon as false. Else, will be true (default)
//== indicate our own result. For OR, exit as soon as true.
// If no more, will exit with false.
//== for AND, exit as soon as false. Else, will be true (default)
// if not short-circuiting, make sure we latch iPass to 'true' in
// OR mode (i.e. it is sufficient for one item to be true in order
......@@ -125,11 +128,15 @@ StatusCode GaudiSequencer::execute() {
// state until someone returns 'false' (provided we started as 'true')
if ( m_modeOR ? passed : !passed ) {
seqPass = passed;
if (msgLevel(MSG::VERBOSE))
verbose() << "SeqPass is now " << (seqPass ? "true" : "false") << endmsg;
if (m_shortCircuit) break;
}
}
}
if (msgLevel(MSG::VERBOSE))
verbose() << "SeqPass is " << (seqPass ? "true" : "false") << endmsg;
if ( !m_ignoreFilter && !m_entries.empty() ) setFilterPassed( seqPass );
setExecuted( true );
......@@ -143,7 +150,7 @@ StatusCode GaudiSequencer::execute() {
//=============================================================================
StatusCode GaudiSequencer::finalize() {
debug() << "==> Finalize" << endmsg;
if (msgLevel(MSG::DEBUG)) debug() << "==> Finalize" << endmsg;
return GaudiAlgorithm::finalize();
}
......@@ -154,7 +161,7 @@ StatusCode GaudiSequencer::beginRun ( ) {
if ( !isEnabled() ) return StatusCode::SUCCESS;
debug() << "==> beginRun" << endmsg;
if (msgLevel(MSG::DEBUG)) debug() << "==> beginRun" << endmsg;
return StatusCode::SUCCESS;
}
......@@ -165,7 +172,7 @@ StatusCode GaudiSequencer::endRun ( ) {
if ( !isEnabled() ) return StatusCode::SUCCESS;
debug() << "==> endRun" << endmsg;
if (msgLevel(MSG::DEBUG)) debug() << "==> endRun" << endmsg;
return StatusCode::SUCCESS;
}
......@@ -286,21 +293,21 @@ StatusCode GaudiSequencer::decodeNames( ) {
addedGlobalTimeOffset = false;
}
// propagate the sub-algorithm into own state.
if ( result.isSuccess () &&
Gaudi::StateMachine::INITIALIZED <= FSMState() &&
myIAlg.isValid () &&
Gaudi::StateMachine::INITIALIZED > myIAlg->FSMState() )
// propagate the sub-algorithm into own state.
if ( result.isSuccess () &&
Gaudi::StateMachine::INITIALIZED <= FSMState() &&
myIAlg.isValid () &&
Gaudi::StateMachine::INITIALIZED > myIAlg->FSMState() )
{
StatusCode sc = myIAlg->sysInitialize() ;
if ( sc.isFailure() ) { result = sc ; }
}
// propagate the sub-algorithm into own state.
if ( result.isSuccess () &&
Gaudi::StateMachine::RUNNING <= FSMState() &&
myIAlg.isValid () &&
Gaudi::StateMachine::RUNNING > myIAlg->FSMState() )
// propagate the sub-algorithm into own state.
if ( result.isSuccess () &&
Gaudi::StateMachine::RUNNING <= FSMState() &&
myIAlg.isValid () &&
Gaudi::StateMachine::RUNNING > myIAlg->FSMState() )
{
StatusCode sc = myIAlg->sysStart () ;
if ( sc.isFailure() ) { result = sc ; }
......@@ -314,7 +321,7 @@ StatusCode GaudiSequencer::decodeNames( ) {
if (myAlg!=0) {
// Note: The reference counting is kept by the system of sub-algorithms
m_entries.push_back( AlgorithmEntry( myAlg ) );
debug () << "Added algorithm " << theName << endmsg;
if (msgLevel(MSG::DEBUG)) debug () << "Added algorithm " << theName << endmsg;
} else {
warning() << theName << " is not an Algorithm - failed dynamic_cast"
<< endmsg;
......@@ -361,32 +368,32 @@ StatusCode GaudiSequencer::decodeNames( ) {
//=========================================================================
// Interface for the Property manager
//=========================================================================
void GaudiSequencer::membershipHandler ( Property& /* p */ )
void GaudiSequencer::membershipHandler ( Property& /* p */ )
{
// no action for not-yet initialized sequencer
if ( Gaudi::StateMachine::INITIALIZED > FSMState() ) { return ; } // RETURN
// no action for not-yet initialized sequencer
if ( Gaudi::StateMachine::INITIALIZED > FSMState() ) { return ; } // RETURN
decodeNames().ignore();
if ( !m_measureTime ) { return ; } // RETURN
// add the entries into timer table:
if ( 0 == m_timerTool )
if ( !m_measureTime ) { return ; } // RETURN
// add the entries into timer table:
if ( 0 == m_timerTool )
{ m_timerTool = tool<ISequencerTimerTool>( "SequencerTimerTool" ) ; }
if ( m_timerTool->globalTiming() ) m_measureTime = true;
m_timer = m_timerTool->addTimer( name() );
m_timerTool->increaseIndent();
for ( std::vector<AlgorithmEntry>::iterator itE = m_entries.begin() ;
m_entries.end() != itE; ++itE )
for ( std::vector<AlgorithmEntry>::iterator itE = m_entries.begin() ;
m_entries.end() != itE; ++itE )
{
itE->setTimer( m_timerTool->addTimer( itE->algorithm()->name() ) );
}
m_timerTool->decreaseIndent();
}
//=============================================================================
//$Id: Sequencer.cpp,v 1.7 2008/06/02 14:22:04 marcocle Exp $
// Sequencer class
// Implements:
// 1) Common functionality of IInterface
......@@ -15,6 +13,9 @@
#include "GaudiKernel/Stat.h"
#include "GaudiKernel/GaudiException.h"
#define ON_DEBUG if (UNLIKELY(outputLevel() <= MSG::DEBUG))
#define ON_VERBOSE if (UNLIKELY(outputLevel() <= MSG::VERBOSE))
/**
** Constructor(s)
**/
......@@ -131,7 +132,7 @@ Sequencer::execute()
StatusCode result = StatusCode::SUCCESS;
MsgStream log( msgSvc( ), name( ) );
log << MSG::DEBUG << name( ) << " Sequencer::execute( )" << endmsg;
ON_DEBUG log << MSG::DEBUG << name( ) << " Sequencer::execute( )" << endmsg;
// Bypass the loop if this sequencer is disabled or has already been executed
if ( isEnabled( ) && ! isExecuted( ) ) {
......@@ -637,7 +638,7 @@ Sequencer::decodeNames( StringArrayProperty& theNames,
// The specified Algorithm already exists - just append it to the membership list.
status = append( theAlgorithm, theAlgs );
if ( status.isSuccess( ) ) {
log << MSG::DEBUG << theName << " already exists - appended to member list" << endmsg;
ON_DEBUG log << MSG::DEBUG << theName << " already exists - appended to member list" << endmsg;
} else {
log << MSG::WARNING << theName << " already exists - append failed!!!" << endmsg;
result = StatusCode::FAILURE;
......@@ -648,7 +649,7 @@ Sequencer::decodeNames( StringArrayProperty& theNames,
// and append it to the membership list.
status = createAndAppend( theType, theName, theAlgorithm, theAlgs );
if ( status.isSuccess( ) ) {
log << MSG::DEBUG << theName << " doesn't exist - created and appended to member list" << endmsg;
ON_DEBUG log << MSG::DEBUG << theName << " doesn't exist - created and appended to member list" << endmsg;
} else {
log << MSG::WARNING << theName << " doesn't exist - creation failed!!!" << endmsg;
result = StatusCode::FAILURE;
......
package GaudiExamples
version v22r2
version v22r4
use ROOT * LCG_Interfaces
use Reflex * LCG_Interfaces -no_auto_imports
......@@ -22,7 +22,7 @@ library GaudiExamplesLib -no_static Lib/*.cpp
macro datalistener_use "DataListener/*.cpp" WIN32 " "
library GaudiExamples -no_static \
library GaudiExamples -import=Reflex -no_static \
AbortEvent/*.cpp \
AlgSequencer/*.cpp \
AlgTools/*.cpp \
......
Package GaudiExamples
Package manager : Marco Clemencic
============================ GaudiExamples v22r4 =============================
! 2011-09-02 - Marco Clemencic
- Extended ExtendedProperties test to expose bug #86303
============================ GaudiExamples v22r3 =============================
! 2011-08-16 - Marco Clemencic
- Fixed some tests (checks) on Windows.
! 2011-08-15 - Marco Clemencic
- Updated reference files (patch #5014)
! 2011-08-04 - Marco Clemencic
- Updated a reference file (patch #4923)
! 2011-07-26 - Marco Clemencic
- Update of a reference file (patch #4891).
! 2011-06-23 - Hubert Degaudenzi
- fixed warnings from the eclipse code analysis engine.
! 2011-04-27 - Charles Leggett
- added explicit -import=Reflex to requirements
M cmt/requirements
============================ GaudiExamples v22r2 =============================
! 2011-04-08 - Marco Clemencic
- Updated IncidentSvc test after the introduction of the new incidents
......
JobOptionsSvc INFO
//GP:================================================================================
//GP: include "../options/Aida2Root.opts" (0,0)
//GP: include "../options/Histograms.opts" (1,10)
AuditorSvc.Auditors = [ "ChronoAuditor" ] ; //GP: (1,1)
MessageSvc.OutputLevel = 3; //GP: (1,1)
ApplicationMgr.TopAlg += [ "GaudiHistoAlgorithm/SimpleHistos" ] ; //GP: (1,1)
ApplicationMgr.TopAlg += [ "Gaudi::Examples::HistoProps/Histos2" ] ; //GP: (1,1)
SimpleHistos.HistoPrint = 1; //GP: (1,1)
SimpleHistos.OutputLevel = 2; //GP: (1,1)
Histos2.Histo2 = ("Title",-5,5,200); //GP: (1,1)
Histos2.Histo2 = ("Title",-5,5); //GP: (1,1)
Histos2.Histo2 = (-5,5); //GP: (1,1)
Histos2.Histo2 = (-5,5,"Title"); //GP: (1,1)
Histos2.Histo2 = (-5,5,"Title",200); //GP: (1,1)
Histos2.Histo2 = (-5,5,200,"Title"); //GP: (1,1)
Histos2.Histo2 = (-5,5,200); //GP: (1,1)
ApplicationMgr.EvtMax = 50000; //GP: (1,1)
ApplicationMgr.EvtSel = "NONE"; //GP: (1,1)
ApplicationMgr.HistogramPersistency = "ROOT"; //GP: (1,1)
RootHistSvc.OutputFile = "histo.root"; //GP: (1,1)
HistogramDataSvc.Input = [ "InFile DATAFILE='../home/input.hbook' TYP='HBOOK'" ] ;//GP: (1,1)
HistogramDataSvc.Predefined1DHistos = [ "/stat/Histos2/2":("TEST2",-100,200) ] ;//GP: (1,1)
HistogramDataSvc.OutputLevel = 2; //GP: (1,1)
//GP: end "../options/Histograms.opts" (64,1)
ApplicationMgr.TopAlg += [ "Aida2Root" ] ; //GP: (1,10)
//GP: end "../options/Aida2Root.opts" (4,1)
//GP:================================================================================
JobOptionsSvc INFO Job options successfully read in from ../options/Aida2Root.opts
JobOptionsSvc INFO # =======> /afs/cern.ch/user/m/marcocle/scratch0/workspace/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"]
JobOptionsSvc INFO # (22,1): ApplicationMgr.TopAlg += ["Gaudi::Examples::HistoProps/Histos2"]
JobOptionsSvc INFO # (23,1): SimpleHistos.HistoPrint = 1
JobOptionsSvc INFO # (24,1): SimpleHistos.OutputLevel = 2
JobOptionsSvc INFO # (27,1): Histos2.Histo2 = ["Title", -5, 5, 200]
JobOptionsSvc WARNING # (28,1): Reassignment of option 'Histos2.Histo2' . Previously defined at /afs/cern.ch/user/m/marcocle/scratch0/workspace/Gaudi/GaudiExamples/options/Histograms.opts: (27, 1).
JobOptionsSvc INFO # (28,1): Histos2.Histo2 = ["Title", -5, 5]
JobOptionsSvc WARNING # (29,1): Reassignment of option 'Histos2.Histo2' . Previously defined at /afs/cern.ch/user/m/marcocle/scratch0/workspace/Gaudi/GaudiExamples/options/Histograms.opts: (28, 1).
JobOptionsSvc INFO # (29,1): Histos2.Histo2 = [-5, 5]
JobOptionsSvc WARNING # (30,1): Reassignment of option 'Histos2.Histo2' . Previously defined at /afs/cern.ch/user/m/marcocle/scratch0/workspace/Gaudi/GaudiExamples/options/Histograms.opts: (29, 1).
JobOptionsSvc INFO # (30,1): Histos2.Histo2 = [-5, 5, "Title"]
JobOptionsSvc WARNING # (31,1): Reassignment of option 'Histos2.Histo2' . Previously defined at /afs/cern.ch/user/m/marcocle/scratch0/workspace/Gaudi/GaudiExamples/options/Histograms.opts: (30, 1).
JobOptionsSvc INFO # (31,1): Histos2.Histo2 = [-5, 5, "Title", 200]
JobOptionsSvc WARNING # (32,1): Reassignment of option 'Histos2.Histo2' . Previously defined at /afs/cern.ch/user/m/marcocle/scratch0/workspace/Gaudi/GaudiExamples/options/Histograms.opts: (31, 1).
JobOptionsSvc INFO # (32,1): Histos2.Histo2 = [-5, 5, 200, "Title"]
JobOptionsSvc WARNING # (33,1): Reassignment of option 'Histos2.Histo2' . Previously defined at /afs/cern.ch/user/m/marcocle/scratch0/workspace/Gaudi/GaudiExamples/options/Histograms.opts: (32, 1).
JobOptionsSvc INFO # (33,1): Histos2.Histo2 = [-5, 5, 200]
JobOptionsSvc INFO # (39,1): ApplicationMgr.EvtMax = 50000
JobOptionsSvc INFO # (40,1): ApplicationMgr.EvtSel = "NONE"
JobOptionsSvc INFO # (47,1): ApplicationMgr.HistogramPersistency = "ROOT"
JobOptionsSvc INFO # (48,1): RootHistSvc.OutputFile = "histo.root"
JobOptionsSvc INFO # (57,1): HistogramDataSvc.Input = ["InFile DATAFILE='../home/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 # =======> /afs/cern.ch/user/m/marcocle/scratch0/workspace/Gaudi/GaudiExamples/options/Aida2Root.opts)
JobOptionsSvc INFO # (3,1): ApplicationMgr.TopAlg += ["Aida2Root"]
JobOptionsSvc INFO Job options successfully read in from /afs/cern.ch/user/m/marcocle/scratch0/workspace/Gaudi/GaudiExamples/options/Aida2Root.opts
ApplicationMgr SUCCESS
====================================================================================================================================
Welcome to ApplicationMgr $Revision: 1.77 $
running on pclhcb55 on Wed Sep 2 15:03:57 2009
running on lxplus435.cern.ch on Fri Aug 26 11:29:46 2011
====================================================================================================================================
ApplicationMgr INFO Application Manager Configured successfully
SimpleHistos DEBUG Property update for OutputLevel : new value = 2
......@@ -61,7 +61,7 @@ SimpleHistos DEBUG Property ['Name': Value] = 'UseEfficiencyRowFormat':T
SimpleHistos DEBUG Property ['Name': Value] = 'EfficiencyRowFormat': |*%|-48.48s|%|50t||%|10d| |%|11.5g| |(%|#9.6g| +- %|-#9.6g|)%%| ------- | ------- |
SimpleHistos DEBUG Property ['Name': Value] = 'RegularRowFormat': | %|-48.48s|%|50t||%|10d| |%|11.7g| |%|#11.5g| |%|#11.5g| |%|#12.5g| |%|#12.5g| |
SimpleHistos DEBUG Property ['Name': Value] = 'StatTableHeader': | Counter | # | sum | mean/eff^* | rms/err^* | min | max |
SimpleHistos DEBUG Property ['Name': Value] = 'GlobalTimeOffset':0
SimpleHistos DEBUG Property ['Name': Value] = 'GlobalTimeOffset':0.00000000
SimpleHistos DEBUG Property ['Name': Value] = 'RootOnTES':
SimpleHistos DEBUG Property ['Name': Value] = 'RootInTES':
SimpleHistos DEBUG Property ['Name': Value] = 'Context':
......@@ -86,7 +86,6 @@ SimpleHistos DEBUG Property ['Name': Value] = 'ErrorMax':1
SimpleHistos DEBUG Property ['Name': Value] = 'Enable':True
SimpleHistos DEBUG Property ['Name': Value] = 'OutputLevel':2
HistogramDataSvc DEBUG Service base class initialized successfully
HistogramPersis... INFO 'CnvServices':[ 'HbookHistSvc' , 'RootHistSvc' ]
RootHistSvc INFO Writing ROOT histograms to: histo.root
HistogramPersis... INFO Added successfully Conversion service:RootHistSvc
HistogramDataSvc INFO Added stream file:../home/input.hbook as InFile
......@@ -94,8 +93,8 @@ HistogramDataSvc INFO Predefined 1D-Histograms: