LHCb Core Software Meeting
Date and Location
7. June 2006
10:30 - 11:40
CERN (2-R-030)
Attendees
Florence,
Hubert,
Juan,
Marco Cl. (minutes),
Markus,
Matt,
Nicolas,
Olivier,
Pere,
Philippe,
Stefan,
Thomas
Apologies
Gloria,
Marco Ca.,
Nick
Subjects
News
- LCG 45 is being built (see change log)
- minor changes in ROOT, SQLite and Oracle
- rebuild releases of RELAX and COOL
- bugfix releases of CORAL and POOL
- Castor available as external
- Today we change user login script in order to use Castor2 as default.
Software Releases
Gaudi (Hubert)
- Understood the problem with SLC4 (swapping of values in a test). It was due to a different order of calls to functions used in the argument list (Fixed). Please have a look at the Gaudi Tips & Tricks page
.
- Applied fix on VectorMap (Vanya)
- Fix by Vanya for the counters printout. Now it doesn't output the weight if it is trivial (=1).
- Fixed broken forward declaration in G.O.D. generated classes (Marco Cl.)
- Bugfix in TransientFastContainer (Marco Cl.)
- New property parser implementation commited. It is backward compatible and allows to have more types of properties (maps,...)
- Building on AMD64. Problems with CERNLIB.
LHCb, Boole, Brunel (Marco Cl. for Marco Ca.)
- Memory leak in Brunel solved (Marco Cl.). It was due to the fact that LHCb::FitNode (no allocator) was deleted as LHCb::Node (using Node allocator).
LHCb::Node is not safe (possible memory leak) and used only as LHCb::FitNode.
- Port of LHCb to slc4_ia32_gcc345 almost done.
- Problem with VectorMap fixed by Vanya (needs new Gaudi)
- Problems with GSL, LoKiCore, Relations, RichRecBase (all fixed in the HEAD)
- The port was almost transparent, except that if a class is implementing the copy constructor, the base classes must be initialized (even interfaces).
We should move the tag for Gaudi v18r5.
Hubert: we cannot move the tag to the current head of GaudiKernel otherwise it will include the changes in the property parser. The tag will be moved only for VectorMap.h and GaudiObjDesc.
Marco Cl.: Will disable (with #ifdef) the usage of boost allocators on windows (patch to G.O.D.) because thay do not work as expected on Win32.
Markus: they should work, probably we are using them in the wrong way.
Marco Cl. will investigate.
Gauss (Florence for Gloria)
- New version of Gauss will be released soon to solve a problem with inclusion of Preshower converter in the list of detectors (needs a new version of XmlDDDB).
The data produced so far are not usable for physics (no hits in the PS).
- Problem with units solved. It was decided a long ago to express time in mm, and it was only partially implemented. To avoid mismatches the changes have been reverted and time will be in ns (as it is done in Geant).
DaVinci (Juan)
- Released Phys v3r1 and DaVinci v16r1 for the tutorial in Bologna.
- Yuehong's OfflineVertexFitter has full functionality now, awaiting real Particles for more testing.
- Yuehong found a bug in Particle copy-constructor while testing vertex fitter. Bug also in assignment operator. Same with LHCb::Vertex class.
- Other PhysEvent classes use compiler-provided default copy constructors and assignment operators. This is dangerous for classes inheriting from KeyedObject. Absence of copy constructor will cause compilation problems, but assignment operator has no such safety. ALL CLASSES INHERITING FROM KEYED OBJECT NEED COPY CONSTRUCTORS AND ASSIGNMENT OPERATORS. Juan added custom copy-constructor and assignment operator for all PhysEvent classes inheriting from KeyedObject.
- Development of MPCarticleMaker tool
- Hit a mathematical problem: diagonalzation of non-positive definite error matrix. Using approximations in error matrices at the moment, a more mathematically correct approach should be possible. Experts thinking about this.
- Links of Particles to MCParticles from which they were made not trivial. Juan will find a solution to this.
- Juan working on assotiation of particles to primary vertices. Idea is to have simple tool which can be used locally in user code or by an algorithm to put relations tables in TES using the data-on-demand-service. First iteration of algorithm and tool ready for testing, have to work on opitons.
- LHCbMath library is growing and is now a links library.
- (Vanya) Very useful utilities to facilitate working with generic SVectors and 3D and 4D MathCore vectors. This should simplify a lot of the geometry/kinematics code.
- (Vanya) New EigenSystem class with linear algebra functionality (eigen values/vectors, matrix diagonalization).
- (Juan) Moved conversion of standard to symmetric matrix functionality here from LHCbDefinitions. Now everything maths related is under Gaudi::Math namespace.
- (Juan) Fixed various bugs in GeomFun.h geometrical functions classes. These were found while compiling on windows as the templated functions were not used anywhere, and therefore not checked in Linux.
--
JuanPalacios - 08 Jun 2006
Panoramix (Thomas for Guy)
Round Table
- Markus
- Trying to find the mismatched operator free/delete in Gaudi and DAQEvent.
- Matt
- Discussion about alignment framework during mini alignment framework.
DetectorElement is missing few useful functions (like transformations and derivatives). Juan will add them.
A user-friendly way of connecting alignment parameters to matrix elements and vice versa is needed. Marco Cl. would like to have some concrete use-cases to see what can be done.
- Nicolas
- First feed-back for CondDB tutorial (Anatoly Solomin).
The command line part of conddbui is ready. It will be released when the GUI will be ready too.
Discussion with Marco Cl. concerning changes to XmlParserSvc cache. It should handle intervals of validity to allow caching of parsed XML documents retrieved from CondDB (preformance improvement).
- Florence
- Still working with new version of CMT, but it is not released yet.
Hubert said that the change he proposed to CMT developers has been introduced in the current head version (builds on different hosts use different directories).
- Philippe
- On-line people asked IT to try icc (Intel C/C++ compiler) to try to improve performances on the on-line farm. It has also been suggested to use machine specific optimizations of gcc. We can also compile only the pattern recognition code with these optimizations (there is the question whether we need the external compiled with icc, but probably it is not necessary
). Matt volunteers to try to use any set of gcc options, as long as anybody provides them.
--
MarcoClemencic - 08 Jun 2006