Le nouveau framework - PowerPoint PPT Presentation

1 / 17
About This Presentation
Title:

Le nouveau framework

Description:

d licat comprendre et debugger (reconstruction la demande, messages ... ORCA light: Root avec quelques librairies standardis s CMS. necessite s paration des ... – PowerPoint PPT presentation

Number of Views:50
Avg rating:3.0/5.0
Slides: 18
Provided by: UrsulaB4
Category:

less

Transcript and Presenter's Notes

Title: Le nouveau framework


1
Le nouveau framework
  • Ursula Berthon
  • journées CMS France
  • 31 mars 2006

2
Plan
  • Motivations
  • Buts du redesign
  • Use cases
  • Idées de base de larchitecture
  • Example code dun EDAnalyzer
  • Cest quoi un job?
  • Feuilleter un tree
  • Status
  • Conclusions

2
3
Motivations
  • Lancien framework (COBRA)
  • modèle des données pas facile (classes
    imbriquées,)
  • délicat à comprendre et à debugger
    (reconstruction à la demande, messages derreur)
  • accès aux fichiers compliqué
  • mais surtout
  • lanalyse se fait en ROOT
  • le resultat nest pas un root tree
  • doù la nécessité de rajouter
  • une autre couche
  • et

3
4
Objectifs du redesign
  • simplicité et modularité du code
  • configurabilité,
  • applications scheduled par défaut
  • modèle de données
  • très simple
  • directement browsable
  • possibilité de traçage du produit la provenance

4
5
Use cases
  • 3 Use cases
  • root direct
  • ORCA light Root avec quelques librairies
    standardisés CMS
  • necessite séparation des algorithmes et de la
    description des données
  • possibilité de auto loading des librairies
    (AutoLibraryLoader)
  • ORCA complet utilise toutes les librairies

5
6
Idées de base de larchitecture
  • Event
  • contient tout ce qui se rapporte à une collision
    (raw/rec/sim/aod)
  • les produits quon met dedans sappellent des
    EDProducts
  • ca peut etre nimporte quelle classe C (pas de
    base class commune)
  • un EDProduct est identifiable de manière unique
    dans lEvent (ProductID)
  • on ne peut que rajouter dans lEvent, pas enlever
  • on ne peut pas modifier un EDProduct dans Event

6
7
Idées de base de larchitecture
  • Composants
  • Il y a plusieurs sortes de composants
  • EDProducer
  • les modules qui mettent un EDProduct
    dans Event
  • EDAnalyser
  • les modules qui ne font que lire ce qui
    se trouve dans Event
  • Filters
  • les modules qui influencent la suite du
    process
  • Services
  • tout le reste ( Calibration, Geometrie,)

7
8
Idées de base de larchitecture
  • Les différents types de composants ne
    communiquent que par le Event

Execution Path
EDP1
EDP2
EDA
Source
Event
8
9
Example EDAnalyzer
  • class MyEDAnalyzer public edmEDAnalyzer
  • public
  • explicit MyEDAnalyzer(const
    edmParameterSet)
  • //get values from parameterset
  • MyEDAnalyzer()
  • virtual void analyze(edmEvent, const
    edmEventSetup)
  • private
  • // ----------member data -------------------
    --------

9
10
Exemple EDAnalyzer(analyze method)
  • MyEDAnalyzeranalyze(const edmEvent iEvent,
    const edmEventSetup iSetup)
  • // get data you are interested in
    HandleltExampleDatagt pIn
  • iEvent.getByType(pIn)
  • // do your analysis

Handle is a smart pointer to Event data
provenance
10
11
Exemple ParameterSet
  • process PROD
  • source PoolSource
  • untracked string
    filenameCaloTowers.root
  • module out PoolOutputModule
  • untracked string fileName
    'KtJets_HB_HO.root'
  • module caloTowers
    CaloTowerCandidateProducer
  • module ktjet KtJetProducer
  • string src "caloTowers"
  • int32 ktAngle 2
  • double ktECut 1.0
  • double ktRParam 1.0
  • path p caloTowers, ktjet, out

11
12
un job
  • correspond a un parameterset
  • on le fait marcher avec
  • cmsRun parset.cfg
  • pour exécuter nimporte quel testjob
  • faire un checkout du package
  • se mettre dans le répertoire test
  • faire
  • cmsRun fichier-de-config
  • au début du job
  • analyse syntaxique de la configuration
  • vérification de lexistence des fichiers
  • chargement de tous les composants (SealPlugins)

12
13
Feuilleter un Tree
  • le TTree intéressant sappelle Events
  • le branchname dun EDProduct est composé de
  • type de produit_modulelabel(_productlabel)
  • productlabel a un défaut de

Demo
13
14
Status(proposition initiale jan 2005)
  • Framework classes plus ou moins figées, peu de
    changements
  • chaine de simulation fonctionne en entier
  • premiers tests en cours avec le groupe de
    production
  • tests de production pour cet été, production de
    masse pour CSA 2006
  • portage de reconstruction en cours
  • algorithmes pas changés en général
  • validation stricte de chaque étape par rapport å
    ORCA

14
15
Conclusions
Et alors?
cest plus simple
  • énorme avantage davoir
  • ROOT TTree en sortie de production
  • toutes les données dans le meme TTree

Mais
on peut regretter que le développement ne se soit
pas fait avec une interface qui aurait permis de
garder ORCA dans un premier temps au-dessus du
nouveau framework
https//uimon.cern.ch/twiki/bin/view/CMS/EDM
15
16
  • backup slides

16
17
Accès aux EDProducts
  • On peut accéder a un EDProduct de différentes
    façons
  • // par type dobjet
  • HandleltstdvectorltPSimHitgt gt
    simhits
  • event.getByType(simhits)
  • //par module label
  • HandleltstdvectorltPSimHitgt gt
    simhits
  • event.getByLabel(label,simhits)
  • //par module label et product
    label
  • HandleltstdvectorltPSimHitgt gt
    simhits
  • event.getByLabel(mlabel,plabel,sim
    hits)
  • //par Selector
  • ParameterSelectorltintgt
    conesel(coneSize,5)
  • HandleltJetVectorgt jetPtr
  • event.get(conesel,jetPtr)

17
Write a Comment
User Comments (0)
About PowerShow.com