Belle II Software  release-05-02-19
DisplayModule.cc
1 #include <display/modules/display/DisplayModule.h>
2 
3 #include <framework/dataobjects/DisplayData.h>
4 #include <display/DisplayUI.h>
5 #include <display/EVEVisualization.h>
6 #include <display/EveGeometry.h>
7 #include <mdst/dataobjects/Track.h>
8 #include <mdst/dataobjects/TrackFitResult.h>
9 #include <simulation/dataobjects/MCParticleTrajectory.h>
10 
11 #include <framework/datastore/StoreArray.h>
12 #include <framework/datastore/StoreObjPtr.h>
13 #include <framework/gearbox/Gearbox.h>
14 #include <framework/core/Path.h>
15 
16 #include <tracking/dataobjects/RecoTrack.h>
17 #include <tracking/dataobjects/RecoHitInformation.h>
18 #include <genfit/GFRaveVertex.h>
19 
20 #include <TApplication.h>
21 #include <TEveManager.h>
22 
23 using namespace Belle2;
24 
25 REG_MODULE(Display)
26 
27 DisplayModule::DisplayModule() : Module(), m_display(0), m_visualizer(0)
28 {
29  setDescription("Interactive visualisation of Monte Carlo, intermediate and reconstructed objects, plus geometry. See https://confluence.desy.de/display/BI/Software+/EventDisplay for detailed documentation.");
30 
31  addParam("options", m_options,
32  "Drawing options for RecoTracks, a combination of DHMP. See EVEVisualization::setOptions or the display.py example for an explanation.",
33  std::string("MH"));
34  addParam("showMCInfo", m_showMCInfo, "Show Monte Carlo information (MCParticles, SimHits)", true);
35  addParam("assignHitsToPrimaries", m_assignToPrimaries,
36  "If true, hits created by secondary particles (after scattering, decay-in-flight, ...) will be assigned to the original primary particle.",
37  false);
38  addParam("showAllPrimaries", m_showAllPrimaries,
39  "If true, all primary MCParticles will be shown, regardless of wether hits are produced.", true);
40  addParam("hideSecondaries", m_hideSecondaries, "If true, secondary MCParticles (and hits created by them) will not be shown.",
41  false);
42  addParam("showCharged", m_showCharged,
43  "If true, all charged MCParticles will be shown, including secondaries (implies disabled assignHitsToPrimaries). May be slow.",
44  true);
45  addParam("showNeutrals", m_showNeutrals,
46  "If true, all neutral MCParticles will be shown, including secondaries (implies disabled assignHitsToPrimaries). May be slow.",
47  true);
48  addParam("showTrackLevelObjects", m_showTrackLevelObjects,
49  "If true, fitted Tracks, GFRave Vertices and ECLCluster objects will be shown in the display.", true);
50  addParam("showRecoTracks", m_showRecoTracks,
51  "If true, track candidates (RecoTracks) and reconstructed hits will be shown in the display.", false);
52  addParam("showCDCHits", m_showCDCHits,
53  "If true, CDCHit objects will be shown as drift cylinders (shortened, z position set to zero).", false);
54  addParam("showTriggerObjects", m_showTriggerObjects,
55  "If true, CDCHit objects will be assigned to trigger segments and trigger tracks will be shown.", false);
56  addParam("showBKLM2dHits", m_showBKLM2dHits,
57  "If true, BKLM2dHit objects will be shown in the display", true);
58  addParam("showEKLM2dHits", m_showEKLM2dHits,
59  "If true, EKLMHit2d objects will be shown in the display", true);
60  addParam("showARICHHits", m_showARICHHits,
61  "If true, ARICHHit objects will be shown.", false);
62  addParam("automatic", m_automatic,
63  "Non-interactively save visualisations for each event. Note that this still requires an X server, but you can use the 'Xvfb' dummy server by running basf2 using 'xvfb-run -s \"-screen 0 640x480x24\" basf2 ...' to run headless.",
64  false);
65  addParam("fullGeometry", m_fullGeometry,
66  "Show full geometry instead of simplified shapes. Further details can be enabled by changing the VisLevel option for Eve -> Scenes -> Geometry Scene -> Top_1.",
67  false);
68  addParam("hideObjects", m_hideObjects,
69  "Objects which are to be hidden (can be manually re-enabled in tree view). Names correspond to the object names in the 'Event'. (Note that this won't work for objects somewhere deep in the tree, only for those immediately below 'Event'.)", {});
70  addParam("customGeometryExtractPath", m_customGeometryExtractPath, "Path to custom file with geometry extract.", std::string(""));
71  addParam("hideVolumes", m_hideVolumes,
72  "List of volumes to be hidden (can be re-enabled in Eve panel / Geometry scene. The volume and all its daughters will be hidden.", {});
73  addParam("deleteVolumes", m_deleteVolumes,
74  "List of volumes to be deleted. The volume and all its daughters will be deleted completely. Uses Regular Expressions (RE)! If the expression starts with '#', only daughters are removed (# is removed for RE)", {});
75 
76 
77  //create gApplication so we can use graphics support. Needs to be done before ROOT has a chance to do it for us.
78  if ((!gApplication) || (gApplication->TestBit(TApplication::kDefaultApplication))) {
79  new TApplication("ROOT_application", 0, 0);
80  }
81 }
82 
83 
85 {
86  //optional inputs
87  StoreArray<MCParticle> MCParticles; MCParticles.isOptional();
88  StoreArray<MCParticleTrajectory> MCParticleTrajectorys; MCParticleTrajectorys.isOptional();
89  StoreArray<CDCSimHit> CDCSimHits; CDCSimHits.isOptional();
90  StoreArray<PXDSimHit> PXDSimHits; PXDSimHits.isOptional();
91  StoreArray<SVDSimHit> SVDSimHits; SVDSimHits.isOptional();
92  StoreArray<BKLMSimHit> BKLMSimHits; BKLMSimHits.isOptional();
93  StoreArray<EKLMSimHit> EKLMSimHits; EKLMSimHits.isOptional();
94  StoreArray<ECLCluster> ECLClusters; ECLClusters.isOptional();
95  StoreArray<KLMCluster> KLMClusters; KLMClusters.isOptional();
96  StoreArray<BKLMHit2d> BKLMHit2ds; BKLMHit2ds.isOptional();
97  StoreArray<EKLMHit2d> EKLMHit2ds; EKLMHit2ds.isOptional();
98  StoreArray<Track> Tracks; Tracks.isOptional();
99  StoreArray<TrackFitResult> TrackFitResults; TrackFitResults.isOptional();
100  StoreArray<RecoTrack> RecoTracks; RecoTracks.isOptional();
101  StoreArray<genfit::GFRaveVertex> GFRaveVertexs; GFRaveVertexs.isOptional();
102  StoreObjPtr<DisplayData> DisplayDatas; DisplayDatas.isOptional();
103  StoreArray<PXDCluster> PXDClusters; PXDClusters.isOptional();
104  StoreArray<SVDCluster> SVDClusters; SVDClusters.isOptional();
105  StoreArray<CDCHit> CDCHits; CDCHits.isOptional();
106  StoreArray<CDCTriggerSegmentHit> CDCTriggerSegmentHits; CDCTriggerSegmentHits.isOptional();
107  StoreArray<ARICHHit> ARICHHits; ARICHHits.isOptional();
108  StoreArray<TOPDigit> TOPDigits; TOPDigits.isOptional();
109  StoreArray<ROIid> ROIids; ROIids.isOptional();
110  StoreArray<RecoHitInformation::UsedPXDHit> UsedPXDHits; UsedPXDHits.isOptional();
111  StoreArray<RecoHitInformation::UsedSVDHit> UsedSVDHits; UsedSVDHits.isOptional();
112  StoreArray<RecoHitInformation::UsedCDCHit> UsedCDCHits; UsedCDCHits.isOptional();
113 
115  if (hasCondition())
117  m_display->addParameter("Show MC info", getParam<bool>("showMCInfo"), 0);
118  {
119  //MC-specific parameters
120  m_display->addParameter("Assign hits to primary particles", getParam<bool>("assignHitsToPrimaries"), 1);
121  m_display->addParameter("Show all primaries", getParam<bool>("showAllPrimaries"), 1);
122  m_display->addParameter("Show all charged particles", getParam<bool>("showCharged"), 1);
123  m_display->addParameter("Show all neutral particles", getParam<bool>("showNeutrals"), 1);
124  m_display->addParameter("Hide secondaries", getParam<bool>("hideSecondaries"), 1);
125  }
126  m_display->addParameter("Show candidates and rec. hits", getParam<bool>("showRecoTracks"), 0);
127  m_display->addParameter("Show tracks, vertices, gammas", getParam<bool>("showTrackLevelObjects"), 0);
128 
129  if (!m_fullGeometry and Gearbox::getInstance().exists("Detector/Name")) {
130  std::string detectorName = Gearbox::getInstance().getString("Detector/Name");
131  if (detectorName != "Belle2Detector") {
132  B2INFO("Non-standard detector '" << detectorName << "' used, switching to full geometry.");
133  m_fullGeometry = true;
134  }
135  }
136  if (m_fullGeometry) {
137  //pass some parameters to DisplayUI to be able to change them at run time
138  m_display->addParameter("Show full geometry", getParam<bool>("fullGeometry"), 0);
139  }
140 
142 
145 
150 }
151 
152 
154 {
155  setReturnValue(false);
156  if (!gEve) {
157  //window closed?
158  B2WARNING("Display window closed, continuing with next module. (hit Ctrl+C to exit)");
159  return;
160  }
161 
163 
164  //secondaries cannot be shown if they are merged into primaries
167  B2WARNING("assignHitsToPrimaries and showCharged/showNeutrals can not be used together!");
168  }
169 
171 
172  if (m_showMCInfo) {
173  //gather MC particles
174  StoreArray<MCParticle> mcparticles;
176  for (const MCParticle& part : mcparticles) {
177  if ((m_showAllPrimaries and part.hasStatus(MCParticle::c_PrimaryParticle))
178  or (m_showCharged and TMath::Nint(part.getCharge()) != 0)
179  or (m_showNeutrals and TMath::Nint(part.getCharge()) == 0)) {
180  m_visualizer->addMCParticle(&part);
181  }
182  }
183  }
184 
185  //gather simhits
191  }
192 
193 
194  if (m_showRecoTracks) {
195  //add all possible track candidate arrays
196  const auto recoTrackArrays = StoreArray<RecoTrack>::getArrayList();
197  for (std::string colName : recoTrackArrays) {
198  StoreArray<RecoTrack> recoTracks(colName);
199  for (const RecoTrack& recoTrack : recoTracks) {
200  if (colName != "RecoTracksMpl") {
201  m_visualizer->addTrackCandidate(colName, recoTrack);
202  } else {
203  m_visualizer->addTrackCandidateImproved(colName, recoTrack);
204  }
205  }
206  }
207 
211 
212  //add remaining recohits
213  m_visualizer->addUnassignedRecoHits(pxdStoreArray);
214  m_visualizer->addUnassignedRecoHits(svdStoreArray);
215  m_visualizer->addUnassignedRecoHits(cdcStoreArray);
216 
217  StoreArray<ROIid> ROIs;
218  for (int i = 0 ; i < ROIs.getEntries(); i++)
219  m_visualizer->addROI(ROIs[i]);
220  //well, non-standard names are used for testbeams?
221  StoreArray<ROIid> testbeamROIs("ROIs");
222  for (int i = 0 ; i < testbeamROIs.getEntries(); i++)
223  m_visualizer->addROI(testbeamROIs[i]);
224  }
225 
227  StoreArray<CDCHit> cdchits;
228  for (auto& hit : cdchits)
230  }
231 
232  if (m_showTriggerObjects) {
233  const auto arrayList = StoreArray<CDCTriggerSegmentHit>::getArrayList();
234  for (const auto& i : arrayList) {
236  for (auto& hit : tshits)
238  }
239 
240  //add all possible track candidate arrays
241  const auto trgTrackArrays = StoreArray<CDCTriggerTrack>::getArrayList();
242  for (std::string colName : trgTrackArrays) {
243  StoreArray<CDCTriggerTrack> trgTracks(colName);
244  for (const CDCTriggerTrack& trgTrack : trgTracks) {
245  m_visualizer->addCDCTriggerTrack(colName, trgTrack);
246  }
247  }
248  }
249 
250  if (m_showBKLM2dHits) {
251  StoreArray<BKLMHit2d> bklmhits;
252  for (auto& hit : bklmhits)
253  m_visualizer->addBKLMHit2d(&hit);
254  }
255 
256  if (m_showEKLM2dHits) {
257  StoreArray<EKLMHit2d> eklmhits;
258  for (auto& hit : eklmhits)
259  m_visualizer->addEKLMHit2d(&hit);
260  }
261 
262  if (m_showARICHHits) {
263  StoreArray<ARICHHit> arichhits;
264  for (auto& hit : arichhits)
265  m_visualizer->addARICHHit(&hit);
266  }
267 
269  //gather track-level objects
270  StoreArray<Track> tracks;
271  for (const Track& track : tracks)
272  m_visualizer->addTrack(&track);
273 
275  const int nVertices = vertices.getEntries();
276  for (int i = 0; i < nVertices; i++) {
277  m_visualizer->addVertex(vertices[i]);
278  }
279 
280  StoreArray<ECLCluster> clusters;
281  for (const ECLCluster& cluster : clusters) {
282  if (cluster.hasHypothesis(ECLCluster::EHypothesisBit::c_nPhotons)) {
283  if (m_showMCInfo) {
284  //make sure we add particles producing these
285  const MCParticle* mcpart = cluster.getRelated<MCParticle>();
286  if (mcpart)
287  m_visualizer->addMCParticle(mcpart);
288  }
289 
290  m_visualizer->addECLCluster(&cluster);
291  }
292  }
293 
294  StoreArray<KLMCluster> klmclusters;
295  for (const KLMCluster& cluster : klmclusters) {
296  if (m_showMCInfo) {
297  //make sure we add particles producing these
298  const MCParticle* mcpart = cluster.getRelated<MCParticle>();
299  if (mcpart)
300  m_visualizer->addMCParticle(mcpart);
301  }
302 
303  m_visualizer->addKLMCluster(&cluster);
304  }
305 
307  }
308 
309  //all hits/tracks are added, finish visual representations
311 
312  StoreObjPtr<DisplayData> displayData;
313  if (displayData) {
314  m_visualizer->showUserData(*displayData);
315  m_display->showUserData(*displayData);
316  }
317 
318 
319  bool reshow = m_display->startDisplay();
321  if (!m_display->cumulativeIsOn()) {
322  m_visualizer->clearEvent(); //clean up internal state of visualiser
323  }
324  m_display->clearEvent(); //clean up event scene, incl. projections
325 
326  //reprocess current event (maybe some options changed)
327  if (reshow)
328  event();
329 }
330 
331 
333 {
334  if (gEve) {
335  gEve->Terminate();
336  }
337 
338  delete m_visualizer;
339  delete m_display;
340 }
Belle2::DisplayUI::hideObjects
void hideObjects(const std::vector< std::string > &names)
hide objects with the given names.
Definition: DisplayUI.h:114
Belle2::DisplayUI::getReturnValue
bool getReturnValue() const
Return value for current event, only makes sense if allowFlaggingEvents(true) was called.
Definition: DisplayUI.cc:135
Belle2::EveGeometry::setHideVolumes
void setHideVolumes(const std::vector< std::string > &volumes)
List of volumes to be hidden (can be re-enabled in Eve panel / Geometry scene.
Definition: EveGeometry.cc:215
Belle2::DisplayModule::m_hideSecondaries
bool m_hideSecondaries
If true, secondary MCParticles (and hits created by them) will not be shown.
Definition: DisplayModule.h:77
Belle2::EVEVisualization::addUnassignedRecoHits
void addUnassignedRecoHits(const StoreArray< T > &hits)
After adding recohits for tracks/candidates, this function adds the remaining hits in a global collec...
Definition: EVEVisualization.h:189
Belle2::EveGeometry::c_Simplified
@ c_Simplified
a simplified Belle II geometry.
Definition: EveGeometry.h:20
Belle2::DisplayModule::terminate
void terminate() override
Terminate gEve to avoid problems with root's cleanup.
Definition: DisplayModule.cc:332
Belle2::DisplayUI::startDisplay
bool startDisplay()
Start interactive display for current event.
Definition: DisplayUI.cc:340
Belle2::DisplayModule::m_deleteVolumes
std::vector< std::string > m_deleteVolumes
List of volumes to be deleted.
Definition: DisplayModule.h:122
Belle2::DisplayModule::m_visualizer
EVEVisualization * m_visualizer
Pointer to visualizer.
Definition: DisplayModule.h:128
Belle2::DisplayUI::allowFlaggingEvents
void allowFlaggingEvents(const std::string &description="")
Show control for flagging events (to set module return value).
Definition: DisplayUI.cc:125
Belle2::ECLCluster
ECL cluster data.
Definition: ECLCluster.h:39
Belle2::EVEVisualization::addECLCluster
void addECLCluster(const ECLCluster *cluster)
Add a reconstructed cluster in the ECL.
Definition: EVEVisualization.cc:1400
Belle2::Gearbox::getInstance
static Gearbox & getInstance()
Return reference to the Gearbox instance.
Definition: Gearbox.cc:74
Belle2::DisplayUI
Control TEve browser user interface.
Definition: DisplayUI.h:44
REG_MODULE
#define REG_MODULE(moduleName)
Register the given module (without 'Module' suffix) with the framework.
Definition: Module.h:652
Belle2::DisplayModule::m_showRecoTracks
bool m_showRecoTracks
Whether to show RecoTracks.
Definition: DisplayModule.h:89
Belle2::DisplayModule::m_showCharged
bool m_showCharged
If true, all charged primary and secondary MCParticles will be shown, regardless of wether hits are p...
Definition: DisplayModule.h:80
Belle2::DisplayUI::clearEvent
void clearEvent()
remove all event data in current event.
Definition: DisplayUI.cc:285
Belle2::Module::hasCondition
bool hasCondition() const
Returns true if at least one condition was set for the module.
Definition: Module.h:313
Belle2::EVEVisualization::showUserData
void showUserData(const DisplayData &displayData)
Add user-defined data (labels, points, etc.)
Definition: EVEVisualization.cc:1833
Belle2::EVEVisualization::addCDCTriggerSegmentHit
void addCDCTriggerSegmentHit(const std::string &collectionName, const CDCTriggerSegmentHit *hit)
show outline of track segments.
Definition: EVEVisualization.cc:1676
Belle2::DisplayModule::m_assignToPrimaries
bool m_assignToPrimaries
If true, hits created by secondary particles (e.g.
Definition: DisplayModule.h:71
Belle2::EVEVisualization::makeTracks
void makeTracks()
Create visual representation of all tracks.
Definition: EVEVisualization.cc:1246
Belle2::CDCTriggerTrack
Track created by the CDC trigger.
Definition: CDCTriggerTrack.h:15
Belle2::DisplayModule::m_showTrackLevelObjects
bool m_showTrackLevelObjects
If true, fitted RecoTracks, GFRave Vertices and ECLGamma objects will be shown in the display.
Definition: DisplayModule.h:86
Belle2::DisplayModule::m_display
DisplayUI * m_display
pointer to actual display
Definition: DisplayModule.h:125
Belle2::ECLCluster::EHypothesisBit::c_nPhotons
@ c_nPhotons
CR is split into n photons (N1)
Belle2::StoreArray::getArrayList
static std::vector< std::string > getArrayList(DataStore::EDurability durability=DataStore::c_Event)
Return list of array names with matching type.
Definition: StoreArray.h:285
Belle2::DisplayModule::m_hideVolumes
std::vector< std::string > m_hideVolumes
List of volumes to be hidden (can be re-enabled in Eve panel / Geometry scene.
Definition: DisplayModule.h:119
Belle2::EveGeometry::addGeometry
void addGeometry(EType visMode)
Add TGeo geometry to Eve (only needs to be done once.)
Definition: EveGeometry.cc:28
Belle2::DisplayModule::m_showCDCHits
bool m_showCDCHits
If true, CDCHit objects will be shown as drift cylinders (shortened, z position set to zero).
Definition: DisplayModule.h:92
Belle2::DisplayModule::event
void event() override
Show various reconstructed or simulated objects in the event viewer until the next event is requested...
Definition: DisplayModule.cc:153
Belle2::EVEVisualization::addTOPDigits
void addTOPDigits(const StoreArray< TOPDigit > &digits)
Add TOPDigits (shown aggregated per module).
Definition: EVEVisualization.cc:1788
Belle2::EveGeometry::setVisualisationMode
void setVisualisationMode(EType visMode)
switch to given visualisation mode.
Definition: EveGeometry.cc:131
Belle2::DisplayModule::initialize
void initialize() override
Sets up geometry if needed.
Definition: DisplayModule.cc:84
Belle2::EVEVisualization::addBKLMHit2d
void addBKLMHit2d(const BKLMHit2d *bklm2dhit)
Add a reconstructed 2d hit in the BKLM.
Definition: EVEVisualization.cc:1489
Belle2::DisplayModule::m_showAllPrimaries
bool m_showAllPrimaries
If true, all primary MCParticles will be shown, regardless of wether hits are produced.
Definition: DisplayModule.h:74
Belle2::DisplayModule::m_showEKLM2dHits
bool m_showEKLM2dHits
If true, EKLMHit2d objects will be shown in the display.
Definition: DisplayModule.h:101
Belle2::EVEVisualization::addTrackCandidate
void addTrackCandidate(const std::string &collectionName, const RecoTrack &recoTrack)
Add a RecoTrack, to evaluate track finding.
Definition: EVEVisualization.cc:195
Belle2::EveGeometry::setDeleteVolumes
void setDeleteVolumes(const std::vector< std::string > &volumes)
List of volumes to be removed.
Definition: EveGeometry.cc:220
Belle2::DisplayModule::m_showARICHHits
bool m_showARICHHits
If true, ARICHHit objects will be shown as squares, corresponding to channel pixels.
Definition: DisplayModule.h:104
Belle2::Module
Base class for Modules.
Definition: Module.h:74
Belle2::RecoTrack
This is the Reconstruction Event-Data Model Track.
Definition: RecoTrack.h:78
Belle2::EveGeometry::setCustomExtractPath
void setCustomExtractPath(const std::string &extractPath)
Set custom path to the geometry extract (to change originally hard-coded value)
Definition: EveGeometry.cc:210
Belle2::EVEVisualization
Produces visualisation for MCParticles, simhits, genfit::Tracks, geometry and other things.
Definition: EVEVisualization.h:59
Belle2::EVEVisualization::addROI
void addROI(const ROIid *roi)
Add a Region Of Interest, computed by the PXDDataReduction module.
Definition: EVEVisualization.cc:1546
Belle2::EVEVisualization::addCDCTriggerTrack
void addCDCTriggerTrack(const std::string &collectionName, const CDCTriggerTrack &track)
Add a CDCTriggerTrack.
Definition: EVEVisualization.cc:338
Belle2::EVEVisualization::addTrackCandidateImproved
void addTrackCandidateImproved(const std::string &collectionName, const RecoTrack &recoTrack)
Add a RecoTrack, but use stored genfit track representation to make visualisation objects.
Definition: EVEVisualization.cc:254
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::StoreObjPtr
Type-safe access to single objects in the data store.
Definition: ParticleList.h:33
Belle2::Gearbox::getString
virtual std::string getString(const std::string &path="") const noexcept(false) override
Get the parameter path as a string.
Definition: Gearbox.h:133
Belle2::EVEVisualization::addEKLMHit2d
void addEKLMHit2d(const EKLMHit2d *bklm2dhit)
Add a reconstructed 2d hit in the EKLM.
Definition: EVEVisualization.cc:1532
Belle2::EVEVisualization::addCDCHit
void addCDCHit(const CDCHit *hit, bool showTriggerHits=false)
show CDCHits directly.
Definition: EVEVisualization.cc:1608
Belle2::EVEVisualization::addKLMCluster
void addKLMCluster(const KLMCluster *cluster)
Add a reconstructed cluster in the KLM.
Definition: EVEVisualization.cc:1437
Belle2::DisplayModule::m_fullGeometry
bool m_fullGeometry
Show full geometry instead of simplified shapes.
Definition: DisplayModule.h:110
Belle2::EVEVisualization::addMCParticle
MCTrack * addMCParticle(const MCParticle *particle)
Return MCTrack for given particle, add it if it doesn't exist yet.
Definition: EVEVisualization.cc:1099
Belle2::EVEVisualization::addARICHHit
void addARICHHit(const ARICHHit *hit)
Add recontructed hit in ARICH.
Definition: EVEVisualization.cc:1767
Belle2::DisplayUI::addParameter
void addParameter(const std::string &label, ModuleParam< bool > &param, int level)
Generate UI elements so the given module parameter can be changed at run time.
Definition: DisplayUI.cc:89
Belle2::Module::getCondition
const ModuleCondition * getCondition() const
Return a pointer to the first condition (or nullptr, if none was set)
Definition: Module.h:316
Belle2::EVEVisualization::setAssignToPrimaries
void setAssignToPrimaries(bool on)
If true, hits created by secondary particles (e.g.
Definition: EVEVisualization.h:266
Belle2::EVEVisualization::addVertex
void addVertex(const genfit::GFRaveVertex *vertex)
Add a vertex point and its covariance matrix.
Definition: EVEVisualization.cc:1348
Belle2::Module::setReturnValue
void setReturnValue(int value)
Sets the return value for this module as integer.
Definition: Module.cc:222
Belle2::DisplayUI::cumulativeIsOn
bool cumulativeIsOn() const
If true, DisplayModule shouldn't clear previous data (i.e.
Definition: DisplayUI.h:150
Belle2::KLMCluster
KLM cluster data.
Definition: KLMCluster.h:38
Belle2::EveGeometry::c_Full
@ c_Full
Full geometry converted from Geant4 (use this for non-standard Belle II setups!).
Definition: EveGeometry.h:19
Belle2::DisplayUI::showUserData
void showUserData(const DisplayData &displayData)
Add user-defined data (histograms, etc.).
Definition: DisplayUI.cc:828
Belle2::EVEVisualization::setOptions
void setOptions(const std::string &opts)
Set the display options.
Definition: EVEVisualization.cc:175
Belle2::DisplayModule::m_showBKLM2dHits
bool m_showBKLM2dHits
If true, BKLMHit objects will be shown in the display.
Definition: DisplayModule.h:98
Belle2::DisplayModule::m_customGeometryExtractPath
std::string m_customGeometryExtractPath
Path to custom file with geometry extract.
Definition: DisplayModule.h:116
Belle2::EVEVisualization::setHideSecondaries
void setHideSecondaries(bool on)
If true, secondary MCParticles (and hits created by them) will not be shown.
Definition: EVEVisualization.h:269
Belle2::DisplayModule
The event display module.
Definition: DisplayModule.h:49
Belle2::EVEVisualization::addTrack
void addTrack(const Belle2::Track *belle2Track)
Add this genfit::Track to event data.
Definition: EVEVisualization.cc:376
Belle2::DisplayModule::m_showTriggerObjects
bool m_showTriggerObjects
If true, CDCHit objects will be assigned to trigger segments and trigger tracks will be shown.
Definition: DisplayModule.h:95
Belle2::DisplayModule::m_options
std::string m_options
List of drawing options, see EVEVisualization::setOptions()
Definition: DisplayModule.h:65
Belle2::Track
Class that bundles various TrackFitResults.
Definition: Track.h:35
Belle2::MCParticle
A Class to store the Monte Carlo particle information.
Definition: MCParticle.h:43
Belle2::StoreArray< MCParticle >
Belle2::EVEVisualization::clearEvent
void clearEvent()
clear event data.
Definition: EVEVisualization.cc:1305
Belle2::DisplayModule::m_automatic
bool m_automatic
Non-interactively save visualizations for each event.
Definition: DisplayModule.h:107
Belle2::DisplayModule::m_showMCInfo
bool m_showMCInfo
Show Monte Carlo information (MCParticles, SimHits).
Definition: DisplayModule.h:68
Belle2::DisplayModule::m_showNeutrals
bool m_showNeutrals
If true, all neutral primary and secondary MCParticles will be shown, regardless of wether hits are p...
Definition: DisplayModule.h:83
Belle2::DisplayModule::m_hideObjects
std::vector< std::string > m_hideObjects
objects which are to be hidden (can be manually re-enabled in tree view).
Definition: DisplayModule.h:113
Belle2::EVEVisualization::addSimHits
void addSimHits(const StoreArray< T > &hits)
Add all entries in the given 'hits' array (and the corresponding MCParticles) to the event scene.
Definition: EVEVisualization.h:131
Belle2::StoreArray::getEntries
int getEntries() const
Get the number of objects in the array.
Definition: StoreArray.h:226
Belle2::MCParticle::c_PrimaryParticle
@ c_PrimaryParticle
bit 0: Particle is primary particle.
Definition: MCParticle.h:58
Belle2::Module::getPathString
std::string getPathString() const override
return the module name.
Definition: Module.cc:194