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
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
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
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
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
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).
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
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}
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)
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
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.
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:
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;
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
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&sessionId=19&materialId=
slides&confId=6067
http://indico.cern.ch/materialDisplay.py?contribId=6&sessionId=3&materialId=slides&confId=10927
Validation Esempio di analisi completa si trova nel codice di validazione: Validation/RecoTrack.
http://indico.cern.ch/getFile.py/access?contribId=0&resId=0&materialId=slides&confId=11930
Altre operazioni avanzate + un esempio