Esempi di RooFit

Esempio 1

fitting.tgz: esempio 1

Esempio di utilizzo di roofit per fittare dei dati. Ho fatto il fit in due modi, quello che utilizza la factory e' il piu' moderno. Non so dirvi quali grandi forze si possano scatenare utilizzando roofit alla massima potenza, pero' per lo meno inziamo a vedere come si utilizza. Il progamma ha le istruzioni di compilazione, con root 5.26 mi gira. Per eseguire, passate come argomento il file di testo che c'e' insieme, nel tgz.

Esempio 2

signalBkg.cpp: esempio 2

Creo un modello 2D, fatto da una gaussiana sommata ad un fondo polinomiale in x. Genero eventi secondo queste due variabili, poi isolo zona di segnale e zona di fondo, faccio il fit del fondo nella zona di controllo ed uso quel fit per trovare la gaussiana 1D nella zona di segnale.

Esempio 3

likelihood_new.cpp: esempio 3

Costruire un likelihood ratio per distinguere il segnale dal fondo. L'idea e' quella di prendere un dataset 2D, con il segnale in un angolo, il fondo nell'altro. Assumere la forma del segnale, come nota da MC, desumere la forma dei fondi da sue zone di controllo (una fascia in x ed una in y rispettivamente). Note le forme di segnale e fondo, si puo' definire il likelihood ratio per ogni evento, cioe' la probabilita' che sia segnale fratto quella che sia fondo. Guardando la distribuzione per segnale e fondo, mettere quindi un taglio, e si vede che cosa viene selezionato.

Esempio 4

testKeysFunc.cpp: esempio 4

Creare una funzione a partire da un dataset, con il metodo dei kernel: per ogni evento del dataset viene creata una gaussiana centrata nel punto corrispondente all'evento (non so con che sigma), le gaussiane sommate a dare la funzione finale.

Esempio 5

createAndRead.tar.gz: esempio 5

Creare un dataset, salvarlo, rileggerlo e utilizzarlo, esempio scheletrico.

Esempio 6

readNtuple.tar.gz: esempio 6

Viene creata una ntupla con un eseguibile. Con l'altro eseguibile la Ntupla viene riletta per creare un RooDataSet (istruzione di 1 linea) e viene fatto un plot di esempio.

Esempio 7

esempio 7

Why: da un numero limitato di eventi generarne molti sfruttanto la pdf delle variabili rappresentative dell'evento.

How: a partire da un sample formato da 2 (ma è generalizzabile) variabili, creare la pdf che lo descrive (kernel estimation p.d.f.), generare un nuovo sample e salvare in un file di uscita.

Hint: è stato fatto tutto usando il RooWorkSpace. Il programma esegue anche un semplice fit e un check di qualità.

Oss: è lento!

2DKernel.cpp (istruzioni di compilazione al suo interno)

see code for more information

link esterni

-- PietroGovoni - 11-Mar-2010

Topic attachments
I Attachment History Action Size Date Who Comment
Unknown file formatgz createAndRead.tar.gz r1 manage 1.8 K 2010-03-11 - 18:04 PietroGovoni esempio 5
Compressed Zip archivetgz fitting.tgz r1 manage 6.1 K 2010-03-11 - 17:57 PietroGovoni esempio 1
C source code filecpp likelihood_new.cpp r1 manage 5.9 K 2010-03-11 - 17:55 PietroGovoni esempio 3
Unknown file formatgz readNtuple.tar.gz r1 manage 1.7 K 2010-03-11 - 18:24 PietroGovoni esempio 6
C source code filecpp signalBkg.cpp r1 manage 4.4 K 2010-03-11 - 17:53 PietroGovoni esempio 2
C source code filecpp testKeysFunc.cpp r1 manage 2.5 K 2010-03-11 - 18:00 PietroGovoni esempio 4
Edit | Attach | Watch | Print version | History: r3 < r2 < r1 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r3 - 2010-03-19 - AndreaMassironi
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    Main All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright &© 2008-2021 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
or Ideas, requests, problems regarding TWiki? use Discourse or Send feedback