DaVinci Migration to DC06 page
Timescales
Code needed for DC06 stripping
The DC06 reconstruction and stripping will start beginning of June. The code has thus to be ready by the beginning of May to allow some time for testing.
To do:
- Test all options-based pre-selections
- Continue to review all code.
- Remove obsolete stuff.
- Avoid duplications of code. Always! No exceptions!
- More details in the various packages.
Desired features non essential for DC06 stripping.
- Split LoKi in pieces.
- Merge DVAlgorithm and LoKi::Algo as much as possible.
- Remove code duplications. In particular LoKi::Cuts and DaVinciFilter.
- Adapt to python options.
- Unify string parsing.
Meetings
Status history
The doxygen of the latest version released of PHYS (v3r2) is available at
http://lhcb-release-area.web.cern.ch/LHCb-release-area/PHYS/doc/html/index.html
- 21/07/2006 Essential code runs.
- Test sttripping jobs select random events from rDST and produce event tag collections
- New ParticleMakers
- DaVinciAssociators
- VertexFitters
- CommonParticles tested for long-lived particles and J/Psi
- 29/05: Essential core code compiles. DaVinci initializes and finalizes properly.
- Working versions of MCParticleMaker, OfflineVertexFitter and BlindVertexFitter running and roughly tested with Gauss events.
- Includes new LoKi packages.
- Options-based DC06 pre-selection packages tuned on DC04 imported but not tested.
See doxygen
to-do list
and
interface status.
Packages status
Warning: DC04 developments sit on a branch CVS branch DC04b. DC06 developments are in head.
Phys/DaVinciKernel
In charge: DaVinci Librarian
Purpose: Contains all interfaces, DVAlgorithm and the PhysDesktop.
Status (20/04): Release v4r2. All interfaces have been translated to the new event model.
DVAlgorithm
and
PhysDesktop
compile. DVAlgorithm modified to allow LoKi::Algo to inherit from it. Possible to have full DVAlgorithm from LoKi::Algo.
Todo (longer time scale):
Phys/DaVinciTransporter
In charge: Patrick K.
Purpose: Transporter (extrapolator) tools for particles. Used to contain a lot of duplications of track extrapolators, but for Particles. Now that the track extrapolators extrapolate States one can translate any Particle to a State and back.
Status (20/04): DC06-compatible release v3r0. Created one tool ParticleTransporter that calls TrackExtrapolators depending on what kind of Particle to extrapolate. Should be able to replace all DC04 transporters. The geometry tools have been moved here and compile too.
To do (for DC06 stripping):
- Test.
- Check if any other transporters are needed.
Do not duplicate extrapolators code!
Phys/ParticleMaker
In charge: Global Particle ID Task Force
Purpose: Contains all tools making Particles from ProtoParticles.
Status (20/04):
Phys/VertexFit & Phys/VertexFitChecker
In charge: Yuehong Xie
Purpose: Vertex fitters and re-fitters.
Status (21/04): DC06-compatible release v3r0. OfflineVertexFitter (Yuehong) works for everything, including photons. Tested on 500 J/Psi(mumu)Ks events with MCParticleMaker. Nothing wrong seen so far. TrgVertexFitter compiles but is wholly untested. BlindVertexFitter (Vanya) implemented and tested. DirectionFitter,
, PVRefitter implemented. Full functionality complete.
Phys/DaVinciFilter
In charge: DaVinci librarian
Purpose: All FilterCriteria tools, the ParticleFilter tool and the FilterDesktop algorithm.
Status (20/04): DC06 release v5r1. Compiles and runs DLLFilterCriterion
modified to use new ProtoParticleFilters
To do (for DC06 stripping):
Phys/DaVinciTools
In charge: DaVinci Librarian
Purpose: All "other" tools and algorithms. In particular the MakeResonances algorithm.
Status (20/04): DC06-compatible release v14r1. Everything compiles and runs
To do (for DC06 stripping):
- Test.
- Unify string parsing.
Phys/CommonParticles
In charge: Olivier Deschamps and DaVinci Librarian
Purpose: Package containing code to produce standard particles. Many options but also C++ for pi0 making.
Status (20/07): Options-based particles tested and working: stable charged particles and J/Psi. All others untested.
To do (for DC06 stripping):
- Get Pi0-making to work. Ready as of 13 Sep 2006 (in $LHCBDEV)
- Declare Pi0 to on-demand service. Ready as of 13 Sep 2006 (in $LHCBDEV)
- Test and develop intermediate states.
Phys/FlavourTagging & Phys/FlavourTaggingChecker
In charge: Marco Musy
Purpose: Flavour tagging.
Status (20/04): Nothing Done. Not in Phys for now.
To do (for DC06 stripping):
- Get it to compile.
- Put in PHYS
- Requires
-
- Pre-selections or loose selecions could be OK for tagging.
- Reasonable channel selections must be ready for checking.
Phys/DaVinciAssociators
In charge: Philippe Charpentier
Purpose: (Proto)Particle to MCParticle association code.
Status (20/04): Release v6r1 for DC06.
- Use in tools: done, tested and committed
See also Interfaces
Phys/DaVinciMCTools
In charge: Stefania Vecchi for the MCParticleMaker. Vladimir Gligorov for BackgroundCategory. And for the rest DaVinci librarian
Purpose: All low-level tools and algorithm that need access to MC truth.
Status (20/04): DC06 version v7r1. New MCParticleMaker compiles, runs, creates Particles. Covariance matrix and Linker table between Particles and MCParticles implemented. Allows to test some code using Gauss events. Some trivial algorithms compile too. DebugTool and TrueMCFilterCriterion restored
To do (for DC06 stripping):
- Test DebugTool
- Test TrueMCFilterCriterion
- Adapt Background category tool (Vava Glirorov). Promised for October 7th, 2006.
- Phys/MCTools has been split. Check what is needed for DaVinci.
- For instance MCDecayFinder is now in Sim/SimComponents.
- Find who's responsible for the rest!
See also Interfaces
Phys/DaVinciEff
Orphan package
Purpose: Efficiency algorithms.
Status (20/04): Nothing done.
To do (for DC06 stripping):
- Adapt to new event model.
Phys/PVEff
In charge: Mariusz Witek
Purpose: Primary vertex efficiency algorithms. Can it go to REC ? Not in PHYS at the moment.
Status (20/04): Nothing done.
Phys/Tampering
In charge: Mariusz Witek ?
Purpose: Buffer tampering algorithms.
Status (20/04): Nothing done. Wait for trigger to be there. Not in PHYS.
Phys/TriggerSource
In charge: Patrick Koppenburg
Purpose: TisTosTobbing with Tampering algorithms. An alternative to Tampering.
Status (20/04): Nothing done. Wait for trigger to be there. Not in PHYS
In charge: Vanya Belyaev
Purpose: Smart and friendly C++ analysis toolkit. Interface to Bender.
Status (13/07):
- v4r0 released and built in $LHCBDEV
Tools/Stripping
In charge: DaVinci Librarian
Purpose: Stripping algorithm and python scripts.
Status (20/04): DC06-compatible v5r1. C++ compiles. Python produces correct stripping job options.
To do (for DC06 stripping):
- Python script needs SERUOUS clean-up.
Tools/Utilities
In charge: DaVinci Librarian
Purpose: Utility tools and algorithms not depending on DaVinciKernel.
Status (20/04): DC06-compatible release v3r0. Compiles.
To do (for DC06 stripping):
PhysSel/*
In charge: Physics Working Groups.
Purpose: Collect all preselections from stripping and offline selections for trigger and tagging developments.
Status (26/05): Few pre-selection packeges containing similar preselections decided upon (for exmple nop>PhysSel/Radiative, PhysSel/DiLepton...). Many pre-selections prepared with DC04 software and common particles and imported into PhysSel.
To do (for DC06 stripping):
- Tune all preselections when reconstruction and PID ready.
- PhysSel/Radiative not ready
Obsolete packages.
- Phys/PhysSelections
- Rec/RecoTools
- All presently used PhysSel/*
Interfaces
Color coding:
-
Green
: Tools that are ready for DC06.
-
Red
: Tools that have no implementation ready.
-
Brown
- Tools that have at least one implementation ready but need more work or testing.
Status of interfaces implementation in DaVinciKernel
-
IAlgorithm2ID (doxygen
)
: implemented by Algorithm2ID. No other implementation needed.
-
IBestParticles (doxygen
)
: implemented by KinBestParticles. No other implementation needed. This tool is hardly used. Could as well be removed.
-
IBTaggingTool (doxygen
)
: not implemented yet. Mandatory tool for analysis.
-
ICheckOverlap (doxygen
)
- implemented by CheckOverlap and CheckVeloOverlap. CheckVeloOverlap un-tested
-
ICheckSelResults (doxygen
)
: not implemented yet. Not high priority.
-
IDecayFinder (doxygen
)
: implemented by DecayFinder
-
IDecodeSimpleDecayString (doxygen
)
: implemented by DecodeSimpleDecayString. Would be nice to have a the decay descriptor syntax parsing shared between this tool and the DecayFinders.
-
IDirectionFit (doxygen
)
: Implemented by DirectionFitter.
-
IFilterCriteriaTESTool (doxygen
)
: implemented by FilterCriteriaTESTool.
-
IFilterCriterion (doxygen
)
: implemented by BooleanFilterCriterion ByPIDFilterCriterion DaughterVertexFilterCriterion DLLFilterCriterion FlightDistanceFilterCriterion KinFilterCriterion LifetimeSignificanceCriterion MassDifferenceFilterCriterion MassFilterCriterion Momentum2FlightAngleFilterCriterion MomentumMotherDirectionFilterCriterion OverlapFilterCriterion PIDFilterCriterion PVIPFilterCriterion TrackTypeFilterCriterion VtxFilterCriterion VtxIsolationFilterCriterion TrueMCFilterCriterion
-
IGeomDispCalculator (doxygen
)
: implemented by TrgDispCalculator and GeomDispCalculator.
-
IIDIPhotonFromMergedParams
: not implemented. This tool should become a Particlemaker, shouldn't it?
-
IIDIPhotonParams
: not implemented. This tool should become a Particlemaker, shouldn't it?
-
IJetMaker (doxygen
)
: not implemented yet.
-
IKFFitTool (doxygen
)
: not implemented yet. Needed for analysis.
-
ILifetimeFitter (doxygen
)
: Implemented by PropertimeFitter.
-
IMassVertexFit (doxygen
)
: not implemented yet. Needed for analysis.
-
IOnOffline (doxygen
)
- implemented by OnOfflineTool.
-
IParticleCombiner (doxygen
)
: Used by IMassVertexFit and IVertexFit.
-
IParticleDescendants (doxygen
)
: implemented by ParticleDescendants.
-
IParticleFilter (doxygen
)
: implemented by ParticleFilter.
-
IParticleMaker (doxygen
)
: implemented by CombinedParticleMaker, MCParticleMaker, NoPIDsParticleMaker, ParticleMakerSeq.
-
IParticleReFitter (doxygen
)
: Used by IMassVertexFit, IVertexFit and IDirectionFit.
-
IParticleStuffer (doxygen
)
: implemented by ParticleStuffer.
-
IParticleTransporter (doxygen
)
: implemented by ParticleTransporter.
-
IPhotonFromMergedParams (doxygen
)
: not implemented. This should should become a ParticleTransporter, right?
-
IPhotonParams (doxygen
)
: not implemented. This should should become a ParticleTransporter, right?
-
IPhysDesktop (doxygen
)
: implemented by PhysDesktop. The assignement of a Particle to a PV is missing.
-
IPlotTool (doxygen
)
: implemented by RecursivePlotTool SimplePlotTool.
-
IPVReFitter (doxygen
)
: Implemented by PVReffiter
-
ISecondaryVertexTool (doxygen
)
: not implemented yet. Needed for analysis.
-
ITagger (doxygen
)
: not implemented yet. Needed for analysis.
-
IVertexFit (doxygen
)
: implemented by TrgVertexFitter, (untested), OfflineVertexFitter (Yuehong) and BlindVertexFitter (Vanya)
Status of interfaces implementation in DaVinciMCTools
-
IBackgroundCategory (doxygen
)
: not implemented yet.
-
ICheatedLifetimeFitter (doxygen
)
: not implemented yet. Wouldn't it make more sense to have the CheatedLifetimeFitter inherit from the same interface as the normal lifetime fitter?
-
IDebugTool (doxygen
)
- Implemented byDebugTool. Needs to be tested.
Links
-- PatrickKoppenburg - 07 Feb 2006