LHCb Core Software Meeting

Date and Location

28. June 2006
10:00 - 11:30
CERN (2-R-030)


Florence, Gloria, Guy (phone), Joel, Juan, Marco Ca., Marco Cl. (minutes), Markus, Manuel, Nick, Nicolas, Olivier, Pere, Philippe, Stefan, Thomas





Software Releases

Gaudi (Marco Cl. for Hubert)

  • For the present release (v18r5)
    • patch from Marco Ca. on VectorMap.h (to make it possible to build a useful lcg dictionary for LHCb event model classes that use VectorMap)
  • For the Head
    • Adjustement to LCGCMT 45:
      1. Correction in GaudiPoolDb of the call to DbSession::Open which was taking no argument and now take void* in the new POOL (2.4.4). The call is now DbSession::Open(0) in PoolDbCnvSvc.
      2. ROOT 5.11.06a has been redeployed since I was getting warning with the python examples. Now it is fixed thanks to Bertrand Bellenot.
    • fixed useless return value of the Gaudi application (reported by JoŽl). Now if everything has succeeded it returns 0 to the shell and 1 otherwise. Before Gaudi was always returning 0. The returned value is based on the returned StatusCode of ApplicationMgr::run:
      • SUCCESS -> Gaudi.exe returns 0
      • FAILURE -> Gaudi.exe returns 1

Marco Ca.: LHCb applications use their own version of main (in GaudiConf). They should be modified following Hubert's changes. We should also define better what SUCCESS means for ApplicationMgr::run (e.g.: finalized succesfully after an exceptions?)

Marco Ca. would like to know if the problem with JobOptionSvc (it does not fail anymore if an option does not exists, just prints an error).

LHCb, Boole, Brunel (Marco Ca.)

  • The whole chain has been released on Friday (built on slc4_ia32 too).
    Minor differences have been observed (probably for different optimizations)
  • Everything compiles on slc4_amd64, but it does not work
    • bugs in string manipulation in DataSvc and DetDescCnv (fixed by Marco Cl.: the result of std::string::find was aften stored in int or unsigned int instead of std::string::size_type)
    • few DLLs cannot be loaded (strange error message)

Gauss (Gloria)

  • Worknig on a version of Gauss based on LHCb v21r1
    • error messages in cell IDs in Calorimeter
      Vanya says it may happen. Anyway he fixed it.
    • momentum = 0 bug fixed
    • release planned early next week

DaVinci (Juan)

  • Release ready (compiled in DEV)
  • Can read proto particles from DST
  • Can make particles with the particle maker tool
    by the end of the day should be able to produce muons and pions to test)
  • Patrick wrote an algorithm that produces SelResult form and Event Tag Collection.
    This algorithm should go in Brunel to be able to store SelResult in a second pass (Marco Ca. will help in moving it from Phys to Rec).

Panoramix (Guy)

  • Preparet OpenScientist release

Round Table

Released the first version of CondDBUI.
Started the CondDB maiing list (feedback from Anatoly).
Preparing a tutorial: can we have a hands-on session before October? It doesn't seem probable. He will ask to the mailing list if somebody is interested. Anyway he will prepare a detailed tutorial on the web page.
Bug in ROOT (with typedefs inside complex templated classes). The fix has been committed. We need a version of ROOT including this fix before we can use it.
Found a problem in POOL too, but we are not affected.
Few requests for G.O.D.:
  • dictionaries for KeyedObject
  • pretty print of enums
  • copy constructor and assignment operator for specializations of KeyedObject
