140 likes | 348 Views
Tracce in CMSSW. Giuseppe Cerati Università e INFN Milano Bicocca CMS Italia - Tutorial di Software e Calcolo – Napoli, 12/02/2006. Outline. Ricostruzione di Tracce in CMS Implementazione in CMSSW Come runnare un job di ricostruzione Semplice accesso alle Tracce ricostruite: bare ROOT
E N D
Tracce in CMSSW Giuseppe CeratiUniversità e INFN Milano Bicocca CMS Italia - Tutorial di Software e Calcolo – Napoli, 12/02/2006
Outline Ricostruzione di Tracce in CMS Implementazione in CMSSW Come runnare un job di ricostruzione Semplice accesso alle Tracce ricostruite: bare ROOT Esempio di EDAnalyzer Informazioni extra
Combinatorial Track Finder • 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 2) 3) 1) Seed Hit compatibili Hit non compatibili
Struttura di CMSSW • 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>() • cmsRunEsiste 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.
input operazione prodotto Digis Ricostruzione Locale RecHitCollection RecHitCollection Seeding TrajectorySeedCollection TrajectorySeedCollection Pattern Recognition TrackCandidateCollection TrackCandidateCollection Final Fit TrackCollection Track Reconstruction Steps Il processo di ricostruzione inizia con la ricostruzione locale dei digis e termina producendo le Tracce. Event Event 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).
Moduli and file cfi modulo package, cfi/cff 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 siPixelClusters, siPixelRecHits,siStripClusters,siStripMatchedRecHits RecoTracker/TkSeedGenerator/data/GlobalMixedSeeds.cffRecoTracker/TkSeedGenerator/data/GlobalMixedSeeds.cfi globalMixedSeeds RecoTracker/CkfPattern/data/CkfTrackCandidates.cff RecoTracker/CkfPattern/data/CkfTrackCandidates.cfi ckfTrackCandidates RecoTracker/TrackProducer/data/CTFFinalFitWithMaterial.cffRecoTracker/TrackProducer/data/CTFFinalFitWithMaterial.cfi ctfWithMaterialTracks
Come runnare la ricostruzione setup di CMSSW: scramv1 p CMSSW CMSSW_1_2_0 cd CMSSW_1_2_0/src eval `scramv1 runtime -csh`cmscvsroot CMSSW cvs login [98passwd] disporre di un file con campione di eventi gia' digitalizzato (digitizedSample.root) https://twiki.cern.ch/twiki/bin/view/CMS/WorkBookSimDigi editare un file RecoTracks.cfg: sequence trackerlocalreco = {siPixelClusters, siPixelRecHits, siStripClusters, siStripMatchedRecHits} eseguire:cmsRun RecoTracks.cfg
La classe Track (Base) 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)
Semplice analisi con ROOT Prendere un file contenente tracce ricostruite con CMSSW, chiamato recoTracks.root. Eseguire:root recoTracks.rootTBrowser b;
Creare un EDAnalyzer Per accedere ai dati in modo da poterli rielaborare: Script di ROOT (FWLite mode). Carica le librerie di CMSSW in ROOT e permette di usare le classi ed I metodi di CMSSW. 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. da CMSSW_1_2_0/src:mkdir Demo cd Demo mkedanlzr -track DemoTrackAnalyzer cd DemoTrackAnalyzer/src Vengono creati il BuildFile e DemoTrackAnalyzer.cc. Non resta che editarli a piacere.
Semplice esempio di EDAnalyzer... Aggiungere la seguente riga al BuildFile:<use name=root> Includere in DemoTrackAnalyzer.cc le classi di ROOT per salvare istogrammi in un file di output: Aggiungere come variabili private i puntatori a un file di root e a un istogramma: Nel metodo beginJob(...) aprire il file di output (chiamato outfile.root) e creare l'istogramma: Nel metodo endJob() scrivere l'istogramma nel file di output: Nel metodo analyze() calcolare la massa invariante e riempire l'istogramma:
... e relativo DemoTrackAnalyzer.cfg daCMSSW_1_2_0/src/Demo/DemoTrackAnalyzer: cmsRun test/TrackAnalyzer.cfg root outfile.root TBrowser b;
Altri algoritmi • 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=a056066http://indico.cern.ch/getFile.py/access?contribId=s2t3&sessionId=s2&resId=0&materialId=0&confId=a058543http://indico.cern.ch/getFile.py/access?contribId=s1t1&sessionId=s1&resId=0&materialId=0&confId=a057610 • 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=a022015http://indico.cern.ch/getFile.py/access?contribId=s2t10&sessionId=s2&resId=2&materialId=0&confId=a041643
Altre operazioni avanzate + un esempio • RefittingNuovo 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#RefTrhttps://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#UseTransientTrackshttps://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=6067http://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