StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StHbtTTreeEvent.h
1 /***************************************************************************
2  *
3  * $Id: StHbtTTreeEvent.h,v 1.5 2001/12/07 00:36:16 laue Exp $
4  *
5  * Author: Frank Laue, BNL, laue@bnl.gov
6  ***************************************************************************
7  *
8  ***************************************************************************
9  *
10  * $Log: StHbtTTreeEvent.h,v $
11  * Revision 1.5 2001/12/07 00:36:16 laue
12  * Ouuuups, forgot to check this ones in.
13  * L3 trigger algorithm added
14  *
15  * Revision 1.1 2001/06/21 19:15:47 laue
16  * Modified fiels:
17  * CTH.hh : new constructor added
18  * StHbtEvent, StHbtKink, StHbtTrack : constructors from the persistent
19  * (TTree) classes added
20  * StHbtLikeSignAnalysis : minor changes, for debugging
21  * StHbtTypes: split into different files
22  * Added files: for the new TTree muDst's
23  * StExceptions.cxx StExceptions.hh StHbtEnumeration.hh
24  * StHbtHelix.hh StHbtHisto.hh StHbtString.hh StHbtTFile.hh
25  * StHbtTTreeEvent.cxx StHbtTTreeEvent.h StHbtTTreeKink.cxx
26  * StHbtTTreeKink.h StHbtTTreeTrack.cxx StHbtTTreeTrack.h
27  * StHbtTTreeV0.cxx StHbtTTreeV0.h StHbtVector.hh
28  *
29  *
30  **************************************************************************/
31 
32 #ifndef StHbtTTreeEvent_hh
33 #define StHbtTTreeEvent_hh
34 
35 /* #include "StHbtMaker/Infrastructure/StHbtTypes.hh" */
36 /* #include "StHbtMaker/Infrastructure/StHbtTrackCollection.hh" */
37 /* #include "StHbtMaker/Infrastructure/StHbtV0Collection.hh" */
38 
39 #include "TObject.h"
40 #include "TClonesArray.h"
41 
42 class StHbtEvent;
43 class StHbtTrack;
44 class StHbtV0;
45 class StHbtXi;
46 class StHbtKink;
47 class StHbtEventCut;
48 class StHbtTrackCut;
49 class StHbtV0Cut;
50 class StHbtXiCut;
51 class StHbtKinkCut;
52 
53 class StHbtTTreeEvent : public TObject {
54 public:
57  virtual ~StHbtTTreeEvent();
58  void clear();
59  void fill(const StHbtEvent*, StHbtTrackCut*, StHbtV0Cut*, StHbtXiCut*, StHbtKinkCut*);
60  void SetMagneticField(double);
61 private:
62  void initClonesArrays();
63  void fillEventInfo(const StHbtEvent* event);
64  void addTrack(const StHbtEvent*, const StHbtTrack*);
65  void addV0(const StHbtEvent*, const StHbtV0*);
66  void addXi(const StHbtEvent*, const StHbtXi*);
67  void addKink(const StHbtEvent*, const StHbtKink*);
68  TClonesArray* tracks() const {return fTracks;}
69  TClonesArray* v0s() const {return fV0s;}
70  TClonesArray* xis() const {return fXis;}
71  TClonesArray* kinks() const {return fKinks;}
72 
73  UShort_t mEventNumber; //
74  UShort_t mRunNumber; //
75 
76  UInt_t mTriggerWord;
77  UInt_t mTriggerActionWord;
78 
79  UShort_t mTpcNhits; // number of TPC hits
80  UShort_t mNumberOfTracks; // total number of TPC tracks
81  UShort_t mNumberOfGoodTracks; // number of "good" tracks
82  UShort_t mUncorrectedNumberOfPositivePrimaries;
83  UShort_t mUncorrectedNumberOfNegativePrimaries;
84  Float_t mCtbMultiplicity; // Central Trigger Barrel
85  Float_t mZdcAdc[2]; // Zero-degree calorimeter
86  //values east/west
87  Float_t mReactionPlane[2];
88  Float_t mVertexX;
89  Float_t mVertexY;
90  Float_t mVertexZ;
91  Float_t mMagneticField; // magnetic field in Z direction
92 
93 
94  UShort_t mNtracks;
95  TClonesArray* fTracks;
96  static TClonesArray* fgTracks;
97 
98  UShort_t mNv0s;
99  TClonesArray* fV0s;
100  static TClonesArray* fgV0s;
101 
102  UShort_t mNxis;
103  TClonesArray* fXis;
104  static TClonesArray* fgXis;
105 
106  UShort_t mNkinks;
107  TClonesArray* fKinks;
108  static TClonesArray* fgKinks;
109 
110  static Int_t mDebug;
111  Short_t mTrackType;
112 
113  Float_t mReactionPlanePtWgt[2];
114  //UInt_t mL3TriggerAlgorithm[4];
115  UInt_t mL3TriggerAlgorithm;
116 
117  friend class StHbtEvent;
118  friend class StHbtTrack;
119  friend class StHbtV0;
120  friend class StHbtXi;
121  friend class StHbtKink;
122 
123  ClassDef(StHbtTTreeEvent,5)
124 };
125 
126 
127 
128 #endif