get tables from the aliroot directory if they are not in the current one
[u/mrichter/AliRoot.git] / MUON / AliMUONRecoDisplay.h
1 #ifndef MUON_RECODISPLAY
2 #define MUON_RECODISPLAY
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /*$Id$*/
7
8 // Authors : M.Gheata, A.Gheata 09/10/00
9
10 #include <TApplication.h>
11 #include <TROOT.h>
12 #include <TFile.h>
13 #include <TPolyLine3D.h>
14 #include <TParticle.h>
15 #include <AliDisplay.h>
16 #include <TTree.h>
17 #include <TH1.h>
18 #include <TH2.h>
19 #include <TCanvas.h>
20 #include <TProfile.h>
21 #include <AliDetector.h>
22 #include "AliMUONHit.h"
23
24
25 class AliMUONRecoDisplay:public AliDisplay {
26
27 private:
28 //methods
29    Int_t              GetBestMatch(Int_t indr, Float_t tolerance=3.0);
30    TClonesArray*      MakePolyLines3D(TClonesArray *tracklist);
31    void               MapEvent(Int_t nevent);
32    Bool_t             IsReconstructible(Int_t track);
33 //data members
34    Int_t              fEvent;                   // current event number
35    AliMUONRecoEvent  *fEvGen;                   // Geant event
36    AliMUONRecoEvent  *fEvReco;                  // reconstructed event
37    TFile             *fFile;                    // file with reco. event tree
38    TTree             *fTree;                    // tree with reco. events
39    TClonesArray      *fPolyRecoList;            // list of TPolyLine3D's for reco. tracks
40    TClonesArray      *fPolyGenList;             // list of TPolyLine3D's for generated tracks
41    TClonesArray      *fRecoTracks;              // list of reco tracks
42    TClonesArray      *fGenTracks;               // list of GEANT tracks
43    Int_t              fHighlited;               // index of current highlited track
44    Double_t           fMinMomentum;             // min. cut of momentum
45    Double_t           fMaxMomentum;             // max. cut of momentum
46    Bool_t             fPrinted;                 // tracks info switch
47    Bool_t             fEmpty;                   // true if current reco. event empty
48
49 public:
50    AliMUONRecoDisplay(Int_t nevent=0);
51    virtual             ~AliMUONRecoDisplay();
52    virtual void       DrawHits();
53    virtual void       DrawView(Float_t theta, Float_t phi, Float_t psi = 0);
54    Bool_t             Event(Int_t nevent);
55    virtual void       SetDrawHits(Bool_t hits = kTRUE);         // *MENU*
56    virtual void       ShowNextEvent(Int_t delta = 1);
57    void               ListTracks();                             // *MENU*
58    void               Highlight(Int_t track=0);                 // *MENU*
59    void               UnHighlight();                            // *MENU*
60    void               CutMomentum(Double_t min=0, Double_t max=999);    // *MENU*
61    void               PolyLineInfo(TClonesArray *line3Dlist);
62    void               RecoEfficiency(Int_t first=0, Int_t last=10000);  // *MENU*
63    void               XYPlot();                                 // *MENU*
64    
65    ClassDef(AliMUONRecoDisplay,0)       // MUON reco. event display
66 };
67
68 #endif