1 / 10

Dual use tools: requirements and design

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 requirements and recommendations But am happy to contribute wherever I can help

matana
Download Presentation

Dual use tools: requirements and design

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Introduction We are working on ASG tools document • I volunteered to work on requirements and recommendations • But am happy to contribute wherever I can help • Following slides are my contributions to an outline • Not complete • Based on experience with AsgEx, discussions here and elsewhere • In particular the Jet/Etmiss group • Chapters covered here • Use cases • Requirements • Recommendations (for design) • 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

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

  4. Requirements Requirements for ASG tools • Tools should be framework independent • Run in Athena and Root/standalone (and some future framework) • Tool developer provides no framework-dependent code • Tools are configurable, i.e. have properties that dictate their behavior • Tools have means to specify their properties: ID and type for each property • Users have standard means to configure tools, i.e. to set property values • It is possible to share a tool configuration between frameworks • Direct configuration of tools is possible (for development and interactive use) • Tools present a user interface • 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 • Developers provide additional interface appropriate to functionality • There are means for tools to share interfaces in whole or part • 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

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

  6. Recommendations (2) Tool properties • Allowed tool property types include: • Float, int, bool, string • Another tool specified by name (Athena public tools) • Vectors of any (one) of the above • 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 • Tools may inherit one or more property specifications • Property specification is via the Athena declareProperty(…) interface • Called from ctor of concrete tool or base specification D. Adams, BNL Requirements and recommendations ASG tools November 20, 2013

  7. 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 • Preconfigured tools may be obtained by name from a tool repository • The tool repository may be filled • Directly (i.e. by constructing and configuring a C++ object) • From job options file(s) • ASG tool handles provide means to access tools in the repository • Accessed by name and interface (or concrete) type • Same syntax as Athena tool handles • Tools configured with other tools access those tools with tool handles D. Adams, BNL Requirements and recommendations ASG tools November 20, 2013

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

  9. AsgEx status Table summarizes the status of the AsgEx prototype • For more info, see the AsgEx Twiki D. Adams, BNL Requirements and recommendations ASG tools November 20, 2013

  10. AsgEx Jet tools A few prototype jet tools are available in AsgEx • JetDumper (package AsgExDumper) • Writes info about jet collection to the log file • Three levels of detail: one line, one line/jet, all moments • Also works for some other collections: clusters • PseudoJetBuilder (package AsgJetReco) • Constructs a collection of fastjet PseudoJet objects • From clusters or other jets • JetFinder (package AsgExJetReco) • Finds jets and writes jet container • Input is the previous PseudoJet collection • XAodClusterConverter (package AsgExJetReco) • Reads AOD clusters and write xAOD jets • Will write xAOD clusters when that xAOD is further along • AsgRunner (package AsgExRun) • Runs a configurable series of AsgEx tools D. Adams, BNL Requirements and recommendations ASG tools November 20, 2013

More Related