Level 3 Tracking Tutorial R. Beuselinck 7 February 2001 Current status of level 3 tracking interface User access methods and parameter definitions Simple.

Slides:



Advertisements
Similar presentations
David Notkin Autumn 2009 CSE303 Lecture 13 This space for rent.
Advertisements

Computing EVO meeting, January 15 th 2013 Status of the Tracking Code Gianluigi Boca, Pavia University.
Parameter Passing Mechanisms Reference Parameters.
TRACK DICTIONARY (UPDATE) RESOLUTION, EFFICIENCY AND L – R AMBIGUITY SOLUTION Claudio Chiri MEG meeting, 21 Jan 2004.
Muon Identification Antoine Cazes Laboratoire de l’ Accelerateur Lineaire OPERA Collaboration Meeting in Frascatti Physics coordination meeting. October.
31 March 2004 Geneva University MICE TPG Reconstruction Cluster finding Space point reconstruction Track recognition Track fit GENEVA UNIVERSITY GENEVA.
1 Chapter 2 C++ Syntax and Semantics, and the Program Development Process Dale/Weems/Headington.
Tracking Efficiency and Momentum Resolution Analysis Chris Meyer UCSC ILC Simulation Reconstruction Meeting March 13, 2007.
1 Pointers, Dynamic Data, and Reference Types Review on Pointers Reference Variables Dynamic Memory Allocation –The new operator –The delete operator –Dynamic.
1 Procedural Concept The main program coordinates calls to procedures and hands over appropriate data as parameters.
Functions A function is a snippet of code that performs a specific task or tasks. You use a multitude of functions daily when you do such things as store.
Tracker Software Update Adam Dobbs, MICE CM37 7 th Nov 2013.
The LiC Detector Toy M. Valentan, M. Regler, R. Frühwirth Austrian Academy of Sciences Institute of High Energy Physics, Vienna InputSimulation ReconstructionOutput.
Pion test beam from KEK: momentum studies Data provided by Toho group: 2512 beam tracks D. Duchesneau April 27 th 2011 Track  x Track  y Base track positions.
C++ Arrays. Agenda What is an array? What is an array? Declaring C++ arrays Declaring C++ arrays Initializing one-dimensional arrays Initializing one-dimensional.
1 Tracking Reconstruction Norman A. Graf SLAC July 19, 2006.
MdcPatRec Tracking Status Zhang Yao, Zhang Xueyao Shandong University.
Track Reconstruction: the trf & ftf toolkits Norman Graf (SLAC) ILD Software Meeting, DESY July 6, 2010.
Object-Oriented Programming in C++
1 Programs Composed of Several Functions Syntax Templates Legal C++ Identifiers Assigning Values to Variables Declaring Named Constants String Concatenation.
C++ Tutorial Hany Samuel and Douglas Wilhelm Harder Department of Electrical and Computer Engineering University of Waterloo Copyright © 2006 by Douglas.
David N. Brown Lawrence Berkeley National Lab Representing the BaBar Collaboration The BaBar Mini  BaBar  BaBar’s Data Formats  Design of the Mini 
Defining and Converting Data Copyright Kip Irvine, 2003 Last Update: 11/4/2003.
Value and Reference Parameters. CSCE 1062 Outline  Summary of value parameters  Summary of reference parameters  Argument/Parameter list correspondence.
07 Apr, 2000 GAUDI Histograms Pavel Binko, LHCb / CERN 1 LHCb Software Week GAUDI Histograms Pavel Binko LHCb / CERN.
Level 2 ID-tracking truth association Trigger AOD discussion 13 December 2006 Ricardo Gonçalo - RHUL.
LAV Software Status Emanuele Leonardi – Tommaso Spadaro Photon Veto WG meeting – 2015/03/24.
Arrays & Structures II Chapter 9. 2 Organizing Heterogeneous Data  Arrays allow a programmer to organize values of the same type  Homogeneous data 
Online Reconstruction used in the Antares-Tarot alert system J ü rgen Brunner The online reconstruction concept Performance Neutrino doublets and high.
Organizing Heterogeneous Data Arrays allow a programmer to organize lists of values that are all of the same type (homogeneous). But we are often faced.
Definition The framework is a library that controls the flow of events and data through well-defined interface points defined by user-written algorithm.
Global Tracking Software Status H. Greenlee Run II Meeting May 12, 2000.
Chapter 7 Templates. Objectives Introduction Function Templates Class Templates Standard Template Library.
1 Chapter 2 C++ Syntax and Semantics, and the Program Development Process.
Data Structures & Algorithms
1 More Operator Overloading Chapter Objectives You will be able to: Define and use an overloaded operator to output objects of your own classes.
Impact parameter resolutions for ILC detector Tomoaki Fujikawa (Tohoku university) ACFA Workshop in Taipei Nov
BES III reconstruction software planning for Summer 2004 BES III reconstruction software planning for Summer 2004 Li Weidong
Fast Tracking of Strip and MAPS Detectors Joachim Gläß Computer Engineering, University of Mannheim Target application is trigger  1. do it fast  2.
Tracking Software Status Tracking Software Status Norman A. Graf for the tracking group ( prime architect: David Adams ) Software and Data Analysis Workshop.
Geant4 Tracking Test (D. Lunesu)1 Daniela Lunesu, Stefano Magni Dario Menasce INFN Milano GEANT4 TRACING TESTs.
1 Chapter 12 Arrays. 2 C++ Data Types structured array struct union class address pointer reference simple integral enum char short int long bool floating.
Track Reconstruction: the trf toolkit Norman Graf (SLAC) ILC-ACFA Meeting, Beijing February 6, 2007.
Pocket User Guides Level 3 Muon Tools Paul Balm Oct 26, 2000 The ScriptRunner Tutorial Linked from: www-d0.fnal.gov/~balm/muon/
Prof. amr Goneid, AUC1 CSCE 110 PROGRAMMING FUNDAMENTALS WITH C++ Prof. Amr Goneid AUC Part 15. Dictionaries (1): A Key Table Class.
1 Recall that... char str [ 8 ]; str is the base address of the array. We say str is a pointer because its value is an address. It is a pointer constant.
1 Chapter 15-1 Pointers, Dynamic Data, and Reference Types Dale/Weems.
Development of the parallel TPC tracking Marian Ivanov CERN.
Current Status of MDC Track Reconstruction MdcPatRec Zhang Yao, Zhang Xueyao
Muon Persistency Persistent Analysis Objects Muon Persistency Norbert Neumeister µ-PRS meeting February 10, 2004.
Bo LI Kalman filter algorithm for tracking 2  Kalman filter prediction provides a good criterion for hit selection;  Kalman filter accumulates.
June 27-29, DC2 Software Workshop - 1 Tom Stephens GSSC Database Programmer GSSC Data Servers for DC2.
Advanced Programming Constants, Declarations, and Definitions Derived Data Types.
1 Status of Tracker Alignment b-tagging Workshop Nhan Tran (JHU) On behalf of the Tracker Alignment Group.
VG101 RECITATION 5 By TAs. CONTENTS How to read Vg101Class.h Samples about graphics About assignment 5 Array.
BESIII offline software group Status of BESIII Event Reconstruction System.
Current Assignments Project 3 has been posted, due next Tuesday. Write a contact manager. Homework 6 will be posted this afternoon and will be due Friday.
1 C++ Data Types structured array struct union class address pointer reference simple integral enum char short int long bool floating float double long.
Object-Oriented Track Reconstruction in the PHENIX Detector at RHIC Outline The PHENIX Detector Tracking in PHENIX Overview Algorithms Object-Oriented.
Tracking software of the BESIII drift chamber Linghui WU For the BESIII MDC software group.
Muon Reconstruction and Vertex Constraint Giovanni Abbiendi Bologna CMS meeting, 20 November 2007.
Java Programming Language Lecture27- An Introduction.
Track Reconstruction: the ftf and trf toolkits Norman Graf (SLAC) Common Software Working Meeting CERN, January 31, 2013.
Hough-4-14.
C.Cheshkov 15/09/2005 Weekly Offline Meeting
Pointers, Dynamic Data, and Reference Types
Chapter 11 - Templates Outline Introduction Function Templates Overloading Function Templates Class Templates Class.
Lab4 problems More about templates Some STL
Contents First section: pion and proton misidentification probabilities as Loose or Tight Muons. Measurements using Jet-triggered data (from run).
Chapter 11 - Templates Outline Introduction Function Templates Overloading Function Templates Class Templates Class.
Presentation transcript:

