Dual use tools requirements and design ASG tools

  • Slides: 10
Download presentation
Dual use tools: requirements and design ASG tools working group David Adams BNL November

Dual use tools: requirements and design ASG tools working group David Adams BNL November 20, 2013

Introduction We are working on ASG tools document • I volunteered to work on

Introduction We are working on ASG tools document • I volunteered to work on requirements and recommendations o But am happy to contribute wherever I can help • Following slides are my contributions to an outline Not complete o Based on experience with Asg. Ex, discussions here and elsewhere o – In particular the Jet/Etmiss group • Chapters covered here Use cases o Requirements o Recommendations (for design) o • With a little encouragement (or no discouragement), I will start to write the chapters for the latter two D. Adams, BNL Requirements and recommendations ASG tools November 20, 2013 2

Use cases A few ASG tool use cases • Simple Root analysis on x.

Use cases A few ASG tool use cases • Simple Root analysis on x. AOD o Simple = selection and histogramming based on existing data • Simple Root analysis on flat ntuple o Even if we don’t provide any support, we should discuss this • Simple Analysis on the train • Adding a jet collection to x. AOD in Root o Tool to build jets runs a sequence of other tools D. Adams, BNL Requirements and recommendations ASG tools November 20, 2013 3

Requirements for ASG tools • Tools should be framework independent Run in Athena and

Requirements for ASG tools • Tools should be framework independent Run in Athena and Root/standalone (and some future framework) o Tool developer provides no framework-dependent code o • Tools are configurable, i. e. have properties that dictate their behavior Tools have means to specify their properties: ID and type for each property o Users have standard means to configure tools, i. e. to set property values o It is possible to share a tool configuration between frameworks o Direct configuration of tools is possible (for development and interactive use) o • Tools present a user interface o There is a standard interface to initialize tools – Where property value can be captured (interpreted/cached) There is standard interface for tools to display their property values o Developers provide additional interface appropriate to functionality o There are means for tools to share interfaces in whole or part o – To allow users to easily exchange one tool for another • • • Tools have means to log messages at a configurable level Tools have standard means to access data in the current event Tools are able to hold other tools (both are configurable) D. Adams, BNL Requirements and recommendations ASG tools November 20, 2013 4

Recommendations (1) General • A tool is provided in the form of a C++

Recommendations (1) General • A tool is provided in the form of a C++ class o Class instances correspond to configurations • Tools are required to inherit from Asg. Tool provides the interfaces for declaring properties, accessing event data and logging messages o In Athena, Asg. Ex accomplishes this by making the tool an Ath. Alg. Tool o ASG/PAT provides Asg. Tool and the infrastructure required to implement these interfaces for all supported framework (at least Athena and Root/standalone) o • ASG/PAT provides a base interface class ITool provides the interfaces for initialization and property display o Tools must inherit from this directly or via the following o • User interface may be specified in a separate tool interface class Tool interface inherits from ITool o Tools may inherit one or more tool interfaces o D. Adams, BNL Requirements and recommendations ASG tools November 20, 2013 5

Recommendations (2) Tool properties • Allowed tool property types include: Float, int, bool, string

Recommendations (2) Tool properties • Allowed tool property types include: Float, int, bool, string o Another tool specified by name (Athena public tools) o Vectors of any (one) of the above o • In Athena, the tool configuration follows standard job options syntax In Root/standalone, configuration is direct or via job options • Property specification may be specified in a separate dedicated class o Tools may inherit one or more property specifications • Property specification is via the Athena declare. Property(…) interface o Called from ctor of concrete tool or base specification D. Adams, BNL Requirements and recommendations ASG tools November 20, 2013 6

Recommendations (3) Tool access • In Athena, tools are accessed via Athena tool handles

Recommendations (3) Tool access • In Athena, tools are accessed via Athena tool handles • In Root/standalone (and other frameworks? ): Tools may be constructed and configured directly o Preconfigured tools may be obtained by name from a tool repository o • The tool repository may be filled Directly (i. e. by constructing and configuring a C++ object) o From job options file(s) o • ASG tool handles provide means to access tools in the repository Accessed by name and interface (or concrete) type o Same syntax as Athena tool handles o Tools configured with other tools access those tools with tool handles o D. Adams, BNL Requirements and recommendations ASG tools November 20, 2013 7

Extras Following summarize the status of Asg. EX D. Adams, BNL Requirements and recommendations

Extras Following summarize the status of Asg. EX D. Adams, BNL Requirements and recommendations ASG tools November 20, 2013 8

Asg. Ex status Table summarizes the status of the Asg. Ex prototype • For

Asg. Ex status Table summarizes the status of the Asg. Ex prototype • For more info, see the Asg. Ex Twiki Frame work Input Output data Athena AOD Build system cmt Release 17. 2. X Root D 3 PD (? ) Root. Core Athena AOD, x. AOD cmt Root/ Stand alone x. AOD hwaf (wscript) Status No longer supported. Builds and runs (15 nov 2013). mig 14 Builds and runs; problem reading back (18. 9. 0? ) x. AOD (15 nov 2013) Builds and runs but tools do not (yet) have access to event data (15 nov 2013). D. Adams, BNL Requirements and recommendations ASG tools November 20, 2013 9

Asg. Ex Jet tools A few prototype jet tools are available in Asg. Ex

Asg. Ex Jet tools A few prototype jet tools are available in Asg. Ex • Jet. Dumper (package Asg. Ex. Dumper) Writes info about jet collection to the log file o Three levels of detail: one line, one line/jet, all moments o Also works for some other collections: clusters o • Pseudo. Jet. Builder (package Asg. Jet. Reco) Constructs a collection of fastjet Pseudo. Jet objects o From clusters or other jets o • Jet. Finder (package Asg. Ex. Jet. Reco) Finds jets and writes jet container o Input is the previous Pseudo. Jet collection o • XAod. Cluster. Converter (package Asg. Ex. Jet. Reco) Reads AOD clusters and write x. AOD jets o Will write x. AOD clusters when that x. AOD is further along o • Asg. Runner (package Asg. Ex. Run) o Runs a configurable series of Asg. Ex tools D. Adams, BNL Requirements and recommendations ASG tools November 20, 2013 10