9.3 Common Containers for EDM Objects

Complete: 5
Detailed Review status

Contents

Introduction

An object produced by CMSSW reconstruction must be stored according to the Event Data Model (EDM), see creating a new Event Data Product , and inserted into the Event. Most of the simplest objects can be stored just as:

std::vector<T>

Where T is the object type.

In cases where more advanced features are required, more specialized containers are appropriate. Some common generic containers have been developed for the most common of these cases.

The class templates are defined under CMSSW in the package:

DataFormats/Common

The main generic containers are documented in the pages linked below.

OwnVector Container

OwnVector stores a collection of polymorphic objects that are automatically destroyed at the end of the event processing.

AssociationMap Container

AssociationMap template implements different types of associations of objects stored in different collections. Object references are stored internally as indices of objects in existing collections, and are usable via edm::Ref<...>.

AssociationVector Container

AssociationVector template implements simple one-to-one associations stored by value in the container. It is a lighter alternative to one-to-value AssociationMap in the cases where all objects in a collection have an associated quantity.

Review status

Reviewer/Editor and Date (copy from screen) Comments
LucaLista - 27 Mar 2006 added AssociationVector
ChrisDJones - 06 Dec 2006 corrected spelling
AnneHeavey - 12 Oct 2006 added Luca's page to workbook
LucaLista - 11 Oct 2006 created page

Responsible: LucaLista
Last reviewed by: PetarMaksimovic - 28 Feb 2008

Edit | Attach | Watch | Print version | History: r17 < r16 < r15 < r14 < r13 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r17 - 2010-01-18 - KatiLassilaPerini


ESSENTIALS

ADVANCED TOPICS


 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    CMSPublic All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback