StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StMuTrack.h
1 /***************************************************************************
2  *
3  * $Id: StMuTrack.h,v 1.54 2019/02/21 14:00:02 jdb Exp $
4  * Author: Frank Laue, BNL, laue@bnl.gov
5  *
6  ***************************************************************************/
7 
16 #ifndef StMuTrack_h
17 #define StMuTrack_h
18 
19 #include "StMuDst.h"
20 #include "StMuEvent.h"
21 #include "StMuHelix.h"
22 #include "StMuUtilities.h"
23 #include "StMuProbPidTraits.h"
24 #include "StMuBTofPidTraits.h"
25 #include "StMuETofPidTraits.h"
26 #include "StMuMtdPidTraits.h"
27 #include "StMuPrimaryTrackCovariance.h"
28 
29 
30 #include "StEvent/StTrackTopologyMap.h"
31 #include "StEvent/StRunInfo.h"
32 #include "StEvent/StDcaGeometry.h"
33 #include "StarClassLibrary/StPhysicalHelixD.hh"
34 #include "StarClassLibrary/StThreeVectorD.hh"
35 #include "StarClassLibrary/StThreeVectorF.hh"
36 #include "StarClassLibrary/SystemOfUnits.h"
37 
38 #include "TObject.h"
39 #include "TVector.h"
40 
41 #define __PROB_SCALE__ 1000.
42 #define __SIGMA_SCALE__ 1000.
43 #define __NOVALUE__ -999
44 
45 class StRichSpectra;
46 class StEvent;
47 class StTrack;
48 class StVertex;
49 class StEmcGeom;
50 class StEmcPosition;
52 
53 class TObjArray;
54 
55 class StMuTrack : public TObject {
56  public:
57  StMuTrack(): mVertexIndex(0), mNHitsPossInner(0), mNHitsFitInner(0), mNHitsPossTpc(255), mNHitsFitTpc(255), mIndex2Cov(-1),
58  mIdTruth(0), mQuality(0), mIdParentVx(0) {/* no-op*/};
59  StMuTrack(const StEvent*, const StTrack*, const StVertex*, Int_t index2Global=-2, Int_t index2RichSpectra=-2, Bool_t l3=false, TObjArray *vtx_list=0);
60  short id() const;
61  short type() const;
62  short flag() const;
63  UInt_t flagExtension() const { return mFlagExtension; }
64  Int_t bad () const; // track is bad
66  Int_t index2Global() const;
67  Int_t index2Cov() const;
68  Int_t index2RichSpectra() const;
69  Int_t index2BTofHit() const;
70  Int_t index2ETofHit() const;
71  Int_t index2MtdHit() const;
72  Int_t vertexIndex() const;
73  void setVertexIndex(Int_t i) { mVertexIndex=i; }
74  const StMuTrack* globalTrack() const;
75  const StMuTrack* primaryTrack() const;
76  const StRichSpectra* richSpectra() const;
77  const StMuBTofHit* tofHit() const;
78  const StMuETofHit* etofHit() const;
79  const StMuMtdHit* mtdHit() const;
80  UShort_t nHits() const;
81  UShort_t nHitsPoss() const;
82  UShort_t nHitsPoss(StDetectorId) const;
83  UShort_t nHitsDedx() const;
84  UShort_t nHitsFit() const;
85  UShort_t nHitsFit(StDetectorId) const;
86  Double_t pidProbElectron() const;
87  Double_t pidProbPion() const;
88  Double_t pidProbKaon() const;
89  Double_t pidProbProton() const;
90  Double_t nSigmaElectron() const;
91  Double_t nSigmaPion() const;
92  Double_t nSigmaKaon() const;
93  Double_t nSigmaProton() const;
94  Double_t dEdxPull(Double_t mass, Bool_t fit = kFALSE, Int_t charge=1) const;
95  Double_t dEdxPullElectronI70() const {return dEdxPull(0.51099907e-3);}
96  Double_t dEdxPullPionI70() const {return dEdxPull(0.13956995);}
97  Double_t dEdxPullKaonI70() const {return dEdxPull(0.493677);}
98  Double_t dEdxPullProtonI70() const {return dEdxPull(0.93827231);}
99  Double_t dEdxPullElectronFit() const {return dEdxPull(0.51099907e-3,kTRUE);}
100  Double_t dEdxPullPionFit() const {return dEdxPull(0.13956995,kTRUE);}
101  Double_t dEdxPullKaonFit() const {return dEdxPull(0.493677,kTRUE);}
102  Double_t dEdxPullProtonFit() const {return dEdxPull(0.93827231,kTRUE);}
103  Double_t nSigmaElectron70() const {return dEdxPullElectronI70() ;}
104  Double_t nSigmaPion70() const {return dEdxPullPionI70() ;}
105  Double_t nSigmaKaon70() const {return dEdxPullKaonI70() ;}
106  Double_t nSigmaProton70() const {return dEdxPullProtonI70() ;}
107  Double_t nSigmaElectronFit() const {return dEdxPullElectronFit() ;}
108  Double_t nSigmaPionFit() const {return dEdxPullPionFit() ;}
109  Double_t nSigmaKaonFit() const {return dEdxPullKaonFit() ;}
110  Double_t nSigmaProtonFit() const {return dEdxPullProtonFit() ;}
111  Double_t dEdx() const;
112  Double_t chi2() const;
113  Double_t chi2prob() const;
114  Double_t chi2xy() const;
115  Double_t chi2z() const;
116  Double_t pt() const;
117  Double_t phi() const;
118  Double_t eta() const;
119  Double_t length() const;
120  Double_t lengthMeasured() const;
122  Short_t charge() const;
123  const StThreeVectorF &p() const;
124  const StThreeVectorF &momentum() const;
125  StThreeVectorF dca(Int_t vtx_id=-1) const;
126  StThreeVectorF dcaGlobal(Int_t vtx_id=-1) const;
127  Float_t dcaD(Int_t vtx_id=-1) const;
128  Float_t dcaZ(Int_t vtx_id=-1) const;
129  const StThreeVectorF &firstPoint() const;
130  const StThreeVectorF &lastPoint() const;
131  StPhysicalHelixD helix() const;
132  StPhysicalHelixD outerHelix() const;
133  const StMuHelix &muHelix() const {return mHelix;}
134  const StMuHelix &muOuterHelix() const {return mOuterHelix;}
135  const StMuProbPidTraits &probPidTraits() const;
136  const StMuBTofPidTraits &btofPidTraits() const;
137  const StMuETofPidTraits &etofPidTraits() const;
138  const StMuMtdPidTraits &mtdPidTraits() const;
139  void setBTofPidTraits(const StMuBTofPidTraits& pid);
140  void setETofPidTraits(const StMuETofPidTraits& pid);
141  void setMtdPidTraits(const StMuMtdPidTraits& pid);
143  static void setProbabilityPidCentrality(Double_t cent);
144  virtual void Print(Option_t* option = "") const;
145  void setIndex2BTofHit(Int_t i) {mIndex2BTofHit=i;}
146  void setIndex2ETofHit(Int_t i) {mIndex2ETofHit=i;}
147  void setIndex2MtdHit(Int_t i) {mIndex2MtdHit=i;}
148  void setIndex2Cov(Int_t i) {mIndex2Cov=i;}
149 
150  //Matching to BEMC related functions
151  TArrayI getTower(Bool_t useExitRadius=false, Int_t det=1) const; //Get Tower track is pointing too - 1=BTOW, 3=BSMDE, 4=BSMDP //1=BTOW, 3=BSMDE, 4=BSMDP Returns TVector tower. tower[0] is module, tower[1] is eta, tower[2] is sub, and tower[3] is id
152  Double_t energyBEMC() const;
153  Bool_t matchBEMC() const;
154  Int_t idTruth() const { return mIdTruth;}
155  Int_t qaTruth() const { return mQuality; }
156  Int_t idParentVx() const {return mIdParentVx;}
157  void setType(short type) { mType = type;}
158  void setIdTruth(Int_t idtru,Int_t qatru=0) {mIdTruth = (UShort_t) idtru; mQuality = (UShort_t) qatru;}
159  void setIdParentVx(Int_t Id) {mIdParentVx = Id;}
160 
161 protected:
162  Int_t mId;
163  Short_t mType;
164  Short_t mFlag;
165  UInt_t mFlagExtension; // bit wise fast detector matching status
166  Int_t mIndex2Global;
167  Int_t mIndex2RichSpectra;
168  Int_t mIndex2BTofHit; // dongx
169  Int_t mIndex2MtdHit;
170  Int_t mVertexIndex; // Primary vertex id for this track's dca
171  UChar_t mNHits; // Total number of points (was (F)tpc only)
172  UChar_t mNHitsPoss; // Total possible points (was (F)tpc only)
173  UChar_t mNHitsDedx;
174  UChar_t mNHitsFit; // Total fitted points (was (F)tpc only)
175  UChar_t mNHitsPossInner; // Svt/Ist (3 bit) and Ssd (2 bit) possible hits, Pixel (3 bits)
176  UChar_t mNHitsFitInner; // Svt/Ist (3 bit) and Ssd (2 bit) fitted hits, Pixel (3 bits)
177  UChar_t mNHitsPossTpc; // Possible (F)tpc hits (Ftpc flagged with first 2 bits)
178  UChar_t mNHitsFitTpc; // Fitted (F)tpc hits (Ftpc flagged with first 2 bits)
179  UShort_t mPidProbElectron;
180  UShort_t mPidProbPion;
181  UShort_t mPidProbKaon;
182  UShort_t mPidProbProton;
183  Int_t mNSigmaElectron;
184  Int_t mNSigmaPion;
185  Int_t mNSigmaKaon;
186  Int_t mNSigmaProton;
187  Float_t mdEdx;
188  Float_t mChiSqXY;
189  Float_t mChiSqZ;
190  Float_t mPt;
191  Float_t mEta;
192  Float_t mPhi;
193  StTrackTopologyMap mTopologyMap;
194  StThreeVectorF mP;
195  StThreeVectorF mDCA;
196  StThreeVectorF mDCAGlobal;
197  StThreeVectorF mFirstPoint;
198  StThreeVectorF mLastPoint;
199  StMuHelix mHelix;
200  StMuHelix mOuterHelix;
202  StMuBTofPidTraits mBTofPidTraits;
204  Int_t mIndex2Cov;
205  Int_t mIndex2ETofHit;
206  StMuETofPidTraits mETofPidTraits;
207  // IdTruth
208  UShort_t mIdTruth; // MC track id if any
209  UShort_t mQuality; // quality of this information (percentage of hits coming the above MC track)
210  Int_t mIdParentVx;
211  void setIndex2Global(Int_t i) {mIndex2Global=i;}
212  void setIndex2RichSpectra(Int_t i) {mIndex2RichSpectra=i;}
213  StThreeVectorF dca(const StThreeVectorF &pos) const;
214  StThreeVectorD dca(const StTrack*, const StVertex *vertex) const;
215  StThreeVectorD momentumAtPrimaryVertex(const StEvent *event, const StTrack* track, const StVertex *vertex) const;
216  void fillMuProbPidTraits(const StEvent*, const StTrack*);
217  void fillMuBTofPidTraits(const StTrack*);
218  void fillMuETofPidTraits(const StTrack*);
219  void fillMuMtdPidTraits(const StTrack*);
221  static Double_t mProbabilityPidCentrality;
222  friend class StMuDst;
223  friend class StMuDstFilterMaker;
224  friend class StMuMomentumShiftMaker;
225  ClassDef(StMuTrack,16)
226 };
227 
228 inline short StMuTrack::id() const {return mId;}
229 inline short StMuTrack::type() const {return mType;}
230 inline short StMuTrack::flag() const {return mFlag;}
231 inline Int_t StMuTrack::index2Global() const {return mIndex2Global;}
232 inline Int_t StMuTrack::index2Cov() const {return mIndex2Cov;}
233 inline Int_t StMuTrack::index2RichSpectra() const {return mIndex2RichSpectra;}
234 inline Int_t StMuTrack::index2BTofHit() const {return mIndex2BTofHit;}
235 inline Int_t StMuTrack::index2ETofHit() const {return mIndex2ETofHit;}
236 inline Int_t StMuTrack::index2MtdHit() const {return mIndex2MtdHit;}
237 inline UShort_t StMuTrack::nHits() const {return mNHits;}
238 inline UShort_t StMuTrack::nHitsDedx() const {return mNHitsDedx;}
239 inline UShort_t StMuTrack::nHitsFit() const {return mNHitsFit;}
240 inline Double_t StMuTrack::pidProbElectron() const {return unPack(mPidProbElectron,__PROB_SCALE__);}
241 inline Double_t StMuTrack::pidProbPion() const {return unPack(mPidProbPion, __PROB_SCALE__);}
242 inline Double_t StMuTrack::pidProbKaon() const {return unPack(mPidProbKaon, __PROB_SCALE__);}
243 inline Double_t StMuTrack::pidProbProton() const {return unPack(mPidProbProton, __PROB_SCALE__);}
244 inline Double_t StMuTrack::nSigmaElectron() const {return unPack(mNSigmaElectron, __SIGMA_SCALE__);}
245 inline Double_t StMuTrack::nSigmaPion() const {return unPack(mNSigmaPion, __SIGMA_SCALE__);}
246 inline Double_t StMuTrack::nSigmaKaon() const {return unPack(mNSigmaKaon, __SIGMA_SCALE__);}
247 inline Double_t StMuTrack::nSigmaProton() const {return unPack(mNSigmaProton, __SIGMA_SCALE__);}
248 inline Double_t StMuTrack::dEdx() const {return mdEdx;}
249 inline Double_t StMuTrack::chi2xy() const {return mChiSqXY;}
250 inline Double_t StMuTrack::chi2z() const {return mChiSqZ;}
251 inline Double_t StMuTrack::chi2() const {return mChiSqXY;}
252 inline Double_t StMuTrack::chi2prob() const {return mChiSqZ;}
253 inline void StMuTrack::setMtdPidTraits(const StMuMtdPidTraits& pid) { mMtdPidTraits = pid; }
254 inline StTrackTopologyMap StMuTrack::topologyMap() const {return mTopologyMap;}
255 inline short StMuTrack::charge() const {return mHelix.q();}
256 inline Double_t StMuTrack::pt() const {return mPt;}
257 inline Double_t StMuTrack::eta() const {return mEta;}
258 inline Double_t StMuTrack::phi() const {return mPhi;}
259 inline const StThreeVectorF &StMuTrack::p() const {return mP;}
260 inline const StThreeVectorF &StMuTrack::momentum() const {return mP;}
261 inline const StThreeVectorF &StMuTrack::firstPoint() const {return mFirstPoint;}
262 inline const StThreeVectorF &StMuTrack::lastPoint() const {return mLastPoint;}
264 inline const StMuBTofPidTraits &StMuTrack::btofPidTraits() const { return mBTofPidTraits;}
265 inline const StMuETofPidTraits &StMuTrack::etofPidTraits() const { return mETofPidTraits;}
266 inline const StMuMtdPidTraits &StMuTrack::mtdPidTraits() const { return mMtdPidTraits;}
269 inline void StMuTrack::setBTofPidTraits(const StMuBTofPidTraits& pid) { mBTofPidTraits = pid; }
270 inline void StMuTrack::setETofPidTraits(const StMuETofPidTraits& pid) { mETofPidTraits = pid; }
271 
272 inline const StMuTrack* StMuTrack::globalTrack() const { return (mIndex2Global>=0) ? (StMuTrack*)StMuDst::array(muGlobal)->UncheckedAt(mIndex2Global) :0;}
273 inline const StRichSpectra* StMuTrack::richSpectra() const { return (mIndex2RichSpectra>=0) ? (StRichSpectra*)StMuDst::array(muRich)->UncheckedAt(mIndex2RichSpectra) : 0;}
274 inline const StMuBTofHit* StMuTrack::tofHit() const { return (mIndex2BTofHit>=0) ? (StMuBTofHit*)StMuDst::btofArray(muBTofHit)->UncheckedAt(mIndex2BTofHit) :0;}
275 inline const StMuETofHit* StMuTrack::etofHit() const { return (mIndex2ETofHit>=0) ? (StMuETofHit*)StMuDst::etofArray(muETofHit)->UncheckedAt(mIndex2ETofHit) :0;}
276 inline const StMuMtdHit* StMuTrack::mtdHit() const { return (mIndex2MtdHit>=0) ? (StMuMtdHit*)StMuDst::mtdArray(muMTDHit)->UncheckedAt(mIndex2MtdHit) :0;}
277 ostream& operator<<(ostream& os, StMuTrack const & v);
278 #endif
279 
280 /***************************************************************************
281  *
282  * $Log: StMuTrack.h,v $
283  * Revision 1.54 2019/02/21 14:00:02 jdb
284  * Bumped the ClassDef versions in MuDst where eTOF was added. I also added the etofTypes to the LinkDef file
285  *
286  * Revision 1.53 2019/02/21 13:32:54 jdb
287  * Inclusion of ETOF MuDst code. This code adds support for the full set of ETOF data which includes EtofDigi, EtofHit, EtofHeader. The code essentially copies similar structures from StEvent and additionally rebuilds the maps between Digis and Hits. Accessor methods are added based on the pattern from BTOF to provide access to data at various levels. The code for accessing the PID traits provided by ETOF is also provided
288  *
289  * Revision 1.52 2017/04/17 19:19:51 smirnovd
290  * StMuTrack: Make setVertexIndex() public
291  *
292  * Associated vertex can change when running a vertex finder as an afterburner.
293  *
294  * Revision 1.51 2017/04/17 19:19:44 smirnovd
295  * [Cosmetic] Whitespace adjustments
296  *
297  * Revision 1.50 2017/01/19 23:03:04 smirnovd
298  * StMuTrack: Let users change track type e.g. global/primary/etc...
299  *
300  * Revision 1.49 2014/02/28 05:40:09 jdb
301  * jdb StMuTrack: Added setMtdPidTraits, StMuMtdPidTraits: removed mtdHit(), MtdHit(), setMtdHit()
302  *
303  * Revision 1.48 2014/01/15 22:00:04 fisyak
304  * Add method to calculate dE/dx pulls for I70 and Ifit
305  *
306  * Revision 1.4 2014/01/15 21:11:08 fisyak
307  * Add dE/dx pulls calculations
308  *
309  * Revision 1.3 2013/08/19 15:03:16 fisyak
310  * Add calculation dE/dx pulls
311  *
312  * Revision 1.2 2013/08/07 12:58:40 fisyak
313  * Add access to StMuHelix
314  *
315  * Revision 1.1.1.1 2013/07/23 14:14:48 fisyak
316  *
317  *
318  * Revision 1.44 2013/07/16 14:30:30 fisyak
319  * Restore mass fit tracks
320  *
321  * Revision 1.42 2013/04/08 18:07:55 fisyak
322  * Add branches for KFParticles, fix problem with zero cov. matrix for primary tracks
323  *
324  * Revision 1.41 2012/05/07 14:47:06 fisyak
325  * Add handles for track to fast detector matching
326  *
327  * Revision 1.40 2011/10/17 00:19:14 fisyak
328  * Active handing of IdTruth
329  *
330  * Revision 1.39 2011/10/11 20:35:43 fisyak
331  * Make idTruth public
332  *
333  * Revision 1.38 2011/04/08 01:25:51 fisyak
334  * Add branches for MC track and vertex information, add IdTruth to tracks and vertices, reserve a possiblity to remove Strange MuDst
335  *
336  * Revision 1.37 2010/04/27 20:47:17 tone421
337  * Added extra functions for BEMC matching. See this post for more details:
338  *
339  * http://www.star.bnl.gov/HyperNews-star/get/starsofi/7816.html
340  *
341  * Revision 1.36 2009/12/08 23:24:46 fine
342  * Fix issue #1748 http://www.star.bnl.gov/rt2/Ticket/Display.html?id=1748
343  *
344  * Revision 1.35 2009/12/01 21:56:35 tone421
345  * Implemented changes as per http://www.star.bnl.gov/rt2/Ticket/Display.html?id=1734
346  *
347  * Revision 1.31 2009/09/01 16:37:11 tone421
348  * Fixed in a bug for setBTofPidTraits
349  *
350  * Revision 1.30 2009/02/27 19:54:25 tone421
351  * Iterated Class Def by 1 to accommodate new BTOF data member
352  *
353  * Revision 1.29 2009/02/20 16:37:44 tone421
354  * *** empty log message ***
355  *
356  * Revision 1.27 2008/03/19 17:22:39 fisyak
357  * Increase Version number
358  *
359  * Revision 1.26 2008/03/19 14:51:04 fisyak
360  * Add two clone arrays for global and primary track covariance matrices, remove mSigmaDcaD and mSigmaDcaZ
361  *
362  * Revision 1.25 2007/10/18 03:44:24 mvl
363  * Added Ist and Pixel hits to mNPossInner and mNFitInner
364  *
365  * Revision 1.24 2007/09/18 02:29:58 mvl
366  * Added basic printing functionality. For convenience and to assist data consistency checks
367  *
368  * Revision 1.23 2007/04/20 06:23:46 mvl
369  * Removed Q-vector flag (will implement utility class)
370  *
371  * Revision 1.21 2007/01/29 18:34:44 mvl
372  * Updates to use StDcaGeometry for global DCA and momentum.
373  * Added helper functions for radial and Z component: dcaD and dcaZ.
374  * Uncertainties on those are stored in sigmaDcaD and sigmaDcaZ.
375  * dcaD and dcaZ only work for the primary vertex to which the track belongs (avoid long extrapolations).
376  *
377  * Revision 1.20 2006/07/27 18:55:42 fisyak
378  * Remove DCA hack used in SSD+SVT test production (P06id)
379  *
380  * Revision 1.17 2005/12/13 03:12:13 mvl
381  * Changes to StMuDst2StEventMaker (code in StMuDst) and StMuDstFilterMaker
382  * to no longer rely on track keys for matching global and primary tracks.
383  * This was needed because track keys are not guaranteed to be unique anymore.
384  *
385  * Revision 1.16 2005/08/19 19:46:06 mvl
386  * Further updates for multiple vertices. The main changes are:
387  * 1) StMudst::primaryTracks() now returns a list (TObjArray*) of tracks
388  * belonging to the 'current' primary vertex. The index number of the
389  * 'current' vertex can be set using StMuDst::setCurrentVertex().
390  * This also affects StMuDst::primaryTracks(Int_t i) and
391  * StMuDst::numberOfprimaryTracks().
392  * 2) refMult is now stored for all vertices, in StMuPrimaryVertex. The
393  * obvious way to access these numbers is from the StMuprimaryVertex structures,
394  * but for ebakcward compatibility a function is provided in StMuEvent as well
395  * (this is the only function taht works for existing MuDst)
396  *
397  * As an aside, I've also changes the internals of StMuDst::createStEvent and
398  * StMuDst::fixTrackIndices() to be able to deal with a larger range of index numbers for tracks as generated by Ittf.
399  *
400  * BIG FAT WARNING: StMudst2StEventMaker and StMuDstFilterMaker
401  * do not fully support the multiple vertex functionality yet.
402  *
403  * Revision 1.15 2005/07/15 21:45:08 mvl
404  * Added support for multiple primary vertices (StMuPrimaryVertex). Track Dcas are now calculated with repect to the first vertex in the list (highest rank), but another vertex number can be specified. Tarcks also store the index of the vertex they belong to (StMuTrack::vertexIndex())
405  *
406  * Revision 1.14 2005/07/06 21:40:18 fisyak
407  * use template version of StPhysicalHelixD
408  *
409  * Revision 1.13 2005/03/17 21:55:00 mvl
410  * Added StMuMomentumShiftMaker for applying a magnetic field scaling to the reconstructed MuDst. This class accesses StMuTrack, StMuEvent and StMuHelix and some Strangeness MuDst data members as 'friend'
411  *
412  * Revision 1.12 2004/10/22 23:44:16 mvl
413  * Fixed StMuDst::fixTrackIndices()
414  *
415  * Revision 1.11 2004/08/14 00:53:42 mvl
416  * Added 1 to possibel points for primary tracks, like in StEvent
417  *
418  * Revision 1.10 2004/08/07 02:44:06 mvl
419  * Added support for fitted and possible points in different detectors, for ITTF
420  *
421  * Revision 1.9 2004/05/02 04:10:14 perev
422  * private => protected
423  *
424  * Revision 1.8 2004/04/14 03:27:30 jeromel
425  * Change init of mNSigma
426  *
427  * Revision 1.7 2003/10/28 18:57:56 perev
428  * BadData protection added
429  *
430  * Revision 1.6 2002/11/18 14:29:32 laue
431  * update for Yuri's new StProbPidTraits
432  *
433  * Revision 1.5 2002/09/19 21:54:01 laue
434  * fix bug in length() method
435  *
436  * Revision 1.4 2002/08/20 19:55:49 laue
437  * Doxygen comments added
438  *
439  * Revision 1.3 2002/04/01 22:42:30 laue
440  * improved chain filter options
441  *
442  * Revision 1.2 2002/03/20 16:04:12 laue
443  * minor changes, mostly added access functions
444  *
445  * Revision 1.1 2002/03/08 17:04:18 laue
446  * initial revision
447  *
448  *
449  **************************************************************************/
Double_t lengthMeasured() const
Returns length of track (cm) from first to last measured point.
Definition: StMuTrack.cxx:418
Double_t pidProbKaon() const
Returns Aihong&#39;s probability of being a kaon.
Definition: StMuTrack.h:242
const StMuHelix & muHelix() const
Returns inner helix (first measured point)
Definition: StMuTrack.h:133
short type() const
Returns the track type: 0=global, 1=primary, etc (see StEvent manual for type information) ...
Definition: StMuTrack.h:229
Double_t chi2prob() const
Returns probability of fit.
Definition: StMuTrack.h:252
Double_t pidProbElectron() const
Returns Aihong&#39;s probability of being an electron.
Definition: StMuTrack.h:240
Int_t vertexIndex() const
Returns index of associated primary vertex.
Definition: StMuTrack.cxx:600
Int_t index2Global() const
Returns index of associated global track. If not in order can be set with StMuDst::fixTrackIndeces() ...
Definition: StMuTrack.h:231
void fillMuProbPidTraits(const StEvent *, const StTrack *)
Helper function to fill all the different pid values.
Definition: StMuTrack.cxx:429
Double_t pt() const
Returns pT at point of dca to primary vertex.
Definition: StMuTrack.h:256
short id() const
Returns the track id(or key), is unique for a track node, i.e. global and primary tracks have the sam...
Definition: StMuTrack.h:228
UShort_t nHitsDedx() const
Return number of hits used for dEdx.
Definition: StMuTrack.h:238
Double_t length() const
Returns length of track (cm) from primary vertex to last measured point.
Definition: StMuTrack.cxx:416
Float_t dcaZ(Int_t vtx_id=-1) const
Z component of global DCA.
Definition: StMuTrack.cxx:351
Double_t chi2() const
Returns chi2 of fit.
Definition: StMuTrack.h:251
const StRichSpectra * richSpectra() const
Returns pointer to associated rich spectra. Null pointer if no global track available.
Definition: StMuTrack.h:273
const StMuETofPidTraits & etofPidTraits() const
dongx
Definition: StMuTrack.h:265
static TClonesArray * btofArray(int type)
returns pointer to the n-th TClonesArray from the btof arrays // dongx
Definition: StMuDst.h:287
void setVertexIndex(Int_t i)
Set index of primary vertex for which dca is stored.
Definition: StMuTrack.h:73
void setIndex2Global(Int_t i)
Set index of associated global track.
Definition: StMuTrack.h:211
StMuMtdPidTraits mMtdPidTraits
dongx
Definition: StMuTrack.h:203
void fillMuETofPidTraits(const StTrack *)
dongx
Definition: StMuTrack.cxx:489
static StuProbabilityPidAlgorithm * mProbabilityPidAlgorithm
Bingchu.
Definition: StMuTrack.h:220
static TClonesArray * mtdArray(int type)
returns pointer to the n-th TClonesArray from the mtd arrays
Definition: StMuDst.h:291
StPhysicalHelixD helix() const
Returns inner helix (first measured point)
Definition: StMuTrack.cxx:407
void setIndex2RichSpectra(Int_t i)
Set index of associated rich spectra.
Definition: StMuTrack.h:212
UShort_t nHitsFit() const
Return total number of hits used in fit.
Definition: StMuTrack.h:239
short flag() const
Returns flag, (see StEvent manual for type information)
Definition: StMuTrack.h:230
Short_t charge() const
Returns charge.
Definition: StMuTrack.h:255
const StThreeVectorF & p() const
Returns 3-momentum at dca to primary vertex.
Definition: StMuTrack.h:259
const StMuHelix & muOuterHelix() const
Returns outer helix (last measured point)
Definition: StMuTrack.h:134
Int_t index2ETofHit() const
dongx
Definition: StMuTrack.h:235
Double_t nSigmaPion() const
Returns Craig&#39;s distance to the calculated dE/dx band for pions in units of sigma.
Definition: StMuTrack.h:245
Double_t eta() const
Returns pseudo rapidity at point of dca to primary vertex.
Definition: StMuTrack.h:257
Double_t pidProbProton() const
Returns Aihong&#39;s probability of being a proton.
Definition: StMuTrack.h:243
const StThreeVectorF & firstPoint() const
Returns positions of first measured point.
Definition: StMuTrack.h:261
const StMuProbPidTraits & probPidTraits() const
Returns Yuri Fisyak new pid probabilities.
Definition: StMuTrack.h:263
virtual void Print(Option_t *option="") const
Print track info.
Definition: StMuTrack.cxx:576
StThreeVectorD momentumAtPrimaryVertex(const StEvent *event, const StTrack *track, const StVertex *vertex) const
Helper function: Calculates the momentum at dca a given StTrack and the primary vertex taken from StE...
Definition: StMuTrack.cxx:402
static TClonesArray * etofArray(int type)
returns pointer to the n-th TClonesArray from the etof arrays // FS
Definition: StMuDst.h:289
Double_t chi2z() const
Returns probability of fit. ATTENTIONS: does not return z chi2 (historic)
Definition: StMuTrack.h:250
Double_t nSigmaElectron() const
Returns Craig&#39;s distance to the calculated dE/dx band for electrons in units of sigma.
Definition: StMuTrack.h:244
UShort_t nHitsPoss() const
Return number of possible hits on track.
Definition: StMuTrack.cxx:242
static Double_t mProbabilityPidCentrality
Centrality for Aihong&#39;s pid prob calculations. Will set when new StMuEvent is made from StEvent...
Definition: StMuTrack.h:221
const StThreeVectorF & momentum() const
Returns 3-momentum at dca to primary vertex.
Definition: StMuTrack.h:260
UShort_t nHits() const
Bingchu.
Definition: StMuTrack.h:237
Double_t chi2xy() const
Returns chi2 of fit. ATTENTIONS: does not return xy chi2 (historic)
Definition: StMuTrack.h:249
static void setProbabilityPidCentrality(Double_t cent)
Sets the centrality for calculating Aihong&#39;s pid.
Definition: StMuTrack.h:268
StThreeVectorF dca(Int_t vtx_id=-1) const
Returns 3D distance of closest approach to primary vertex.
Definition: StMuTrack.cxx:359
StMuProbPidTraits mProbPidTraits
Class holding the new Yuri Fisyak pid probabilities.
Definition: StMuTrack.h:201
const StThreeVectorF & lastPoint() const
Returns positions of last measured point.
Definition: StMuTrack.h:262
Double_t dEdx() const
Returns measured dE/dx value.
Definition: StMuTrack.h:248
static void setProbabilityPidAlgorithm(StuProbabilityPidAlgorithm *)
Sets the StuProbabilityPidAlgorithm. Important in order to calculate Aihong&#39;s pids.
Definition: StMuTrack.h:267
Int_t mIndex2Cov
Bingchu.
Definition: StMuTrack.h:204
static TClonesArray * array(int type)
returns pointer to the n-th TClonesArray
Definition: StMuDst.h:262
Double_t phi() const
Returns phi at point of dca to primary vertex.
Definition: StMuTrack.h:258
const StMuTrack * primaryTrack() const
Returns pointer to associated primary track. Null pointer if no global track available.
Definition: StMuTrack.cxx:578
Double_t nSigmaProton() const
Returns Craig&#39;s distance to the calculated dE/dx band for protons in units of sigma.
Definition: StMuTrack.h:247
Int_t index2RichSpectra() const
Returns index of associated rich spectra.
Definition: StMuTrack.h:233
Float_t dcaD(Int_t vtx_id=-1) const
Signed radial component of global DCA (projected)
Definition: StMuTrack.cxx:332
const StMuTrack * globalTrack() const
Returns pointer to associated global track. Null pointer if no global track available.
Definition: StMuTrack.h:272
StThreeVectorF dcaGlobal(Int_t vtx_id=-1) const
Returns 3D distance of closest approach to primary vertex of associated global track.
Definition: StMuTrack.cxx:371
Double_t nSigmaKaon() const
Returns Craig&#39;s distance to the calculated dE/dx band for kaons in units of sigma.
Definition: StMuTrack.h:246
void setIndex2Cov(Int_t i)
Bingchu.
Definition: StMuTrack.h:148
void setETofPidTraits(const StMuETofPidTraits &pid)
dongx
Definition: StMuTrack.h:270
StPhysicalHelixD outerHelix() const
Returns outer helix (last measured point)
Definition: StMuTrack.cxx:412
Double_t pidProbPion() const
Returns Aihong&#39;s probability of being a pion.
Definition: StMuTrack.h:241
const StMuETofHit * etofHit() const
dongx
Definition: StMuTrack.h:275
StTrackTopologyMap topologyMap() const
Returns topology map.
Definition: StMuTrack.h:254
void setIndex2ETofHit(Int_t i)
dongx
Definition: StMuTrack.h:146