]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/TPCLib/AliHLTTPCRunStatistics.h
wrong #ifdef removed
[u/mrichter/AliRoot.git] / HLT / TPCLib / AliHLTTPCRunStatistics.h
1 //-*- Mode: C++ -*-
2 // $Id$
3 #ifndef ALIHLTTPCRUNSTATISTICS_H
4 #define ALIHLTTPCRUNSTATISTICS_H
5
6 /* This file is property of and copyright by the ALICE HLT Project        * 
7  * ALICE Experiment at CERN, All rights reserved.                         *
8  * See cxx source for full Copyright notice                               */
9
10 /** @file   AliHLTTPCRunStatistics.h
11     @author Jochen Thaeder
12     @date   
13     @brief  TPC class for event statistics, derived from @see AliHLTRunStatistics
14 */
15
16 // see below for class documentation
17 // or
18 // refer to README to build package
19 // or
20 // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt   
21
22 #include "TObject.h"
23 #include "TString.h"
24
25 #include "AliHLTRunStatistics.h"
26
27 /**
28  * @class  AliHLTTPCRunStatistics
29  * @brief  TPC class for event statistics, derived from @see AliHLTRunStatistics
30  *
31  * The run statistic classes hold information / histograms about certain 
32  * characteristica of the processed events. They are devided into 3 parts. A base class 
33  * @see AliHLTRunStatistics for general Information, detector specific
34  * classes like @see AliHLTTPCRunStatistics for the TPC and a summary class
35  * @see AliHLTRunStatisticsSummary which can hold several detector classes.
36  *
37  * This is the detector class for the TPC. 
38  *
39  * See base class @see AliHLTRunStatistics for further information.
40  *
41  * @ingroup alihlt_run_statistics alihlt_trigger
42  */
43
44 class AliHLTTPCRunStatistics : public AliHLTRunStatistics {
45   
46 public:
47   
48   /** constructor */
49   AliHLTTPCRunStatistics();
50   /** destructor */
51   virtual ~AliHLTTPCRunStatistics();
52
53   // -- Tracks --
54    
55   /** Set Total number of tracks found
56    *  @param i number of tracks
57    */
58   void SetNTotalTracks( Int_t i  )    { fNTotalTracks = (ULong64_t) i; }
59
60   /** Add to Total number of tracks found
61    *  @param i number of tracks
62    */
63   void AddNTotalTracks( Int_t i  )    { fNTotalTracks += (ULong64_t) i; }
64
65   /** Get Total number of tracks found
66    *  @return number of tracks
67    */
68   ULong64_t GetNTotalTracks()    { return fNTotalTracks; }
69
70   // --
71
72   /** Set Total number of tracks found
73    *  @param i number of tracks
74    */
75   void SetNTracksAboveClusterThreshold( Int_t i  )    { fNTracksAboveClusterThreshold = (ULong64_t) i; }
76
77   /** Add to Tracks with ( number of cluster >= fClusterThreshold ) 
78    *  @param i number of tracks
79    */
80   void AddNTracksAboveClusterThreshold( Int_t i  )    { fNTracksAboveClusterThreshold += (ULong64_t) i; }
81
82   /** Get Tracks with ( number of cluster >= fClusterThreshold ) 
83    *  @return number of tracks
84    */
85   ULong64_t GetNTracksAboveClusterThreshold()    { return fNTracksAboveClusterThreshold; }
86
87   // -- Cluster --
88
89   /** Get Threshold for number of clusters per track 
90    *  @return threshold
91    */
92   Int_t GetClusterThreshold()                          { return fClusterThreshold; }
93
94   /** Set Threshold for number of clusters per track 
95    *  @param i  threshold
96    */
97   void SetClusterThreshold( Int_t i)                   { fClusterThreshold = i; }
98
99   // --
100   
101   /** Set Total number of cluster found
102    *  @param i number of cluster
103    */
104   void SetNTotalCluster( Int_t i  )    { fNTotalCluster = (ULong64_t) i; }
105
106   /** Add to Total number of cluster found
107    *  @param i number of cluster
108    */
109   void AddNTotalCluster( Int_t i  )    { fNTotalCluster += (ULong64_t) i; }
110
111   /** Get Total number of cluster found
112    *  @return number of cluster
113    */
114   ULong64_t GetNTotalCluster()    { return fNTotalCluster; }
115
116   // --
117   
118   /** Set Number of cluster which were used in tracks
119    *  @param i number of cluster
120    */
121   void SetNUsedCluster( Int_t i  )    { fNUsedCluster = (ULong64_t) i; }
122
123   /** Add to Number of cluster which were used in tracks
124    *  @param i number AvgClusterPerTrackof cluster
125    */
126   void AddNUsedCluster( Int_t i  )    {fNUsedCluster  += (ULong64_t) i; }
127
128   /** Get Number of cluster which were used in tracks
129    *  @return number of cluster
130    */
131   ULong64_t GetNUsedCluster()    { return fNUsedCluster; }
132
133   // --
134   
135   /** Set Average of ( number of clusters per track ), floored
136    *  @param i number of cluster
137    */
138   void SetAvgClusterPerTrack( Int_t i  )    { fAvgClusterPerTrack = (ULong64_t) i; }
139
140   /** Add to Average of ( number of clusters per track ), floored
141    *  @param i number of cluster
142    */
143   void AddAvgClusterPerTrack( Int_t i  )    { fAvgClusterPerTrack += (ULong64_t) i; }
144
145   /** Get Average of ( number of clusters per track ), floored
146    *  @return number of cluster
147    */
148   ULong64_t GetAvgClusterPerTrack()    { return fAvgClusterPerTrack; }
149
150 private:
151  
152   /** copy constructor prohibited */
153   AliHLTTPCRunStatistics (const AliHLTTPCRunStatistics&);
154
155   /** assignment operator prohibited */
156   AliHLTTPCRunStatistics& operator= (const AliHLTTPCRunStatistics&);
157
158   // -- Tracks --
159
160   /** Total number of tracks found  */
161   ULong64_t fNTotalTracks;                                         // see above
162
163   /** Tracks with ( number of cluster >= fClusterThreshold ) 
164    * ( for long tracks ) 
165    */
166   ULong64_t fNTracksAboveClusterThreshold;                         // see above
167
168   // -- Cluster --
169
170   /** Threshold for number of clusters per track 
171    * ( for long tracks ) 
172    */
173   Int_t fClusterThreshold;                                        // see above
174
175   /** Total number of cluster found  */
176   ULong64_t fNTotalCluster;                                        // see above
177
178   /** Number of cluster which were used in tracks */
179   ULong64_t fNUsedCluster;                                         // see above
180
181   /** Average of ( number of clusters per track ), floored */
182   ULong64_t fAvgClusterPerTrack;                                   // see above
183
184   ClassDef(AliHLTTPCRunStatistics, 0);
185
186 };
187 #endif
188