]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/EVE/AliHLTEveHLT.h
- adding class for merging histograms from different components
[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;
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 */
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, TEveTrackList * cont );
67
fd2adb88 68 // Process ESD event
69 void ProcessEsdEvent( AliESDEvent * esd, TEveTrackList * cont);
70
33791895 71 //Set up the track propagator
72 void SetUpTrackPropagator(TEveTrackPropagator* trkProp, Float_t magF, Float_t maxR);
73
74 //Create a title for the track
75 TString CreateTrackTitle(AliESDtrack* t);
76
bc1a13f1 77 ///Create the pointset to display primary vertex
78 void CreateVertexPointSet();
79
33791895 80 //Add track param to AliEveTrack
81 void AddTrackParamToTrack(AliEveTrack* track, const AliExternalTrackParam* tp);
82
83 //Process histogram block
84 void ProcessHistograms(AliHLTHOMERBlockDesc * block, TCanvas * canvas);
85
c8fc4838 86 //Process trigger block
87 void ProcessGlobalTrigger(AliHLTHOMERBlockDesc * block);
88
353f10b3 89 //Create tpc qa histograms
90 void CreateHistograms();
91
92 //Draw tpc qa histograms
93 void DrawHistograms();
94
f1a55ef4 95 void AddHistogramToCanvas(TH1 * histogram, TCanvas * canvas, Int_t &cdCount);
fd2adb88 96
33791895 97 Bool_t fTrueField; //Use true field?
98 Bool_t fUseIpOnFailedITS; // Use IP as origin if ITS refit fails?
99 Bool_t fUseRkStepper; // Use Runge Kutta for something something?
100
101 TEveTrackList * fTrackList; //Eve tracklist
fd2adb88 102 TEveTrackList * fOldTrackList; //Eve tracklist
bc1a13f1 103 TEvePointSet * fPointSetVertex; //Display primary vertex
33791895 104
353f10b3 105 TCanvas * fTrCanvas; //Canvas for track qa histos
f1a55ef4 106 TCanvas * fVertexCanvas; //Other canvas
107
353f10b3 108 TH1F * fHistEta; //Eta histo
353f10b3 109 TH1F * fHistPhi; //Phi histo
110 TH1F * fHistnClusters;//nClusters histo
111 TH1F * fHistMult; //Mult histo
4883ef27 112 TH1F * fHistDCAr; //DCA r histo
f1a55ef4 113 Int_t fTrCount;
114 Int_t fVCount;
115
33791895 116 ClassDef(AliHLTEveHLT, 0);
117};
118
119#endif