StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StFlowPicoTrack.h
1 //
3 // $Id: StFlowPicoTrack.h,v 1.9 2003/01/08 19:26:52 posk Exp $
4 //
5 // Author: Raimond Snellings, March 2000
6 //
7 // Description: A persistent Flow Pico DST
8 //
10 
11 #ifndef StFlowPicoTrack__h
12 #define StFlowPicoTrack__h
13 
14 #include "TObject.h"
15 
16 //-----------------------------------------------------------
17 
18 class StFlowPicoTrack : public TObject {
19 
20 public:
21 
22  StFlowPicoTrack() {}
24  virtual ~StFlowPicoTrack() {}
25 
26  Float_t Pt() const { return mPt; }
27  Float_t PtGlobal() const { return mPtGlobal; }
28  Float_t Eta() const { return mEta; }
29  Float_t EtaGlobal() const { return mEtaGlobal; }
30  Float_t Phi() const { return mPhi; }
31  Float_t PhiGlobal() const { return mPhiGlobal; }
32  Short_t Charge() const { return mCharge; }
33  Float_t Dca() const { return mDca; }
34  Float_t DcaSigned() const { return mDcaSigned; }
35  Float_t DcaGlobal() const { return mDcaGlobal; }
36  Float_t ZFirstPoint() const { return mZFirstPoint; }
37  Float_t ZLastPoint() const { return mZLastPoint; }
38  Float_t Chi2() const { return mChi2; }
39  Int_t FitPts() const { return mFitPts; }
40  Int_t MaxPts() const { return mMaxPts; }
41  Int_t Nhits() const { return mNhits; }
42  Int_t NdedxPts() const { return mNdedxPts; }
43  Float_t TrackLength() const { return mTrackLength; }
44  Float_t PidPion() const { return mPidPion/1000.; }
45  Float_t PidProton() const { return mPidProton/1000.; }
46  Float_t PidKaon() const { return mPidKaon/1000.; }
47  Float_t PidDeuteron() const { return mPidDeuteron/1000.; }
48  Float_t PidElectron() const { return mPidElectron/1000.; }
49  Float_t Dedx() const { return mDedx; }
50  Int_t MostLikelihoodPID() const { return mMostLikelihoodPID; }
51  Float_t MostLikelihoodProb() const { return mMostLikelihoodProb; }
52  Int_t ExtrapTag() const { return mExtrapTag; }
53  Float_t ElectronPositronProb() const { return mElectronPositronProb; }
54  Float_t PionPlusMinusProb() const { return mPionPlusMinusProb; }
55  Float_t KaonPlusMinusProb() const { return mKaonPlusMinusProb; }
56  Float_t ProtonPbarProb() const { return mProtonPbarProb; }
57  Double_t DcaGlobalX() const { return (Double_t)mDcaGlobalX; }
58  Double_t DcaGlobalY() const { return (Double_t)mDcaGlobalY; }
59  Double_t DcaGlobalZ() const { return (Double_t)mDcaGlobalZ; }
60  UInt_t TopologyMap0() const { return mTopologyMap0; }
61  UInt_t TopologyMap1() const { return mTopologyMap1; }
62 
63  void SetPt(Float_t pt) { mPt = pt; }
64  void SetPtGlobal(Float_t gpt) { mPtGlobal = gpt; }
65  void SetEta(Float_t eta) { mEta = eta; }
66  void SetEtaGlobal(Float_t geta) { mEtaGlobal = geta; }
67  void SetDedx(Float_t Dedx) { mDedx = Dedx; }
68  void SetPhi(Float_t phi) { mPhi = phi; }
69  void SetPhiGlobal(Float_t gphi) { mPhiGlobal = gphi; }
70  void SetCharge(Short_t charge) { mCharge = charge; }
71  void SetDca(Float_t dca) { mDca = dca; }
72  void SetDcaSigned(Float_t sdca) { mDcaSigned = sdca; }
73  void SetDcaGlobal(Float_t gdca) { mDcaGlobal = gdca; }
74  void SetZFirstPoint(Float_t zFirst) { mZFirstPoint = zFirst; }
75  void SetZLastPoint(Float_t zLast) { mZLastPoint = zLast; }
76  void SetChi2(Float_t chi2) { mChi2 = chi2; }
77  void SetFitPts(Int_t fitPts) { mFitPts = fitPts; }
78  void SetMaxPts(Int_t maxPts) { mMaxPts = maxPts; }
79  void SetNhits(Int_t nhits) { mNhits = nhits; }
80  void SetNdedxPts(Int_t ndedxPts) { mNdedxPts = ndedxPts; }
81  void SetTrackLength(Float_t tl) { mTrackLength = tl; }
82  void SetPidPion(Float_t pid) { mPidPion = (Int_t)(pid*1000.); }
83  void SetPidProton(Float_t pid) { mPidProton = (Int_t)(pid*1000.); }
84  void SetPidKaon(Float_t pid) { mPidKaon = (Int_t)(pid*1000.); }
85  void SetPidDeuteron(Float_t pid) { mPidDeuteron = (Int_t)(pid*1000.); }
86  void SetPidElectron(Float_t pid) { mPidElectron = (Int_t)(pid*1000.); }
87  void SetMostLikelihoodPID(Int_t val){ mMostLikelihoodPID=val; }
88  void SetMostLikelihoodProb(Float_t val) { mMostLikelihoodProb=val; }
89  void SetExtrapTag(Int_t val){ mExtrapTag=val; }
90  void SetElectronPositronProb(Float_t val) { mElectronPositronProb = val; }
91  void SetPionPlusMinusProb(Float_t val) { mPionPlusMinusProb = val; }
92  void SetKaonPlusMinusProb(Float_t val) { mKaonPlusMinusProb = val; }
93  void SetProtonPbarProb(Float_t val) { mProtonPbarProb = val; }
94  void SetDcaGlobal3(const Double_t x, const Double_t y, const Double_t z) {
95  mDcaGlobalX = (Float_t)x; mDcaGlobalY = (Float_t)y; mDcaGlobalZ = (Float_t)z; }
96  void SetTopologyMap(const UInt_t map0, const UInt_t map1) {
97  mTopologyMap0 = map0; mTopologyMap1 = map1; }
98 
99 private:
100 
101  Float_t mPt; // transverse momentum
102  Float_t mPtGlobal; // transverse momentum (global track)
103  Float_t mEta; // pseudorapidity
104  Float_t mEtaGlobal; // pseudorapidity (global track)
105  Float_t mDedx; // specific energy loss
106  Float_t mPhi; // azimuthal angle
107  Float_t mPhiGlobal; // azimuthal angle (global track)
108  Short_t mCharge; // charge
109  Float_t mDca; // distance of closest approach (? track model)
110  Float_t mDcaSigned; // 2D dca with sign (circle fit)
111  Float_t mDcaGlobal; // distance of closest approach for global track
112  Float_t mZFirstPoint; // z of the first point
113  Float_t mZLastPoint; // z of the last point
114  Float_t mChi2; // chi squared
115  Int_t mFitPts; // number of hits used in fit
116  Int_t mMaxPts; // maximum possible number of hits
117  Int_t mNhits; // number of hits on the track
118  Int_t mNdedxPts; // number of hits use for dE/dx
119  Float_t mTrackLength; // lenght of the track (cm)
120  Int_t mPidPion; // deviant pid for pi+ and pi-
121  Int_t mPidProton; // deviant pid for p and pbar
122  Int_t mPidKaon; // deviant pid for K+ and K-
123  Int_t mPidDeuteron; // deviant pid for d and dbar
124  Int_t mPidElectron; // deviant pid for e+ and e-
125  Int_t mMostLikelihoodPID; // pid with highest probability
126  Float_t mMostLikelihoodProb; // probability for most likely pid
127  Int_t mExtrapTag; // merging area tag.
128  Float_t mElectronPositronProb; // probability to be e+ or e-
129  Float_t mPionPlusMinusProb; // probability to be pi+ or pi-
130  Float_t mKaonPlusMinusProb; // probability to be k+ or k-
131  Float_t mProtonPbarProb; // probability to be p or pbar
132  Float_t mDcaGlobalX; // dca.x for global tracks (helix)
133  Float_t mDcaGlobalY; // dca.y for global tracks (helix)
134  Float_t mDcaGlobalZ; // dca.z for global tracks (helix)
135  UInt_t mTopologyMap0; // First 32 bits of Topology map
136  UInt_t mTopologyMap1; // second 32 bits of Topology map
137 
138  ClassDef(StFlowPicoTrack,5)
139 };
140 
141 #endif
142 
144 //
145 // $Log: StFlowPicoTrack.h,v $
146 // Revision 1.9 2003/01/08 19:26:52 posk
147 // PhiWgt hists sorted on sign of z of first and last points.
148 // Version 6 of pico file.
149 //
150 // Revision 1.8 2001/07/27 01:26:40 snelling
151 // Added and changed variables for picoEvent. Changed trackCut class to StTrack
152 //
153 // Revision 1.7 2001/07/24 22:29:39 snelling
154 // First attempt to get a standard root pico file again, added variables
155 //
156 // Revision 1.6 2001/05/22 20:17:57 posk
157 // Now can do pseudorapidity subevents.
158 //
159 // Revision 1.5 2000/12/12 20:22:06 posk
160 // Put log comments at end of files.
161 // Deleted persistent StFlowEvent (old micro DST).
162 //
163 // Revision 1.4 2000/12/10 02:01:13 oldi
164 // A new member (StTrackTopologyMap mTopology) was added to StFlowPicoTrack.
165 // The evaluation of either a track originates from the FTPC or not is
166 // unambiguous now. The evaluation itself is easily extendible for other
167 // detectors (e.g. SVT+TPC). Old flowpicoevent.root files are treated as if
168 // they contain TPC tracks only (backward compatibility).
169 //
170 // Revision 1.3 2000/10/12 22:46:39 snelling
171 // Added support for the new pDST's and the probability pid method
172 //
173 // Revision 1.2 2000/09/15 22:51:33 posk
174 // Added pt weighting for event plane calcualtion.
175 //
176 // Revision 1.1 2000/09/05 16:11:38 snelling
177 // Added global DCA, electron and positron
178 //