La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

A.F. BarfussRéunion de groupe - 31/03/20061 Commencer une analyse sur CAF Didacticiels et aide Framework : CAF, CAFE, etc. Installation Outils : fichier.

Présentations similaires


Présentation au sujet: "A.F. BarfussRéunion de groupe - 31/03/20061 Commencer une analyse sur CAF Didacticiels et aide Framework : CAF, CAFE, etc. Installation Outils : fichier."— Transcription de la présentation:

1 A.F. BarfussRéunion de groupe - 31/03/20061 Commencer une analyse sur CAF Didacticiels et aide Framework : CAF, CAFE, etc. Installation Outils : fichier de configuration Ecrire son processeur Output et histogrammes Batch

2 A.F. BarfussRéunion de groupe - 31/03/20062 Page daccueil de CAF : Le didacticiel complet : Vancouver.pdf Un didacticiel sommaire sur les outils de base de CAF : d0.fnal.gov/Run2Physics/cs/caf/docs/tutorial_CAFTools.pdf Production de CAF trees : d0.fnal.gov/Run2Physics/cs/howto/tmb_analyze/TMBAnalyze.html Mailing list : archives : Didacticiels et aide

3 A.F. BarfussRéunion de groupe - 31/03/20063 CAF ? CAFE ?… CAF = Common Analysis Format. Structure arborescente ROOTesque. Voir structure : CAFe est le framework pour lanalyse. Ses fonctionnalités de base permettent lanalyse des CAF trees (packages cafe, cafe_sam). 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.

4 A.F. BarfussRéunion de groupe - 31/03/20064 Installation > setup D0RunII p –O SRT_QUAL=maxopt * > setup d0cvs > setenv LINK_SHARED yes > newrel –t p myworkarea > cd myworkarea > d0setwa > set path = ($SRT_PRIVATE_CONTEXT/shbin/$SRT_SUBDIR $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/ /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 p (3), CAF p18.03(5).00 En rouge, à saisir à chaque fois

5 A.F. BarfussRéunion de groupe - 31/03/20065 Pas de recompilation, un enregistrement suffit ! Ligne dexécution ordonnée des processeurs (petite liste page 16) 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. Fichier de configuration

6 A.F. BarfussRéunion de groupe - 31/03/20066 Fichier de configuration (suite) 1. Configuration générale Voir exemple p Sélecteurs dobjets : outils pour appliquer les critères de sélection classiques (nombre min, max, pT, JES, tri…) Voir exemple p 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 Efficacité des coupures et statistiques Voir exemple p Création dhistogrammes et écriture du fichier skim.root Voir exemple p.21

7 A.F. BarfussRéunion de groupe - 31/03/20067 Ecrire 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.

8 A.F. BarfussRéunion de groupe - 31/03/20068 Ecrire 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 pkg::myProc… – 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: …)

9 A.F. BarfussRéunion de groupe - 31/03/20069 Ecrire son propre processeur (suite) Un exemple de package fait maison (Samuel) à Lyon : /afs/in2p3.fr/home/s/scalvet/public/Btagging_p /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 Collection ) true or false? une fois les objets récupérés, coupures et T ou F.

10 A.F. BarfussRéunion de groupe - 31/03/ Output 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/autoroot.py tmb_tree cafe) % TBrowser…

11 A.F. BarfussRéunion de groupe - 31/03/ Batch Tutorial complet p. 54 – 57 > setup caf_tools > runcafe –h …… Exemples à partir de myworkarea : > runcafe -clued0 --test.config > runcafe -cabsrv1 -outdir=/work/host/scratch --test.config > runcafe -cabsrv2 -def=caf_test_1 --test.config > runcafe -clued0 -tar=/path/my.tar.gz --test.config > … Temps dexécution

12 BACK UP

13 A.F. BarfussRéunion de groupe - 31/03/ 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 ! HPSS

14 A.F. BarfussRéunion de groupe - 31/03/ Triggers Quels triggers pour mon état final ? https://plone4.fnal.gov/P1/D0Wiki/tsg/caftrigger/