Level 3 Tracking Tutorial R. Beuselinck 7 February 2001 Current status of level 3 tracking interface User access methods and parameter definitions Simple examples of how to use tracking tool Sample performance data Contents:

Glossary of Tracking Tools and Classes L3TTracker - Base class specifying common user interface for tracking tools. L3TCFTTrack - CFT only track finder. L3TGlobalTracker - CFT plus SMT tracker. L3TrackFit - Basic track fit results, helix fit parameters. Contains an L3TrackParams and L3TrackErrors object. Contains methods for track propagation. L3TrackParams - Contains helix fit information. L3TrackErrors - Error matrix for L3TrackParams.

virtual L3Return DoThisTool(L3TrackFitVector &tracks, double PtMin) = 0; virtual L3Return DoThisTool(L3ZRegion &region, L3TrackFitVector &tracks, double PtMin) = 0; // Reconstruct the entire detector and store internally the found // tracks, to be retrieved with a call to "getFoundTracks()" below virtual L3Return DoThisTool() = 0; // Fills L3TrackFitVector with "const L3TrackFit *" corresponding to // *all* currently found tracks from all previous reconstruction // requests. virtual void getFoundTracks(L3TrackFitVector &tracks)=0; L3TTracker base class user interface This is a common interface developed for L3 track finding tools. By obtaining a pointer to an L3TTracker in your code the specific track finder used can be altered simply by editing the trigger list. Tracks are returned to the user via an L3TrackFitVector which contains const pointers to L3TrackFit objects. In all cases the returned list is owned by the caller and is never cleared by the tracking tool. L3TrackFitVector is simply a typedef: typedef l3vector L3TrackFitVector;

