TUTORIEL CMS Simulation - PowerPoint PPT Presentation

1 / 36
About This Presentation
Title:

TUTORIEL CMS Simulation

Description:

on notera: $SCRATCH. cela signifie: /scratch/fynulab0X/n/name. n/name remplacer par votre ... on notera: ~ (linux le comprend et le traduit en /home/[votre login] ... – PowerPoint PPT presentation

Number of Views:121
Avg rating:3.0/5.0
Slides: 37
Provided by: olivierv
Category:

less

Transcript and Presenter's Notes

Title: TUTORIEL CMS Simulation


1
TUTORIEL CMS Simulation Septembre
2003 http//www.fynu.ucl.ac.be/themes/he/cms/docum
ents/talks.html
2
Contenu du tutoriel
  • 1. La chaine de simulation CMS
  • Infrastructure a LLN
  • Generateur devenements Pythia/CMKIN
  • Outil de soumission de jobs Condor
  • Simulation Geant du detecteur CMSIM
  • Simulation de lelectronique et Reconstruction
    ORCA
  • ? Generation devenements digitizes
  • 3. La chaine de reconstruction des evenements
  • Trigger de niveau 1 (L1)
  • High Level Trigger (HLT)
  • ? Lecture des evenements generes et calcul du
    resultat du HLT.

3
La chaine de simulation
Principaux elements Pythia/CMKIN generation des
evenements. Cree une liste departicule avec
leursquadrivecteurs (HepEvt) G3/CMSIM 131
Propage les particules dans lensemble de la
geometrie dudetecteur stocke les hits dansun
fichier fz (Energie/volume position) ORCA
7.2.2/WriteHits conversion de fichiers fz vers
une db ORCA ORCA 7.2.2/WriteDigis simule
lelectronique du detecteur. Ajoutesi
necessaire les evenements mbiaspour simuler le
PileUp
4
Infrastructure _at_ LLN (1)
5
Infrastructure _at_ LLN (2)
  • Machines avec ORCA installe
  • cmsfm001 contient lensemble des softs CMS pour
    realiser la chaine de simulation.
  • clxfm101-112 fynulab01-fynulab08
  • contient egalement ces softs.
  • Pour condor
  • La plupart des machines sont installees avec
    condor
  • sauf cmsfm001
  • Pour le stockage
  • disques scratch /scratch/nommachine/v/vanderaa
  • stockage de masse cmsst001 accessible de
    clxfm101-112
  • et de cmsfm001 ainsi que de fynulab
  • /nfs/cms/mass1/USERS/v/vanderaa --gt non
    securise
  • /nfs/cms/mass2/USERS/v/vanderaa --gt securise
    (raid5)

6
Infrastructure _at_ LLN (3)
Pour obtenir une reponse rapidement Pour toute
question relative au soft CMS orca_at_fynu.ucl.ac.be
cette liste est archivee a lurl
http//orca.fynu.ucl.ac.be Concernant le HLT
voir la page http//www.fynu.ucl.ac.be/themes/he
/cms/activities/tridas/HLT/index.html Pour le
monitoring de letat de la ferme http//www.fynu.
ucl.ac.be/links/cacti/graph_view.php?actiontreet
ree_id3 http//www.fynu.ucl.ac.be/themes/he/cms/a
ctivities/tridas/farm.html
7
Serveur CVS
  • Tous les codes developpes a lln sont stockes sur
    un serveur CVS.
  • Le repository se trouve sur /disks/mass2/cvshome,
    ne jamaistoucher aux fichiers dans ce directory.
    Pour y avoir accessil suffit de suivre la
    procedure suivante
  • ? Ajouter la ligne suivante dans votre .ksh_user
    ou .bashrc
  • alias 'cvsfynuexport CVSROOTpserverlogin_at_cms
    st001.fynu.ucl.ac.be/disks/mass2/cvshome
  • Dans ce repository se trouve lensemble des
    scripts necessaires
  • aux productions.
  • Pour acceder au CVS de CMS voir la page
    suivante
  • http//cmsdoc.cern.ch/cmsoo/projects/cvs_server.ht
    ml

8
Repertoires utilises dans ce tutoriel (1)
  • votre scratch
  • on notera SCRATCH
  • cela signifie /scratch/fynulab0X/n/name
  • n/name remplacer par votre lettre et login
  • X a remplacer par 1-gt8 selon la machine
  • votre home directory
  • on notera (linux le comprend et le traduit en
    /home/votre login
  • donc pour visiter /home/vanderaa lt--gt vanderaa
  • Les repertoires crees dans votre scratch pendant
    le tutoriel
  • SCRATCH/CMKIN_Workdir
  • SCRATCH/condor_cmkin_scripts/ (le contenu a ete
    copie dans SCRATCH/CMKIN_Workdir)
  • SCRATCH/examples/cmsim/
  • SCRATCH/ORCA_7_2_2 --gt votre installation
    dorca.
  • SCRATCH/condor_orca_scripts

9
Repertoires utilises dans ce tutoriel (2)
  • Les repertoires cree pour contenir les logs
    condor
  • /condorlog/cmkin
  • /condorlog/cmsim
  • /condorlog/orca
  • Les repertoires de la base de donnees utilises
    pour ce tutoriel
  • /nfs/cms/mass1/DATABASES/CMKIN/CMKIN_1_3_0/TUTORIA
    L/labX
  • /nfs/cms/mass1/DATABASES/CMSIM/cms131/TUTORIQL/lab
    X
  • /nfs/cms/mass1/DATABASES/O722TUTORIAL/labX
  • Les fichiers crees dans les differents
    repertoires dependent du nom
  • dans les scripts.

10
Pythia/CMKIN (1)
  • Input --gt process card
  • Output--gt ntpl file with in HepEvt format
  • Compiler votre CMKIN
  • 1 cd /scratch/fynulabXX/lettre/login
  • 2a . /cms/bin/llncmkin.env pour ksh
  • 2b source /cms/bin/llncmkin.env pour bash
  • 3 /cms/bin/cmkinget
  • 4 cd CMKIN_Workdir
  • 6 repeat 2a or 2b
  • 5 ./kine_make_ntpl_pyt.com
  • A partir de la cmkin est compile dans le
    directory ./
  • pour info pour éxecuter CMKIN en mode interactif
  • Pour demarrer CMKIN en mode interactif editer le
    fichier
  • ./kine_make_ntpl_pyt.run et executer
    ./kine_make_ntpl_pyt.run

11
Data Card
  • Verifier ce que lon veut tourner
  • Liste des parametres obligatoires (principalement
    la PDF des protons).
  • Choix du processus MSEL 0 -gt lutilisateur
    choisi lui meme un MSUB (La liste est dans le
    manuel Pythia. Pour les tt, il existe un MSEL
    defini. Dans la carte mettre MSEL 6.
  • Switch de Decay Commande MDME. 1 (voir example)
    etudie, 0 est utilise dans le calcul des ME et
    de la section efficace totale (mais pas dans
    loutput de Pythia) -1 (processus interdit, ex
    une 4eme famille de fermion)
  • Faire toujours verifier les cartes avant de
    lancer une grosse production
  • Les ntuples, une fois verifiés, doivent etre mis
    a lendroit suivant /nfs/cms/mass1/DATABASES/CMKI
    N/CMKIN_VERSION/nom_du_signal/.ntpl

12
Example MSSM Higgs
  • MSSM Quelle masse? Quelle tan beta? Quel etat
    final?
  • Quest ce quun KSEL?
  • Example MSUB 26 1 ff -gt HW
  • KSEL 412 -gt Switch pour etudier le canal etau.
  • Pour le canal ff -gt HW, pas de selection a coder
    dans CMKIN.
  • Le tuning des generateurs sont imposes par
    dancienne mesures.
  • MSTJ 11 3 !Choice of the fragmentation function
  • MSTP 2 1 !which order running alphaS (default)
  • MSTP 51 7 !structure function chosen (CTEQ5L,
    default)
  • MSTP 81 1 !multiple parton interactions 1 is
    Pythia default
  • MSTP 82 4 !Defines the multi-parton model
  • PARP 82 1.9 !pt cutoff for multiparton
    interactions
  • PARP 84 0.4 !Multiple interactions matter
    distribution parameter

13
Pythia or not pythia
  • Nouvelle version de CMKIN (avant la fin du mois)
    avec
  • Nouvelle version de PYTHIA
  • Nouvelle Version de ISAJET
  • Nouvelle Version de Herwig
  • Pour les analyses a LLN, on reste avec la version
    de CMKIN_1_3_0
  • (Cette version est la version officielle du DC04)
  • Il est egalement possible dutiliser des packages
    associes
  • Tauola (mettre dans la carte CMKIN une ligne
    tau0 0 0)
  • Photo (souvent avec Tauola)
  • CompHep

14
Pythia/CMKIN job (2)
Suivez les instructions 1. cd directory where
you have installed cmkin/.. 2. cvsfynu 3. cvs
login (type your password) 4. cvs co
condor_cmkin_scripts 5. cp condor_cmkin_scripts/
directory cmkin 6. cd directory
cmkin Preparer une carte CMKIN, il faudra
donner la path complet de ce fichier au script
makecmkinjob.py. Pour des exemples de cartes vous
pouvez aller voir sur la page http//cmsdoc.cern
.ch/cms/production/www/cgi/SQL/List_FileURL.php?fi
leTypePythiacards Attention certaines cartes
sont fausses! cp datacards/tt_2l.txt . enlever
les trois lignes for testing
15
Pythia/CMKIN job (3)
  • Pour preparer un job
  • 1. cd condor_cmkin_scripts
  • 2. ./makecmkinjob.py
  • Repondre aux questions
  • nom du job par exemple le nom du signal produit
  • path pour les fichiers de log par defaut
    /condorlog/cmkin! il faut que le directory soit
    cree
  • path complet vers le directory cmkin (nfs)
  • Path ou seront stockes les fichiers ntpl un
    directory sera creeavec comme nom le job
  • Path complet vers la carte
  • nom du binaire a executer
  • Le job est maitenant pret a etre lance. Suivre
    linstruction a la fin
  • du script.

16
condor et la soumission de jobs
  • condor est un gestionnaire de jobs.
  • La page http//www.cs.wisc.edu/condor/ donne
    plus dinfos ainsi
  • que lacces au manuel.
  • the Condor Team has been building software tools
    that enable
  • scientists and engineers to increase their
    computing throughput.
  • Pour soumettre des jobs condor_submit
  • Pour tuer un job condor_rm numero de job
  • Pour voir ce qui se trouve dans les queues
    condor_q
  • Pour voir le status de la ferme condor_status
    -run
  • cd directory contenant le script cmkin
  • chmod x nomdujob
  • condor_submit nomdujob
  • condor_q -submitter login

17
CMSIM/Geant 3 (1)
CMSIM contains the geometry description of the
detector and simulates the energy loss of the
particles passing trough the detector. Input
--gt ntpl files produced by CMKIN Output --gt .fz
with geant hits geometry file (only need
ones)
18
CMSIM/Geant 3 (2)
  • compiling your cmsim version
  • 1. Go into a directory that is nfs exported to
    the farm
  • 2. cp -r /cms/cmsim/cms131/examples .
  • 3. cd examples/cmsim
  • 4a.(for bash) source /cms/bin/llncmsim.sh cms131
  • 4b.(for ksh) . /cms/bin/llncmsim.ksh cms131
  • 5. ./cmsbuild -b
  • 6. from there the cms131.exe binary will be put
    in
  • the current directory
  • 2) Preparing a CMSIM job
  • cvs co condor_cmsim_scripts
  • cd condor_cmsim_scripts
  • ./makecmsimjob.py

19
CMSIM/G3 jobs
  • Preparer un fichier de carte (cmsim.card par
    defaut). Il doitcontenir 5 colonnes
  • nom du fichier ntpl
  • nom du fichier fz
  • nombre devenements a generer
  • numero de run
  • premier evenement a lire
  • repondre aux questions du script
  • nom du job
  • path vers le fichier de log (par defaut
    /condorlog/cmsim
  • version de cmsim (131 est la seule installe et
    compat avec O722)
  • directory ou se trouve le binaire cmsim
  • fichier de carte.
  • path du directory ou se trouvent les ntpl a lire
  • path du directory qui va contenir les fz generes
  • Soumettre le job condor_submit your job

20
ORCA
  • ORCAObject-oriented Reconstruction for Cms
    Analysis
  • two main task
  • simulate the detector response
  • reconstruct the events as it will be online
    (same soft)
  • Production sequence

SimHits
RecHits (Digis)
21
ORCA Workspace read events
  • Preparer votre environnement ORCA.
  • go to your favorite directory (eg scratch)
  • scram project ORCA ORCA_7_2_2
  • cd ORCA_7_2_2 cd src
  • cmsget Workspace cd Workspace
  • Lire des evenements generes
  • editer le fichier .orcarc
  • FilePath/nfs/cms/mass1/DATABASES/O722
  • InputCollections/System/NoPileup/etau_z_gamma_90
  • commenter les lignes 33-46
  • enlever la ligne FileProtocol
  • editer le BuildFile
  • enlever le premier couple de tag ltignoregt
    lt/ignoregt
  • scram b eval scram runtime -sh
  • ExRunEventInfo --gt tourne sur 10 evts

22
ORCA hit writing (1)
  • Remarque generale pour les jobs orca
  • Une production se fait toujours en 3 etapes.
  • 1. Initialisation de la database
  • 2. Ecriture dans la database (the real jobs)
  • 3. Finalisation de la db.

Preparing the jobs cd your place, favorite
directory cvs co condor_orca_scripts cd
condor_orca_scripts préparer une carte Nom du
fichier fz, nombre dévénements,
run ./makejobinput.py et repondre aux questions
23
ORCA hit writing questions
  • As usual the name of the job
  • The orca version, only ORCA_7_2_2 is installed
    now
  • Full Path of your orca installation (your
    ORCA_7_2_2 directory)
  • The Path where the Database will stand
  • (/nfs/cms/mass1/DATABASES/O722TUTORIAL/labxx)
  • Path of the log files (default is
    /condorlog/orca)
  • Respond 2 to have jobs writing hits
  • Full path the the fz directory
  • (/nfs/mass1/DATABASES/CMSIM/cms131/TUTORIAL/labx)
  • Full path of the geometry file, the proposed one
    is valid for cms131
  • Full path of the card file. Explained later
  • Output dataset for the Hits (ex
    /System/SimHits/signal)
  • The script will create 3 scripts.
  • job.init.sh job to run from cmsfm00 first in
    order to init the database
  • job.cmd job to submit with condor to fill the
    db
  • job.finalize.sh job to run to finalize the
    database

24
ORCA digitization
  • Lecriture des hits nest quune conversion de
    format entre
  • les fichiers fz et la base de donnee ORCA.
  • La digitization simule la reponse de
    lelectronique et stocke dans
  • la base de donnees des digis qui sont le resultat
    de la simulation.
  • Avant de soumettre un job de digitization il faut
    savoir si on veut
  • le faire avec pileup ou sans pileup. La
    digitization avec pileup met
  • sensiblement plus temps etant donne que pour 1
    evenement lu
  • on superpose jusque a 100 evts dont 20 dans le
    bunch courant.
  • Une base de donnee de minimum bias a ete cree et
    elle contient
  • 100000 evts. /System/SimHits/mbias
  • Il faut egalement faire attention a la luminosite
    (basse ou haute)

25
ORCA digitization NoPileup
  • Lutilisation du script est similaire au cas des
    hits.
  • Les questions differentes sont
  • Nombre devenement a processer
  • Nombre devts par job 500 est une bonne valeur
  • Input dataset dataset de hit a digitizer
    /System/SimHits/signal
  • Output dataset dataset de sortie
    /System/NoPileup/signal
  • A nouveau il faut faire tourner trois scripts
    dans lordre
  • myjob.init.sh condor_submit myjob.cmd
    myjob.final.sh
  • A partir de ce point vous pouvez analyser les
    donnees
  • visualiser avec iguana
  • faire tourner vos algorithmes de
    reconstructionet/ou le L1/HLT

26
Visualisation avec iguana
Pour utiliser iguana il suffit daller dans votre
directory ORCA_7_2_2/src/Workspace. Modifiez
.orcarc en mettant une collection que vous avez
genere /System/NoPileup/signal. eval scram
runtime -sh export GEANEUSEDTRUE et tapez
iguana.
iguana permet de visualiser le detecteur et une
partie des objets reconstruits jets, traces,
ecal digis, hcal digis, muons
27
Quelques questions pratiques
  • Eviter de lancer de larges productions sans en
    parler surla mailing list orca. Lutilisation de
    plus de 1jour de calcul sur le cluster
    correspond a une large production.
  • Une fois une production terminee veuillez
    documenter ce quia ete produit dans le fichier
    excel que vous pouvez trouveren suivant la
    procedure
  • cvsfynu
  • cvs login (tapez votre password fynu)
  • cvs co prodinfo
  • le fichier prodinfo/prodlln.xls contient tout ce
    qui existe deja
  • Si vous avez un probleme dacces demandez a
    A.Ninane de vousmettre dans le groupe cmsuser.

28
Analysis L1/HLT
29
HLT steering code tutorial
  • Nous avons produit des événements
  •  semblables à des données  ...
  • Que se passe-t-il avec les données ?
  • Sélection par le L1
  • Sélection par le HLT
  • Stockage pour analyse


On-line off-line
  • Objectifs de cette présentation
  • Montrer comment utiliser HLT
  • (Montrer comment ca marche)

30
Traitement on-line
Symboliquement, les données sortent du détecteur,
traversent le réseau et aboutissent dans la ferme
de 1000 PCs ou est fait le HLT.
Concrètement, une telle colonne est repésentée
ci-contre...
31
Un peu de C...
Pour réaliser une sélection (simulation du
trigger) il faut coder soi-meme -gt C Il y a
de tres bons livres et sites de référence.
Example http//www.cplusplus.com Un point
important la notion de classe.
  • Classe
  • Constructeur
  • Destructeur
  • Méthodes
  • variables

Le constructeur est appelé lorsque l'on crée une
classe Le destructeur est appelé lorsque l'on
détruit une classe Les méthodes sont des
fonctions / des procédures Les variables sont
 globales à la classe 
32
Le L1 L1GlobalTrigger
Le L1 est simulé par une classe C
L1GlobalTrigger
Après avoir déclaré les classes dont on a besoin
(début du fichier) include "Trigger/L1GlobalTrig
ger/interface/L1GlobalTriggerSetup.h" include
"Trigger/L1GlobalTrigger/interface/L1GlobalTrigger
.h" Une ligne suffit à évaluer la réponse du
L1 if(!SingletonltL1GlobalTriggerSetupgtinstance
()-gtGlobalTrigger()-gtResult().getGlobalDecision())
return Si besoin est, la classe
L1GlobalTrigger peut fournir une liste des
candidats, ainsi que d'autres informations
détaillées. La configuration se fait en
choisissant un  menu  dans le .orcarc
La classe L1GlobalTrigger devrait changer sous
peu. Il y a d'ailleur des problèmes avec le
trigger  tau .
33
HLT un arbre logique
Toute équation logique peut etre représentée par
un arbre binaire
Elements
 interfaces  software entre la structure
logique et le code de reconstruction
Steering code !
Dynamic prescale
  • Typiquement, dans VOTRE classe
  • création du trigger dans le constructeur
  • utilisation du trigger dans la méthode appelée
    pour chaque événement
  • récapitulatif dans le destructeur

34
HLT un example
class HighLevelTriggerTest public
HighLevelTrigger public virtual void
setup() // this is
mandatory we are deriving from a LazyObserver
init() // now we
build the structure we want to have
HighLevelTriggerElement ele1a new
HLGL2EleTriggerElement()
HighLevelTriggerElement ele1b new
HLGL25EleTriggerElement(ele1a)
HighLevelTriggerElement ele2a new
HLGL2EleTriggerElement()
HighLevelTriggerElement ele2b new
HLGL25EleTriggerElement(ele2a)
HighLevelTriggerElement tau1a new
HLGL2TauTrigger()
HighLevelTriggerElement tau1b new
HLGL25PixelTauTrigger(tau1a)
HighLevelTriggerElement node new
HighLevelTriggerCombAndNode(ele2b,tau1b)
// the last element is the rte (Root
Trigger Element) member. rte
new HighLevelTriggerOrNode(node1,node2)

// First use the TriggerSetup singleton to
retrieve the Trigger instance. //
retrieve the trigger response and decision.
HighLevelTriggerSetup setup SingletonltHighLevel
TriggerSetuplt HighLevelTriggerTest gt
gtinstance()
HLGlobalTrigger trigger setup-gtglobalTrigger()
bool decision trigger-gtgetResult().getGlobalDeci
sion() bit_vector response trigger-gtgetResult()
.getGlobalResponse() if(decision) goodevents
35
Ou trouver plus d'info ?
Page générale CCS http//cms-project-ccs.web.ce
rn.ch/cms-project-ccs/ Lien vers le CVS
http//cmsdoc.cern.ch/swdev/viewcvs/viewcvs.cgi/
Page dédiée à ORCA http//cmsdoc.cern.ch/orca
Bug tracking http//savannah.cern.ch/bugs/?group
orca
Vous y trouverez l'ensemble des classes, leur
dépendances, ... -gt toutes les classes ORCA sont
maintenant documentées Tel n'est malheureusement
pas le cas des classes COBRA
36
Downloading the package
HLT is commited to ORCA...
_at_ CERN
_at_ LLN
  • There are examples in
  • HLT/HLTElements/test
  • HLT/HLTXMLFactory/test
  • Examples/ExHLT

cvs co -rORCA_7_3_0 HLT cvs co -rORCA_7_3_0
Examples/ExHLT
cmsget Examples/ExHLT
Write a Comment
User Comments (0)
About PowerShow.com