Closed jmcarcell closed 1 week ago
This should be ready to be merged. I will merge today if there aren't any comments.
If think it might be simpler if we say to just always import
ApplicationMgr
fromk4FWCore
rather than if there is IOSvc then import fromk4FWCore
otherwise import fromk4FWCore
orConfigurables
.In a similar vain maybe all the examples could import from
k4FWCore
rather than importing fromConfigurables
when possible?
I agree this is a good idea and now all the examples import from k4FWCore.
Maybe in a longer run we could port our custom python wrappers (
ApplicationMgr.py
,IOSvc.py
) back to C++ (no extra checks or python parsing needed on our side, users can import all they need fromConfigurables
, easier to extend by users if needed)
About this I'm not sure, for ApplicationMgr
that would require a reimplementation of the Gaudi one in C++ and then it can't be called ApplicationMgr
anymore since there will always be already one available...
BEGINRELEASENOTES
IOSvc
orApplicationMgr
are not imported withfrom k4FWCore import IOSvc
(it can be imported fromConfigurables
). The python wrapper in k4FWCore does a few minor things and importing fromConfigurables
doesn't fail currently and can lead to hard to solve issues.events
category. Currently it fails with an error in python that is not very clear.Input
andOutput
for IOSvc, deprecateinput
andoutput
since all the other properties are capitalized. The same forIOType
instead ofioType
. This will print a warning about a duplicated property that should be ignored for now.EventLoopMgr
.ApplicationMgr
always fromk4FWCore
ENDRELEASENOTES
The two warnings are these:
they will appear always and this feature is not being used. In any case, this only overrides the default case, someone can create an
EventLoopMgr
and have the warnings. I opened an issue in Gaudi.The most important is failing when importing
ApplicationMgr
fromConfigurables
as most of the examples do not set the algorithms for reading and writing that the user doesn't need to worry about in almost any case, but the wrapper ink4FWCore
does so one only needs to specifyIOSvc.Input
orIOSvc.Output
.