Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 4.0

...

I view this as much too confining. We must be able to persist anything we put into the event, even if that information is not useful to the other collaborations. I do agree that track objects and all those downstream of them should be compatible with those used by other collaborations.

Treatment of Real Data

For now we are not considering the use case that we will (hopefully) someday use this framework to analyze data from a testbeam or from a real experiment. Therefore the hit and cluster classes all contain methods that return MC truth information. We did not define separate datahit classes and mchit classes in which the datahit classes are free from MC information.

New Geometry

The new geometry is well underway but not yet finished. This is the geometry that can describe the detector made of wafers. It can also describe a detector made of cylinders.

...

  • Norman's TRF.
    • Still needs code to load its geometry from the org.lcsim geometry and code to load its hits from org.lcsim clusters.
  • Nick's, weight matrix fitter.
    • Works on the cylindrical geometry, but not yet on the wafer geometry.
  • Caroline's Kalman filter used for muon tracking and could be extended for vertex+tracker.
  • Kfitter+SOD Tracker - there is a kalman filter in there but I don't know exactly where.
  • We do not have proper output classes for any of these.

Track Classes

We need improved Track classes:

  • Report track parameters and covarinace matrix valid in different regions
    • Example regions:
      • Innermost hit.
      • Outermost hit.
      • Point of closest approach to beam line.
      • Impact point on calorimeter.
      • Second innermost hit ( useful if vertex pattern recognition says that the innermost hit is spurious ).
  • Access to residuals for hit rejection. ( Need not be persisted ).

TrackerHits

  • We plan to persist TrackerHits.
    • They have ceased being useful objects for anything except graphics.
    • They are now the product of pattern recognition and track fitting, not the input to these codes, as originally envisioned.
  • We intend to modify TrackerHit to point to cluster information, in order to provide access to the geometry.
    • However we do not plan to persist the clusters. Therefore it is not possible to access geometry from TrackerHits in persisted events. Therefore it is not possible to run one job to create the input to pattern recognition and run many subsequent jobs to develop pattern recognition codes.
  • We plan to shoehorn clusters into TrackerHits? We plan to shoehorm TRF hits into TrackerHits.
    • Is this plan self consistent?
    • Maybe, if we add a type field to TrackerHit - which we probably need to do anyway.

...

There are many existing lcio files containing events simulated with the cylindrical vertex and tracking detectors. It will still be possible to read these files and instantiate the geometry representation. Old code will continue to work. Pattern recognition code developed for the planar detectors is unlikely to work with this old files.

How did we do with our Goals?

Our goals stated on Monday were:

  1. Define classes for tracking infrastructure
  2. Define a cheater for SimTrackHit to whatever it is that is used as input for pattern recognition.
    • Rob will do this once the endpoint is defined.
  3. Re: links back and forth between Geometry and TrackerHits
    • Do we need full bidirectionality, as Jeremy has suggested, or is one way enough.
  4. Re: Forward geometry.
    • Can Hans present a road map?
  5. How does the above affect tracking algorithms?
    • This was written in response to Rob's comments that we need to resolve:
      • Cylindrical vs polyhedral issue.
      • Version control.

Here is how we did:

  1. We have narrowed down the options considerably. The main remaining choice is whether to go with Dima's option for clusters or with something else.
  2. This will be done as soon as 1) is implemented.
  3. This was not decided. Most of us agree that there should be a clear distinction between event scope information and run scope or job scope information. So access to hits should be via the event no the geometry system. Jeremy feels that the correct method to access the events is via a hasReadOut() method implemented on elements of the geometry system.
    • I strongly prefer the first option since I believe it is important to segregte event scope information from job scope information.
  4. Hans prepared material but we did not get to it. The material is attached.
  5. We made progress on the cylindrical vs polyhedral issue by reducing the scope of disagreement: see Monday. We did not make progress on version control.