Logo ROOT  
Reference Guide
 
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Loading...
Searching...
No Matches

Detailed Description

Demonstrates usage of TEveJetCone class.

const char *esd_geom_file_name = "http://root.cern/files/alice_ESDgeometry.root";
void jetcone()
{
using namespace TMath;
TRandom r(0);
// -- Set Constants
Int_t nCones = 10;
Int_t nTracks = 200;
Float_t length = 300.;
// -- Define palette
auto pal = new TEveRGBAPalette(0, 500);
// -----------------------------------------------------------------------
// -- Line sets
// -----------------------------------------------------------------------
// -- Define cone center
auto axis = new TEveStraightLineSet("Cone Axis");
axis->SetLineColor(kGreen);
axis->SetLineWidth(2);
auto tracksXYZ = new TEveStraightLineSet("StraightLinesXYZ");
tracksXYZ->SetLineColor(kRed);
tracksXYZ->SetLineWidth(2);
auto tracksEtaPhi = new TEveStraightLineSet("StraightLinesEtaPhi");
tracksEtaPhi->SetLineColor(kYellow);
tracksEtaPhi->SetLineWidth(2);
auto tracksSeedEtaPhi = new TEveStraightLineSet("StraightLinesEtaPhiSeed");
tracksSeedEtaPhi->SetLineColor(kBlue);
tracksSeedEtaPhi->SetLineWidth(2);
// -----------------------------------------------------------------------
// -- Draw track distribution in XYZ in TPC Volume +/-250, +/-250, +/-250
// -----------------------------------------------------------------------
for (Int_t track = 0; track < nTracks; track++) {
Float_t trackX = r.Uniform(-250.0, 250.0);
Float_t trackY = r.Uniform(-250.0, 250.0);
Float_t trackZ = r.Uniform(-250.0, 250.0);
tracksXYZ->AddLine(0., 0., 0., trackEnd.fX, trackEnd.fY, trackEnd.fZ);
}
// -----------------------------------------------------------------------
// -- Draw track distribution in eta phi in TPC Volume +/-0.9, {0, 2Pi}
// -----------------------------------------------------------------------
for (Int_t track = 0; track < nTracks; track++) {
Float_t trackEta = r.Uniform(-0.9, 0.9);
Float_t trackPhi = r.Uniform(0.0, TwoPi());
tracksEtaPhi->AddLine(0., 0., 0., trackEnd.fX, trackEnd.fY, trackEnd.fZ);
else
tracksSeedEtaPhi->AddLine(0., 0., 0., trackEnd.fX, trackEnd.fY, trackEnd.fZ);
}
// -----------------------------------------------------------------------
// -- Draw cones
// -----------------------------------------------------------------------
for (Int_t iter = 0; iter < nCones; ++iter) {
// -- Get Random ( eta ,phi )
Float_t coneEta = r.Uniform(-0.9, 0.9);
Float_t conePhi = r.Uniform(0.0, TwoPi());
// -- Primary vertex as origin
TEveVector coneOrigin(0.0, 0.0, 0.0);
// -- Get Cone Axis - axis line 10% longer than cone height
coneAxis *= length * 1.1;
axis->AddLine(0., 0., 0., coneAxis.fX, coneAxis.fY, coneAxis.fZ);
// -- Draw jet cone
auto jetCone = new TEveJetCone("JetCone");
jetCone->SetPickable(kTRUE);
jetCone->SetCylinder(250., 250.);
if ((jetCone->AddCone(coneEta, conePhi, coneRadius)) != -1)
}
// -----------------------------------------------------------------------
// -- Add cone axis
gEve->AddElement(axis);
// -- Add lines
// gEve->AddElement(tracksXYZ);
// -- Load TPC geometry
return;
}
//___________________________________________________________________________
{
using namespace TMath;
return vec;
}
//__________________________________________________________________________
{
// Simple geometry
if (!geom)
return;
geom->Close();
delete geom;
TEveElement *elTRD = gsre->FindChild("TRD+TOF");
elTRD->SetRnrState(kFALSE);
TEveElement *elPHOS = gsre->FindChild("PHOS");
elPHOS->SetRnrState(kFALSE);
TEveElement *elHMPID = gsre->FindChild("HMPID");
elHMPID->SetRnrState(kFALSE);
}
int Int_t
Definition RtypesCore.h:45
float Float_t
Definition RtypesCore.h:57
constexpr Bool_t kFALSE
Definition RtypesCore.h:94
double Double_t
Definition RtypesCore.h:59
constexpr Bool_t kTRUE
Definition RtypesCore.h:93
@ kRed
Definition Rtypes.h:66
@ kGreen
Definition Rtypes.h:66
@ kBlue
Definition Rtypes.h:66
@ kYellow
Definition Rtypes.h:66
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
R__EXTERN TEveManager * gEve
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t r
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h length
Base class for TEveUtil visualization elements, providing hierarchy management, rendering control and...
Definition TEveElement.h:36
Globally positioned TGeoShape with rendering attributes and an optional list of daughter shape-extrac...
Wrapper for TGeoShape with absolute positioning and color attributes allowing display of extracted TG...
static TEveGeoShape * ImportShapeExtract(TEveGeoShapeExtract *gse, TEveElement *parent=nullptr)
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.
Definition TEveJetCone.h:24
void AddElement(TEveElement *element, TEveElement *parent=nullptr)
Add an element.
void AddGlobalElement(TEveElement *element, TEveElement *parent=nullptr)
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 an on-disk file, usually with extension .root, that stores objects in a file-system-li...
Definition TFile.h:131
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.
Definition TFile.cxx:4131
static Bool_t SetCacheFileDir(std::string_view cacheDir, Bool_t operateDisconnected=kTRUE, Bool_t forceCacheread=kFALSE)
Sets the directory where to locally stage/cache remote files.
Definition TFile.cxx:4674
This is the base class for the ROOT Random number generators.
Definition TRandom.h:27
TMath.
Definition TMathBase.h:35
Double_t CosH(Double_t)
Returns the hyperbolic cosine of x.
Definition TMath.h:616
Double_t TanH(Double_t)
Returns the hyperbolic tangent of x.
Definition TMath.h:622
Double_t Cos(Double_t)
Returns the cosine of an angle of x radians.
Definition TMath.h:598
Double_t Sin(Double_t)
Returns the sine of an angle of x radians.
Definition TMath.h:592
constexpr Double_t TwoPi()
Definition TMath.h:44
Author
Jochen Thaeder

Definition in file jetcone.C.