• No results found

Inner Detector/Tracking Tools

N/A
N/A
Protected

Academic year: 2021

Share "Inner Detector/Tracking Tools"

Copied!
24
0
0

Loading.... (view fulltext now)

Full text

(1)

13 May 2005 UK ID Software Training 1

Inner Detector/Tracking Tools

(2)

13 May 2005 UK ID Software Training 2

Introduction

• In the previous talk I covered some

aspects of the EDM, and some of the

Algorithms involved in tracking

• In this talk I will cover some of the more

general tools that are provided and give a

more concrete example of what is going on

inside one of them (TrkSummaryTool)

• Hopefully this will lead in to the more

practical section this afternoon…

(3)

13 May 2005 UK ID Software Training 3

Tools

• What do we mean by tools and why do we

want them?

– Many algorithms may want to do the same sort

of thing in slightly different ways.

– Common tools allow these frequent tasks to be

solved once, and the functionality shared…

– Above all, it makes hard problems easier, by

pooling expertise…

– AlgTools are owned by ToolSvc of Athena, and

can be accessed by multiple Algorithms,

configured by jobOptions etc. … offer a lot of

flexibility.

(4)

13 May 2005 UK ID Software Training 4

What exists?

In 10.2.0: TrkEventCnvTools-00-02-00 TrkExtrapolation-AtlasOffline-00-00-00 TrkExHelixPropagator-01-01-04 TrkExRungeKuttaPropagator-01-00-13 TrkExSTEP_Propagator-00-00-02 TrkExSlPropagator-02-01-06 TrkExTools-02-03-03 TrkExUtils-01-02-09 TrkFitter-AtlasOffline-00-00-00 TrkDistributedKalmanFilter-00-00-13 TrkFitterUtils-01-02-02 TrkKalmanFitter-01-05-06 TrkRefitAlg-00-00-07 TrkMagneticField-AtlasOffline-00-00-00 TrkMagFieldTools-00-00-11 TrkMagFieldUtils-00-00-08 TrkTools-AtlasOffline-00-00-00 TrkAmbiguityProcessor-00-03-01 TrkLegacyCnvTools-00-01-07 TrkParticleCreator-00-06-00 TrkRIO_OnTrackCreator-00-05-01 TrkTrackSummaryTool-00-12-03 VxBilloirTools-02-00-02

Extrapolators

Fitters

Magnetic field

Misc

(5)

13 May 2005 UK ID Software Training 5

What exists?

In 10.2.0: InDetRecTools-AtlasOffline-00-00-00 InDetLegacyCnvTools-00-08-00 InDetRecToolInterfaces-00-00-03 InDetTrackSummaryHelperTool-00-03-00 SiClusterOnTrackTool-01-00-00 SiClusterizationTool-01-02-00 SiDetElementsRoadTool_xk-00-00-02 SiSpacePointTool-01-03-01 SiSpacePointsSeedTool_xk-00-00-05 SiZvertexTool_xk-00-00-04 TRT_DriftCircleOnTrackTool-00-00-14 TRT_DriftCircleTool-01-01-04 TRT_DriftFunctionTool-00-00-06

… and more!

(6)
(7)

13 May 2005 UK ID Software Training 7

ATLAS Software Workshop, 23/09/2004

Track Fitting – Interface / legacy

ITrkFitter Base Class provides interface for

• Fitting of PrepRawData sets (hit level)

• Fitting of RIO_onTrack sets (persistified tracks) • Fitting of SpacePoints (Trigger)

• Refitting of Trk::Track collections • Adding Hit to a Trk::Track

TrkLegacyCnvTool

To convert from various old track representations to the common track class.

Inside the Tracking repository only base class implementations are given, the actual implementations are placed in the corresponding detector repositories:

ID family:

xKalmanToTrackTool iPatToTrackTool

MS family:

(8)

13 May 2005 UK ID Software Training 8

A. Salzburger ATLAS Software Workshop, 23/09/2004

Track Extrapolation / Propagator Propagator Base Class

Three different Propagators inherit from the Propagator base class, are currently available and did undergo a first debugging cycle

TWiki: TrackExtrapolationValidation package

The propagation to any arbitrary Surfaces (StraightLine-/Cylinder-/Plane-/ DiscSurface) can be done.

TrkExSlPropagator and TrkExRungeKuttaPropagator (showed good agreement) have been used for fitting/refitting CTB 2004 (simulated) data,

TrkExHelixPropagator is in preparation to do so.

The steering of the Propagator is done by a python class:

Include ( `TrkExTools/PropagatorSetup.py`)

myProp = PropagatorSetup(`Trk::HelixPropagator`, `mHx`, [`PropCovNumerically`, \ `UseStraightLinePropagator`])

(9)

13 May 2005 UK ID Software Training 9

Overview

Extrapolation

• New scheme, new features, new functionality • First tests

Fitting

• Lessons to be learned from the CTB 2004 (Thijs) • KalmanFitter and ReFitting (Wolfgang)

• ReFitting exercise with single electrons (Eva, Vacho)

• Expanding the tools to the MuonSystem (Steven, Wolfgang)

Status for 10.0.0 / Outlook

• What will be in 10.0.0 • Following development • An overall view

Inner Detector RTF Prototype

• Motivation and description (Igor) • Cvs repository (Igor)

(10)

13 May 2005 UK ID Software Training 10

Extrapolation I :

the new scheme (from 9.1.0 to 9.4.0)

IPropagator

Surfaces TrackParameters TrackParameters

IExtrapolator

ATHENA ALGTOOL StraightLinePropagator HelixPropagator RungeKuttaPropagator

IPropagator

ATHENA ALGTOOL

INavigator

ATHENA ALGTOOL

IMaterial

Effects

Updator

ATHENA ALGTOOL

IGeometry

Builder

ATHENA ALGTOOL

ATLAS Software Workshop, 24/02/2005 A. Salzburger, et al.

STEP_Propagator

(11)

13 May 2005 UK ID Software Training 11

Extrapolation II :

first tests

InnerDetector/InDetExample/InDetExtrapolationExample/LayerMappingNtuple

“Blind” extrapolation through the SiliconDetector, recording points for a material update

TrackingGeometry Is automatically adopted to GeoModel DC2 Layout Rome-Initial Layout

Problems with Endcaps! Understood, but not solved now!

(12)

13 May 2005 UK ID Software Training 12

A. Salzburger ATLAS Software Workshop, 23/09/2004

(13)

13 May 2005 UK ID Software Training 13

ATLAS Software Workshop, 23/09/2004

Combined Tracking

MS Validation on Tracking Classes

First validations have been started for the TrkSurface implementation in the Muon System.

A SurfaceSystem has been added to HitDisplay to visualize and cross check against GeoModel description.

Correct Surface description of MS will allow to use TrkParameters and

therefor use the common tracking tools!

Refitting!

-> MaterialAccessService

First Snapshot (22.09.2004)!

Probably different local frame definition

Geant4 (depth, locX, locY) TrkSurfaces (locX, locY, depth) This is under investigation!

(14)

13 May 2005 UK ID Software Training 14

A. Salzburger ATLAS Software Workshop, 23/09/2004

RIO_OnTrackCreation (PrepRawData > RIO_OnTrack) IRIO_OnTrackCreator Base

The IRIO_OnTrackCreator base class provides the interface for the

RIO_OnTrackCreation of the tracking detectors. Within the migration of PrepRawData to the Detector subpackages there‘s no dependency left on ID/Muon.

Childs (ID family):

SiClusterOnTrackCreationTool

- PixelCluster: copies information from PrepRawData to RIO_OnTrack - SCT_Cluster: corrects error dependent on η value in the SCT endcaps,

rotates the error frame from stereo frame to module frame • TRTDriftCirlceOnTrackCreationTool

- resolves the sign of the drift radius (left/right solution), - adds z-Coordinate from predicted position

- calibration, sagging (at this level / already at PrepRawData level for pattern rec.) ? Childs (MS family):

MuonClusterOnTrackTool

MuonDriftCircleOnTrackTool

(15)

13 May 2005 UK ID Software Training 15

ATLAS Software Workshop, 23/09/2004

ParticleCreatorTool & TrackSummary ParticleCreatorTool

Trk::Track TrackParticle

Saves (if necessary fills) information of Trk::Track, to be taken as an Interface between Reconstruction and PhysicsAnalysis for Tracking:

Perigee

TrackSummary

If the information is at first stage not accessible through the given track, it calls the appropriate AlgTools to obtain this information:

TrkExtrapolator

extrapolate(Trk::Track, Trk:PerigeeSurface)

TrkSummaryTool

(16)

13 May 2005 UK ID Software Training 16

Inner Detector RTF Prototype I :

motivation and description

(Igor, modified)

ATLAS Software Workshop, 24/02/2005 A. Salzburger, et al.

xKalman iPatRec New reconstruction

RTF restructuring timeline

= TODAY(+/- 4d)

(we see the light at the end of the tunnel!)

Birth of Trk::Track in 7.5.0 13.01. 2003 28.02. 2005 Trk::Track is common track class in 10.0.0

Non-developers view of time

Existing reconstruction is the set of black boxes where input and output is set

standard classes like clusters, space points, tracks. User can only choose one of them for his job.

New reconstruction:

Reconstruction tools should share common interfaces, use standard EDM, DD and as much as possible standard classes and tools

This will give us the chance to actually compare different strategies, implementations for performance, time and memory consumption etc. !!!

(17)

13 May 2005 UK ID Software Training 17

Inner Detector RTF Prototype II :

existing and non-existing

(Igor)

The idea is not to re-write xKalman in the new scheme, but to try to achieve the same functionality and performance within the new structure

(same strategies and implementation might be use though if feasable).

InnerDetector/

InDetRecEvent/SiSacePointsSeed/ contains interface class InDet::SiSpacePointsSeed

InDetRecTools/InDetRecToolInterfaces/ contains

base abstract class InDet::ISiSpacePointsSeedMaker

base abstract class InDet::ISiZvertexMaker

InDetRecTools/SiSpacePointsSeedTool_xk/ contains

class InDet::SiSpacePointsSeedMaker_ATLxk

class InDet::SiSpacePointsSeedMaker_CTBxk InDetRecTools/SiZvertexTool_xk/ contains

class InDet::SiZvertex_xk

This is open for both, HLT and offline contributers, eventual necessary interface changes will be adopted in an iterative way.

SiSPSeededTrackFinder TrackExtensionToTRT TrackReFitter VerticesFinder InDetAmbiguitySolver Simple channel

RoadMaker (coll. of DetEl.)

LocalReconstruction

(18)

13 May 2005 UK ID Software Training 18

How do I use a tool?

Tools must be ‘retrieved’ from the ToolSvc.

To do this, you pass the ‘type’ of the tool, and the pointer to fill.

For example (normally in the initialize() method of an Algorithm, or even another AlgTool):

QuickTime™ and a TIFF (LZW) decompressor are needed to see this picture.

Pointer

Type

TIFF (LZW) decompressor are needed to see this picture.

(19)

13 May 2005 UK ID Software Training 19

Why is this useful?

•Pointer:

•Correctly written AlgTools should provide an interface (which is what you should retrieve) … I.e. IMyAlgTool

•The point of this is that any concrete implementation of an AlgTool can be used, for instance just by changing jobOptions.

•For example, suppose we have:

TIFF (LZW) decompressor are needed to see this picture.

•We now have the luxury of retrieving any of the various extrapolators using the following code:

sc = toolSvc()->retrieveTool(m_type, m_extrapolator);

•Where m_type can be set at run-time, via jobOptions

•This provides independence from concrete implementation (they fail to compile, you aren’t affected)

•This allows easy comparison of different tools

•Retrieve one fitter, and compare performance with another, all without recompiling simply by changing text file.

Allows us to have common tracking tool, which retrieves InDet and Muon specific tools, without compile-time dependencies on either.

(20)

13 May 2005 UK ID Software Training 20

How do I know the type/pointer?

•So how do you do this in your own code?

•Correctly written AlgTools should provide an interface (which is the

pointer you should retrieve) … I.e.

ITrackSummaryHelperTool

*

IAlgTool

AlgTool

InDetTrackSummaryHelperTool

ITrackSummaryHelperTool

Interface

Concrete implementation

(usually one of many)

(21)

13 May 2005 UK ID Software Training 21

How do I know the type/pointer?

•So how do you do this in your own code?

•The ‘type’ is the type of the concrete class you’re interested in… so in this case.

IAlgTool

AlgTool

InDetTrackSummaryHelperTool

ITrackSummaryHelperTool

Interface

Concrete implementations

MuonTrackSummaryHelperTool

(22)

13 May 2005 UK ID Software Training 22

Configuring Tool through

jobOpts

• Simple example - set TrkTrackSummaryTool to be VERBOSE

• For more info:

– https://uimon.cern.ch/twiki/bin/view/Atlas/HowToSetAlgToolOutputLev

el

• To see what properties are available to be configured this way (for

an AlgTool OR an Algorithm) look in the constructor of the class,

for lines like:

• declareProperty("doHolesOnTrack",m_doHoles);

TrackSummaryTool=Algorithm( "ToolSvc.Trk::TrkTrackSummaryTool" )

TrackSummaryTool.OutputLevel=VERBOSE;

TrackSummaryTool=Algorithm( "ToolSvc.Trk::TrkTrackSummaryTool" )

TrackSummaryTool.

doHolesOnTrack

=True;

(23)

13 May 2005 UK ID Software Training 23

Identifiers etc.

• One other key part of ‘technology’ that you will need to

understand, is the concept of Identifiers and ID helpers.

– Used extensively throughout ID EDM

• Hopefully most of you have at least heard of the before, but

Identifiers are supposed to uniquely identify each (active) part of

the ATLAS detector,

– so each pixel has a different Identifier for example.

– IdentifierHashs are unique only within a given sub-detector

• To work out what an Id corresponds to we use the

InDetIdentifier

package, and the specific technology-based helper tools (from

doxygen) :

PixelID This is an Identifier helper class for the Pixel subdetector. This class is a factory for creating compact Identifier objects and IdentifierHash or hash ids. And it also allows decoding of these ids

SCT_ID This is an Identifier helper class for the SCT subdetector. This class is a factory for creating compact Identifier objects and IdentifierHash or hash ids. And it also allows decoding of these ids

SiliconID This is an Identifier helper class for both the Pixel and SCT subdetectors. This class defines identifier hashes which span BOTH the pixels and the scts

TRT_ID This is an Identifier helper class for the TRT subdetector. This class is a factory for creating compact Identifier objects and IdentifierHash or hash ids. And it also allows decoding of these ids

(24)

13 May 2005 UK ID Software Training 24

An Example

• Will now use Doxygen to show you examples of how this all fits

together….

• Will take as an example, the

TrkTrackSummaryTool

(responsible

for making TrackSummary objects from a passed Track)

http://atlas.web.cern.ch/Atlas/GROUPS/SOFTWARE/OO/dist/nightli

es/rel/latest_doxygen/InstallArea/doc/TrkTrackSummaryTool/html

/index.html

• Introduction to Doxygen

– Look at initialize() method

• Shows how to retrieve tools and ID helpers

– Look at createSummary(..)
https://uimon.cern.ch/twiki/bin/view/Atlas/HowToSetAlgToolOutputLevel http://atlas.web.cern.ch/Atlas/GROUPS/SOFTWARE/OO/dist/nightlies/rel/latest_doxygen/InstallArea/doc/TrkTrackSummaryTool/html

References

Related documents

Consultation with a wide variety of potential stakeholders, including the public, NHS health and information technology professionals, government departments, the Human

Named in memory of Conall 6 Fearraigh, a Donegal singer, it was for amhranafocht gan tionlacan nach sean-nos f (unaccompanied singing which is not sean-nos). This was meant to

Make measurements on timeslot 0 [FREQUENCY] {Timeslot Off} [Enter] Activate the ORFS measurement (figure 25) [MEASURE] {GMSK Output RF The default setting measures spectrum

ANGIO-IMMUNOBLASTIC lymphadenopathy (AILD) - a case report by 0 Azizon, NH Hamidah, 0 Ainoon, SK Cheong and KS Phang (abstract).. ANTIBODY responses of dengue fever

Pulverization of the limestone followed by wet separation using dispersion cum settling technique leads to liberation and separation of the clay minerals present in it leading to

N/A Total Mean Dept. She fosters an inclusive learning environment where a critical discussion is encouraged. So many of the guest speakers who were brought in were inspiring

In the following example, the tracking process is configured to track the state of the IPv6 object using the VRRPv3 group. VRRP on GigabitEthernet interface 0/0/0 then registers

The tracking stock will be a class of common stock (“Class V Common Stock”) issued by the parent company (“Denali”) of Dell Inc. The tracking stock is intended to track