]>
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]; | |
6 | v->GetTruePos(x); | |
7 | v->GetSigmaXYZ(e); | |
8 | ||
9 | printf("%s: %f %f %f - %f %f %f\n", name, | |
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]; | |
22 | v->GetTruePos(x); | |
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); |
3c1a4392 | 58 | pvm->SetMarkerColor(3); |
59 | register_vertex_marker(pvm); | |
60 | ||
61 | if(showSPD) { | |
62 | AliESDVertex* spdv = esd->GetVertex(); | |
63 | TPolyMarker3D* spdvm = make_vertex_marker(spdv, "SPD Vertex"); | |
64 | spdvm->SetMarkerStyle(2); | |
65 | spdvm->SetMarkerColor(7); | |
66 | register_vertex_marker(spdvm); | |
67 | } | |
c37f91e9 | 68 | |
69 | if(showBoxes) | |
70 | make_vertex_boxes(pv); | |
3c1a4392 | 71 | } |