From Kalliopi: Updated HLT histogram filling
[u/mrichter/AliRoot.git] / HLT / EVE / AliHLTEveHLT.h
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"
14 class TEvePointSet;
15 class AliESDtrack;
16 class AliEveTrack;
17 class TEveTrackList;
18 class TEveTrackPropagator;
19 class TString;
20 class AliExternalTrackParam;
21 class TH1F;
22
23 class AliHLTEveHLT : public AliHLTEveBase {
24
25 public:
26   
27   /** Constructor  **/
28   AliHLTEveHLT();
29
30   /** Destructor **/
31  ~AliHLTEveHLT();
32   
33   /** Inherited from AliHLTEveBase */
34   void ProcessBlock(AliHLTHOMERBlockDesc * block);
35
36   /** inherited from AliHLTEveBase */
37   void UpdateElements();
38   
39   /** inherited from AliHLTEveBase */
40   void ResetElements();
41
42 private:
43
44   /** copy constructor prohibited */
45   AliHLTEveHLT(const AliHLTEveHLT&);
46   /** assignment operator prohibited */
47   AliHLTEveHLT& operator = (const AliHLTEveHLT );
48
49   /*Create the pointset for the display */
50   void CreateTrackList();
51
52   // Make a standard track representation and put it into given container.
53   // Choose which parameters to use a track's starting point.
54   // If gkFixFailedITSExtr is TRUE (FALSE by default) and
55   // if ITS refit failed, take track parameters at inner TPC radius.
56   AliEveTrack * MakeEsdTrack(AliESDtrack *at, TEveTrackList* cont);
57
58   // Process the ESD block and call the functions necessary to fill the tracklist
59   void ProcessEsdBlock( AliHLTHOMERBlockDesc * block, TEveTrackList * cont );
60
61   //Set up the track propagator
62   void SetUpTrackPropagator(TEveTrackPropagator* trkProp, Float_t magF, Float_t maxR);
63
64   //Create a title for the track
65   TString CreateTrackTitle(AliESDtrack* t);
66
67   //Add track param to AliEveTrack
68   void AddTrackParamToTrack(AliEveTrack* track, const AliExternalTrackParam* tp);
69
70   //Process histogram block
71   void ProcessHistograms(AliHLTHOMERBlockDesc * block, TCanvas * canvas);
72
73   //Create tpc qa histograms
74   void CreateHistograms();
75
76   //Draw tpc qa histograms
77   void DrawHistograms();
78
79
80   Bool_t fTrueField;        //Use true field?
81   Bool_t fUseIpOnFailedITS; // Use IP as origin if ITS refit fails?
82   Bool_t fUseRkStepper;    // Use Runge Kutta for something something?
83
84   TEveTrackList * fTrackList;  //Eve tracklist 
85
86   TCanvas * fTrCanvas;  //Canvas for track qa histos
87
88   TH1F * fHistPt;      //Pt histo 
89   TH1F * fHistP;       //p histo
90   TH1F * fHistEta;     //Eta histo
91   TH1F * fHistTheta;   //Theta histo
92   TH1F * fHistPhi;     //Phi histo
93   TH1F * fHistnClusters;//nClusters histo
94   TH1F * fHistMult;    //Mult histo
95
96   ClassDef(AliHLTEveHLT, 0);
97 };
98
99 #endif