Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "1 Moore Packages, Repackaging and Design Status Michela Biglietti Univ. of Naples INFN/Naples Gabriella Cataldi INFN/Lecce."— Presentation transcript:

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

2 Muon-SW Workshop Lecce, July 2002 2 ATLAS CVS Repository Under offline/MuonSpectrometer/Moore (a container) you find: Under offline/MuonSpectrometer/Moore (a container) 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

3 Muon-SW Workshop Lecce, July 2002 3 At 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’:

4 Muon-SW Workshop Lecce, July 2002 4 MooiPat (first version)  One Athena algorithm (MooiPatMain) drives the reconstruction  Step-by-step reconstruction partially abandoned  it works

5 Muon-SW Workshop Lecce, July 2002 5 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

6 Muon-SW Workshop Lecce, July 2002 6 Results : less dependencies, code is more maintainable, modular, easier to develop new reconstruction approaches Back to the previous reconstruction scheme MooMakePhiSegments RPC/TGC digits PhiSegments MooMakeRZSegments MDT digits MooMakeRoads CrudeRZSegments MooMakeiPatTracks MooRoads MooiPatTracks MooMakeNtuples Ntuples MooAlgs MooStatistics MooStatistics 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

7 Muon-SW Workshop Lecce, July 2002 7 Repackaging 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

8 Muon-SW Workshop Lecce, July 2002 8 Content of new packages MooAlgs MooAlgs MooMakePhiSegment MooMakeCrudeRZSegment MooMakeRoads MooMakeiPatTracks MooSvc CombinationMaker RZSegmenMaker MooiPatFitter MooiPatHisto MooChecker MooCleaner by_quality MooEvent MooEvent PhiSegment MDTSegment RZSegment RZSegmetMap MooiPatTrack MooStatistics MooStatistics MooiPatNtuple MooMakeNtuple Athena Algos Code classes Rec. Event (New CBNT_Athena member for MooEvent tracks)

9 Muon-SW Workshop Lecce, July 2002 9 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

10 Muon-SW Workshop Lecce, July 2002 10 Relations with Athena components Moore algos Athena components

11 Muon-SW Workshop Lecce, July 2002 11 Relations 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);

12 Muon-SW Workshop Lecce, July 2002 12 MooAlgs top-algs/helper class relations MooAlgs top algos MooAlgs helper classes iPat classes

13 Muon-SW Workshop Lecce, July 2002 13 MooEvent package  Contained Objects are exchanged with TDS

14 Muon-SW Workshop Lecce, July 2002 14 MooAlgs-MooEvent dependencies top algos MooAlgs, no top-algos MooEvent Each Athena alg. has private pointers to the TDS/SG objects Non Athena MooAlgs classes also use MooEvent Events do not depend on MooAlgs classes

15 Muon-SW Workshop Lecce, July 2002 15 CMT requirements files use MooEvent MooEvent-* MuonSpectrometer/Moore use MooAlgs MooAlgs-* MuonSpectrometer/Moore use MooStatistics MooStatistics-* MuonSpectrometer/Moore use MooiPat MooiPat-* MuonSpectrometerMoore … Moore use AtlasPolicy AtlasPolicy-01-* use GaudiInterface GaudiInterface-* External … use MooEvent MooEvent-* MuonSpectrometer/Moore … library MooAlgs *.cxx apply_pattern component_library apply_pattern declare_runtime MooAlgs “use” DRT MooG and MooreLib removed … use MooEvent MooEvent-* MuonSpectrometer/Moore use MuonDetDescr MuonDetDescr-00-* MuonSpectrometer use MooiPat MooiPat-* MuonSpectrometerMoore … apply_pattern component_library MooStatistics … use MuonEvent MuonEvent-* MuonSpectrometer use MuonDetDescr MuonDetDescr-00-* MuonSpectrometer use iPatTrack iPatTrack-* Reconstruction/iPat … apply_pattern dual_use_library files=*.cxx MooEvent

16 Muon-SW Workshop Lecce, July 2002 16 New Test_jobOptions.txt file // Load relevant libraries ApplicationMgr.DLLs += { "MooEvent" } ; ApplicationMgr.DLLs += { "MooAlgs" } ; ApplicationMgr.DLLs += { "MooStatistics" } ; ApplicationMgr.DLLs += { "CBNT_Athena" }; ApplicationMgr.DLLs += { "HbookCnv" }; ApplicationMgr.DLLs += { "MagneticFieldAthena" };... //Athena Top-Algorithms ApplicationMgr.TopAlg = { "MooMakePhiSegments" }; ApplicationMgr.TopAlg += { "MooMakeCrudeRZSegments" }; ApplicationMgr.TopAlg += { "MooMakeRoads" }; ApplicationMgr.TopAlg += { "MooMakeiPatTracks" }; ApplicationMgr.TopAlg += { "MooSvc" }; ApplicationMgr.TopAlg += { "CBNT_Athena" };... // ----- CBNT_Athena algorithm CBNT_Athena.Members = { "CBNT_EventInfo", "MooMakeNtuple"};... //jobOptions data MooMakePhiSegments.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

17 Muon-SW Workshop Lecce, July 2002 17 Conclusions 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


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

Similar presentations


Ads by Google