Layout of the conditions packages in CMSSW

CondCore subsystem

contains centralised conditions modules and services which are responsible for reading data as conditions from POOL databases and writing conditions data into POOL databases as well as managing interval of validity of the data. It includes in following packages:
  • DBCommon classes common to database service implementations
  • ESSources pool db ESSource implementation of the conditions service
  • PluginsSystem code that handles the dynamic loading of the plugins
  • XXXPlugins instantiates the XXX detector related plugins needed to deliver the XXX related objects/Records.
  • DBOutputService
  • IOVService Definition of the IOV object and IOV interfaces
  • MetaDataService IOV tag management classes

CondFormats subsystem

holds persistent conditions data object definitions and their associated event setup data record definitions. It includes the following packages
  • DataRecord holds ALL definitions of the Records used by the EventSetup
  • XXXObjects holds ALL XXX related persistent object definitions, their dictionary files and EventSetup data registration macros

CondTools subsystem

The guideline for creating new packages under the cond system is the following: the package granularity of CondCore/XXXPlugins and CondFormats/XXXObjects should match; the plugins, conditions objects, and Data Records are placed in different librarie; the Record classes(in CondFormats/DataRecord) are decoupled from the Plugins(in CondCore/XXXPlugins) and the directory CondFormats/DataRecord is shared by all the detectors.

The guideline for the granularity of the data record is: each detector has its own sets of records; one record per IOV set.

How to add new data object

Define the new persistent object in CondFormats/XXXObjects package

    • add its definition in interface; implementation in src
    • add it in the dictionary selection file src/classes_def.xml, and
include file src/classes.h
    • register the data object to the event setup system in src/T_EventSetup_.cc

Use the datarecord code generator "mkrecord" to generate the new record

entry: related documentation https://twiki.cern.ch/twiki/bin/view/CMS/SkeletonCodeGenerator The right place to hold the new data record is CondFormats/DataRecord

Tell the plugin system the new object is associated with which data record

    • in CondCore/XXXPlugins/src/plugin.cc, add the object-record pair in the registration macro

-- ZhenXie - 29 May 2006

Edit | Attach | Watch | Print version | History: r22 | r6 < r5 < r4 < r3 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r4 - 2006-05-29 - ZhenXie



 
    • 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