]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONRecoDisplay.h
iModule was defined twice
[u/mrichter/AliRoot.git] / MUON / AliMUONRecoDisplay.h
CommitLineData
c7ba256d 1// Authors : M.Gheata, A.Gheata 09/10/00
2#ifndef MUON_RECDISPLAY
3#define MUON_RECDISPLAY
4
5//////////////////////////////////////////////////////////////////////
6// //
7// AliMUONRecoDisplay //
8// //
9// This class subclasses AliDisplay and provides display of //
10// reconstructed tracks with following functionality : //
11// - front/top/side/3D display of MUON reconstructed tracks //
12// as polylines ; //
13// - context menu activated when the main pad is right-clicked //
14// The context menu contains following functions : //
15// * SetDrawHits() - switches on or off Geant hits ; //
16// * CutMomentum() - displays only tracks within Pmin - Pmax //
17// * ListTracks() - prints ID and momentum info. for all //
18// tracks within momentum range Pmin,Pmax ; //
19// * Highlight() - shows only one selected reco. track //
20// and its best matching Geant track; //
21// * UnHighlight() - self explaining; //
22// * RecoEfficiency() - compute reco. efficiency for all events//
23// from galice.root file; also fake track percentage; make //
24// plots for momentum precision //
25// * XYPlot() - make X-Y plots of reconstructed and //
26// generated tracks in all chambers //
27// //
28// Starting : generate and reconstruct events, then use the //
29// MUONrecodisplay.C macro //
30// //
31//////////////////////////////////////////////////////////////////////
32
33#include <TApplication.h>
34#include <TROOT.h>
35#include <TFile.h>
36#include <TPolyLine3D.h>
37#include <TParticle.h>
38#include <AliDisplay.h>
39#include <TTree.h>
40#include <TH1.h>
41#include <TH2.h>
42#include <TCanvas.h>
43#include <TProfile.h>
44#include <AliDetector.h>
45#include "AliMUONHit.h"
46
47
48class AliMUONRecoDisplay:public AliDisplay {
49
50private:
51//methods
52 Int_t GetBestMatch(Int_t indr, Float_t tolerance=3.0);
53 TClonesArray* MakePolyLines3D(TClonesArray *tracklist);
54 void MapEvent(Int_t nevent);
55 Bool_t IsReconstructible(Int_t track);
56//data members
57 AliMUONRecoEvent *fEvGen; // Geant event
58 AliMUONRecoEvent *fEvReco; // reconstructed event
59 TFile *fFile; // file with reco. event tree
60 TTree *fTree; // tree with reco. events
61 TClonesArray *fPolyRecoList; // list of TPolyLine3D's for reco. tracks
62 TClonesArray *fPolyGenList; // list of TPolyLine3D's for generated tracks
63 TClonesArray *fRecoTracks; // list of reco tracks
64 TClonesArray *fGenTracks; // list of GEANT tracks
65 Int_t fHighlited; // index of current highlited track
66 Double_t fMinMomentum; // min. cut of momentum
67 Double_t fMaxMomentum; // max. cut of momentum
68 Bool_t fPrinted; // tracks info switch
69
70public:
71 AliMUONRecoDisplay(Int_t nevent=0);
72 virtual ~AliMUONRecoDisplay();
73 virtual void DrawHits();
74 virtual void DrawView(Float_t theta, Float_t phi, Float_t psi = 0);
75 virtual void SetDrawHits(Bool_t hits = kTRUE); // *MENU*
76 virtual void ShowNextEvent(Int_t delta = 1);
77 void ListTracks(); // *MENU*
78 void Highlight(Int_t track=0); // *MENU*
79 void UnHighlight(); // *MENU*
80 void CutMomentum(Double_t min=0, Double_t max=999); // *MENU*
81 void PolyLineInfo(TClonesArray *line3Dlist);
82 void RecoEfficiency(Int_t first=0, Int_t last=10000); // *MENU*
83 void XYPlot(); // *MENU*
84
85 ClassDef(AliMUONRecoDisplay,0) // MUON reco. event display
86};
87
88#endif