15 A.F. BarfussRéunion de groupe - 31/03/ Calcul de luminosité Avec loutil lm_tools > setup lm_tools > getLuminosity source [flags] [options] [input files] lm_tools documentation: getLuminosity Avec loutil lm_access > addpkg -h lm_access > gmake lm_access Si erreur à la compilation concernant lm_access_interface, ajouter aussi ce package dans myworkarea ( addpkg -h lm_access_interface ). Pour lexécuter, il est également nécessaire de faire setup d0_config. Access Luminosity information:

16 Liste de quelques processeurs Retour PackageProcesseurFonctioncafe.Run:Utilisation caf_util *Selector Sélecteurs dobjets (* = Electron, Muon, Jet, MET, Vertex,…) JetSelector (myjet) myjet.From: JCCB myjet.pT: 25. CafeDataQuality Processor Supprime les evts bruités CafeDataQualityPr ocessor(mydq) mydq.dqdef: filedq.dqdef ApplyJES Applique les corrections JES à une liste de jets ApplyJES(myjes) myjes.Tree: OutputTreeName myjes.doJESMU: false cafe Fork Exécute les processeurs en parallèle Fork(myfork) myfork.Run: Group(gr1) Group(gr2) Group Exécute tous ses proc. fils en séquence jusquà un false Group(gr1)gr1: JetSelector(myjet) Hist1D(h) Hist*D Trace des histos *=1, 2,3Hist1D(jetpT) jetpT.Bins: 100, 0., 100. jetpT.Draw:selectedJets.pT Stat Collecte les stats des sélections et affiche les efficacités Stat(eff) eff.Output: test eff.Update: 1000 Trigger Sélectionne les evts triggésTrigger(DiEMEvts)DiEMEvts.Triggers: 2EM_HI Write Ecrit les fichiers doutputWrite(skim)skim.File: skim.root Passed Affiche le nombre devts qui ont passé la coupure. Passed cafe.Run: EventFlags(myFlags) Passed Pages web : /devel/doc/html/index.html

17 Commande dexécution Déclaration des packages Configuration générale Retour # commentaire

18 Prenons lexemple des jets : Sélecteurs dobjets Retour

19 Il existe des fichiers contenant les bad LBN et bad runs pour tous les sous-systèmes : Cependant, on peut les utiliser séparément : Outils de qualité des données Retour

20 Outil de calcul de lefficacité : Loutput est un fichier html : Efficacité Retour

21 Méthodes plutôt intuitives… : Création dhistogrammes Écriture du fichier Retour

22 Batch > runcafe [ options ] [ -- arguments ] Runcafe -help|-h|--helpprint this help -dest= submit job to destination [ required ] currently: clued0, cabsrv1, cabsrv2 -clued0shortcut for -dest=clued0 -cabsrv1shortcut for -dest=cabsrv1 -cabsrv2shortcut for -dest=cabsrv2 -def= SAM dataset definition [ default: ] -filelist= File with filename list [ default: ] -project= SAM project name [ default: rhauser_[date] ] -jobs= number of parallel SAM jobs [ default: 1 ] -exec= name of executable [ default: cafe ] -name= name of job in batch system [ default: run_jobs.sh ] -outhost= name of output host [ default: hostname ] -outdir= name of output directory [ default: pwd ] -outfiles='...'list of files/directories to copy back as result -inputdir= name of input directory [ default: pwd ] -tar= alternative.tar.gz file for input directory -infiles='...'list of input files/directories to copy in -queue= name of queue in batch system -debugprint out debug statements of script All command line parameter after the -- are assumed to be arguments to the executable runcafe

23 Temps dexécution Batch 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.


Télécharger ppt "A.F. BarfussRéunion de groupe - 31/03/20061 Commencer une analyse sur CAF Didacticiels et aide Framework : CAF, CAFE, etc. Installation Outils : fichier."

Présentations similaires


Annonces Google