Marco Cattaneo, 6-Apr-20001 Issues identified in sub-detector OO software reviews Calorimeters:18th February Tracking:24th March Rich:31st March.

Slides:



Advertisements
Similar presentations
CBM Calorimeter System CBM collaboration meeting, October 2008 I.Korolko(ITEP, Moscow)
Advertisements

ILDG File Format Chip Watson, for Middleware & MetaData Working Groups.
LCFI physics studies meeting, 28 th June 05 Sonja Hillertp. 1 Report from ILC simulation workshop, DESY June Aim of workshop: preparation for Snowmass;
1 Scintillating Fibre Tracker Simulation Malcolm Ellis Imperial College London Tuesday 9 th March 2004.
Ties Behnke, Vasiliy Morgunov 1SLAC simulation workshop, May 2003 Pflow in SNARK: the next steps Ties Behnke, SLAC and DESY; Vassilly Morgunov, DESY and.
25/03/2003Simulation Application for the LHCb Experiment CHEP March 2003 Presented by: W. Pokorski / CERN Authors: I. Belyaev, Ph. Charpentier,
TkrRecon Reorganization Update Analysis Group Meeting Nov 22, 2004 Introduction Overview of the new TkrRecon TDS Classes Overview of changes in the TkrRecon.
Simulation / Reconstruction Working group Toby Burnett University of Washington 11 Jan 2000 T.
LHCb Simulation Tutorial CERN, 21 st -22 nd February B 00 l e How to pass a detector geometry to.
Marco Cattaneo, 23rd February Status of the software migration  Migration strategy: Where we should be  Status: Where we are  Plans.
HPS Online Software Discussion Jeremy McCormick, SLAC Status and Plans.
Tracking at LHCb Introduction: Tracking Performance at LHCb Kalman Filter Technique Speed Optimization Status & Plans.
Introduction Multi-jets final states are of major interest for the LC Physics EFlow : An essential test to design the foreseen detector Software (Algorithms)
David N. Brown Lawrence Berkeley National Lab Representing the BaBar Collaboration The BaBar Mini  BaBar  BaBar’s Data Formats  Design of the Mini 
SE: CHAPTER 7 Writing The Program
1 OO Implementation for the LHCb Rich Niko Neufeld Dietrich Liko.
Fast reconstruction of tracks in the inner tracker of the CBM experiment Ivan Kisel (for the CBM Collaboration) Kirchhoff Institute of Physics University.
ALICE Simulation Framework Ivana Hrivnacova 1 and Andreas Morsch 2 1 NPI ASCR, Rez, Czech Republic 2 CERN, Geneva, Switzerland For the ALICE Collaboration.
BeamCal Simulations with Mokka Madalina Stanescu-Bellu West University Timisoara, Romania Desy, Zeuthen 30 Jun 2009 – FCAL Meeting.
Some Thoughts about Hits, Geometry etc Rob Kutschke, Hans Wenzel Fermilab March 13, 2007.
T. Burnett1 GLAST LAT ProjectDOE/NASA Baseline-Preliminary Design Review, January 9, 2002 SAS Software: Sources Detector geometry model Simulation Event.
Gaudi Framework Tutorial, April Algorithm Tools: what they are, how to write them, how to use them.
Reconstruction Configuration with Python Chris Jones University of Cambridge.
LHCb Lausanne Workshop, 21st March /12 Tracking Software for DC’06 E. Rodrigues, NIKHEF LHCb Tracking and Alignment Workshop  To do list, and done.
The CMS Simulation Software Julia Yarba, Fermilab on behalf of CMS Collaboration 22 m long, 15 m in diameter Over a million geometrical volumes Many complex.
Marco Cattaneo, 15-Sep OO software plans  Major milestone (presented last June) Fully functional SICB replacement by mid-2000  How to get there?
Refitting Tracks from DST E. Rodrigues, NIKHEF LHCb Tracking and Alignment Workshop, Lausanne, 8-9th November 2006  Motivations  Step-by-step …  Current.
CBM ECAL simulation status Prokudin Mikhail ITEP.
GLAST LAT Offline SoftwareCore review, Jan. 17, 2001 Review of the “Core” software: Introduction Environment: THB, Thomas, Ian, Heather Geometry: Joanne.
LHCb Lausanne Workshop, 21st March /8 Tracking Open Issues E. Rodrigues, NIKHEF LHCb Tracking and Alignment Workshop Some topics to discuss …
05/04/06Predrag Krstonosic - Cambridge True particle flow and performance of recent particle flow algorithms.
Photon reconstruction and matching Prokudin Mikhail.
Why A Software Review? Now have experience of real data and first major analysis results –What have we learned? –How should that change what we do next.
Detector Description in LHCb Detector Description Workshop 13 June 2002 S. Ponce, P. Mato / CERN.
1 SICBDST and Brunel Migration status and plans. 2 Migration Step 1: SICBMC/SICBDST split  Last LHCb week: Split done but not tested  Software week.
Computing R&D and Milestones LHCb Plenary June 18th, 1998 These slides are on WWW at:
23/2/2000Status of GAUDI 1 P. Mato / CERN Computing meeting, LHCb Week 23 February 2000.
Cellular Automaton Method for Track Finding (HERA-B, LHCb, CBM) Ivan Kisel Kirchhoff-Institut für Physik, Uni-Heidelberg Second FutureDAQ Workshop, GSI.
April 6, 2000 LHCb Event Data Model Pavel Binko, Gloria Corti LHCb / CERN 1 LHCb Software week LHCb Event Data Model Pavel Binko Gloria Corti LHCb / CERN.
Ties Behnke: Event Reconstruction 1Arlington LC workshop, Jan 9-11, 2003 Event Reconstruction Event Reconstruction in the BRAHMS simulation framework:
OO Implementation for the LHCb Rich Niko Neufeld Dietrich Liko.
1 Software tools in Asia Akiya Miyamoto KEK 18-March-2005 Simulation and Reconstruction Session LCWS2005 Representing acfa-sim-j activity M.C.Chang 1,K.Fujii.
LHCb Software Week, 26th April /23 Tracking in LHCb E. Rodrigues, NIKHEF LHCb Software Week A Status Report.
General requirements for BES III offline & EF selection software Weidong Li.
Space Data Link Secure Protocol Interoperability Testing Interfaces Definition Proposal Bruno Saba DCT/TV/IN 26/04/2010.
Overview Methodology Design Architecture Outline of future work Ideas for discussion.
Feb. 3, 2007IFC meeting1 Beam test report Ph. Bruel on behalf of the beam test working group Gamma-ray Large Area Space Telescope.
AliRoot survey: Reconstruction P.Hristov 11/06/2013.
LHCb Alignment Strategy 26 th September 2007 S. Viret 1. Introduction 2. The alignment challenge 3. Conclusions.
Marco Cattaneo, 3-June Event Reconstruction for LHCb  What is the scope of the project?  What are the goals (short+medium term)?  How do we organise.
MAUS Status A. Dobbs CM43 29 th October Contents MAUS Overview Infrastructure Geometry and CDB Detector Updates CKOV EMR KL TOF Tracker Global Tracking.
Marco Cattaneo, Milano, 27th September Brunel status and plans Status of commissioning Forthcoming improvements Conventions.
Marco Cattaneo, 20-May Event Reconstruction for LHCb  What is the scope of the project?  What are the goals (short+medium term)?  How do we organise.
LHCb Software Week 25/11/99 Gonzalo Gracia Abril 1 r Status of Geant4 in LHCb. r Ideas on how to populate the LHCb Detector Description Data Base (LHCb.
Programming paradigms
Migration of reconstruction and analysis software to C++
Status of Brunel team and next steps
Physical Units Event Data Model Access to MonteCarlo truth
Vincenzo Innocente CERN/EP/CMC
Linear Collider Simulation Tools
LHCb Detector Description Framework Radovan Chytracek CERN Switzerland
Simulation Framework Subproject cern
Simulation and Physics
2 Getting Started.
OORich Implementation Status
2 Getting Started.
Summary Computing Model SICb Event Model Detector Description
Use of GEANT4 in CMS The OSCAR Project
Agenda SICb Session Status of SICb software migration F.Ranjard
LHCb Detector Description Framework Radovan Chytracek CERN Switzerland
Presentation transcript:

Marco Cattaneo, 6-Apr Issues identified in sub-detector OO software reviews Calorimeters:18th February Tracking:24th March Rich:31st March

Marco Cattaneo, 6-Apr Structure of this session  Brief overview the three reviews  Presentation of issues raised Pros and cons of different approaches Some solutions discussed in the reviews  Open discussion Can we agree on common approaches? Essential for homogeneity and maintainability of LHCb simulation, reconstruction, analysis environments How do we foster exchange of information between sub- detectors? Generic solutions to common problems Sharing of good design ideas

Marco Cattaneo, 6-Apr Calorimeters  Discussion document: Detailed data model design Including class definitions (header files) Algorithm descriptions Including code examples and use cases  Issues raised  Connection to Monte Carlo data  Fast access to contained objects Using cell ID as index Coding styles Use of STL algorithms and function classes (functors) Compactness of code vs. Maintainability/Readability

Marco Cattaneo, 6-Apr Tracking  Discussion document Procedural description of algorithms Data Model No implementation details  Issues raised Design driven by existing needs  Interaction with other detectors (RICH, VELO...) Tracks, tracking Hits  Connection to MC truth  Sorting of contained objects  Algorithms vs. Tools vs. Services Detector geometry (see this afternoon) Complete material description in XML Synchronisation of XML and CDF descriptions Granularity of detection cell

Marco Cattaneo, 6-Apr RICH  Discussion document: Status of standalone program, adapted to GAUDI Detailed use case analysis Detailed detector and event model design Architecture Adapter, Strategy, Monitor  Issues Is design driven by chosen algorithm (global likelihood)? More use cases to be considered Simulation during reconstruction Needed for detection efficiency calculation  Connection to other detectors (sequencing, updating of data)  Connection to MC truth  Sharing data between sub-algorithms

6 Connection to MC truth: two approaches  Inheritance MCCaloDigit isA CaloDigit, IT/OTMCDigi isAn IT/OTDigi Fast and easy access to MC information (dynamic cast) Space efficient (4 or 8 bytes)  Needs discipline (can easily be abused) Reconstruction code is the same, using real data class  But cannot be tested on real data until it comes ? How to create or copy MC object without using MC class? e.g. new CaloDigit in calibration code  Indirect association MCCaloDigit hasA CellID, CaloDigit hasA CellID  Slow(er), more complex access Clear separation between MC and data  But can still be abused…. Only option for objects created by pattern recognition Reconstructed and truth tracks sharing hits

Marco Cattaneo, 6-Apr Connection to MC truth: tools  Associators Encapsulate details of association Can be simple dynamic cast, simple or complex navigation, majority logic, etc. Data model can evolve without affecting analysis code  Monitors Algorithms that monitor performance of code May know about existence of MonteCarlo Can use associators to make data / MC comparisons

Marco Cattaneo, 6-Apr Connection to MC truth: Recommendations  Do not infect reconstruction code with knowledge of Monte Carlo Use only real data classes in reconstruction code No MC header files in Brunel code! Use Monitors to make comparisons  Do not infect data/MC comparisons with implementation details Use Associators to encapsulate data/MC connection  Choose association method most suitable to your use Inheritance OK for DIGIs, Hits etc. Provided problem of new can be solved (a virtual clone method?)

Marco Cattaneo, 6-Apr Examples of interactions between sub-detectors  Definition of common base classes IT/OTHitOnTrack isA TrMeasurement Tracking code deals with TrMeasurement How will VELO fit into this scheme?  Working with shared classes What is a track? Who can update it?  Sequencing of algorithms Tracking needs particle ID, RICH needs tracks  Definition of responsibilities Primary vertex: VELO? Tracking? Somebody else? Who (and how) finds tracks in VELO?  NEED forum for discussion between sub-detectors

Marco Cattaneo, 6-Apr Ownership of data  A use case: Tracker finds tracks, gives ownership to transient store RICH takes these tracks, finds particle ID How can RICH attach particle ID to tracks it does not own? Update track’s pointer to PID info  Breaks rule that cannot update data on transient store Save a new copy of the tracks with links to PID info  Safe, but proliferation of duplicate information Save PID info, with link to corresponding track  Safe, but very inefficient for further tracking and analysis Based on PID, tracking wants to remove some tracks  RICH may still be pointing to these tracks!  Update a track quality flag? Updating of pointers/flags probably OK Deletion of data items in the store NOT OK

Marco Cattaneo, 6-Apr Adapters  Data items on transient store are simple Cannot answer complex or specialised questions e.g. Tracks know only about states and measurements Different sub-detectors may need to ask different questions e.g. RICH asks tracks how many photons they will generate in a radiator  Adapters: allow private view of the data e.g. RICH algorithm accesses only RICH tracks. These answer RICH specific questions. Generic track questions are forwarded to the Tracking tracks by adapters. shield algorithms from different data sources e.g. use same RICH algorithm for truth tracks or reconstructed tracks, just changing the adapter (c.f. converter)  Nice idea, but beware of making adapted objects too complex, compromising modularity

Marco Cattaneo, 6-Apr Access patterns to contained objects  Use case 1: Clustering of ECAL requires asking for energy deposit in a given cell How can ObjectVector be indexed by CaloCellID ? Could be done by specialising ObjectVector with [] operator accepting CaloCellID as index  Use case 2: Track finding algorithms require re-ordering of clusters according to a given quality factor Cannot reorder in the data store Can be done by sorting local copy of pointers to clusters  Are there any general solutions?  Could adaptors have a role?

13 Sub-algorithms vs. Tools (vs. Services)  Need to pass data to (and between) sub-algorithms GAUDI architecture favours publishing such data on transient store Does not mean it will be made persistent! Alternative is that context is passed to sub-algorithm via message e.g. Evaluate(my_event,my_detector) Couples algorithms, does not allow them to run independently Some sub-algorithms need to be called several times per event e.g. Track extrapolator, Kalman filter  New concept: “Tools” Take and configure a “tool” from a “toolbox” svc. at initialisation One or more instances per algorithm (same as sub-algorithms) Use tool when needed By passing data with arguments, not through data store Mechanism will be provided by Gaudi  Services are global to the application e.g. TransportSvc

Marco Cattaneo, 6-Apr DISCUSSION  Can we agree on common approaches? Connection to MC truth Updating of transient event data Access patterns Use of tools, sub-algorithms, services  How can we exchange information between sub- detectors? Design of transient event data, common base classes Sequencing of algorithms Sharing of good design ideas  Other issues I haven’t thought of.....