10const char* esd_geom_file_name =
11 "http://root.cern.ch/files/alice_ESDgeometry.root";
20 using namespace TMath;
40 axis->SetLineColor(
kGreen);
41 axis->SetLineWidth(2);
44 tracksXYZ->SetLineColor(
kRed);
45 tracksXYZ->SetLineWidth(2);
48 tracksEtaPhi->SetLineColor(
kYellow);
49 tracksEtaPhi->SetLineWidth(2);
52 tracksSeedEtaPhi->SetLineColor(
kBlue);
53 tracksSeedEtaPhi->SetLineWidth(2);
59 for (
Int_t track=0; track < nTracks ; track++ ) {
61 Float_t trackX =
r.Uniform(-250.0, 250.0);
62 Float_t trackY =
r.Uniform(-250.0, 250.0);
63 Float_t trackZ =
r.Uniform(-250.0, 250.0);
64 Float_t trackR =
Sqrt(trackX*trackX + trackY*trackY + trackZ*trackZ);
66 TEveVector trackDir(trackX/trackR, trackY/trackR ,trackZ/trackR);
68 tracksXYZ->AddLine(0., 0., 0., trackEnd.
fX, trackEnd.
fY, trackEnd.
fZ );
75 for (
Int_t track=0; track < nTracks ; track++ ) {
77 Float_t trackEta =
r.Uniform(-0.9, 0.9);
80 TEveVector trackDir( GetTEveVector(trackEta, trackPhi) );
83 if ( trackEta > coneRadius || trackEta < -coneRadius )
84 tracksEtaPhi->AddLine(0., 0., 0.,
85 trackEnd.
fX, trackEnd.
fY, trackEnd.
fZ);
87 tracksSeedEtaPhi->AddLine(0., 0., 0.,
88 trackEnd.
fX, trackEnd.
fY, trackEnd.
fZ);
95 for (
Int_t iter = 0; iter < nCones; ++iter ) {
98 Float_t coneEta =
r.Uniform(-0.9, 0.9);
105 TEveVector coneAxis ( GetTEveVector( coneEta, conePhi) );
106 coneAxis *= length * 1.1;
108 axis->AddLine( 0., 0., 0., coneAxis.fX, coneAxis.fY, coneAxis.fZ );
112 jetCone->SetPickable(
kTRUE);
113 jetCone->SetCylinder( 250., 250. );
114 if ( (jetCone->AddCone( coneEta, conePhi, coneRadius ) ) != -1)
139 using namespace TMath;
R__EXTERN TEveManager * gEve
TObject * Get(const char *namecycle) override
Return pointer to object identified by namecycle.
Base class for TEveUtil visualization elements, providing hierarchy management, rendering control and...
virtual Bool_t SetRnrState(Bool_t rnr)
Set render state of this element and of its children to the same value.
TEveElement * FindChild(const TString &name, const TClass *cls=0)
Find the first child with given name.
Wrapper for TGeoShape with absolute positioning and color attributes allowing display of extracted TG...
static TEveGeoShape * ImportShapeExtract(TEveGeoShapeExtract *gse, TEveElement *parent=0)
Import a shape extract 'gse' under element 'parent'.
Draws a jet cone with leading particle is specified in (eta,phi) and cone radius is given.
void AddElement(TEveElement *element, TEveElement *parent=0)
Add an element.
void AddGlobalElement(TEveElement *element, TEveElement *parent=0)
Add a global element, i.e.
static TEveManager * Create(Bool_t map_window=kTRUE, Option_t *opt="FIV")
If global TEveManager* gEve is not set initialize it.
void Redraw3D(Bool_t resetCameras=kFALSE, Bool_t dropLogicals=kFALSE)
A generic, speed-optimised mapping from value to RGBA color supporting different wrapping and range t...
Set of straight lines with optional markers along the lines.
A ROOT file is a suite of consecutive data records (TKey instances) with a well defined format.
static Bool_t SetCacheFileDir(ROOT::Internal::TStringView cacheDir, Bool_t operateDisconnected=kTRUE, Bool_t forceCacheread=kFALSE)
static TFile * Open(const char *name, Option_t *option="", const char *ftitle="", Int_t compress=ROOT::RCompressionSetting::EDefaults::kUseCompiledDefault, Int_t netopt=0)
Create / open a file.
void Close(Option_t *option="") override
Close a file.
This is the base class for the ROOT Random number generators.
Double_t Sqrt(Double_t x)
constexpr Double_t TwoPi()