////// Parameters and Errors const L3TrackParams& getConstParams() const; const L3TrackErrors& getConstErrors() const; float getParam(L3TrackParams::Index i) const; float getError(L3TrackParams::Index i) const; float getError(L3TrackParams::Index i,L3TrackParams::Index j) const; ////// Swimming the fit float phi_at_r(float r) const; float z_at_r(float r) const; void xy_at_z(float z,float &x,float &y) const; /////// Chi-squared float getChiSq() const; // Total chi-square float getChiSqXY() const; // chi-square for circle fit only. float getChiSqZ() const; // chi-square for line fit only. /////// Fit validity bool isValid() const; bool isValidZ() const; bool isValidXY() const; /////// Number of hits int nHitsZ() const; int nHitsXY() const; // standardized index to array of parameters enum Index { PTINV,PHI,Z,DCA,TANL,RINV }; Information access methods of L3TrackFit See www-d0/~beuselin/d0_private/trackpar.ps for definition of track parameters. NB. Indices for accessing errors are only valid for 1st 5 parameters listed in enum Index.

Definition of Track Parameters RINV is S1/R where R is the radius of the circle in the (x,y) projection and S1 is the sign of the track rotation. +1 indicates the track turns anti-clockwise, -1 indicates the track turns clockwise. PHI is the azimuthal angle of the track direction at the point of closest approach to the origin in the (x,y) plane (the DCA point). TANL is dZ/dSxy, the pitch of the helix. Sxy refers to the distance traversed around the arc in the (x,y) plane measured from the DCA point. DCA is S2*|DCA|. |DCA| is the distance of closest approach of the track helix to the origin in the (x,y) projection. S2 is the sign of the angular momentum of the track about the origin at the DCA point. Z is the Z coordinate of the helix at the DCA point. PTINV is the signed inverse transverse momentum, computed from RINV on the assumption of a uniform 2 Tesla magnetic field, parallel to the Z axis.

string InterfaceName = "process" string Interfaces = "generator decide builder process dump runInit jobSummary" string Flow = "generator decide builder process dump” string Packages = "read ftunp pack l3cft" RCP read = RCP ftunp = RCP pack = RCP l3cft = int DumpPeriod = 1 Example RCP file for tests L3fCFTTester.rcp L3TCFTTrack uses raw data unpack tool. In order to read older MC production files a raw data chunk can be created on the fly by using the packing processes shown in red. These processes should be removed if data already contains raw data chunk. Unfortunately ftunp has been broken for many releases now!

CFTUnp L3TCFTUnpack(tooltype=unpack) CFTTRACK L3TCFTTrack(tooltype=data, UNPACK=CFTUnp, ptcut=0.5) Example Trigger List Entries The only user variable trigger list parameter is ptcut which determines the minimum pt tracks that will be found. Higher values may be specified in calls of DoThisTool methods for trackers. SMTUnpack L3TSmtUnpack CFTUnpack L3TCFTUnpack GlobalTracker L3TGlobalTracker(CFTUnpack=CFTUnpack,SMTUnpack=SMTUnpack,tooltype=data) Trigger list entry for L3TCFTTrack Trigger list entry for L3TGlobalTracker

Example Code for Tool Use For an example of using the available trackers look at the integrated test code in l3ftrack_cft/test/l3fCFTTester.cpp for L3TCFTTrack or l3ftrack_global/test/l3fGlobalTrackerTester.cpp for L3TGlobalTracker. Result l3fCFTTestPkg::processEvent(Event& evt) { unpackTool::setEvent(&evt); L3TrackFitVector tracks; _cftTrack->DoThisTool(); _cftTrack->getFoundTracks(tracks); L3TrackFitVector::const_iterator l3itr; for (l3itr=tracks.begin() ; l3itr!=tracks.end(); ++l3itr) { cout << **l3itr << endl; } //ScriptRunner normally handles the resets ((bTool *)_cftUnpack)->Reset(); ((bTool *)_cftTrack)->Reset(); return Result(); } Very abbreviated code snippet from l3ftrack_cft integrated test.

Example Resolution plots for Z->μμ L3TCFTTrack

Example Resolution plots for Z->μμ L3TCFTTrack

Top events (no min bias) 100 events