Demo showing H -> ZZ -> 4 mu generated by Pythia.
Requires libPythia6.
#ifndef __RUN_PYTHIA_DISPLAY__
void pythia_display()
{
gROOT->LoadMacro(dir +
"MultiView.C+");
#ifndef G__WIN32 // libPythia6 is a static library on Windoze
{
Error(
"pythia_display()",
"Could not load 'libPythia6', make sure it is available!");
return;
}
#endif
gROOT->ProcessLine(
"#define __RUN_PYTHIA_DISPLAY__ 1");
gROOT->ProcessLine(
"#include \"pythia_display.C\"");
gROOT->ProcessLine(
"run_pythia_display()");
gROOT->ProcessLine(
"#undef __RUN_PYTHIA_DISPLAY__");
}
#else
class MultiView;
MultiView* gMultiView = 0;
void pythia_next_event();
void pythia_make_gui();
void run_pythia_display()
{
if (g_pythia != 0)
{
Warning(
"pythia_display()",
"Already initialized.");
return;
}
for (
Int_t i = 210; i <= 288; ++i)
for (
Int_t i = 174; i <= 189; ++i)
gMultiView = new MultiView;
gMultiView->ImportGeomRPhi(fake_geom);
gMultiView->ImportGeomRhoZ(fake_geom);
pythia_make_gui();
pythia_next_event();
}
void pythia_next_event()
{
for (
Int_t i = 0; i < 7; ++i)
{
track->SetName(
Form(
"%s [%d]", pb.GetName(), i));
track->SetStdTitle();
track->SetAttLineAttMarker(gTrackList);
if (i == 0)
track->SetLineColor(kColors[0]);
else if (i <= 2)
track->SetLineColor(kColors[1]);
}
gMultiView->DestroyEventRPhi();
gMultiView->ImportEventRPhi(top);
gMultiView->DestroyEventRhoZ();
gMultiView->ImportEventRhoZ(top);
}
class EvNavHandler
{
public:
void Fwd()
{
pythia_next_event();
}
void Bck()
{}
};
void pythia_make_gui()
{
{
EvNavHandler *fh = new EvNavHandler;
b->
Connect(
"Clicked()",
"EvNavHandler", fh,
"Bck()");
b->
Connect(
"Clicked()",
"EvNavHandler", fh,
"Fwd()");
}
}
#endif
- Author
- Matevz Tadel
Definition in file pythia_display.C.