giuseppe cerati - mi-bicocca - tracce in cmssw - napoli 12/02/2007 tracce in cmssw giuseppe cerati...

14
Giuseppe Cerati - MI-Bicocca - Tracce in CMSSW - Napoli 12/0 2/2007 Tracce in CMSSW Giuseppe Cerati Università e INFN Milano Bicocca CMS Italia - Tutorial di Software e Calcolo – Napoli, 12/02/2006

Upload: giosue-piccinini

Post on 02-May-2015

222 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Giuseppe Cerati - MI-Bicocca - Tracce in CMSSW - Napoli 12/02/2007 Tracce in CMSSW Giuseppe Cerati Università e INFN Milano Bicocca CMS Italia - Tutorial

Giuseppe Cerati - MI-Bicocca - Tracce in CMSSW - Napoli 12/02/2007

Tracce in CMSSW

Giuseppe Cerati

Università e INFN Milano Bicocca

CMS Italia - Tutorial di Software e Calcolo – Napoli,

12/02/2006

Page 2: Giuseppe Cerati - MI-Bicocca - Tracce in CMSSW - Napoli 12/02/2007 Tracce in CMSSW Giuseppe Cerati Università e INFN Milano Bicocca CMS Italia - Tutorial

Giuseppe Cerati - MI-Bicocca - Tracce in CMSSW - Napoli 12/02/2007 2

Outline

1. Ricostruzione di Tracce in CMS

2. Implementazione in CMSSW

3. Come runnare un job di ricostruzione

4. Semplice accesso alle Tracce ricostruite: bare ROOT

5. Esempio di EDAnalyzer

6. Informazioni extra

Page 3: Giuseppe Cerati - MI-Bicocca - Tracce in CMSSW - Napoli 12/02/2007 Tracce in CMSSW Giuseppe Cerati Università e INFN Milano Bicocca CMS Italia - Tutorial

Giuseppe Cerati - MI-Bicocca - Tracce in CMSSW - Napoli 12/02/2007 3

Algoritmo di ricostruzione di default in CMSSW (come in ORCA)

Basato sul Kalman Filter. Parte da una coppia di hit consecutivi (seed) e

costruisce la traccia scegliendo gli hit compatibili nei layer successivi. Una volta

selezionati gli hit viene eseguito un fit finale (smoothing: avanti e poi indietro)

della traccia per una migliore stima dei parametri in ogni punto della traccia.

Per maggiori dettagli vedi talk di Boris a CMS Italia 2006: http://

indico.cern.ch/materialDisplay.py?contribId

=s1t4&sessionId=s1&materialId=0&confId=a06646

1)3) 2)

Hit compatibili

Hit non compatibili

Combinatorial Track Finder

Seed

Page 4: Giuseppe Cerati - MI-Bicocca - Tracce in CMSSW - Napoli 12/02/2007 Tracce in CMSSW Giuseppe Cerati Università e INFN Milano Bicocca CMS Italia - Tutorial

Giuseppe Cerati - MI-Bicocca - Tracce in CMSSW - Napoli 12/02/2007 4

Event

È la classe che raccoglie le informazioni del singolo evento in analisi, e.g.

hit, tracce, depositi calorimetrici...

I moduli che inseriscono nell'evento queste informazioni sono chiamati

EDProducer; la collezione degli oggetti di ogni tipo puo' essere presa da

Event con il metodo getByLabel(...) EventSetup

È la classe che raccoglie tutti i servizi comuni a tutti gli eventi, e.g.

campo magnetico, geometria, algoritmi di ricostruzione...

Questi servizi sono creati da appositi moduli chiamati ESProducer e

possono essere ottenuti dalla classe EventSetup con il metodo

get<ServiceName>() cmsRun

Esiste un unico eseguibile: cmsRun. Vengono passati in input dei file di

configurazione (.cfg) dove sono dichiarati i moduli da eseguire e con quali

parametri. I moduli (di analisi e non) agiscono sull'evento utilizzando i

servizi messi a disposizione dell'event setup.

Struttura di CMSSW

Page 5: Giuseppe Cerati - MI-Bicocca - Tracce in CMSSW - Napoli 12/02/2007 Tracce in CMSSW Giuseppe Cerati Università e INFN Milano Bicocca CMS Italia - Tutorial

Giuseppe Cerati - MI-Bicocca - Tracce in CMSSW - Napoli 12/02/2007 5

prodotto

RecHitCollection

TrackCandidateCollection

TrackCollection

TrajectorySeedCollection

operazione

Ricostruzione Locale

Seeding

Pattern Recognition

Final Fit

input

RecHitCollection

TrackCandidateCollection

TrajectorySeedCollection

Digis

Track Reconstruction StepsEven

t

Even

t

Il processo di ricostruzione inizia con la ricostruzione locale dei digis e termina producendo le Tracce.

Tutti i moduli necessari per questo processo sono stati raccolti in due file cff: RecoLocalTracker.cff e

RecoTracker.cff. RecoLocalTracker.cff e' responsabile della ricostruzione locale, mentre RecoTracker.cff

della ricostruzione globale.

RecoLocalTracker.cff e RecoTracker.cff sono inclusi, tra gli altri, in un file di configurazione piu' generale:

Reconstruction.cff. Questo file raccoglie i parameters set per laricostruzione locale and globale di tutti i

detector e degli oggetti di piu' alto livello (e.g. Vertici).

Page 6: Giuseppe Cerati - MI-Bicocca - Tracce in CMSSW - Napoli 12/02/2007 Tracce in CMSSW Giuseppe Cerati Università e INFN Milano Bicocca CMS Italia - Tutorial

Giuseppe Cerati - MI-Bicocca - Tracce in CMSSW - Napoli 12/02/2007 6

modulo package, cfi/cff

siPixelClusters,

siPixelRecHits,

siStripClusters,

siStripMatchedRecHits

RecoLocalTracker/SiStripRecHitConverter/data/SiStripRecHitConverter.cfi

RecoLocalTracker/SiStripRecHitConverter/data/SiStripRecHitMatcher.cfi

RecoLocalTracker/SiStripRecHitConverter/data/StripCPEfromTrackAngle.cfi

RecoLocalTracker/SiStripClusterizer/data/SiStripClusterizer.cfi

RecoLocalTracker/SiPixelClusterizer/data/SiPixelClusterizer.cfi

RecoLocalTracker/SiPixelRecHits/data/SiPixelRecHits.cfi

globalMixedSeedsRecoTracker/TkSeedGenerator/data/GlobalMixedSeeds.cff

RecoTracker/TkSeedGenerator/data/GlobalMixedSeeds.cfi

ckfTrackCandidates RecoTracker/CkfPattern/data/CkfTrackCandidates.cff

RecoTracker/CkfPattern/data/CkfTrackCandidates.cfi

RecoTracker/TrackProducer/data/CTFFinalFitWithMaterial.cff

RecoTracker/TrackProducer/data/CTFFinalFitWithMaterial.cfictfWithMaterialTracks

Moduli and file cfi

Page 7: Giuseppe Cerati - MI-Bicocca - Tracce in CMSSW - Napoli 12/02/2007 Tracce in CMSSW Giuseppe Cerati Università e INFN Milano Bicocca CMS Italia - Tutorial

Giuseppe Cerati - MI-Bicocca - Tracce in CMSSW - Napoli 12/02/2007 7

2. disporre di un file con campione di eventi gia' digitalizzato

(digitizedSample.root)

https://twiki.cern.ch/twiki/bin/view/CMS/WorkBookSimDigi

Come runnare la ricostruzione

scramv1 p CMSSW CMSSW_1_2_0

cd CMSSW_1_2_0/src

eval `scramv1 runtime -csh`

cmscvsroot CMSSW

cvs login [98passwd]

1. setup di CMSSW:

3. editare un file RecoTracks.cfg:

4. eseguire: cmsRun RecoTracks.cfg

sequence trackerlocalreco =

{siPixelClusters, siPixelRecHits,

siStripClusters, siStripMatchedRecHits}

Page 8: Giuseppe Cerati - MI-Bicocca - Tracce in CMSSW - Napoli 12/02/2007 Tracce in CMSSW Giuseppe Cerati Università e INFN Milano Bicocca CMS Italia - Tutorial

Giuseppe Cerati - MI-Bicocca - Tracce in CMSSW - Napoli 12/02/2007 8

DataFormats/TrackReco/interface/TrackBase.h

DataFormats/TrackReco/interface/Track.h

Accesso a: reference point (point closest approach to beam line per tracce

“standard”) momento al reference point errori (sui singoli parametri, matrice di covarianza) carica chi2, gradi di liberta' hit (vettore, numero di validi, invalidi) innermost e outermost measurement (pos, mom, errors, detId)

La classe Track (Base)

Page 9: Giuseppe Cerati - MI-Bicocca - Tracce in CMSSW - Napoli 12/02/2007 Tracce in CMSSW Giuseppe Cerati Università e INFN Milano Bicocca CMS Italia - Tutorial

Giuseppe Cerati - MI-Bicocca - Tracce in CMSSW - Napoli 12/02/2007 9

Prendere un file contenente tracce ricostruite con CMSSW, chiamato recoTracks.root.

Eseguire:

root recoTracks.root

TBrowser b;

Semplice analisi con ROOT

Page 10: Giuseppe Cerati - MI-Bicocca - Tracce in CMSSW - Napoli 12/02/2007 Tracce in CMSSW Giuseppe Cerati Università e INFN Milano Bicocca CMS Italia - Tutorial

Giuseppe Cerati - MI-Bicocca - Tracce in CMSSW - Napoli 12/02/2007 10

da CMSSW_1_2_0/src:mkdir Demo

cd Demo

mkedanlzr -track DemoTrackAnalyzer

cd DemoTrackAnalyzer/src

Creare un EDAnalyzer

Per accedere ai dati in modo da poterli rielaborare:

1. Script di ROOT (FWLite mode). Carica le librerie di CMSSW in ROOT e

permette di usare le classi ed I metodi di CMSSW.

2. EDAnalyzer. EDAnalyzer è lo strumento più completo perchè parte

integrante di CMSSW: permette di riprocessare i dati accedendo

nuovamente all’Event, all’EventSetup ed ai suoi servizi.

Il comando mkedanalzr crea la struttura di un EDAnalyzer.

L’opzione -track lo predispone ad analizzare le tracce dell’evento.

Vengono creati il BuildFile e DemoTrackAnalyzer.cc. Non resta che editarli

a piacere.

Page 11: Giuseppe Cerati - MI-Bicocca - Tracce in CMSSW - Napoli 12/02/2007 Tracce in CMSSW Giuseppe Cerati Università e INFN Milano Bicocca CMS Italia - Tutorial

Giuseppe Cerati - MI-Bicocca - Tracce in CMSSW - Napoli 12/02/2007 11

Semplice esempio di EDAnalyzer...

1) Aggiungere la seguente riga al BuildFile:

<use name=root>

2) Includere in DemoTrackAnalyzer.cc le classi di ROOT per salvare istogrammi in un file di

output:

3) Aggiungere come variabili private i puntatori a un file di root e a un istogramma:

4) Nel metodo beginJob(...) aprire il file di output (chiamato outfile.root) e creare l'istogramma:

5) Nel metodo endJob() scrivere l'istogramma nel file di output:

6) Nel metodo analyze() calcolare la massa invariante e riempire l'istogramma:

Page 12: Giuseppe Cerati - MI-Bicocca - Tracce in CMSSW - Napoli 12/02/2007 Tracce in CMSSW Giuseppe Cerati Università e INFN Milano Bicocca CMS Italia - Tutorial

Giuseppe Cerati - MI-Bicocca - Tracce in CMSSW - Napoli 12/02/2007 12

... e relativo DemoTrackAnalyzer.cfg

da

CMSSW_1_2_0/src/Demo/

DemoTrackAnalyzer:

cmsRun test/TrackAnalyzer.cfg

root outfile.root

TBrowser b;

Page 13: Giuseppe Cerati - MI-Bicocca - Tracce in CMSSW - Napoli 12/02/2007 Tracce in CMSSW Giuseppe Cerati Università e INFN Milano Bicocca CMS Italia - Tutorial

Giuseppe Cerati - MI-Bicocca - Tracce in CMSSW - Napoli 12/02/2007 13

Road Search

Ulteriore algoritmo di ricostruzione tracce. Partendo da due hit di cui uno nei

layer interni ed uno nei layer esterni, seleziona gli hit lungo “road” predefinite

che collegano gli hit iniziali.http://indico.cern.ch/getFile.py/access?contribId=s16t4&sessionId=s16&resId=0&materialId=0&confId=a056066

http://indico.cern.ch/getFile.py/access?contribId=s2t3&sessionId=s2&resId=0&materialId=0&confId=a058543

http://indico.cern.ch/getFile.py/access?contribId

=s1t1&sessionId=s1&resId=0&materialId=0&confId=a057610

Altri algoritmi

Gaussian Sum Filter

Gli elettroni nel tracker perdono energia soprattutto per bremsstrahlung.

Pertanto la distribuzione di energia persa non può essere bene approssimata

con una semplice gaussiana (Kalman Filter) ma con una mistura di più

gaussiane (Gaussian Sum Filter). http://indico.cern.ch/getFile.py/access?contribId

=s8t9&sessionId=s8&resId=0&materialId=0&confId=a022015

http://indico.cern.ch/getFile.py/access?contribId

=s2t10&sessionId=s2&resId=2&materialId=0&confId=a041643

Page 14: Giuseppe Cerati - MI-Bicocca - Tracce in CMSSW - Napoli 12/02/2007 Tracce in CMSSW Giuseppe Cerati Università e INFN Milano Bicocca CMS Italia - Tutorial

Giuseppe Cerati - MI-Bicocca - Tracce in CMSSW - Napoli 12/02/2007 14

Refitting

Nuovo final fit dopo aver, ad esempio, cambiato la geometria. Permette inoltre

di accedere ai TrajectoryMeasurement ad ogni punto di misura (info non

persistente).https://twiki.cern.ch/twiki/bin/view/CMS/WorkBookTrackReco#RefTr

https://twiki.cern.ch/twiki/bin/view/CMS/WorkBookTrackReco#TrajLay

Transient Tracks

Estensione della classe Track. Accede ad ulteriori informazioni/caratteristiche:

ad esempio permette di propagare i parametri ad ogni punto dello spazio, cosa

utile per i vertici.https://twiki.cern.ch/twiki/bin/view/CMS/WorkBookVertexFittingTutorial#UseTransientTracks

https://twiki.cern.ch/twiki/bin/view/CMS/TTUsage090l

Associatori e Filtri

Per analisi più complete è utile associare le tracce ricostruite a quelle simulate,

ed applicare tagli opportuni.http://indico.cern.ch/materialDisplay.py?contribId=44&amp;sessionId=19&amp;materialId=

slides&amp;confId=6067

http://indico.cern.ch/materialDisplay.py?contribId=6&amp;sessionId=3&amp;materialId=slides&amp;confId=10927

Validation Esempio di analisi completa si trova nel codice di validazione: Validation/RecoTrack.

http://indico.cern.ch/getFile.py/access?contribId=0&amp;resId=0&amp;materialId=slides&amp;confId=11930

Altre operazioni avanzate + un esempio