]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - HLT/EVE/AliHLTEveHLT.h
Fixes for parameters aliases
[u/mrichter/AliRoot.git] / HLT / EVE / AliHLTEveHLT.h
... / ...
CommitLineData
1//-*- Mode: C++ -*-
2// $Id$
3#ifndef ALIHLTEVEHLT_H
4#define ALIHLTEVEHLT_H
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
12
13#include "AliHLTEveBase.h"
14class TEvePointSet;
15class AliESDtrack;
16class AliEveTrack;
17class TEveTrackList;
18class TEveTrackPropagator;
19class TString;
20class AliExternalTrackParam;
21class TH1F;
22class TH1;
23class AliESDEvent;
24
25class AliHLTEveHLT : public AliHLTEveBase {
26
27public:
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
44 void ProcessEsdEvent( AliESDEvent * esd);
45
46 void DestroyOldTrackList();
47 static void * DestroyGarbage(void * arg);
48
49private:
50
51 /** copy constructor prohibited */
52 AliHLTEveHLT(const AliHLTEveHLT&);
53 /** assignment operator prohibited */
54 AliHLTEveHLT& operator = (const AliHLTEveHLT& );
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
66 void ProcessEsdBlock( AliHLTHOMERBlockDesc * block );
67
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
74 ///Create the pointset to display primary vertex
75 void CreateVertexPointSet();
76
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
83 //Process trigger block
84 void ProcessGlobalTrigger(AliHLTHOMERBlockDesc * block);
85
86 //Create tpc qa histograms
87 void CreateHistograms();
88
89 //Create eve tracks and put them in track list
90 void FillTrackList(AliESDtrack * esdTrack);
91
92 //Create track lists
93 void CreateTrackLists();
94
95 //Draw tpc qa histograms
96 void DrawHistograms();
97 void FillHistograms(AliESDtrack * esdTrack);
98
99
100 //Add histograms to a canvas in pad number cdCount
101 void AddHistogramToCanvas(TH1 * histogram, TCanvas * canvas, Int_t &cdCount);
102
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
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
114 TEveElementList * fTrackLists; //Holder for tracklists
115 TEveTrackList * fOldTrackList; //Eve tracklist
116 TEvePointSet * fPointSetVertex; //Display primary vertex
117
118 TCanvas * fTrCanvas; //Canvas for track qa histos
119 TCanvas * fVertexCanvas; //Other canvas
120
121 TH1F * fHistEta; //Eta histo
122 TH1F * fHistPhi; //Phi histo
123 TH1F * fHistnClusters;//nClusters histo
124 TH1F * fHistMult; //Mult histo
125 TH1F * fHistDCAr; //DCA r histo
126 Int_t fTrCount;
127 Int_t fVCount;
128
129 Int_t fNTrackBins;
130
131 ClassDef(AliHLTEveHLT, 0);
132};
133
134#endif