]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/EVE/AliHLTEveHLT.h
Merge branch 'displayDevel'
[u/mrichter/AliRoot.git] / HLT / EVE / AliHLTEveHLT.h
CommitLineData
33791895 1/* This file is property of and copyright by the ALICE HLT Project *
2 * ALICE Experiment at CERN, All rights reserved. *
3 * See cxx source for full Copyright notice */
4
5/// @file AliHLTEveCalo.h
6/// @author Svein Lindal
7/// @brief HLT Instance of Eve display processor
8// Author: Svein Lindal <slindal@fys.uio.no>
9
10#ifndef ALIHLTEVEHLT_H
11#define ALIHLTEVEHLT_H
12
13#include "AliHLTEveBase.h"
14class TEvePointSet;
15class AliESDtrack;
16class AliEveTrack;
17class TEveTrackList;
18class TEveTrackPropagator;
19class TString;
20class AliExternalTrackParam;
353f10b3 21class TH1F;
fd2adb88 22class AliESDEvent;
33791895 23
24class AliHLTEveHLT : public AliHLTEveBase {
25
26public:
27
28 /** Constructor **/
29 AliHLTEveHLT();
30
31 /** Destructor **/
32 ~AliHLTEveHLT();
33
34 /** Inherited from AliHLTEveBase */
35 void ProcessBlock(AliHLTHOMERBlockDesc * block);
36
37 /** inherited from AliHLTEveBase */
38 void UpdateElements();
39
40 /** inherited from AliHLTEveBase */
41 void ResetElements();
42
fd2adb88 43 void ProcessEsdEvent( AliESDEvent * esd);
44
45 void DestroyOldTrackList();
46 static void * DestroyGarbage(void * arg);
47
33791895 48private:
49
50 /** copy constructor prohibited */
51 AliHLTEveHLT(const AliHLTEveHLT&);
52 /** assignment operator prohibited */
53 AliHLTEveHLT& operator = (const AliHLTEveHLT );
54
55 /*Create the pointset for the display */
56 void CreateTrackList();
57
58 // Make a standard track representation and put it into given container.
59 // Choose which parameters to use a track's starting point.
60 // If gkFixFailedITSExtr is TRUE (FALSE by default) and
61 // if ITS refit failed, take track parameters at inner TPC radius.
62 AliEveTrack * MakeEsdTrack(AliESDtrack *at, TEveTrackList* cont);
63
64 // Process the ESD block and call the functions necessary to fill the tracklist
65 void ProcessEsdBlock( AliHLTHOMERBlockDesc * block, TEveTrackList * cont );
66
fd2adb88 67 // Process ESD event
68 void ProcessEsdEvent( AliESDEvent * esd, TEveTrackList * cont);
69
33791895 70 //Set up the track propagator
71 void SetUpTrackPropagator(TEveTrackPropagator* trkProp, Float_t magF, Float_t maxR);
72
73 //Create a title for the track
74 TString CreateTrackTitle(AliESDtrack* t);
75
bc1a13f1 76 ///Create the pointset to display primary vertex
77 void CreateVertexPointSet();
78
33791895 79 //Add track param to AliEveTrack
80 void AddTrackParamToTrack(AliEveTrack* track, const AliExternalTrackParam* tp);
81
82 //Process histogram block
83 void ProcessHistograms(AliHLTHOMERBlockDesc * block, TCanvas * canvas);
84
353f10b3 85 //Create tpc qa histograms
86 void CreateHistograms();
87
88 //Draw tpc qa histograms
89 void DrawHistograms();
90
91
fd2adb88 92
33791895 93 Bool_t fTrueField; //Use true field?
94 Bool_t fUseIpOnFailedITS; // Use IP as origin if ITS refit fails?
95 Bool_t fUseRkStepper; // Use Runge Kutta for something something?
96
97 TEveTrackList * fTrackList; //Eve tracklist
fd2adb88 98 TEveTrackList * fOldTrackList; //Eve tracklist
bc1a13f1 99 TEvePointSet * fPointSetVertex; //Display primary vertex
33791895 100
353f10b3 101 TCanvas * fTrCanvas; //Canvas for track qa histos
102
103 TH1F * fHistPt; //Pt histo
104 TH1F * fHistP; //p histo
105 TH1F * fHistEta; //Eta histo
106 TH1F * fHistTheta; //Theta histo
107 TH1F * fHistPhi; //Phi histo
108 TH1F * fHistnClusters;//nClusters histo
109 TH1F * fHistMult; //Mult histo
33791895 110
111 ClassDef(AliHLTEveHLT, 0);
112};
113
114#endif