]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/EVE/AliHLTEveHLT.h
HLT CALO, EMCAL, EVE, Comp
[u/mrichter/AliRoot.git] / HLT / EVE / AliHLTEveHLT.h
CommitLineData
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"
14class TEvePointSet;
15class AliESDtrack;
16class AliEveTrack;
17class TEveTrackList;
18class TEveTrackPropagator;
19class TString;
20class AliExternalTrackParam;
353f10b3 21class TH1F;
f1a55ef4 22class TH1;
fd2adb88 23class AliESDEvent;
33791895 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
fd2adb88 44 void ProcessEsdEvent( AliESDEvent * esd);
45
46 void DestroyOldTrackList();
47 static void * DestroyGarbage(void * arg);
48
33791895 49private:
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