Belle II Software  release-08-01-10
EventDisplay Class Reference

Event display designed to run with Genfit. More...

#include <EventDisplay.h>

Inheritance diagram for EventDisplay:
Collaboration diagram for EventDisplay:

Public Member Functions

void reset ()
 Drop all events.
 
void addEvent (std::vector< genfit::Track * > &tracks)
 Add new event. More...
 
void addEvent (std::vector< const genfit::Track * > &tracks)
 
void addEvent (const Track *tr)
 Add new event. More...
 
void next (unsigned int stp=1)
 Go to the next event or step a certain number of events ahead.
 
void prev (unsigned int stp=1)
 Go to the previous event or step a certain number of events back.
 
void gotoEvent (unsigned int id)
 Go to event with index id.
 
int getNEvents ()
 Get the total number of events stored.
 
void setOptions (std::string opts)
 Set the display options. More...
 
void setErrScale (double errScale=1.)
 Set the scaling factor for the visualization of the errors.
 
double getErrScale ()
 Get the error scaling factor.
 
void open ()
 Open the event display.
 
void guiGoto ()
 
void guiGoto2 ()
 
void guiSetDrawParams ()
 
void guiSelectFitterId (int val)
 
void guiSelectMmHandling (int val)
 

Static Public Member Functions

static EventDisplaygetInstance ()
 

Private Member Functions

void makeGui ()
 Build the buttons for event navigation.
 
void drawEvent (unsigned int id, bool resetCam=true)
 Draw an event.
 
TEveBox * boxCreator (TVector3 o, TVector3 u, TVector3 v, float ud, float vd, float depth)
 Create a box around o, oriented along u and v with widths ud, vd and depth and return a pointer to the box object.
 
void makeLines (const StateOnPlane *prevState, const StateOnPlane *state, const AbsTrackRep *rep, const Color_t &color, const Style_t &style, bool drawMarkers, bool drawErrors, double lineWidth=2, int markerPos=1)
 

Private Attributes

unsigned int eventId_
 
double errorScale_
 
std::vector< std::vector< genfit::Track * > * > events_
 
TGNumberEntry * guiEvent
 
TGNumberEntry * guiEvent2
 
TGCheckButton * guiDrawGeometry_
 
bool drawGeometry_
 
TGCheckButton * guiDrawDetectors_
 
bool drawDetectors_
 
TGCheckButton * guiDrawHits_
 
bool drawHits_
 
TGCheckButton * guiDrawErrors_
 
bool drawErrors_
 
TGCheckButton * guiDrawPlanes_
 
bool drawPlanes_
 
TGCheckButton * guiDrawTrackMarkers_
 
bool drawTrackMarkers_
 
TGCheckButton * guiDrawTrack_
 
bool drawTrack_
 
TGCheckButton * guiDrawRefTrack_
 
bool drawRefTrack_
 
TGCheckButton * guiDrawForward_
 
bool drawForward_
 
TGCheckButton * guiDrawBackward_
 
bool drawBackward_
 
TGCheckButton * guiDrawAutoScale_
 
bool drawAutoScale_
 
TGCheckButton * guiDrawScaleMan_
 
bool drawScaleMan_
 
TGNumberEntry * guiErrorScale_
 
bool drawSilent_
 
TGCheckButton * guiDrawCardinalRep_
 
bool drawCardinalRep_
 
TGNumberEntry * guiRepId_
 
unsigned int repId_
 
TGCheckButton * guiDrawAllTracks_
 
bool drawAllTracks_
 
TGNumberEntry * guiTrackId_
 
unsigned int trackId_
 
TGCheckButton * guiRefit_
 
bool refit_
 
TGNumberEntry * guiDebugLvl_
 
unsigned int debugLvl_
 
TGButtonGroup * guiFitterId_
 
eFitterType fitterId_
 
TGButtonGroup * guiMmHandling_
 
eMultipleMeasurementHandling mmHandling_
 
TGCheckButton * guiSquareRootFormalism_
 
bool squareRootFormalism_
 
TGNumberEntry * guiDPVal_
 
double dPVal_
 
TGNumberEntry * guiRelChi2_
 
double dRelChi2_
 
TGNumberEntry * guiDChi2Ref_
 
double dChi2Ref_
 
TGNumberEntry * guiNMinIter_
 
unsigned int nMinIter_
 
TGNumberEntry * guiNMaxIter_
 
unsigned int nMaxIter_
 
TGNumberEntry * guiNMaxFailed_
 
int nMaxFailed_
 
TGCheckButton * guiResort_
 
bool resort_
 

Static Private Attributes

static EventDisplayeventDisplay_ = nullptr
 

Detailed Description

Event display designed to run with Genfit.

Author
Karl Bicker (Technische Universität München, original author)

The EventDisplay class is a singelton used to visualize the events processed with Genfit. The event display uses the EVE event visualization package to visualize Tracks which are bundled in a vector and which form one event. The information about the tracks is supplied in Track objects. To use the event display, the geometry (TGeoManager)and magnetic field (FieldManager) have to be initialized and gApplication and gEve have to exist.

Definition at line 59 of file EventDisplay.h.

Member Function Documentation

◆ addEvent() [1/2]

void addEvent ( const Track tr)

Add new event.

Add a new event consisting of one track.

Definition at line 188 of file EventDisplay.cc.

188  {
189 
190  std::vector<Track*>* vec = new std::vector<Track*>;
191  vec->push_back(new Track(*tr));
192  events_.push_back(vec);
193 }

◆ addEvent() [2/2]

void addEvent ( std::vector< genfit::Track * > &  tracks)

Add new event.

Add a new event. An event is a collection of Tracks which are displayed at the the same time. The tracks are copied.

Definition at line 164 of file EventDisplay.cc.

◆ setOptions()

void setOptions ( std::string  opts)

Set the display options.

The option string lets you steer the way the events are displayed. The following options are available:

'A': Autoscale errors. The representation of hits are scaled with the error found their covariance matrix. This can lead to hits not being displayed beause the errors are too small. Autoscaling ensures that the errors are scaled up sufficiently to ensure all hits are displayed. However, this can lead to unwanted results if there are only a few hits with very small errors, as all hits are scaled by the same factor to ensure consistency.

'B': Draw Backward Fit (track segments start at updates and end at predictions)

'D': Draw detectors. This causes a simple representation for all detectors to be drawn. For planar detectors, this is a plane with the same position and orientation of the real detector plane, but with different size. For wires, this is a tube whose diameter is equal to the value measured by the wire. Spacepoint hits are not affected by this option.

'E': Draw Error cones (position and direction uncertainties) around the track.

'F': Draw Forward Fit (track segments start at updates and end at predictions) 'H': Draw hits. This causes the hits to be visualized. Normally, the size of the hit representation is connected to the covariance matrix of the hit, scaled by the value set in setErrScale which is normally 1. See also option 'A' and 'S'. Normally used in connection with 'D'.

'G': Draw geometry. Draw also the geometry in the gGeoManager. This feature is experimental and may lead to strang things being drawn.

'M': Draw track markers. Draw the intersection points between the track and the virtual (and/or real) detector planes. Can only be used in connection with 'T'.

'P': Draw detector planes. Draws the virtual (and/or real) detector planes.

'S': Scale manually. This leads to the spacepoint hits (and only them up to now!) being drawn as spheres with radius 0.5 scaled with the error scale factor. Can be used if the scaling with errors leads to problems.

'T': Draw Track. Draw the track as lines between the virtual (and/or real) detector planes.

'X': Draw silent. Does not run the TApplication.

Definition at line 112 of file EventDisplay.cc.


The documentation for this class was generated from the following files: