]>
Commit | Line | Data |
---|---|---|
d4741ff3 | 1 | //-*- Mode: C++ -*- |
2 | // $Id$ | |
33791895 | 3 | #ifndef ALIHLTEVEHLT_H |
4 | #define ALIHLTEVEHLT_H | |
d4741ff3 | 5 | //* This file is property of and copyright by the ALICE HLT Project * |
6 | //* ALICE Experiment at CERN, All rights reserved. * | |
7 | //* See cxx source for full Copyright notice * | |
8 | ||
9 | /// @file AliHLTEveHLT.h | |
10 | /// @author Svein Lindal <slindal@fys.uio.no> | |
11 | /// @brief HLT Instance of Eve display processor | |
33791895 | 12 | |
13 | #include "AliHLTEveBase.h" | |
14 | class TEvePointSet; | |
15 | class AliESDtrack; | |
16 | class AliEveTrack; | |
17 | class TEveTrackList; | |
18 | class TEveTrackPropagator; | |
19 | class TString; | |
20 | class AliExternalTrackParam; | |
353f10b3 | 21 | class TH1F; |
f1a55ef4 | 22 | class TH1; |
fd2adb88 | 23 | class AliESDEvent; |
33791895 | 24 | |
25 | class AliHLTEveHLT : public AliHLTEveBase { | |
26 | ||
27 | public: | |
28 | ||
29 | /** Constructor **/ | |
30 | AliHLTEveHLT(); | |
31 | ||
32 | /** Destructor **/ | |
33 | ~AliHLTEveHLT(); | |
34 | ||
35 | /** Inherited from AliHLTEveBase */ | |
36 | void ProcessBlock(AliHLTHOMERBlockDesc * block); | |
37 | ||
38 | /** inherited from AliHLTEveBase */ | |
39 | void UpdateElements(); | |
40 | ||
41 | /** inherited from AliHLTEveBase */ | |
42 | void ResetElements(); | |
43 | ||
fd2adb88 | 44 | void ProcessEsdEvent( AliESDEvent * esd); |
45 | ||
46 | void DestroyOldTrackList(); | |
47 | static void * DestroyGarbage(void * arg); | |
48 | ||
33791895 | 49 | private: |
50 | ||
51 | /** copy constructor prohibited */ | |
52 | AliHLTEveHLT(const AliHLTEveHLT&); | |
53 | /** assignment operator prohibited */ | |
d4741ff3 | 54 | AliHLTEveHLT& operator = (const AliHLTEveHLT& ); |
33791895 | 55 | |
56 | /*Create the pointset for the display */ | |
57 | void CreateTrackList(); | |
58 | ||
59 | // Make a standard track representation and put it into given container. | |
60 | // Choose which parameters to use a track's starting point. | |
61 | // If gkFixFailedITSExtr is TRUE (FALSE by default) and | |
62 | // if ITS refit failed, take track parameters at inner TPC radius. | |
63 | AliEveTrack * MakeEsdTrack(AliESDtrack *at, TEveTrackList* cont); | |
64 | ||
65 | // Process the ESD block and call the functions necessary to fill the tracklist | |
73ac9862 | 66 | void ProcessEsdBlock( AliHLTHOMERBlockDesc * block ); |
fd2adb88 | 67 | |
33791895 | 68 | //Set up the track propagator |
69 | void SetUpTrackPropagator(TEveTrackPropagator* trkProp, Float_t magF, Float_t maxR); | |
70 | ||
71 | //Create a title for the track | |
72 | TString CreateTrackTitle(AliESDtrack* t); | |
73 | ||
bc1a13f1 | 74 | ///Create the pointset to display primary vertex |
75 | void CreateVertexPointSet(); | |
76 | ||
33791895 | 77 | //Add track param to AliEveTrack |
78 | void AddTrackParamToTrack(AliEveTrack* track, const AliExternalTrackParam* tp); | |
79 | ||
80 | //Process histogram block | |
81 | void ProcessHistograms(AliHLTHOMERBlockDesc * block, TCanvas * canvas); | |
82 | ||
c8fc4838 | 83 | //Process trigger block |
84 | void ProcessGlobalTrigger(AliHLTHOMERBlockDesc * block); | |
85 | ||
353f10b3 | 86 | //Create tpc qa histograms |
87 | void CreateHistograms(); | |
88 | ||
73ac9862 | 89 | //Create eve tracks and put them in track list |
90 | void FillTrackList(AliESDtrack * esdTrack); | |
91 | ||
92 | //Create track lists | |
93 | void CreateTrackLists(); | |
94 | ||
353f10b3 | 95 | //Draw tpc qa histograms |
96 | void DrawHistograms(); | |
d0cbdfc0 | 97 | void FillHistograms(AliESDtrack * esdTrack); |
353f10b3 | 98 | |
73ac9862 | 99 | |
100 | //Add histograms to a canvas in pad number cdCount | |
f1a55ef4 | 101 | void AddHistogramToCanvas(TH1 * histogram, TCanvas * canvas, Int_t &cdCount); |
fd2adb88 | 102 | |
73ac9862 | 103 | //Get color from pt |
104 | Color_t GetColor(Float_t pt); | |
105 | //Get color bin track belongs to | |
106 | Int_t GetColorBin(Float_t pt); | |
107 | ||
108 | ||
33791895 | 109 | Bool_t fTrueField; //Use true field? |
110 | Bool_t fUseIpOnFailedITS; // Use IP as origin if ITS refit fails? | |
111 | Bool_t fUseRkStepper; // Use Runge Kutta for something something? | |
112 | ||
113 | TEveTrackList * fTrackList; //Eve tracklist | |
73ac9862 | 114 | TEveElementList * fTrackLists; //Holder for tracklists |
fd2adb88 | 115 | TEveTrackList * fOldTrackList; //Eve tracklist |
bc1a13f1 | 116 | TEvePointSet * fPointSetVertex; //Display primary vertex |
33791895 | 117 | |
353f10b3 | 118 | TCanvas * fTrCanvas; //Canvas for track qa histos |
f1a55ef4 | 119 | TCanvas * fVertexCanvas; //Other canvas |
120 | ||
353f10b3 | 121 | TH1F * fHistEta; //Eta histo |
353f10b3 | 122 | TH1F * fHistPhi; //Phi histo |
123 | TH1F * fHistnClusters;//nClusters histo | |
124 | TH1F * fHistMult; //Mult histo | |
4883ef27 | 125 | TH1F * fHistDCAr; //DCA r histo |
f1a55ef4 | 126 | Int_t fTrCount; |
127 | Int_t fVCount; | |
73ac9862 | 128 | |
129 | Int_t fNTrackBins; | |
130 | ||
33791895 | 131 | ClassDef(AliHLTEveHLT, 0); |
132 | }; | |
133 | ||
134 | #endif |