StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StEventSummary.h
1 
5 /***************************************************************************
6  *
7  * $Id: StEventSummary.h,v 2.9 2009/11/23 16:34:06 fisyak Exp $
8  *
9  * Author: Thomas Ullrich, July 1999
10  ***************************************************************************
11  *
12  * Description:
13  *
14  ***************************************************************************
15  *
16  * $Log: StEventSummary.h,v $
17  * Revision 2.9 2009/11/23 16:34:06 fisyak
18  * Cleanup, remove dependence on dst tables, clean up software monitors
19  *
20  * Revision 2.8 2007/10/25 19:12:58 ullrich
21  * Removed obsolete method setNumberOfNegativeTracks().
22  *
23  * Revision 2.7 2003/09/02 17:58:05 perev
24  * gcc 3.2 updates + WarnOff
25  *
26  * Revision 2.6 2002/02/22 22:56:48 jeromel
27  * Doxygen basic documentation in all header files. None of this is required
28  * for QM production.
29  *
30  * Revision 2.5 2001/05/30 17:45:54 perev
31  * StEvent branching
32  *
33  * Revision 2.4 2001/05/17 22:56:33 ullrich
34  * Removed all usage of dst_summary_param.
35  *
36  * Revision 2.3 2001/04/05 04:00:36 ullrich
37  * Replaced all (U)Long_t by (U)Int_t and all redundant ROOT typedefs.
38  *
39  * Revision 2.2 2000/01/14 19:06:51 ullrich
40  * Made code more robust if read-in table is not well defined.
41  *
42  * Revision 2.1 1999/10/13 19:43:02 ullrich
43  * Initial Revision
44  *
45  **************************************************************************/
46 #ifndef StEventSummary_hh
47 #define StEventSummary_hh
48 
49 #include <Stiostream.h>
50 #include "StObject.h"
51 #include "StEnumerations.h"
52 #include "StThreeVectorF.hh"
53 #include "TString.h"
54 #include "TArrayF.h"
55 #include "TArrayL.h"
56 
57 class StEventSummary : public StObject {
58 public:
60  virtual ~StEventSummary();
61  virtual void Clear (Option_t * opt="");
62 
63  // StEventSummary& operator=(const StEventSummary&); use default
64  // StEventSummary(const StEventSummary&); use default
65 
66  int numberOfTracks() const;
67  int numberOfGoodTracks() const;
68  int numberOfGoodTracks(StChargeSign) const;
69  int numberOfGoodPrimaryTracks() const;
70  int numberOfExoticTracks() const;
71  int numberOfVertices() const;
72  int numberOfVerticesOfType(StVertexId) const;
73  int numberOfPileupVertices() const;
74  float meanPt() const;
75  float meanPt2() const;
76  float meanEta() const;
77  float rmsEta() const;
78  double magneticField() const;
79 
80  const StThreeVectorF& primaryVertexPosition() const;
81 
82  unsigned int numberOfBins() const;
83  int tracksInEtaBin(unsigned int) const;
84  int tracksInPhiBin(unsigned int) const;
85  int tracksInPtBin(unsigned int) const;
86  float energyInEtaBin(unsigned int) const;
87  float energyInPhiBin(unsigned int) const;
88 
89  float lowerEdgeEtaBin(unsigned int) const;
90  float upperEdgeEtaBin(unsigned int) const;
91  float lowerEdgePhiBin(unsigned int) const;
92  float upperEdgePhiBin(unsigned int) const;
93  float lowerEdgePtBin(unsigned int) const;
94  float upperEdgePtBin(unsigned int) const;
95 
96  void setNumberOfTracks(int);
97  void setNumberOfGoodTracks(int);
98  void setNumberOfGoodTracks(StChargeSign, int);
99  void setNumberOfGoodPrimaryTracks(int);
100  void setNumberOfExoticTracks(int);
101  void setNumberOfVertices(int);
102 
103  void setNumberOfVerticesForType(StVertexId, int);
104  void setNumberOfPileupVertices(int);
105  void setMeanPt(float);
106  void setMeanPt2(float);
107  void setMeanEta(float);
108  void setRmsEta(float);
109  void setPrimaryVertexPosition(const StThreeVectorF&);
110  void setMagneticField(double);
111 
112 protected:
113  void initBinRanges();
114 
115 protected:
116  Int_t mNumberOfTracks;
117  Int_t mNumberOfGoodTracks;
118  Int_t mNumberOfGoodPrimaryTracks;
119  Int_t mNumberOfPositiveTracks;
120  Int_t mNumberOfNegativeTracks;
121  Int_t mNumberOfExoticTracks;
122  Int_t mNumberOfVertices;
123  TArrayL mNumberOfVertexTypes;
124  Int_t mNumberOfPileupVertices;
125  Float_t mMeanPt;
126  Float_t mMeanPt2;
127  Float_t mMeanEta;
128  Float_t mRmsEta;
129  StThreeVectorF mPrimaryVertexPos;
130 
131  UShort_t mVertexTypeArraySize;
132  UShort_t mPhiBinsSize;
133  UShort_t mPtAndEtaBinsSize;
134  UShort_t mHistogramSize;
135  TArrayF mEtaBins;
136  TArrayF mPtBins;
137  TArrayF mPhiBins;
138 
139  TArrayL mEtaOfTracksHisto;
140  TArrayL mPtOfTracksHisto;
141  TArrayL mPhiOfTracksHisto;
142  TArrayF mEneryVsEtaHisto;
143  TArrayF mEnergyVsPhiHisto;
144  Double_t mMagneticFieldZ;
145 
146  ClassDef(StEventSummary,2)
147 };
148 
149 #endif