Geometry for MFT (Brigitte)
[u/mrichter/AliRoot.git] / EVE / alice-macros / emcal_hits.C
1 // $Id$
2 // Main authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007
3
4 /**************************************************************************
5  * Copyright(c) 1998-2008, ALICE Experiment at CERN, all rights reserved. *
6  * See http://aliceinfo.cern.ch/Offline/AliRoot/License.html for          *
7  * full copyright notice.                                                 *
8  **************************************************************************/
9 #if !defined(__CINT__) || defined(__MAKECINT__)
10 #include <TTree.h>
11 #include <TString.h>
12 #include <TEveManager.h>
13 #include <TEveElement.h>
14 #include <TEvePointSet.h>
15 #include <TEveTreeTools.h>
16
17 #include <AliRunLoader.h>
18 #include <AliEveEventManager.h>
19 #endif
20
21 TEvePointSet*
22 emcal_hits(const char *varexp    = "fX:fY:fZ",
23            const char *selection = "",
24            TEveElement* cont = 0)
25 {
26   AliRunLoader* rl =  AliEveEventManager::AssertRunLoader();
27   rl->LoadHits("EMCAL");
28
29   TTree* ht = rl->GetTreeH("EMCAL", false);
30
31   TEvePointSet* points = new TEvePointSet(Form("EMCAL Hits '%s'", selection));
32
33   TEvePointSelector ps(ht, points, varexp, selection);
34   ps.Select();
35
36   if (points->Size() == 0 && gEve->GetKeepEmptyCont() == kFALSE) {
37     Warning("emcal_hits", "No hits match '%s'",selection);
38     delete points;
39     return 0;
40   }
41
42   points->SetName(Form("EMCAL Hits"));
43   const TString viz_tag("SIM Hits EMCAL");
44   points->ApplyVizTag(viz_tag, "Hits");
45
46   points->SetTitle(Form("N=%d", points->Size()));
47   points->SetMarkerSize(.5);
48   points->SetMarkerColor(2);
49
50   gEve->AddElement(points, cont);
51   gEve->Redraw3D();
52
53   return points;
54 }