Gaudi Users Guide · 2001. 12. 20. · Gaudi LHCb Data Processing Applications Framework Users...
Transcript of Gaudi Users Guide · 2001. 12. 20. · Gaudi LHCb Data Processing Applications Framework Users...
-
Gau
di
LHC
b D
ata
Pro
cess
ing
App
licat
ions
Fra
mew
ork
Use
rs G
uid
e C
orre
spon
ding
to G
audi
rel
ease
v9
Ver
sion
:9
Issu
e:0
Ed
itio
n:0
Stat
us:
ID
:
Dat
e:19
Dec
embe
r 20
01
Eu
rop
ean
Lab
orat
ory
for
Par
ticl
e P
hys
ics
Lab
orat
oire
Eu
rop
éen
pou
r la
Ph
ysiq
ue
des
Par
ticu
les
CH
-121
1 G
enèv
e 23
- S
uis
se
-
Gau
di
Use
rs G
uide
19
Dec
embe
r 20
01
Ver
sion
/Issu
e:9/
0
pag
e ii
Do
cum
ent
Co
ntr
ol S
hee
t
Do
cum
ent
Sta
tus
Sh
eet
Do
cu
men
t T
itle
: G
aud
i Use
rs G
uid
e
Ver
sio
n:
9
Iss
ue:
0
Ed
itio
n:
0
ID:
Dat
e:
19 D
ecem
ber
2001
Key
wo
rds:
Too
ls
DT
P S
yste
m:
Ad
obe
Fram
eMak
erV
ersi
on
: 6.
0
Lay
ou
t Te
mp
late
: So
ftw
are
Doc
umen
tati
on
Layo
ut T
empl
ates
Ver
sio
n:
V1
- 15
Janu
ary
1999
Au
tho
rsh
ip
Co
ord
ina
tor:
M
.Cat
tane
o (f
rom
Oct
ober
199
9)P.
Mal
ey (u
ntil
Sept
embe
r 19
99)
Tit
le:
Gau
di U
sers
Gu
ide
ID:
Ver
sio
n
Issu
e D
ate
Re
aso
n f
or
chan
ge
60
15/N
ov/0
0R
elea
se o
f ver
sion
6 o
f the
GA
UD
I fra
mew
ork
61
27/N
ov/0
0U
pdat
e ch
apte
r 8
and
sect
ion
3.3.
1
62
5/D
ec/0
0C
orre
ctio
ns to
sec
tion
6.1
0, A
ppen
dix
B
63
8/Ja
n/01
Add
firs
t tw
o lin
es o
f cod
e lis
ting
76
70
20/A
pr/0
1R
elea
se o
f ver
sion
7 o
f GA
UD
I fra
mew
ork
80
28/A
ug/0
1R
elea
se o
f ver
sion
8 o
f GA
UD
I fra
mew
ork
90
19/D
ec/0
1R
elea
se o
f ver
sion
9 o
f GA
UD
I fra
mew
ork
-
p
age
iii
Gau
di
Use
rs G
uide
Tab
le o
f Con
tent
s V
ersi
on/Is
sue:
9/0
Tab
le o
f C
on
ten
ts
Doc
umen
t Con
trol
She
et
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.i
iD
ocum
ent S
tatu
s Sh
eet
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.ii
Ch
apte
r 1
Intr
od
uct
ion
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.1
1.1
Pu
rpos
e of
the
docu
men
t .
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.1
1.2
Con
vent
ions
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
21.
3 R
epor
ting
pro
blem
s .
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
5
1.4
Ed
itor
’s n
ote
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.5
Ch
apte
r 2
Th
e fr
amew
ork
arc
hit
ectu
re.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.7
2.1
Ove
rvie
w .
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.7
2.2
Why
arc
hite
ctu
re?
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
72.
3 D
ata
vers
us c
ode
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.8
2.4
Mai
n co
mp
onen
ts .
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
92.
5 C
ontr
ollin
g an
d S
ched
ulin
g .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
11
Ch
apte
r 3
Rel
ease
no
tes
and
so
ftw
are
inst
alla
tio
n
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. 1
3
3.1
Rel
ease
His
tory
.
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. 1
3
3.2
Cur
rent
Fu
ncti
onal
ity
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. 1
43.
3 C
hang
es b
etw
een
rele
ases
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
16
3.4
Ava
ilabi
lity
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
193.
5 U
sin
g th
e fr
amew
ork
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. 1
9
3.6
Wor
king
wit
h d
evel
opm
ent r
elea
ses
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
21
3.7
Inst
alla
tion
of t
he fr
amew
ork
outs
ide
CE
RN
.
.
. .
.
.
.
.
. .
.
.
.
.
22
Ch
apte
r 4
Get
tin
g s
tart
ed
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
25
4.1
Ove
rvie
w .
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
254.
2 C
reat
ing
a jo
b .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
25
4.3
The
mai
n pr
ogra
m
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
26
4.4
Con
figu
ring
the
job
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
27
4.5
Alg
orit
hms
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
304.
6 Jo
b ex
ecut
ion
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
32
4.7
Exa
mpl
es d
istr
ibu
ted
wit
h G
audi
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
34
4.8
Ad
dit
iona
l LH
Cb
spec
ific
exa
mp
les
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
35
Ch
apte
r 5
Wri
tin
g a
lgo
rith
ms
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
37
-
Gau
di
Use
rs G
uide
Tab
le o
f Con
tent
s V
ersi
on/Is
sue:
9/0
pag
e iv
5.1
Ove
rvie
w .
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
37
5.2
Alg
orit
hm b
ase
clas
s
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
37
5.3
Der
ived
alg
orit
hm c
lass
es .
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
40
5.4
Nes
ting
alg
orit
hms
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
43
5.5
Alg
orit
hm s
equ
ence
s, b
ranc
hes
and
filt
ers
. .
.
.
.
.
. .
.
.
.
.
. .
.
44
Ch
apte
r 6
Acc
essi
ng
dat
a .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
47
6.1
Ove
rvie
w .
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
476.
2 U
sin
g th
e d
ata
stor
es
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
47
6.3
Usi
ng
dat
a ob
ject
s
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
49
6.4
Obj
ect c
onta
iner
s .
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
50
6.5
Usi
ng
obje
ct c
onta
iner
s .
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. 5
16.
6 D
ata
acce
ss c
hec
klis
t .
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
53
6.7
Def
inin
g D
ata
Obj
ects
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
536.
8 T
he S
mar
tDat
aPtr
/Sm
artD
ataL
ocat
or u
tilit
ies
.
.
.
. .
.
.
.
.
. .
.
.
55
6.9
Smar
t Ref
eren
ces
and
Sm
art R
efer
ence
Vec
tors
.
.
.
. .
.
.
.
.
. .
.
.
56
6.10
Per
sist
ent s
tora
ge o
f dat
a
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. 5
7
Ch
apte
r 7
Mo
del
ling
Eve
nt
Dat
a .
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
59
Ch
apte
r 8
Det
ecto
r D
escr
ipti
on
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
61
8.1
Ove
rvie
w .
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
61
8.2
Det
ecto
r D
escr
ipti
on D
atab
ase
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
618.
3 D
etec
tor
Dat
a T
rans
ient
Sto
re
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
63
8.4
Gen
eral
feat
ure
s of
the
det
ecto
r d
escr
ipti
on
.
. .
.
.
.
.
. .
.
.
.
.
. 6
98.
5 P
ersi
sten
t rep
rese
ntat
ion
base
d o
n X
ML
file
s .
.
.
. .
.
.
.
.
. .
.
.
.
73
8.6
Per
sist
ent s
tora
ge in
a C
ondi
tion
s D
atab
ase
.
.
.
. .
.
.
.
.
. .
.
.
.
87
Ch
apte
r 9
His
tog
ram
fac
iliti
es
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. 9
3
9.1
Ove
rvie
w .
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
939.
2 Th
e H
isto
gram
ser
vice
. .
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. 9
3
9.3
Usi
ng
hist
ogra
ms
and
the
hist
ogra
m s
ervi
ce
. .
.
.
.
.
. .
.
.
.
.
. .
94
9.4
Per
sist
ent s
tora
ge o
f his
togr
ams
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
95
Ch
apte
r 10
N
-tu
ple
an
d E
ven
t C
olle
ctio
n f
acili
ties
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
97
10.1
Ove
rvie
w
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. 9
710
.2 N
-tu
ple
s an
d th
e N
-tup
le S
ervi
ce .
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
97
10.3
Eve
nt C
olle
ctio
ns
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
102
10.4
Kno
wn
Pro
blem
s
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
109
Ch
apte
r 11
p
age
v
Gau
di
Use
rs G
uide
Tab
le o
f Con
tent
s V
ersi
on/Is
sue:
9/0
Fra
mew
ork
ser
vice
s
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
111
11.1
Ove
rvie
w
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. 11
111
.2 R
equ
esti
ng a
nd a
cces
sing
ser
vice
s .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
. 11
1
11.3
The
Job
Op
tion
s Se
rvic
e .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
113
11.4
The
Sta
ndar
d M
essa
ge S
ervi
ce
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
120
11.5
The
Par
ticl
e P
rop
erti
es S
ervi
ce
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
123
11.6
The
Chr
ono
& S
tat s
ervi
ce
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. 12
6
11.7
The
Aud
itor
Ser
vice
.
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
. 1
2911
.8 T
he R
and
om N
um
bers
Ser
vice
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
. 13
1
11.9
The
Inc
iden
t Ser
vice
.
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
. 1
3411
.10
The
GiG
a Se
rvic
e .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
. 13
5
11.1
1 T
he G
aud
i Int
rosp
ecti
on S
ervi
ce
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
135
11.1
2 D
evel
opin
g ne
w s
ervi
ces
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
. 13
6
Ch
apte
r 12
T
oo
ls a
nd
To
olS
vc .
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
. 1
39
12.1
Ove
rvie
w
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. 13
912
.2 T
ools
and
Ser
vice
s .
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. 13
9
12.3
The
Too
lSvc
.
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
145
12.4
Gau
diT
ools
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. 14
7
Ch
apte
r 13
C
on
vert
ers
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. 15
3
13.1
Ove
rvie
w
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. 15
3
13.2
Per
sist
ency
con
vert
ers
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
. 1
5313
.3 C
olla
bora
tors
in th
e co
nver
sion
pro
cess
.
.
.
.
. .
.
.
.
.
. .
.
.
. 1
54
13.4
The
con
vers
ion
pro
cess
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
. 1
5613
.5 C
onve
rter
imp
lem
enta
tion
- ge
nera
l con
sid
erat
ions
.
.
.
. .
.
.
.
.
. .
158
13.6
Sto
ring
Dat
a u
sin
g th
e R
OO
T I/
O E
ngin
e
.
. .
.
.
.
.
. .
.
.
.
.
. 15
813
.7 T
he C
onve
rsio
n fr
om T
rans
ient
Obj
ects
to R
OO
T O
bjec
ts .
.
.
.
.
. .
.
.
159
13.8
Sto
ring
Dat
a u
sin
g ot
her
I/O
Eng
ines
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. 16
0
Ch
apte
r 14
S
crip
tin
g a
nd
Inte
ract
ivit
y
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
. 16
1
14.1
Ove
rvie
w
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. 16
1
14.2
How
to e
nabl
e P
ytho
n sc
rip
ting
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
161
14.3
Cur
ren
t fun
ctio
nalit
y .
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
. 16
3
14.4
Phy
sics
An
alys
is E
nvir
onm
ent
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
167
Ch
apte
r 15
V
isu
aliz
atio
n F
acili
ties
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
169
15.1
Ove
rvie
w
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. 16
915
.2 T
he d
ata
visu
aliz
atio
n m
odel
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
169
15.3
Vis
Sys
- th
e G
aud
i vis
ualis
atio
n se
rvic
es
. .
.
.
.
.
. .
.
.
.
.
. .
.
170
15.4
Pan
oram
ix -
the
LHC
b ev
ent d
isp
lay
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. 17
2
-
Gau
di
Use
rs G
uide
Tab
le o
f Con
tent
s V
ersi
on/Is
sue:
9/0
pag
e v
i
Ch
apte
r 16
F
ram
ewo
rk p
acka
ges
, in
terf
aces
an
d li
bra
ries
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
173
16.1
Ove
rvie
w
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. 17
3
16.2
Gau
di P
acka
ge S
tru
ctu
re .
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
. 1
7316
.3 In
terf
aces
in G
aud
i .
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
176
16.4
Lib
rari
es in
Gau
di
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
179
Ch
apte
r 17
A
nal
ysis
uti
litie
s.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. 18
5
17.1
Ove
rvie
w
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. 18
517
.2 C
LH
EP
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
185
17.3
HT
L
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
185
17.4
NA
G C
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
. 1
86
17.5
RO
OT
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
186
Ch
apte
r 18
A
cces
sin
g S
ICB
fac
iliti
es
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
. 1
87
18.1
Ove
rvie
w
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. 18
7
18.2
Rea
ding
tape
s .
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
187
18.3
Pop
ula
ting
the
GA
UD
I tra
nsie
nt d
ata
stor
e: S
ICB
Con
vert
ers
.
.
.
. .
.
.
188
18.4
Acc
ess
to th
e M
agne
tic
Fiel
d
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
. 1
9018
.5 A
cces
sing
the
SIC
B d
etec
tor
Geo
met
ry fr
om G
aud
i .
.
.
.
. .
.
.
.
.
. 19
1
18.6
Usi
ng F
OR
TR
AN
cod
e in
Gau
di
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
. 1
9218
.7 H
and
ling
pile
up
in G
aud
i. .
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
193
18.8
Han
dlin
g Sp
illO
ver
in G
aud
i .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
195
18.9
Inc
reas
ing
the
size
of t
he Z
EB
RA
CO
MM
ON
blo
ck
. .
.
.
.
.
. .
.
.
. 1
96
Ap
pen
dix
A
Ref
eren
ces
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
197
Ap
pen
dix
B
Op
tio
ns
for
stan
dar
d c
om
po
nen
ts
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
. 19
9
Ap
pen
dix
C
Job
Op
tio
ns
Gra
mm
ar a
nd
Err
or
Co
des
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
. 20
7
Ap
pen
dix
D
Des
ign
co
nsi
der
atio
ns
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
. 21
3
-
p
age
1
Gau
di
Use
rs G
uide
Cha
pter
1 I
ntro
duct
ion
Ver
sion
/Issu
e:9/
0
Ch
apte
r 1
Intr
od
uct
ion
1.1
Pu
rpo
se o
f th
e d
ocu
men
t
Thi
s d
ocu
men
t is
inte
nde
d a
s a
com
bina
tion
of u
ser
guid
e an
d tu
tori
al fo
r th
e u
se o
f the
G
audi
ap
plic
atio
n fr
amew
ork
soft
war
e. I
t is
com
ple
men
ted
pri
ncip
ally
by
two
othe
r “d
ocu
men
ts”:
the
Arc
hite
ctu
re D
esig
n D
ocu
men
t (A
DD
) [1]
, and
the
onlin
e au
to-g
ener
ated
re
fere
nce
doc
umen
tati
on [2
]. A
thir
d d
ocu
men
t [3]
list
s th
e U
ser
Req
uir
emen
ts a
nd S
cena
rios
th
at w
ere
used
as
inpu
t and
val
idat
ion
of th
e ar
chit
ectu
re d
esig
n. A
ll th
ese
doc
um
ents
and
ot
her
info
rmat
ion
abou
t Gau
di,
incl
udin
g so
urce
cod
e d
ocum
enta
tion
, are
ava
ilabl
e vi
a th
e G
audi
hom
e p
age:
htt
p://c
ern.
ch/p
roj-
gaud
i. D
ocum
enta
tion
of t
he L
HC
b ex
tens
ions
to G
aud
i, an
d a
cop
y of
this
use
r gu
ide,
are
ava
ilabl
e on
the
LH
Cb
web
at:
http
://ce
rn.c
h/lh
cb-c
omp/
Fram
ewor
ks/G
audi
/. It
is r
ecom
men
ded
that
you
als
o st
udy
the
mat
eria
l of
the
LH
Cb
Gau
di t
utor
ials
giv
en a
t CER
N, w
hich
is a
vaila
ble
at
http
://ce
rn.c
h/lh
cb-c
omp/
Fram
ewor
ks/G
audi
/Gau
diTu
tori
al.h
tm. S
hou
ld y
ou w
ish
to e
nrol
on
a fu
ture
tuto
rial
, you
sh
ould
sen
d m
ail t
o M
arku
s.Fr
ank@
cern
.ch.
The
AD
D c
onta
ins
a d
iscu
ssio
n of
the
arch
itec
ture
of t
he fr
amew
ork,
the
maj
or d
esig
n ch
oice
s ta
ken
in a
rriv
ing
at th
is a
rchi
tect
ure
and
som
e of
the
reas
ons
for
thes
e ch
oice
s. I
t sho
uld
be
of
inte
rest
to a
nyon
e w
ho
wis
hes
to w
rite
an
ythi
ng o
ther
than
pri
vate
ana
lysi
s co
de.
As
dis
cuss
ed in
the
AD
D th
e ap
plic
atio
n fr
amew
ork
shou
ld b
e u
sabl
e fo
r im
plem
enti
ng
the
full
rang
e of
off
line
com
puti
ng ta
sks:
the
gene
rati
on o
f eve
nts,
sim
ula
tion
of t
he d
etec
tor,
even
t rec
onst
ruct
ion,
test
beam
dat
a an
alys
is, d
etec
tor
alig
nmen
t, vi
sual
isat
ion,
etc
. etc
..
In th
is d
ocu
men
t we
pre
sent
the
mai
n co
mpo
nent
s of
the
fram
ewor
k w
hich
are
ava
ilabl
e in
th
e cu
rren
t rel
ease
of t
he s
oftw
are.
It is
inte
nded
to in
crem
ent t
he fu
ncti
onal
ity
of th
e so
ftw
are
at e
ach
rele
ase,
so
this
doc
um
ent w
ill a
lso
dev
elop
as
the
fram
ewor
k in
crea
ses
in fu
ncti
onal
ity.
H
avin
g sa
id th
at, p
hysi
cist
use
rs a
nd d
evel
oper
s ac
tual
ly s
ee o
nly
a sm
all f
ract
ion
of th
e fr
amew
ork
cod
e in
the
form
of
a nu
mbe
r of
key
inte
rfac
es. T
hese
inte
rfac
es s
hou
ld c
hang
e ve
ry li
ttle
if a
t all
and
the
use
r of
the
fram
ewor
k ca
res
very
litt
le a
bou
t wha
t goe
s on
in th
e ba
ckgr
ound
.
-
Gau
di
Use
rs G
uide
Cha
pter
1 I
ntro
duct
ion
Ver
sion
/Issu
e:9/
0
pag
e 2
The
doc
um
ent i
s ar
rang
ed a
s fo
llow
s: C
hapt
er 2
is a
sho
rt r
esum
e of
the
fram
ewor
k ar
chit
ectu
re, p
rese
nted
from
an
“Alg
orit
hm-c
entr
ic”
poi
nt o
f vie
w, a
nd re
-ite
rati
ng o
nly
a p
art
of w
hat i
s pr
esen
ted
in th
e A
DD
.
Cha
pter
3 c
onta
ins
a su
mm
ary
of th
e fu
ncti
onal
ity
whi
ch is
pre
sent
in th
e cu
rren
t rel
ease
, and
d
etai
ls o
f how
to o
btai
n an
d in
stal
l the
sof
twar
e.
Cha
pter
4 d
iscu
sses
in s
ome
det
ail a
n ex
amp
le w
hich
com
es w
ith
the
fram
ewor
k lib
rary
. It
cove
rs th
e m
ain
pro
gram
, som
e of
the
basi
c as
pec
ts o
f im
plem
enti
ng a
lgor
ithm
s, th
e sp
ecif
icat
ion
of j
ob o
ptio
ns a
nd ta
kes
a lo
ok a
t how
the
cod
e is
act
ually
exe
cute
d. T
he s
ubj
ect
of c
odin
g al
gori
thm
s is
trea
ted
in m
ore
dep
th in
Cha
pte
r 5.
Cha
pter
6 d
iscu
sses
the
use
of t
he fr
amew
ork
dat
a st
ores
and
eve
nt d
ata.
Cha
pter
7 g
ives
p
oint
ers
to g
uid
elin
es fo
r d
efin
ing
the
LH
Cb
even
t dat
a m
odel
. Cha
pter
s 8,
9, 1
0 d
iscu
ss th
e ot
her
type
s of
dat
a ac
cess
ible
via
thes
e st
ores
: det
ecto
r d
escr
ipti
on d
ata
(mat
eria
l an
d ge
omet
ry),
hist
ogra
m d
ata
and
n-tu
ple
s.
Cha
pter
11
dea
ls w
ith
serv
ices
ava
ilabl
e in
the
fram
ewor
k: jo
b op
tion
s, m
essa
ges,
par
ticl
e p
rop
erti
es, a
udit
ors,
chr
ono
& s
tat,
rand
om n
um
bers
, inc
iden
ts, i
ntro
spec
tion
. It a
lso
has
a se
ctio
n o
n d
evel
opin
g ne
w s
ervi
ces.
Fra
mew
ork
tool
s ar
e d
iscu
ssed
in C
hapt
er 1
2, th
e u
se a
nd
imp
lem
enta
tion
of c
onve
rter
cla
sses
in C
hapt
er 1
3.
Cha
pter
14
dis
cuss
es s
crip
tin
g as
a m
ean
s of
con
figu
ring
and
con
trol
ling
the
appl
icat
ion
in
tera
ctiv
ely.
Th
is is
follo
wed
by
a d
escr
ipti
on in
Ch
apte
r 15
of h
ow v
isu
alis
atio
n fa
cilit
ies
mig
ht b
e im
plem
ente
d in
sid
e G
aud
i.
Cha
pter
16
des
crib
es th
e p
acka
ge s
tru
ctu
re o
f Gau
di a
nd d
iscu
sses
the
dif
fere
nt ty
pes
of
libra
ries
in th
e d
istr
ibu
tion
.
Cha
pter
17
give
s po
inte
rs to
the
doc
um
enta
tion
for
cla
ss li
brar
ies
whi
ch w
e ar
e re
com
men
din
g to
be
use
d w
ithi
n G
aud
i.
The
use
of c
erta
in S
ICB
faci
litie
s w
ithi
n G
aud
i and
the
wra
pp
ing
of F
OR
TR
AN
cod
e ar
e d
iscu
ssed
in C
hapt
er 1
8.
App
end
ix A
con
tain
s a
list o
f ref
eren
ces.
Ap
pend
ix B
list
s th
e op
tion
s w
hich
may
be
spec
ifie
d
for
the
stan
dar
d c
ompo
nent
s av
aila
ble
in th
e cu
rren
t rel
ease
. Ap
pen
dix
C g
ives
the
det
ails
of
the
synt
ax a
nd p
ossi
ble
erro
r m
essa
ges
of th
e jo
b op
tion
s co
mp
iler.
Fina
lly, A
ppe
ndix
D is
a
smal
l gu
ide
to d
esig
nin
g cl
asse
s th
at a
re to
be
use
d in
con
junc
tion
wit
h th
e ap
plic
atio
n fr
amew
ork.
1.2
Co
nve
nti
on
s
1.2.
1 U
nit
s We
have
dec
ided
to a
dop
t the
sam
e sy
stem
of u
nits
as
CL
HE
P, a
s u
sed
also
by
GE
AN
T4.
Thi
s sy
stem
is fu
lly d
ocum
ente
d in
the
CL
HE
P w
eb p
ages
, at t
he U
RL:
ht
tp://
ww
win
fo.c
ern.
ch/a
sd/lh
c++
/clh
ep/m
anua
l/Use
rGui
de/U
nits
/uni
ts.h
tml.
p
age
3
Gau
di
Use
rs G
uide
Cha
pter
1 I
ntro
duct
ion
Ver
sion
/Issu
e:9/
0
The
list
of b
asic
uni
ts is
rep
rod
uce
d in
Tab
le 1
.1. N
ote
that
this
dif
fers
from
the
conv
enti
on
use
d in
SIC
B, w
here
the
basi
c u
nits
of l
engt
h, t
ime
and
ene
rgy
are,
res
pec
tive
ly, c
enti
met
re,
GeV
, sec
ond
..
Use
rs s
hou
ld n
ot a
ctua
lly n
eed
to k
now
wha
t uni
ts a
re u
sed
in th
e in
tern
al r
epre
sent
atio
n of
th
e d
ata,
as
long
as
they
are
con
sist
ent t
hro
ugh
out t
he G
aud
i dat
a st
ores
. Wha
t the
y ca
re
abou
t is
that
they
can
def
ine
and
plo
t qua
ntit
ies
wit
h th
e co
rrec
t uni
ts. I
n so
me
spec
ialis
ed
algo
rith
ms
they
may
als
o w
ish
to r
enor
mal
ise
the
dat
a to
a d
iffe
rent
set
of u
nits
, if t
he d
efau
lt
set w
ould
lead
to n
umer
ical
pre
cisi
on p
robl
ems.
We
ther
efor
e p
rop
ose
the
foll
owin
g ru
les,
wh
ich
are
dis
cuss
ed m
ore
fully
in r
efer
ence
[5].
1.A
ll d
imen
sion
ed q
uan
titi
es in
the
Gau
di d
ata
stor
es s
hall
conf
orm
to th
e C
LH
EP
syst
em o
f uni
ts.
2.A
ll d
efin
itio
ns o
f dim
ensi
oned
qu
anti
ties
sha
ll be
dim
ensi
oned
by
mu
ltip
lyin
g by
the
unit
s d
efin
ed in
the CLHEP/Units/SystemOfUnits.h
hea
der
file
. For
exa
mp
le:
Not
e th
at th
e u
ser
shou
ld n
ot c
are
abou
t th
e nu
mer
ical
val
ue o
f the
nu
mbe
rs
my_height
and
my_weight
. Int
erna
lly th
ese
num
bers
are
rep
rese
nted
as
1700
. and
4.
68e+
26. r
espe
ctiv
ely,
bu
t the
use
r d
oes
not n
eed
to k
now
.
3.A
ll ou
tpu
t of d
imen
sion
ed q
uan
titi
es s
hou
ld b
e co
nver
ted
to th
e re
quir
ed u
nits
by
divi
din
g by
the
uni
ts d
efin
ed in
the CLHEP/Units/SystemOfUnits.h
hea
der
file
. Fo
r ex
ampl
e:
whi
ch, f
or a
hea
lthy
per
son,
sho
uld
plo
t a n
um
ber
betw
een
19.
and
25.
...
4.Ph
ysic
al c
onst
ants
sho
uld
not
be
def
ined
in u
ser
cod
e. T
hey
shou
ld b
e ta
ken
dir
ectl
y fr
om th
e CLHEP/Units/PhysicalConstants.h
hea
der
file
. For
exa
mpl
e:
Tab
le 1
.1 C
LHE
P s
yste
m o
f uni
ts
Qu
anti
tyU
nit
Len
gth
mill
imet
re
Tim
ena
nos
econ
d
Ene
rgy
MeV
Ele
ctri
c ch
arge
pos
itro
n ch
arge
Tem
pera
ture
Kel
vin
Am
ount
of s
ubs
tanc
em
ole
Pla
ne a
ngl
era
dia
n
const double my_height = 170*cm;
const double my_weight = 75*kg;
my_hist = histoSvc()->book( "/stat/diet","corpulence (kg/m**2)",30,10.,40.);
double my_corpulence = my_weight / (my_height*my_height);
my_hist->fill( my_corpulence/(kg/m2), 1. );
float my_rest_energy = my_weight * c_squared;
-
Gau
di
Use
rs G
uide
Cha
pter
1 I
ntro
duct
ion
Ver
sion
/Issu
e:9/
0
pag
e 4
5.U
sers
may
wis
h to
use
a d
iffe
rent
set
of u
nits
for
spec
ific
pur
pos
es (e
.g. w
hen
the
defa
ult u
nits
may
lead
to p
reci
sion
pro
blem
s). I
n th
is c
ase
algo
rith
ms
can
reno
rmal
ise
thei
r pr
ivat
e co
py
of th
e d
ata
(as
show
n in
the
last
line
of t
he r
ule
3 e
xam
ple)
for
inte
rnal
use
, bu
t mak
ing
sure
that
any
dat
a su
bseq
uent
ly p
ublis
hed
to th
e p
ublic
dat
a st
ores
is c
onve
rted
bac
k to
the
CL
HE
P u
nits
.
1.2.
2 C
od
ing
Co
nve
nti
on
s
The
Gau
di s
oftw
are
foll
ows
(or
shou
ld fo
llow
!) th
e LH
Cb
C+
+ co
din
g co
nven
tion
s d
escr
ibed
in
ref
eren
ce [
6]. A
tool
to c
heck
com
plia
nce
wit
h th
ese
cod
ing
conv
enti
ons
is d
escr
ibed
at
http
://ce
rn.c
h/lh
cb-c
omp/
Supp
ort/
Con
vent
ions
/Rul
eChe
cker
.htm
1.2.
2.1
File
ext
ensi
on
s
One
con
sequ
ence
of
follo
win
g th
e L
HC
b co
din
g co
nven
tion
s is
that
the
spec
ific
atio
n of
the
C++
cla
sses
is d
one
in tw
o pa
rts:
the
head
er o
r “.
h” fi
le a
nd th
e im
plem
enta
tion
or
“.cp
p” fi
le.
We
also
def
ine
file
ext
ensi
ons
for
Gau
di s
pec
ific
file
s. T
he r
ecom
men
ded
file
ext
ensi
on fo
r Jo
b O
ptio
ns fi
les
is "
.op
ts"
(see
Sec
tion
11.3
.3 o
n p
age
116)
. For
Pyt
hon
scr
ipts
, the
ext
ensi
on "
.py"
is
man
dat
ory
(see
Cha
pte
r 14
).
1.2.
3 N
amin
g C
on
ven
tio
ns
His
tog
ram
s I
n or
der
to a
void
cla
shes
in h
isto
gram
iden
tifi
ers,
we
sugg
est t
hat h
isto
gram
s ar
e p
lace
d in
nam
ed s
ubd
irec
tori
es o
f the
tran
sien
t his
togr
am s
tore
. The
top
leve
l sub
dire
ctor
y sh
ould
be
the
nam
e of
a s
ub-
dete
ctor
gro
up
(e.g
. VELO
). B
elow
this
, use
rs a
re fr
ee to
def
ine
thei
r ow
n st
ruct
ure
. One
pos
sibi
lity
is to
gro
up a
ll hi
stog
ram
s p
rod
uce
d b
y a
give
n al
gori
thm
in
to a
dir
ecto
ry n
amed
aft
er th
e al
gori
thm
.
Eve
nt
dat
a N
amin
g co
nven
tion
s fo
r L
HC
b d
ata
are
dis
cuss
ed in
ref
eren
ce [8
].
1.2.
4 C
on
ven
tio
ns
of
this
do
cum
ent
An
gle
bra
cket
s a
re u
sed
in tw
o co
ntex
ts. T
o av
oid
con
fusi
on w
e ou
tlin
e th
e d
iffe
renc
e w
ith
an
exam
ple.
The
def
init
ion
of a
tem
plat
ed c
lass
use
s an
gle
brac
kets
. The
se a
re r
equi
red
by
C+
+ s
ynta
x, s
o in
the
inst
anti
atio
n of
a te
mpl
ated
cla
ss th
e an
gle
brac
kets
are
ret
aine
d:
AlgFactory<UserDefinedAlgorithm> s_factory;
p
age
5
Gau
di
Use
rs G
uide
Cha
pter
1 I
ntro
duct
ion
Ver
sion
/Issu
e:9/
0
Thi
s is
to b
e co
ntra
sted
wit
h th
e u
se o
f ang
le b
rack
ets
to d
enot
e “r
epla
cem
ent”
su
ch a
s in
the
spec
ific
atio
n o
f the
str
ing:
whi
ch im
plie
s th
at th
e st
ring
sh
ould
look
like
:
Hop
efu
lly w
hat i
s in
tend
ed w
ill b
e cl
ear
from
the
cont
ext.
1.3
Rep
ort
ing
pro
ble
ms
Use
rs o
f the
Gau
di s
oftw
are
are
enco
ura
ged
to r
epor
t pro
blem
s an
d r
equ
ests
for
new
feat
ures
vi
a th
e L
HC
b p
robl
em r
epor
ting
sys
tem
. Th
is s
yste
m is
inte
grat
ed in
the
CE
RN
Pro
blem
R
epor
t Man
agem
ent S
yste
m (C
PRM
S) p
rovi
ded
by
IT d
ivis
ion
, bas
ed o
n th
e A
ctio
n R
eque
st
Syst
em s
oftw
are
from
Rem
edy
Cor
por
atio
n.
To r
epor
t a n
ew p
robl
em, g
o to
the
LH
Cb
CPR
MS
hom
e p
age
http
://ce
rn.c
h/he
p-se
rvic
e-pr
ms/
lhcb
.htm
l, cl
ick
on th
e S
ub
mit
bu
tton
, and
fill
in th
e fo
rm. T
his
will
ad
d th
e re
por
t to
the
syst
em a
nd n
otif
y th
e d
evel
oper
s by
E-m
ail.
You
will
rec
eive
E-m
ail
noti
fica
tion
of a
ny c
han
ges
in th
e st
atus
of y
our
repo
rt.
To v
iew
the
list o
f cu
rren
t pro
blem
s, a
nd th
eir
stat
us,
clic
k th
e Q
uer
y bu
tton
on
the
LH
Cb
CPR
MS
hom
e p
age.
Act
ive
dev
elop
ers
of th
e G
aud
i sof
twar
e ar
e en
cour
aged
to u
se th
e ga
udi-
deve
lope
rs m
ailin
g lis
t for
dis
cuss
ion
of G
aud
i fea
ture
s an
d fu
ture
dev
elop
men
ts. T
his
list i
s no
t, p
rim
arily
, in
tend
ed fo
r bu
g re
port
s. In
ord
er to
sen
d m
ail t
o ga
udi-
deve
lope
rs@
listb
ox.c
ern.
ch, y
ou m
ust
fi
rst s
ubsc
ribe
to th
e lis
t, u
sing
the
form
at
http
s://w
ww
listb
ox.c
ern.
ch/a
dmin
-cgi
/list
box-
adm
in?o
pera
tion
=vi
ewlis
t&m
ail=
gaud
i-de
velo
pers
@ce
rn.c
h.
You
nee
d a
CE
RN
mai
lser
ver
acco
unt
to b
e ab
le to
use
this
form
...
The
arc
hive
of t
he m
aili
ng li
st is
pu
blic
ally
acc
essi
ble
on th
e W
eb, a
t ht
tp://
cern
.ch/
~maj
ordo
m/n
ews/
gaud
i-de
velo
pers
/inde
x.ht
ml.
1.4
Ed
ito
r’s
no
te
Thi
s d
ocum
ent i
s a
snap
shot
of t
he G
aud
i sof
twar
e at
the
tim
e of
the
rele
ase
of v
ersi
on v
9. W
e ha
ve m
ade
ever
y ef
fort
to e
nsu
re th
at th
e in
form
atio
n it
con
tain
s is
cor
rect
, but
in th
e ev
ent o
f an
y d
iscr
epan
cies
bet
wee
n th
is d
ocum
ent a
nd in
form
atio
n pu
blis
hed
on
the
Web
, the
latt
er
shou
ld b
e re
gard
ed a
s co
rrec
t, si
nce
it is
mai
ntai
ned
bet
wee
n re
leas
es a
nd, i
n th
e ca
se o
f cod
e d
ocu
men
tati
on, i
t is
auto
mat
ical
ly g
ener
ated
from
the
cod
e.
“<concreteAlgorithmType>/<algorithmName>”
“EmptyAlgorithm/Empty”
-
Gau
di
Use
rs G
uide
Cha
pter
1 I
ntro
duct
ion
Ver
sion
/Issu
e:9/
0
pag
e 6
We
enco
ura
ge o
ur
read
ers
to p
rovi
de fe
edba
ck a
bou
t the
str
uct
ure
, con
tent
s an
d c
orre
ctne
ss
of th
is d
ocu
men
t an
d of
oth
er G
aud
i doc
umen
tati
on. P
leas
e se
nd y
our
com
men
ts to
the
edit
or, M
arco
.Cat
tane
o@ce
rn.c
h
-
p
age
7
Gau
di
Use
rs G
uide
Cha
pter
2 T
he fr
amew
ork
arch
itect
ure
Ver
sion
/Issu
e:9/
0
Ch
apte
r 2
Th
e fr
amew
ork
arc
hit
ectu
re
2.1
Ove
rvie
w
In th
is c
hap
ter
we
outl
ine
som
e of
the
mai
n fe
atu
res
of th
e G
aud
i arc
hite
ctu
re. A
(mor
e)
com
plet
e vi
ew o
f the
arc
hit
ectu
re, a
long
wit
h a
dis
cuss
ion
of th
e m
ain
des
ign
choi
ces
and
the
reas
ons
for
thes
e ch
oice
s m
ay b
e fo
und
in r
efer
ence
s [1
] an
d [4
].
2.2
Wh
y ar
chit
ectu
re?
The
bas
ic “
requ
irem
ent”
of t
he p
hysi
cist
s is
a s
et o
f pro
gram
s fo
r d
oing
eve
nt s
imu
lati
on,
reco
nstr
ucti
on, v
isu
alis
atio
n, e
tc. a
nd
a se
t of t
ools
whi
ch fa
cilit
ate
the
wri
ting
of a
naly
sis
pro
gram
s. A
dd
itio
nal
ly a
phy
sici
st w
ants
som
ethi
ng
that
is e
asy
to u
se a
nd (t
hou
gh h
e or
she
m
ay c
laim
oth
erw
ise)
is e
xtre
mel
y fl
exib
le. T
he p
urp
ose
of th
e G
aud
i app
licat
ion
fram
ewor
k is
to p
rovi
de s
oftw
are
whi
ch fu
lfils
thes
e re
quir
emen
ts, b
ut w
hic
h ad
dit
iona
lly a
dd
ress
es a
la
rger
set
of r
equ
irem
ents
, inc
lud
ing
the
use
of s
ome
of th
e so
ftw
are
onlin
e.
If th
e so
ftw
are
is to
be
easy
to u
se it
mu
st r
equ
ire
a lim
ited
am
ount
of l
earn
ing
on th
e pa
rt o
f th
e u
ser.
In p
arti
cula
r, on
ce le
arne
d th
ere
shou
ld b
e no
nee
d to
re-
lear
n ju
st b
ecau
se
tech
nolo
gy h
as m
oved
on
(you
do
not n
eed
to r
e-ta
ke y
our
lice
nce
ever
y ti
me
you
bu
y a
new
ca
r). T
hus
one
of th
e p
rinc
ipal
des
ign
goal
s w
as to
insu
late
use
rs (p
hysi
cist
dev
elop
ers
and
p
hysi
cist
ana
lysi
sts)
fro
m ir
rele
vant
det
ails
su
ch a
s w
hat s
oftw
are
libra
ries
we
use
for
dat
a I/
O, o
r fo
r gr
aph
ics.
We
have
don
e th
is b
y d
evel
opin
g an
arc
hite
ctu
re. A
n ar
chit
ectu
re
cons
ists
of t
he
spec
ific
atio
n o
f a n
um
ber
of c
ompo
nent
s an
d th
eir
inte
ract
ions
wit
h ea
ch o
ther
. A
com
pon
ent i
s a
“blo
ck”
of s
oftw
are
whi
ch h
as a
wel
l sp
ecif
ied
inte
rfac
e an
d fu
ncti
onal
ity.
A
n in
terf
ace
is a
col
lect
ion
of m
etho
ds
alon
g w
ith
a st
atem
ent o
f wha
t eac
h m
etho
d ac
tual
ly
doe
s, i.
e. it
s fu
ncti
onal
ity.
The
mai
n c
omp
onen
ts o
f the
Gau
di s
oftw
are
arch
itec
ture
can
be
seen
in th
e ob
ject
dia
gram
sh
own
in F
igu
re 2
.1. O
bjec
t dia
gram
s ar
e ve
ry il
lust
rati
ve fo
r ex
plai
ning
how
a s
yste
m is
d
ecom
pos
ed. T
hey
repr
esen
t a h
ypot
heti
cal s
nap
shot
of
the
stat
e of
the
syst
em, s
how
ing
the
-
Gau
di
Use
rs G
uide
Cha
pter
2 T
he fr
amew
ork
arch
itect
ure
Ver
sion
/Issu
e:9/
0
pag
e 8
obje
cts
(in
our
case
com
pone
nt in
stan
ces)
and
thei
r re
lati
onsh
ips
in te
rms
of o
wn
ersh
ip a
nd
usa
ge. T
hey
do
not i
llust
rate
the
stru
ctu
re, i
.e. c
lass
hie
rarc
hy, o
f th
e so
ftw
are.
It is
inte
nded
that
alm
ost a
ll so
ftw
are
wri
tten
by
phys
icis
ts, w
heth
er fo
r ev
ent g
ener
atio
n,
reco
nstr
ucti
on o
r an
alys
is, w
ill b
e in
the
form
of s
peci
alis
atio
ns o
f a fe
w s
pec
ific
com
pone
nts.
H
ere,
spe
cial
isat
ion
mea
ns ta
king
a s
tand
ard
com
pone
nt a
nd a
dd
ing
to it
s fu
ncti
onal
ity
whi
le
keep
ing
the
inte
rfac
e th
e sa
me.
Wit
hin
the
app
licat
ion
fram
ewor
k th
is is
don
e by
der
ivin
g ne
w c
lass
es fr
om o
ne o
f th
e ba
se c
lass
es:
•D
ataO
bjec
t
•A
lgor
ithm
•C
onve
rter
In th
is c
hapt
er w
e w
ill b
rief
ly c
onsi
der
the
firs
t tw
o of
thes
e co
mp
onen
ts a
nd in
par
ticu
lar
the
subj
ect o
f the
“se
par
atio
n” o
f dat
a an
d a
lgor
ithm
s. T
hey
will
be
cove
red
in m
ore
dep
th in
ch
apte
rs 5
and
6. T
he th
ird
base
cla
ss, C
onve
rter
, exi
sts
mor
e fo
r te
chni
cal n
eces
sity
than
an
ythi
ng
else
and
will
be
dis
cuss
ed in
Cha
pte
r 13
. Fol
low
ing
this
we
give
a b
rief
ou
tlin
e of
the
mai
n co
mp
onen
ts th
at a
phy
sici
st d
evel
oper
will
com
e in
to c
onta
ct w
ith.
2.3
Dat
a ve
rsu
s co
de
Bro
adly
sp
eaki
ng, t
asks
su
ch a
s p
hysi
cs a
naly
sis
and
even
t rec
onst
ruct
ion
cons
ist o
f the
m
anip
ula
tion
of m
ath
emat
ical
or
phy
sica
l qu
anti
ties
: poi
nts,
vec
tors
, mat
rice
s, h
its,
mom
enta
, et
c., b
y al
gori
thm
s w
hich
are
gen
eral
ly s
pec
ifie
d in
term
s of
equ
atio
ns
and
nat
ural
lang
uage
. T
he m
app
ing
of th
is ty
pe o
f ta
sk in
to a
pro
gram
min
g la
ngu
age
such
as
FOR
TR
AN
is v
ery
natu
ral,
sinc
e th
ere
is a
ver
y cl
ear
dis
tinc
tion
bet
wee
n “d
ata”
and
“co
de”
. Dat
a co
nsis
ts o
f va
riab
les
such
as:
integer n
real p(3)
Fig
ure
2.1
Gau
di A
rchi
tect
ure
Obj
ect D
iagr
am
&RQYHUWHU
$OJRULWKP
(YHQW�'DWD
6HUYLFH
3HUVLVWHQF\
6HUYLFH
'DWD
)LOHV
$OJRULWKP
$OJRULWKP
7UDQVLHQW�
(YHQW�6WRUH
'HWHF��'DWD
6HUYLFH
3HUVLVWHQF\
6HUYLFH
'DWD
)LOHV
7UDQVLHQW�
'HWHFWRU�
6WRUH
0HVVDJH
6HUYLFH
-RE2SWLRQV
6HUYLFH
3DUWLFOH�3URS�
6HUYLFH
2WKHU
6HUYLFHV
+LVWRJUDP
6HUYLFH
3HUVLVWHQF\
6HUYLFH
'DWD
)LOHV
7UDQVLHQW
+LVWRJUDP
�6WRUH
$SSOLFDWLRQ
0DQDJHU
&RQYHUWHU
&RQYHUWHU
(YHQW
6HOHFWRU
-
page 9
Gaudi Users GuideChapter 2 The framework architecture Version/Issue: 9/0
and code which may consist of a simple statement or a set of statements collected together into a function or procedure:
real function innerProduct(p1, p2)real p1(3),p2(3)innerProduct = p1(1)*p2(1) + p1(2)*p2(2) + p1(3)*p2(3)end
Thus the physical and mathematical quantities map to data and the algorithms map to a collection of functions.
A priori, we see no reason why moving to a language which supports the idea of objects, such as C++, should change the way we think of doing physics analysis. Thus the idea of having essentially mathematical objects such as vectors, points etc. and these being distinct from the more complex beasts which manipulate them, e.g. fitting algorithms etc. is still valid. This is the reason why the Gaudi application framework makes a clear distinction between “data” objects and “algorithm” objects.
Anything which has as its origin a concept such as hit, point, vector, trajectory, i.e. a clear “quantity-like” entity should be implemented by deriving a class from the DataObject base class.
On the other hand anything which is essentially a “procedure”, i.e. a set of rules for performing transformations on more data-like objects, or for creating new data-like objects should be designed as a class derived from the Algorithm base class.
Further more you should not have objects derived from DataObject performing long complex algorithmic procedures. The intention is that these objects are “small”.
Tracks which fit themselves are of course possible: you could have a constructor which took a list of hits as a parameter; but they are silly