]>
Commit | Line | Data |
---|---|---|
3c1a4392 | 1 | // $Header$ |
2 | ||
3 | TPolyMarker3D* make_vertex_marker(AliESDVertex* v, const Text_t* name) | |
4 | { | |
5 | Double_t x[3], e[3]; | |
8158d8a5 | 6 | v->GetXYZ(x); |
3c1a4392 | 7 | v->GetSigmaXYZ(e); |
8 | ||
14f03c90 | 9 | printf("%16s: %f %f %f - %f %f %f\n", name, |
3c1a4392 | 10 | x[0], x[1], x[2], e[0], e[1], e[2]); |
11 | ||
c37f91e9 | 12 | TPolyMarker3D* m = new TPolyMarker3D(1); |
3c1a4392 | 13 | m->SetName(name); |
3c1a4392 | 14 | m->SetPoint(0, x[0], x[1], x[2]); |
15 | ||
16 | return m; | |
17 | } | |
18 | ||
c37f91e9 | 19 | Reve::BoxSet* make_vertex_boxes(AliESDVertex* v) |
20 | { | |
21 | Double_t x[3], e[3]; | |
b59304bc | 22 | v->GetXYZ(x); |
c37f91e9 | 23 | v->GetSigmaXYZ(e); |
24 | ||
25 | Reve::BoxSet* bs; | |
26 | ||
27 | bs = new BoxSet("+- 10 x 10 x 20mm"); | |
28 | bs->SetRenderMode(Reve::BoxSet::RM_Line); | |
29 | bs->AddBox(Reve::Box(-1, x[0], x[1], x[2], 1, 1, 2)); | |
30 | bs->SetMainColor((Color_t) 2); | |
31 | gReve->AddRenderElement(bs); | |
32 | ||
33 | bs = new BoxSet("+- 30 sigma_r x 10 sigma_z"); | |
34 | bs->SetRenderMode(Reve::BoxSet::RM_Line); | |
35 | bs->AddBox(Reve::Box(-1, x[0], x[1], x[2], 30*e[0], 30*e[1], 10*e[2])); | |
36 | bs->SetMainColor((Color_t) 3); | |
37 | gReve->AddRenderElement(bs); | |
38 | ||
39 | gReve->Redraw3D(); | |
40 | } | |
41 | ||
3c1a4392 | 42 | void register_vertex_marker(TPolyMarker3D* m) |
43 | { | |
44 | using namespace Reve; | |
45 | Color_t* colp = FindColorVar(m, "fMarkerColor"); | |
46 | RenderElementObjPtr* rnrEl = new RenderElementObjPtr(m, *colp); | |
47 | gReve->AddRenderElement(rnrEl); | |
5b96ea20 | 48 | gReve->Redraw3D(); |
3c1a4392 | 49 | } |
50 | ||
c37f91e9 | 51 | void primary_vertex(Bool_t showSPD=kTRUE, Bool_t showBoxes=kFALSE) |
3c1a4392 | 52 | { |
53 | AliESD* esd = Alieve::Event::AssertESD(); | |
54 | ||
55 | AliESDVertex* pv = esd->GetPrimaryVertex(); | |
56 | TPolyMarker3D* pvm = make_vertex_marker(pv, "Primary Vertex"); | |
5b96ea20 | 57 | pvm->SetMarkerStyle(5); |
1abc4687 | 58 | pvm->SetMarkerColor(5); |
846e8468 | 59 | pvm->SetMarkerSize(1.4); |
3c1a4392 | 60 | register_vertex_marker(pvm); |
61 | ||
62 | if(showSPD) { | |
63 | AliESDVertex* spdv = esd->GetVertex(); | |
64 | TPolyMarker3D* spdvm = make_vertex_marker(spdv, "SPD Vertex"); | |
65 | spdvm->SetMarkerStyle(2); | |
1abc4687 | 66 | spdvm->SetMarkerColor(6); |
3c1a4392 | 67 | register_vertex_marker(spdvm); |
68 | } | |
c37f91e9 | 69 | |
70 | if(showBoxes) | |
71 | make_vertex_boxes(pv); | |
3c1a4392 | 72 | } |