Tag Database

OID	pt_miss	E_tot	pt1	...

uuu	uuu	uuu	uuu	uuu

vvv	vvv	vvv	vvv	vvv

www	www	www	www	vvv

xxx	xxx	xxx	xxx	xxx

yyy	yyy	yyy	yyy	yyy

zzz	zzz	zzz	zzz	zzz

Tag Database

OID	pt_miss	E_tot	pt1	...

uuu	uuu	uuu	uuu	uuu

vvv	vvv	vvv	vvv	vvv

www	www	www	www	vvv

xxx	xxx	xxx	xxx	xxx

yyy	yyy	yyy	yyy	yyy

zzz	zzz	zzz	zzz	zzz

Collection

Event Collections

Etapes d'analyse:

Choix des donnees interessants dans le Bookkeeping DB.

Choix des Evenements interessants dans le Tag DB (AttributeSet DB).

Traitement des Evenements.

Event

Event

Event

Event

Event

Event

Tag DB

OID	pt_miss	E_tot	pt1	...

uuu	uuu	uuu	uuu	uuu

vvv	vvv	vvv	vvv	vvv

www	www	www	www	vvv

xxx	xxx	xxx	xxx	xxx

yyy	yyy	yyy	yyy	yyy

zzz	zzz	zzz	zzz	zzz

Bookkeeping DB

Higgs sample

B sample

Top sample

...

Location & Replication DB

SQLTuple + ColMan

http://hrivnac.home.cern.ch/Activities/Packages/SQLTuple

http://hrivnac.home.cern.ch/Activities/Packages/ColMan

http://hrivnac.home.cern.ch/Activities/Packages/Indicium

http://aida.freehep.org

http://java.freehep.org

SQLTuple fournit l'interface ITuple d'AIDA de la base de donnees SQL, incl. Tag DB.

ColMan fournit des operations globales de gestion de collection (selection, fusionnement,...).

ColManC est sa interface de C++.

ColManWS est son Web Service.

Indicium - un paquet plus fonctionnel a ete developped aussi. Il est, cependant, incompatible avec LCG.

SQLTuple peut etre utilisee avec d'autres outils d'AIDA et de FreeHEP.

FreeHEP AIDA peut utilisee beaucoup de formats persistants, incl. XML, HBook, RootFiles (ecriture ecrit partialy au LAL) et SQL (ecrit au LAL).

FreeHEP

JAIDA

JAS3

SQLTuple

AIDA

ITuple

Tag DB

ColManWS

ColManC

ColMan

ITuple

in SQL DB

ITuple

in XML file

filter

ITuple in JAS3

Athena

GraXML

FreeHEP

GDML
(Geometry Description Markup Language)

Geant4

Engine

Geometric Model

Generic Model

GeoModel

GDML

UI

JAS3

XML

Java3D

JAXB

plugin

other plugins

http://gdml.web.cern.ch/gdml

http://hrivnac.home.cern.ch/hrivnac/Activities/Packages/GraXML

http://hrivnac.home.cern.ch/hrivnac/Activities/Packages/GDML

http://java.freehep.org

http://jas.freehep.org

GDML est semblable (mais plus simple) comme AGDD, developpe dans Atlas (incl. par LAL) avant GeoModel. Migration AGDD - > GDML est simple.

Le modele de GDML dans GraXML est presque complet.

Le connection GDML-GeoModel n'existe pas encore, mais sera necessaire.

GDML peut etre efficacement stocke dans le DB de XML (comme Xindice).

Le Toolkit de GraXML fournit toutes les operations geometriques (tracer, positionnement, detection de collision, calibration,...).

Le Display de GraXML (petite couche sur le toolkit) est employe dans plusieurs experiences (incl. Alice et LCD). Il a quelques functions uniques.

Xindice

XML DB

Root TGeo

VMC (Virtual Monte Carlo)

a

a

a

a

a

a

i

i

i

i

i

i

i

i

i

GraXML
(Framework for manipulation and visualisation of
the geometrical objects in space.)

<define>

<quantity type="length"

name="sizeoft500"

unit="mm"

value="500.0"/>

<position name="shiftbysizeoft500"

x="500.0"/>

</define>

<box name="WorldBox"

x="10000.0"

y="10000.0"

z="10000.0"/>

<sphere name="s1"

rmax="200.0"

deltaphi="TWOPI"

deltatheta="PI"/>

<union name="u1">

<first ref="b500"/>

<second ref="b100"/>

<position name="unionidentitypos"/>

<rotation name="unionidentityrot"/>

</union>

<volume name="World">

<materialref ref="Air"/>

<solidref ref="WorldBox"/>

<child>

<volumeref ref="v1"/>

<positionref ref="shiftbyx"/>

<rotationref ref="rotatebyall"/>

</child>

</volume>

if (first) {

if (phiPoint < -0.5 * pi) {

phiOffset = -0.5 * pi;

} else if (phiPoint > 0.5 * pi) {

phiOffset = 0.5 * pi;

}

phiMin = phiMax = phiPoint - phiOffset;

etaMin = etaMinPoint;

etaMax = etaMaxPoint;

} else {

phiPoint -= phiOffset;

// put phi back in -pi < phi < +pi range

if (phiPoint < -pi) phiPoint += 2. * pi;

if (phiPoint > pi) phiPoint -= 2. * pi;

phiMin = std::min(phiMin, phiPoint);

phiMax = std::max(phiMax, phiPoint);

etaMin = std::min(etaMin, etaMinPoint);

etaMax = std::max(etaMax, etaMaxPoint);

}

first = false;

}

phiMin += phiOffset;

phiMax += phiOffset;

if (phiMin < -pi) phiMin += 2. * pi;

if (phiMin > pi) phiMin -= 2. * pi;

if (phiMax < -pi) phiMax += 2. * pi;

if (phiMax > pi) phiMax -= 2. * pi;

Geant4 GDML

GraXML

Atlas GeoModel

Julius Hrivnac

2004-03-14T12:18:07

Julous Hrivnac

Julius Hrivnac