Title: Prsentation PowerPoint
1 Commencer une analyse sur CAF
- Didacticiels et aide
- Framework CAF, CAFE, etc.
- Installation
- Outils fichier de configuration
- Ecrire son processeur
- Output et histogrammes
- Batch
2Didacticiels et aide
- Page daccueil de CAF
- http//www-d0.fnal.gov/Run2Physics/cs/caf/
- Le didacticiel complet
- http//www-d0.fnal.gov/Run2Physics/cs/caf/docs/Tut
orial-Vancouver.pdf - Un didacticiel sommaire sur les outils de base
de CAF - http//www-d0.fnal.gov/Run2Physics/cs/caf/docs/tut
orial_CAFTools.pdf - Production de CAF trees
- http//www-d0.fnal.gov/Run2Physics/cs/howto/tmb_an
alyze/TMBAnalyze.html - Mailing list d0-caf-users_at_fnal.gov
- ? archives http//listserv.fnal.gov/archives/d
0-caf-users.html
3CAF ? CAFE ?
- CAF Common Analysis Format.
- Structure arborescente ROOTesque. Voir structure
http//www-d0.fnal.gov/Run2Physics/working_gro
up/data_format/caf/ - CAFe est le framework pour lanalyse.
- Ses fonctionnalités de base permettent lanalyse
des CAF trees (packages cafe, cafe_sam). - http//www-d0.fnal.gov/d0dist/dist/packages/cafe/
devel/doc/UserGuide.html - CAF UTILITIES est une boîte à outils standards
pour réaliser les sélections courantes,
appliquer des corrections à lefficacité des
MC, (packages caf_util, caf_mc_util) - caf_tools contient des outils pour lancer des
jobs en batch.
4Installation
- setup D0RunII p18.05.00 O SRT_QUALmaxopt
- setup d0cvs
- setenv LINK_SHARED yes
- newrel t p18.05.00 myworkarea
- cd myworkarea
- d0setwa
- set path (SRT_PRIVATE_CONTEXT/shbin/SRT_SUBDI
R path) - addpkg (Voir http//www-d0.fnal.gov/Run2Physics/
cs/caf/Packages.html) - Sils ne figurent pas sur la page web (voir
/D0/users/barfuss/180500WA/ltpkggt/CVS/Tag) - addpkg cafe
- addpkg tmb_tree
- gmake (Message à ignorer ERROR multiply
defined symbol _moddi3) - cp caf_util/configs/test.config .
- cp emid_cuts/support/emid_cuts.txt .
- ./test.config
- Pour données p17.09.01(3), CAF p18.03(5).00
En rouge, à saisir à chaque fois
5?
Fichier de configuration
- Pas de recompilation, un enregistrement suffit !
- Ligne dexécution ordonnée des processeurs
(petite liste page 16) - Déclaration ordonnée des packages utilisés
- Spécifications pour chaque processeur (e.g.
nombre de) - Lecture partielle des branches (gain de temps
sensible) - Déclaration des histogrammes (nom, binning,)
- Organisation des fichiers et branches doutput
(rootuples) - contenant les objets sélectionnés
- Traitement possible dune liste de fichiers ou
dun SAM dataset - CAFe gère la boucle sur tous les événements.
6Fichier de configuration (suite)
- Configuration générale
- Voir exemple p. 17
- Sélecteurs dobjets outils pour appliquer les
critères de sélection classiques (nombre min,
max, pT, JES, tri) - Voir exemple p.18
- Outils de qualité des données fichiers
contenant les mauvais runs et LBN pour le calo,
le SMT, le CFT et les muons - Voir exemple p.19
- Efficacité des coupures et statistiques
- Voir exemple p.20
- Création dhistogrammes et écriture du fichier
skim.root - Voir exemple p.21
7Ecrire son propre processeur
- Les sélecteurs et autres outils inclus dans les
packages conviennent à une analyse standard. - Mais il devient rapidement nécessaire détendre
les fonctionnalités de ces processeurs pour un
usage plus personnalisé. - On peut toujours améliorer le code existant.
Mais se pose alors le problème de la
compatibilité au passage de version - ? Ecrire son propre processeur est donc la
solution la plus flexible et la plus adaptée à
lanalyse.
8Ecrire son propre processeur (suite)
- Il existe 2 types de processeurs
- ceux qui produisent des histos et qui doivent
obligatoirement renvoyer true - ceux effectuant des coupures qui renvoient
true pour garder lévénement ou false pour le
rejeter - Ils contiennent config.get pour récupérer les
paramètres dans le fichier de configuration - Ce quil faut faire pour quun nouveau
processeur soit utilisable - dans pkg/scripts/rootrc, Plugin.Processor
myProc pkgmyProc - ajouter son processeur à la liste des
pkg/src/COMPONENTS - ? Note on peut aussi écrire son propre package,
auquel cas il faut le lier dans include/,
recompiler et lappeler dans test.config
(cafe.Packages )
9Ecrire son propre processeur (suite)
- Un exemple de package fait maison (Samuel) à
Lyon - /afs/in2p3.fr/home/s/scalvet/public/Btagging_p18.0
5.00/mypackage - Exemple dun processeur qui fait des coupures
AngleSelector - constructeur AngleSelector(const char name)
où name est le nom donné au processeur dans
test.config. - On y récupère aussi les paramètres fixés par
test.config - _DeltaPhiMIN_JETMET_sup config.get(DeltaPhiMIN
_JETMET_sup, 180.) - ? 180 est la valeur par défaut de
_DeltaPhiMIN_JETMET_sup. - ? pour récupérer une branche _jetBranch
config.get(jetBranch, JCCB) - processEvent récupère les objets (pointeur ou
CollectionltTMBgt) - true or false? une fois les objets récupérés,
coupures et ? T ou F.
10Output et histogrammes
- Output rootuple contenant les objets
sélectionnés - Histogrammes éventuellement dans un .root séparé
- cafe.Output histos.root
- Comment traiter le résultat sous root
- autoroot.py tmb_tree cafe
- root skim.root histos.root
- (ou, si ça ne marche pas
- SRT_PUBLIC_CONTEXT/tmb_tree/tmb_tree/scripts/aut
oroot.py tmb_tree cafe) - TBrowser
11Batch
- Tutorial complet p. 54 57
- gt setup caf_tools
- gt runcafe h
- Exemples à partir de myworkarea
- gt runcafe -clued0 --test.config
- gt runcafe -cabsrv1 -outdir/work/host/scratch
--test.config - gt runcafe -cabsrv2 -defcaf_test_1 --test.config
- gt runcafe -clued0 -tar/path/my.tar.gz
--test.config - gt
- Temps dexécution
12BACK UP
13HPSS
- Pour utiliser des fichiers sur HPSS
- cafe.Input stageinlist mylist.list
- cafe.Stager /afs/in2p3.fr/home/throng/d0/scripts
/D0rfcp - (cafe.StagingDirectory .)
- Chaque fichier est alors copié sur le worker
avant dêtre ouvert puis effacé lorsquil est
fermé. - ? Prévoir de lespace scratch pour le job !
14Triggers
Quels triggers pour mon état final ?
https//plone4.fnal.gov/P1/D0Wiki/tsg/caftrigger
/
15Calcul de luminosité
- Avec loutil lm_tools
- gt setup lm_tools
- gt getLuminosity source flags options input
files - lm_tools documentation getLuminosity
- http//www-d0.fnal.gov/d0dist/dist/packages/lm_too
ls/devel/doc/ - Avec loutil lm_access
- gt addpkg -h lm_access
- gt gmake lm_access
- ? Si erreur à la compilation concernant
lm_access_interface, ajouter aussi ce package
dans myworkarea (addpkg -h lm_access_interface).P
our lexécuter, il est également nécessaire de
faire setup d0_config. - Access Luminosity information
- http//www-d0.fnal.gov/phys_id/luminosity/data_acc
ess/
16Pages web http//www-d0.fnal.gov/d0dist/dist/pac
kages/ltpkggt/devel/doc/html/index.html
Retour
17 commentaire
Commande dexécution Déclaration des packages
Retour
18Prenons lexemple des jets
Retour
19Il existe des fichiers contenant les bad LBN et
bad runs pour tous les sous-systèmes
Cependant, on peut les utiliser séparément
Retour
20Outil de calcul de lefficacité ?
Loutput est un fichier html
Retour
21 Méthodes plutôt intuitives
Retour
22gt runcafe options -- arguments
Batch
23- Question dois-je faire un sous-skim des
événements EM1TRK ? - terminaux 3GHz sélectionnent les runs par flags
à 8kHz - sélection par triggers à 6kHz
- sélection par expression arbitraire 500 à 1kHz
- Le conseil de Slava Au lieu de vous embêter à
faire des sous-skims géants, utilisez vos
critères spécifiques et nécrivez que les
événements qui vous intéressent.
Batch