75 #ifndef __RUN_ALICE_ESD__ 82 gROOT->LoadMacro(dir +
"MultiView.C+");
83 const char* esd_file_name =
"http://root.cern.ch/files/alice_ESDs.root";
97 gROOT->ProcessLine(
"#define __RUN_ALICE_ESD__ 1");
98 gROOT->ProcessLine(
"#include \"alice_esd.C\"");
99 gROOT->ProcessLine(
"run_alice_esd()");
100 gROOT->ProcessLine(
"#undef __RUN_ALICE_ESD__");
112 class AliExternalTrackParam;
117 void alice_esd_read();
120 AliExternalTrackParam* tp=0);
122 void trackGetPos(AliExternalTrackParam* tp,
Double_t r[3]);
123 void trackGetMomentum(AliExternalTrackParam* tp,
Double_t p[3]);
124 Double_t trackGetP(AliExternalTrackParam* tp);
129 const char* esd_file_name =
"http://root.cern.ch/files/alice_ESDs.root";
134 const char* esd_friends_file_name = 0;
136 const char* esd_geom_file_name =
137 "http://root.cern.ch/files/alice_ESDgeometry.root";
144 TFile *esd_friends_file = 0;
148 AliESDEvent *esd = 0;
150 AliESDfriend *esd_friend = 0;
152 Int_t esd_event_id = 0;
160 MultiView* gMultiView = 0;
178 const TString weh(
"alice_esd()");
182 printf(
"*** Opening ESD ***\n");
183 esd_file =
TFile::Open(esd_file_name,
"CACHEREAD");
187 esd_tree = (
TTree*) esd_file->
Get(
"esdTree");
189 esd_objs = esd->fESDObjects;
191 if (esd_friends_file_name != 0)
193 printf(
"*** Opening ESD-friends ***\n");
194 esd_friends_file =
TFile::Open(esd_friends_file_name,
"CACHEREAD");
195 if (!esd_friends_file)
203 TIter next(esd_objs);
205 while ((el = (
TNamed*)next()))
208 if (bname ==
"AliESDfriend")
230 Warning(
"AliESDEvent::ReadFromTree() " 231 "No Branch found with Name '%s' or '%s.'.",
232 bname.Data(),bname.Data());
257 gMultiView =
new MultiView;
259 gMultiView->ImportGeomRPhi(gGeomGentle);
260 gMultiView->ImportGeomRhoZ(gGeomGentle);
266 fgHtmlSummary =
new HtmlSummary(
"Alice Event Display Summary Table");
268 fgHtml =
new TGHtml(0, 100, 100);
270 fgHtml->MapSubwindows();
292 printf(
"Loading event %d.\n", esd_event_id);
306 gMultiView->DestroyEventRPhi();
307 gMultiView->ImportEventRPhi(top);
309 gMultiView->DestroyEventRhoZ();
310 gMultiView->ImportEventRhoZ(top);
312 update_html_summary();
331 if (esd_event_id < esd_tree->GetEntries() - 1) {
335 printf(
"Already at last event.\n");
340 if (esd_event_id > 0) {
344 printf(
"Already at first event.\n");
366 EvNavHandler *fh =
new EvNavHandler;
370 b->
Connect(
"Clicked()",
"EvNavHandler", fh,
"Bck()");
374 b->
Connect(
"Clicked()",
"EvNavHandler", fh,
"Fwd()");
392 kITSin=0x0001,kITSout=0x0002,kITSrefit=0x0004,kITSpid=0x0008,
393 kTPCin=0x0010,kTPCout=0x0020,kTPCrefit=0x0040,kTPCpid=0x0080,
394 kTRDin=0x0100,kTRDout=0x0200,kTRDrefit=0x0400,kTRDpid=0x0800,
395 kTOFin=0x1000,kTOFout=0x2000,kTOFrefit=0x4000,kTOFpid=0x8000,
405 void alice_esd_read()
409 AliESDRun *esdrun = (AliESDRun*) esd_objs->
FindObject(
"AliESDRun");
430 trkProp->
SetMagField( 0.1 * esdrun->fMagneticField );
434 AliESDtrack* at = (AliESDtrack*) tracks->
At(
n);
437 AliExternalTrackParam* tp = at;
438 if (! trackIsOn(at, kITSrefit)) {
442 TEveTrack* track = esd_make_track(trkProp,
n, at, tp);
461 AliExternalTrackParam* tp)
471 if (tp == 0) tp = at;
476 rt.
fSign = (tp->fP[4] > 0) ? 1 : -1;
478 trackGetPos(tp, vbuf); rt.
fV.
Set(vbuf);
479 trackGetMomentum(tp, pbuf); rt.
fP.
Set(pbuf);
498 return (t->fFlags & mask) > 0;
502 void trackGetPos(AliExternalTrackParam* tp,
Double_t r[3])
506 r[0] = tp->fX; r[1] = tp->
fP[0]; r[2] = tp->fP[1];
509 r[0] =
x*cs - r[1]*sn; r[1] =
x*sn + r[1]*cs;
513 void trackGetMomentum(AliExternalTrackParam* tp,
Double_t p[3])
517 p[0] = tp->fP[4]; p[1] = tp->fP[2]; p[2] = tp->fP[3];
522 p[0]=pt*(r*cs - p[1]*sn); p[1]=pt*(p[1]*cs + r*sn); p[2]=pt*p[2];
526 Double_t trackGetP(AliExternalTrackParam* tp)
virtual Bool_t AccessPathName(const char *path, EAccessMode mode=kFileExists)
Returns FALSE if one can access a file using the specified access mode.
virtual void Resize(UInt_t w=0, UInt_t h=0)
Resize the frame.
virtual void StartEmbedding(Int_t pos=kRight, Int_t subpos=-1)
Start embedding external frame in the tab "pos" and tab element "subpos".
virtual void SetAddress(void *add)
Set address of this branch.
virtual void SetBranchStatus(const char *bname, Bool_t status=1, UInt_t *found=0)
Set branch status to Process or DoNotProcess.
static TEveWindowSlot * CreateWindowInTab(TGTab *tab, TEveWindow *eve_parent=0)
Create a new tab in a given tab-widget and populate it with a default window-slot.
void Set(const Float_t *v)
virtual void SetName(const char *name)
Change (i.e.
void SetWindowName(const char *name=0)
Set window name. This is typically done via the window manager.
TEveBrowser * GetBrowser() const
TString & ReplaceAll(const TString &s1, const TString &s2)
A ROOT file is a suite of consecutive data records (TKey instances) with a well defined format...
void AddGlobalElement(TEveElement *element, TEveElement *parent=0)
Add a global element, i.e.
static Bool_t SetCacheFileDir(ROOT::Internal::TStringView cacheDir, Bool_t operateDisconnected=kTRUE, Bool_t forceCacheread=kFALSE)
virtual TObject * Get(const char *namecycle)
Return pointer to object identified by namecycle.
Specialization of TRootBrowser for Eve.
virtual Int_t GetEntry(Long64_t entry=0, Int_t getall=0)
Read all branches of entry and return total number of bytes read.
virtual int Load(const char *module, const char *entry="", Bool_t system=kFALSE)
Load a shared library.
virtual const char * GetSoExt() const
Get the shared library extension.
void Redraw3D(Bool_t resetCameras=kFALSE, Bool_t dropLogicals=kFALSE)
virtual void SetMarkerColor(Color_t c)
Set marker color for the list and the elements.
TObject * At(Int_t idx) const
Html table and event summary for alice_esd.C.
virtual TObject * FindObject(const char *name) const
Delete a TObjLink object.
virtual const char * UnixPathName(const char *unixpathname)
Convert from a Unix pathname to a local pathname.
void AddElement(TEveElement *element, TEveElement *parent=0)
Add an element.
static TFile * Open(const char *name, Option_t *option="", const char *ftitle="", Int_t compress=1, Int_t netopt=0)
Create / open a file.
virtual void SetMarkerStyle(Style_t s)
Set marker style for the list and the elements.
virtual void MakeProject(const char *dirname, const char *classes="*", Option_t *option="new")
Generate source code necessary to access the objects stored in the file.
The TNamed class is the base class for all named ROOT classes.
A list of tracks supporting change of common attributes and selection based on track parameters...
virtual const char * Getenv(const char *env)
Get environment variable.
virtual void SetMainColor(Color_t c)
Set main (line) color for the list and the elements.
TEveViewerList * GetViewers() const
static TEveManager * Create(Bool_t map_window=kTRUE, Option_t *opt="FIV")
If global TEveManager* gEve is not set initialize it.
virtual void DestroyElements()
Destroy all children of this element.
virtual void SetElementName(const char *name)
Virtual function for setting of name of an element.
virtual TList * GetUserInfo()
Return a pointer to the list containing user objects associated to this tree.
virtual TBranch * GetBranch(const char *name)
Return pointer to the branch with the given name in this tree or its friends.
Bool_t Connect(const char *signal, const char *receiver_class, void *receiver, const char *slot)
Non-static method is used to connect from the signal of this object to the receiver slot...
R__EXTERN TSystem * gSystem
void SetTabTitle(const char *title, Int_t pos=kRight, Int_t subpos=-1)
Set text "title" of Tab "subpos" in TGTab "pos".
R__EXTERN TEveManager * gEve
virtual Bool_t SetTab(Int_t tabIndex, Bool_t emit=kTRUE)
Brings the composite frame with the index tabIndex to the front and generate the following event if t...
Int_t GetEntriesFast() const
char * Form(const char *fmt,...)
TEveTrackPropagator * GetPropagator()
virtual void AddElement(TEveElement *el)
Add el to the list of children.
Holding structure for a number of track rendering parameters.
Visual representation of a track.
void Warning(const char *location, const char *msgfmt,...)
TGTab * GetTabRight() const
void DeleteAnnotations()
Delete annotations from all viewers.
virtual void SetCleanup(Int_t mode=kLocalCleanup)
Turn on automatic cleanup of child frames in dtor.
virtual void SetMarkerSize(Size_t s)
Set marker size for the list and the elements.
virtual void StopEmbedding(const char *name=0)
virtual void AddFrame(TGFrame *f, TGLayoutHints *l=0)
Add frame to the composite frame using the specified layout hints.
virtual void MapSubwindows()
Map all sub windows that are part of the composite frame.
void SetMagField(Double_t bX, Double_t bY, Double_t bZ)
Set constant magnetic field and rebuild tracks.
Mother of all ROOT objects.
An array of clone (identical) objects.
TEveEventManager * GetCurrentEvent() const
Wrapper for TGeoShape with absolute positioning and color attributes allowing display of extracted TG...
you should not use this method at all Int_t Int_t Double_t Double_t Double_t Int_t Double_t Double_t Double_t Double_t b
void MakeTracks(Bool_t recurse=kTRUE)
Regenerate the visual representations of tracks.
virtual void SetStdTitle()
Set standard track title based on most data-member values.
A TTree object has a header with a name and a title.
void SetAttLineAttMarker(TEveTrackList *tl)
Set line and marker attributes from TEveTrackList.
Double_t Sqrt(Double_t x)
virtual const char * GetName() const
Returns name of object.
A TTree is a list of TBranches.
static TEveGeoShape * ImportShapeExtract(TEveGeoShapeExtract *gse, TEveElement *parent=0)
Import a shape extract 'gse' under element 'parent'.
Base class for TEveUtil visualization elements, providing hierarchy management, rendering control and...
virtual TObject ** GetObjectRef(const TObject *obj) const
Return address of pointer to obj.
Encapsulates TGFrame into an eve-window.
virtual void Close(Option_t *option="")
Close a file.