Вы находитесь на странице: 1из 20

PropuestadeSoftwaredeReconstrucciny AnlisisparaTrasgo

PabloCabanelas
LaboratorioCarmenFernndez,USC

Proyecto 1ReunindeTrabajo,Compostela,Diciembrede2008

OUTLINE:
1Finalidadynecesidadesdelsoftware Finalidad Necesidades POO:ROOTyGeant4 2EstructuraGeneral TrasgoSimple:laSAETA Cluster:ReconstruccinGlobal 3EstructuraIndividual EstructuraynivelesdedatosparaunTrasgo EstructuraynivelesdedatosparaunCluster 4ConsideracionesFinales

1FinalidadyNecesidadesdelSoftware

FINALIDAD:
Proporcionaralusuariounconjuntodedatosyreglas, convenientementeestructuradosydocumentados,decara aunposterioranlisisdeformarpidaysencilla,sin necesidaddequeconozcaafondoqueseescondeenel propiocdigo:

UserFriendlyFramework

1FinalidadyNecesidadesdelSoftware

QUENECESITA:
Sercompilable,ejecutableytrabajarstandaloneencualquier plataforma. Perimitireltrabajodevariosprogramadoresalavez. Facilidadparaimplementardiferentesalgoritmosotareas Unainterfazsencillaconelusuario Manejardiferentesestructurasdedatos Proporcionardiferentesformatosdeoutputs Sercompatibleconsimulaciones

1FinalidadyNecesidadesdelSoftware

LaProgramacinOrientadaaObjetoscumpletodos losrequisitos,yenparticular,C++:
Compiladorg++:gratuitoydisponibleparacasitodaslasplataformas. Flexibilidadymodularidad:Encapsulacin,HerenciayPolimorfismo. Satisfacelosrequerimientosmencionados. InterfazinmediataconROOT(elframeworkdeanlisismsusadoenla actualidadenFsicadeAltasEnergas)yconGeant4(paquetede simulacindelpasodepartculasatravsdemateriales)

EstructuraGeneral:

2EstructuraGeneral

Lareconstruccinestdivididaen2pasosindependientes, quepuedenestarconectadossifuesenecesario:

ReconstruccinparaunTrasgo

ReconstruccinparaunClusterde Trasgos

2EstructuraGeneral

Trasgo:
Desde el punto de vista del usuario, y sin entrar en detalles internos (por ahora!), la salida del programa ser la informacin completa del evento, sea real o simulado, recogidaenelconceptodeSAETA:

SimplestArrangemEntofTrasgodAta

Trasgo:
Desde el punto de vista del programador, la SAETAserunobjetocuyosdatamembers sonlosobservablesrelevantes: X,Y,Proy(YZ),Proy(XZ)(referenciaenel planocentraldelTrasgo). t,v,E,... Errores,Mij,Residuos... Otros(e.g.Prob.deserunaciertapartcula). Loquesenosvayaocurriendo...

2EstructuraGeneral

2EstructuraGeneral

Cluster:
Elsegundopasoconsisteenla

reconstruccindevariasSAETAs
(respectounTrasgoMaestro) El programa debe ser lo suficientemente flexible como para reconstruir SAETAs provenientes de Clusters con cualquier configuracinquenospodamosimaginar: Trasgospuestosjuntos Trasosseparadosgeogrficamente Trasgosadiferentesalturas Etc.

Lasalidadelprogramaresumetodala informacin,independientementedela configuracindelCluster!

3EstructuraIndividual:Trasgo

Trasgo:Estructuraynivelesdedatos Consideracionesiniciales,'nuestrocdigodebe':
Manejarelflujodeentradadedatosyreconstruir eventoaevento,tantorealescomosimulados. Manejarlosdiferentesparmetrosnecesariosparala reconstruccin. Producirsalidasdedatoselaboradosdespusde cadanivel. Manejarlosdiferentesalgoritmosotareasqueel

usuarioquierarealizar.

3EstructuraIndividual:Trasgo

Trasgo:EstructuradelSoftware
TrParams

Parametros necesarios

TrDataLevel Trasgo data members Output

Algoritmos

TrTask add() setTasks()

getEvent() getParams() init() TrDataLevel data members Output

Datos

TrSource

TrEvent getSource()

3EstructuraIndividual:Trasgo

Trasgo:Nivelesdedatos
DAQ

RawData
Task:Unpacker (Binaryfiles) Task:Calibrater

SIMULACIN (Geant4)

Calibrated Data
Task:HitFinder

Output

REAL

Hit Data
Task:Tracking (CharladeHans)

Output

Objetodela'clase'TrSaeta

SAETA

Output

3EstructuraIndividual:Trasgo

Trasgo:Consideracionessobreelflujode salida(Outputs):
Cada nivel de datos debe tener su salida, en la que se almacenanlosresultados(paracada'run','x'eventos,'x'tiempo, 'x'bytes,etc.),yseraccesiblesencadamomento. Lasalidapuedeguardarseendiferentesformatos,perotodoshan depermitirunfcilmanejoyanlisis: SalidaenformadeMatrizdeDatosenformatoASCII(p.ej.Para usuariosdeMatlab) SalidaenTreeOrganizedROOTFiles(InterfazdeROOT) Adems,sepuedehacerusodelas'categorias':unacategoraes un contenedor de objetos, debidamente estruccturados para su fcil acceso, y que son todos del mismo tipo (pertenecen a la

mismaclase)

3EstructuraIndividual:Trasgo

Trasgo:ConsideracionessobrelaSimulacin:
Adems del propio software de reconstruccin, dentro del 'paquete' se distribuye tambin el software de simulacin de un trasgo. Est basado en Geant4 (escrito tambin en C++), que simula el paso de partculas a travs de materiales, incluyendo todos sus procesos. As,incluira: LageometradeunTrasgodescritaenGeant. Los materiales que constituyen un Trasgo, en sus diferentes versiones. Losalgoritmosde 'digitizacin': transformar loque proporciona Geanteninformacinusableporelsoftwaredereconstruccin

3EstructuraIndividual:Cluster

Cluster:Estructuraynivelesdedatos

Elobjetivoeslareconstruccin conjuntadevariasSAETAspara obtenerunniveldedatossuperior.

LasmltiplesconfiguracionesdeunCluster obliganaqueelsoftwarederecontruccin seaenormementeflexible,yadaptablealas necesidadesdecadausuario.


3EstructuraIndividual:Cluster

Cluster:Consideraciones
Losdiferentesalgoritmos aplicados(segnelcaso),hande partirdelmismopunto:laSAETA individualdecadaTrasgo. Estosalgoritmoshandeser capacesdeextrapolarla reconstruccinyelresultadoa cualquiersituacin. Lassalidasdedatosse estructuranyguardandelamisma maneraqueparaunTrasgo

individual:

3EstructuraIndividual:Cluster

Cluster:EstructuradelSoftware
Parametros necesarios ClParams ClDataLevel data members Output

Cluster getEvent() Algoritmos ClTask add() setTasks() getParams() init()

ClDataLevel data members Output

ClEvent

Saetas

(objetosdelaclaseTrSaeta paracadaTrasgoindividual)

loop()

RESUMIENDO:

4ConsideracionesFinales

ColocaunTrasgo,ponloa medir,yporcadaeventote darunaSAETA

DametuconjuntodeSAETAS, ytedigoloqueocurrienel Cluster

4ConsideracionesFinales

CONSIDERACINFINAL:
Dndevivenlostrasgos?.Enlosbosques! Yqucomen?.Trufas!!!!(Truffle)

TRUFA
TRasgoUserfriendlyFrameworkforAnalysis

Вам также может понравиться