Stefan does not have time and none of them is a show-stopper, they will wait a bit. Markus suggested that we make the assignment operator of KeyedObject private. It seems a good idea to spot problems at compile time.
Agreed with Marco Ca. and Gloria to delete some DC04 log files (Gauss: keep 5%, Brunel: delete all histograms). Gloria suggests that the same is done for RTTC logs.
There is a problem with CMT on Athlon (32bit) machines: it tries to find cmt.exe in Linux-Athlon instead of Linux-i386. Florance will fix the script once she get enough information to do it.
Testing Gaudi HEAD version, he found problems with Vanya's property parser.
Marco Ca.
  • Testing the compilation on SLC4 AMD64. On lxcert and lx64slc4 there are different environments. He will ask to have one of the lxbuild boxes (lxbuild020) equipped with SLC4 to have amore controlled and stable environment.
  • LokiCore is printing a welcome message on every application linked against it (even if it is not used). After some discussion we agreed that only applications are allowed to print welcome messages (version etc.), and the usage of std::cout should be avoided.
Would like to have the setup scripts in the cmt directories of LCGCMT packages: it will allow users to set the environment for externals by sourcing them. Pere do not like the idea (it means more work for the release manager). A possible solution is to have a script that generates a minimal requirements file and call the setup script of it. Marco Cl. will prepare a prototype to start with, if we do not like the solution it we can try to ask agin for the scripts in LCGCMT.
It seems that the transport service is a bottleneck for the track fitting. Probably we need a review of the geometry.
Olivier suggested that we need an implementation of the transport service that is using an approximation of the amount of material. We probably do not need to consider all the details, but it is enough to have an average.
Another possibility is to have a detector description that allows to use appoximations after a certain depth (this requires anyhow a review of the geometry).
The current activities are: profiling of the transport service (Vanya) and a study on the effect of the material on track fitting errors (Davide Preccio).

There has been some discussion about Gaudi v18r6. In principle it should be based on LCGCMT_45, but we cannot use the version of ROOT there. It has been agreed that we wait for the architects forum decision and we go for the most recent usable version of LCG (44 or 45a).

CondDB Meeting


Juan, Marco Ca., Marco Cl., Nick, Nicolas, Philippe


Marco Cl. presented at last week 3D Meeting a plan for the CondDB deployment tests to do before October (see the slides).
The main points are:
  • set up and test the streaming between Tier-0 and Tier-1s
  • set up and test the streaming between Tier-0 and an LHCb managed RAC (fake PIT)
    (verify the replication from PIT to Tier-1 passing by Tier-0)

Currently, the only available CondDB is the one Marco Cl. produced as a prototype (see the announce on the conddb mailing list) based on XmlConditions v1r7.
We will need to move DDDB to the CondDB too. Marco Cl. will do that without the reorganization he did for XmlConditions, just minimal changes (e.g. rename lhcb-200601.xml to lhxb.xml, because we do not need to specify a version in the file names because the versioning is achived via tags).

Once the SQLite CondDB prototype is ready, we can make it a package and deploy it like other packages to run Brunel jobs using it and compare the results with the old XmlDDDB.

Nicolas reminded that there have been discussions with HLT people about usage of conditions in HLT.
The main opinions are:

  1. keep in the CondDB only the coordinates of the job option file used
  2. put in the CondDB the parameters used for the HLT, but set the parameters in HLT via job options
  3. store the parameters in CondDB and use conditions inside HLT instead of job options
It is clear that the structural configuration (sequences of algs. etc.) can only go via job options. For parameters like bandwidth distribution we can use both job options of conditions. The main advantage of conditions is that they can change without having to stop and restart the program. The main risk is that this funcitonality is abused (changing the HLT parameters during a Run).
We didn't reach a definitive conclusion. Anyway it looks clear that options 2 and 3 are the favoured.
Marco Ca. suggested that if HLT parameters are passed via conditions (and not only in that case), we should have a way of overriding conditions from job option files. Marco Cl. agrees and will implement a way to do it.

Nick thinks that for the first meeting a brainstorming is ok, but next meetings should be structured.

Philippe suggested to prepare a document with the outcomes of the discussions.

-- MarcoClemencic - 29 Jun 2006

Edit | Attach | Watch | Print version | History: r6 < r5 < r4 < r3 < r2 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r6 - 2006-11-17 - unknown
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    LHCb All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright &© 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback