17
1 Moore Packages, Repackaging and Design Status Michela Biglietti Univ. of Naples INFN/Naples Gabriella Cataldi INFN/Lecce

Moore Packages, Repackaging and Design Status

  • Upload
    denver

  • View
    32

  • Download
    0

Embed Size (px)

DESCRIPTION

Moore Packages, Repackaging and Design Status. Michela Biglietti Univ. of Naples INFN/Naples. Gabriella Cataldi INFN/Lecce. ATLAS CVS Repository. Under offline/MuonSpectrometer/Moore (a container) you find:. MooAlgs MooEvent MooiPat MooStatistics MooG MooreLib DRT (MooreApp) - PowerPoint PPT Presentation

Citation preview

Page 1: Moore Packages, Repackaging and Design Status

1

Moore Packages, Repackaging

and Design Status

Moore Packages, Repackaging

and Design Status

Michela BigliettiUniv. of Naples INFN/Naples

Gabriella Cataldi INFN/Lecce

Page 2: Moore Packages, Repackaging and Design Status

Muon-SW Workshop Lecce, July 20022

ATLAS CVS RepositoryATLAS CVS Repository Under offline/MuonSpectrometer/Moore (a container) Under offline/MuonSpectrometer/Moore (a container)

you find:you find:•MooAlgs•MooEvent•MooiPat•MooStatistics

•MooG

•MooreLib•DRT•(MooreApp)•(MooreTest)

Currently under development

Package for graphics, needs to be updated

Old Moore - does not work

Very very old

Page 3: Moore Packages, Repackaging and Design Status

Muon-SW Workshop Lecce, July 20023

At the beginning there was the “MooreLib” reconstruction processAt the beginning there was the “MooreLib” reconstruction process

MooTrigClusterMaker

MooTrigRoadMaker

MooTrackSegmentMaker

MooTrackMaker

MooTrigClusters

MooTrigRoads

MooTrackSegments

ATLAS Tracks

Iterate over RPC(later also TGC) digits

from Event and make trigger clusters

Build clusters into trigger roads

Iterate over MDT (later also CSC) digits

from Event and make track segments

along roads

Match segments within trigger roads to

make track candidates; fit; and apply

quality cuts to produce final track list

Manager class ‘Moore’ (the Algorithm) invokes a series of sub-component ‘Makers’:

Page 4: Moore Packages, Repackaging and Design Status

Muon-SW Workshop Lecce, July 20024

MooiPat(first version)

MooiPat(first version)

One Athena algorithm (MooiPatMain) drives the reconstructionStep-by-step reconstruction partially abandoned it works

Page 5: Moore Packages, Repackaging and Design Status

Muon-SW Workshop Lecce, July 20025

We decided Moore needs to be…We decided Moore needs to be…

A more modular, flexible code A step-by-step reconstruction process, more similar to

MooreLib “Makers” are Athena Algorithms

Makers use “helper” class to perform pattern recognition and track fitting

Makers exchange Events with TDS via SG No dependencies between makers TDS Events do not know makers

Repackaging XXXAlgs-XXXEvent, following D.R./D.Q. proposal

… We started from MooiPat

Page 6: Moore Packages, Repackaging and Design Status

Muon-SW Workshop Lecce, July 20026

Results : Results : less dependencies, code less dependencies, code is more maintainable, modular, is more maintainable, modular, easier to develop new easier to develop new reconstruction approaches reconstruction approaches

Back to the previous reconstruction schemeBack to the previous reconstruction scheme

MooMakePhiSegments

RPC/TGC digits

PhiSegments

MooMakeRZSegmentsMDT digits

MooMakeRoads CrudeRZSegments

MooMakeiPatTracks MooRoads

MooiPatTracks

MooMakeNtuples

Ntuples

MooAlgsMooAlgs

MooStatisticsMooStatistics

Each step is driven by an Athena top-algorithm

Transient objects are passed via TDS/StoreGate

Independent algorithms, the only coupling is through the transient objects

Page 7: Moore Packages, Repackaging and Design Status

Muon-SW Workshop Lecce, July 20027

RepackagingRepackaging

MooAlgs : algorithms for pattern recognition and track fitting

MooEvents : transient objects

MooStatistics: CBNT ntuples

MooEvent

Both MooAlgs and MooEvent depend on the external container iPat

Event dependencies on Makers and related classes removed as well as general

restructuring

Page 8: Moore Packages, Repackaging and Design Status

Muon-SW Workshop Lecce, July 20028

Content of new packagesContent of new packages

MooAlgsMooAlgs MooMakePhiSegment MooMakeCrudeRZSegment MooMakeRoads MooMakeiPatTracks MooSvc CombinationMaker RZSegmenMaker MooiPatFitter MooiPatHisto MooChecker MooCleaner by_quality

MooEventMooEvent PhiSegment MDTSegment RZSegment RZSegmetMap MooiPatTrack

MooStatisticsMooStatistics MooiPatNtuple MooMakeNtuple

Athena Algos

Code classes

Rec. Event

(New CBNT_Athenamember for MooEvent

tracks)

Page 9: Moore Packages, Repackaging and Design Status

Muon-SW Workshop Lecce, July 20029

A possible evolution...A possible evolution...

MooAlgs

MooAlgs_2

MooEvent

MooAlgs_n

MooCode

Events for reconstruction

Athena algorithms with different features/goals

Shared code used by Athena Algos

MooAlgsLVL2

Page 10: Moore Packages, Repackaging and Design Status

Muon-SW Workshop Lecce, July 200210

Relations with Athena componentsRelations with Athena components

Moore algosAthena components

Page 11: Moore Packages, Repackaging and Design Status

Muon-SW Workshop Lecce, July 200211

Relations with Athena framework /servicesRelations with Athena framework /services

•Each Athena algorithm• has private non static ”jobOptions” variables • has a private pointer to the StoreGateSvc • the pointed objects are deleted “by hand” at the end-of-event using the Athena IncidentSvc

•Memory leak under control• print-outs can be driven by MsgStream Svc

•Problem: you need to be an Athena Algorithm for access to jobOptions data -> MooSvc class

• gives “run time” jobOptionSvc variables (public and static!) to non Athena-Algorithms classes

•has Athena MagneticFieldSvc

•has final print-out methods, debug methods …

•Other possible (and mybe better) solution : implement the constructors/data members of the NonAthenaAlg class, and in the Athena-Algorithms class declare something as

•NonAthenaAlg non_athena_alg(jobOptionData);

Page 12: Moore Packages, Repackaging and Design Status

Muon-SW Workshop Lecce, July 200212

MooAlgs top-algs/helper class relationsMooAlgs top-algs/helper class relations

MooAlgs top algosMooAlgs helper classesiPat classes

Page 13: Moore Packages, Repackaging and Design Status

Muon-SW Workshop Lecce, July 200213

MooEvent packageMooEvent package

Contained Objects are exchanged with TDS

Page 14: Moore Packages, Repackaging and Design Status

Muon-SW Workshop Lecce, July 200214

MooAlgs-MooEvent dependenciesMooAlgs-MooEvent dependencies

top algosMooAlgs, no top-algosMooEvent

Each Athena alg. has private pointers to the TDS/SG objects Non Athena MooAlgs classes also use MooEventEvents do not depend on MooAlgs classes

Page 15: Moore Packages, Repackaging and Design Status

Muon-SW Workshop Lecce, July 200215

CMT requirements filesCMT requirements filesuse MooEvent MooEvent-* MuonSpectrometer/Mooreuse MooAlgs MooAlgs-* MuonSpectrometer/Mooreuse MooStatistics MooStatistics-* MuonSpectrometer/Mooreuse MooiPat MooiPat-* MuonSpectrometerMoore…

Moore

use AtlasPolicy AtlasPolicy-01-* use GaudiInterface GaudiInterface-* External…use MooEvent MooEvent-* MuonSpectrometer/Moore…library MooAlgs *.cxxapply_pattern component_libraryapply_pattern declare_runtime

MooAlgs

“use” DRTMooG and MooreLib

removed

…use MooEvent MooEvent-* MuonSpectrometer/Moore use MuonDetDescr MuonDetDescr-00-* MuonSpectrometeruse MooiPat MooiPat-* MuonSpectrometerMoore…apply_pattern component_library

MooStatistics

…use MuonEvent MuonEvent-* MuonSpectrometeruse MuonDetDescr MuonDetDescr-00-* MuonSpectrometeruse iPatTrack iPatTrack-* Reconstruction/iPat …apply_pattern dual_use_library files=*.cxx

MooEvent

Page 16: Moore Packages, Repackaging and Design Status

Muon-SW Workshop Lecce, July 200216

New Test_jobOptions.txt fileNew Test_jobOptions.txt file// Load relevant librariesApplicationMgr.DLLs += { "MooEvent" } ;ApplicationMgr.DLLs += { "MooAlgs" } ;ApplicationMgr.DLLs += { "MooStatistics" } ;ApplicationMgr.DLLs += { "CBNT_Athena" };ApplicationMgr.DLLs += { "HbookCnv" };ApplicationMgr.DLLs += { "MagneticFieldAthena" };...//Athena Top-AlgorithmsApplicationMgr.TopAlg = { "MooMakePhiSegments" };ApplicationMgr.TopAlg += { "MooMakeCrudeRZSegments" };ApplicationMgr.TopAlg += { "MooMakeRoads" };ApplicationMgr.TopAlg += { "MooMakeiPatTracks" };ApplicationMgr.TopAlg += { "MooSvc" };ApplicationMgr.TopAlg += { "CBNT_Athena" };...// ----- CBNT_Athena algorithmCBNT_Athena.Members = { "CBNT_EventInfo", "MooMakeNtuple"};...//jobOptions dataMooMakePhiSegments.print_level = 0;MooMakePhiSegments.phi_histo_thr = 1;MooMakePhiSegments.phi_histo_bin = 0.0015;...MooSvc.print_level = 5;MooSvc.min_mdt = 3;MooSvc.light_speed = 29.97925; // Speed of light (in cm/ns)...

In .../Moore/.../share/Test_jobOptions.txt

In .../Moore/.../share/Test_jobOptions.txt

Page 17: Moore Packages, Repackaging and Design Status

Muon-SW Workshop Lecce, July 200217

ConclusionsConclusions

In Moore we now have (4.0.0): MooiPat package MooAlgs+MooEvent are a “sliced” implementation of

MooiPat Latest improvements from Giorgos are included Same outputs (not fully checked with high pt muons)

MooStatistic can use outputs from both MooiPat and MooEvent

Run-time loading of the right CBNT_Athena member