StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StXiMuDst.hh
1 
10 #ifndef StXiMuDst_hh
11 #define StXiMuDst_hh
12 #include "StV0MuDst.hh"
13 #include "StXiI.hh"
14 
15 class StXiVertex;
16 #include "StPhysicalHelixD.hh"
17 
18 class StXiMuDst : public StV0MuDst, public virtual StXiI {
19  friend class StMuMomentumShiftMaker;
20 
21 public:
22  StXiMuDst();
23  ~StXiMuDst();
26 
27  Int_t charge() const; // Particle charge
28  Float_t decayVertexXiX() const; // Coordinate of decay vertex
29  Float_t decayVertexXiY() const;
30  Float_t decayVertexXiZ() const;
31  virtual Float_t decayLengthV0() const; // 3-d decay distance
32  Float_t dcaXiDaughters() const; // DCA of xi daughters at decay vertex
33  Float_t dcaBachelorToPrimVertex() const; // DCA of bachelor to primary vertex
34  Float_t dcaXiToPrimVertex() const; // DCA of xi to primary vertex
35  Float_t momBachelorX() const; // Momentum components of bachelor
36  Float_t momBachelorY() const;
37  Float_t momBachelorZ() const;
38  Int_t keyBachelor() const;
40 
41  TVector3 momXi(); // Momentum components of Xi/Omega at decay vertex
42  Float_t momXiX();
43  Float_t momXiY();
44  Float_t momXiZ();
45 
46  TVector3 momXiAtPrimVertex(); // Momentum components of Xi/Omega at primary vertex
47  Float_t momXiAtPrimVertexX();
48  Float_t momXiAtPrimVertexY();
49  Float_t momXiAtPrimVertexZ();
50 
51  Float_t chi2Xi() const; // Chi square of Xi
52  Float_t clXi() const; // Confidence level of Xi
53  Float_t chi2Bachelor() const; // Chi square of bachelor
54  Float_t clBachelor() const; // Confidence level of bachelor
55  void setBachelorBad(); // Set the bachelor as bad
56  Long_t detectorIdXi(); // Detector ID for Xi vertex
57  virtual Long_t detectorIdPars(); // Detector ID for pars used in Xi finder
58  Float_t dedxBachelor() const; // dE/dX of bachelor
59  Float_t errDedxBachelor() const; // Error on mean of dE/dX of bachelor
60  UShort_t numDedxBachelor() const; // Number of dE/dX points for bachelor
61  Float_t lenDedxBachelor() const; // Length of dE/dX track for bachelor
62 
63  StPhysicalHelixD& helixXi(); // helix of the Xi track
64 
65 protected:
66  Int_t mCharge; // Written out
67  Float_t mDecayVertexXiX;
68  Float_t mDecayVertexXiY;
69  Float_t mDecayVertexXiZ;
70 
71  Float_t mDcaXiDaughters;
72  Float_t mDcaBachelorToPrimVertex;
73  Float_t mDcaXiToPrimVertex;
74  Float_t mMomBachelorX;
75  Float_t mMomBachelorY;
76  Float_t mMomBachelorZ;
77 
78  Int_t mKeyBachelor;
79 
80  StTrackTopologyMap mTopologyMapBachelor;
81 
82  Float_t mChi2Xi;
83  Float_t mClXi;
84  Float_t mChi2Bachelor;
85  Float_t mClBachelor;
86 
87  void FillXi(StXiVertex*);
88  void setXiHelix();
89 
90  Float_t mDedxBachelor;
91  Float_t mErrDedxBachelor;
92  UShort_t mNumDedxBachelor;
93 
94  ClassDef(StXiMuDst,8)
95 };
96 
97 inline StXiMuDst::StXiMuDst(StXiVertex* x1,StV0Vertex* v1,StStrangeEvMuDst* e1):
98  StXiI(), StV0MuDst(v1,e1)
99  { FillXi(x1); }
100 
101 inline Int_t StXiMuDst::charge() const
102  { return mCharge; }
103 inline Float_t StXiMuDst::decayVertexXiX() const { return mDecayVertexXiX; }
104 inline Float_t StXiMuDst::decayVertexXiY() const { return mDecayVertexXiY; }
105 inline Float_t StXiMuDst::decayVertexXiZ() const { return mDecayVertexXiZ; }
106 inline Float_t StXiMuDst::decayLengthV0() const { return StXiI::decayLengthV0(); }
107 inline Float_t StXiMuDst::dcaXiDaughters() const
108  { return mDcaXiDaughters; }
109 inline Float_t StXiMuDst::dcaXiToPrimVertex() const
110  { return mDcaXiToPrimVertex; }
111 inline Float_t StXiMuDst::dcaBachelorToPrimVertex() const
112  { return mDcaBachelorToPrimVertex; }
113 inline Float_t StXiMuDst::momBachelorX() const { return mMomBachelorX; }
114 inline Float_t StXiMuDst::momBachelorY() const { return mMomBachelorY; }
115 inline Float_t StXiMuDst::momBachelorZ() const { return mMomBachelorZ; }
116 inline TVector3 StXiMuDst::momXi()
117  {return TVector3(momXiX(), momXiY(), momXiZ());}
118 inline Float_t StXiMuDst::momXiX() { return mMomBachelorX + momV0X(); }
119 inline Float_t StXiMuDst::momXiY() { return mMomBachelorY + momV0Y(); }
120 inline Float_t StXiMuDst::momXiZ() { return mMomBachelorZ + momV0Z(); }
121 inline Float_t StXiMuDst::momXiAtPrimVertexX() { return momXiAtPrimVertex().X(); }
122 inline Float_t StXiMuDst::momXiAtPrimVertexY() { return momXiAtPrimVertex().Y(); }
123 inline Float_t StXiMuDst::momXiAtPrimVertexZ() { return momXiAtPrimVertex().Z(); }
124 inline Int_t StXiMuDst::keyBachelor() const { return mKeyBachelor; }
126  { return mTopologyMapBachelor; }
127 inline Float_t StXiMuDst::chi2Xi() const { return mChi2Xi; }
128 inline Float_t StXiMuDst::clXi() const { return mClXi; }
129 inline Float_t StXiMuDst::chi2Bachelor() const { return mChi2Bachelor; }
130 inline Float_t StXiMuDst::clBachelor() const { return mClBachelor; }
131 inline void StXiMuDst::setBachelorBad() { mChi2Bachelor = -TMath::Abs(mChi2Bachelor); }
132 inline Float_t StXiMuDst::dedxBachelor() const { return mDedxBachelor; }
133 inline Float_t StXiMuDst::errDedxBachelor() const { return mErrDedxBachelor; }
134 inline UShort_t StXiMuDst::numDedxBachelor() const
135  { return (mNumDedxBachelor%100); }
136 inline Float_t StXiMuDst::lenDedxBachelor() const
137  { return (mNumDedxBachelor/100); }
138 
139 #endif
140 
141 
142 /***********************************************************************
143  * $Id: StXiMuDst.hh,v 3.13 2011/05/27 18:25:32 genevb Exp $
144  * $Log: StXiMuDst.hh,v $
145  * Revision 3.13 2011/05/27 18:25:32 genevb
146  * Propagate StTrack::key => Int_t to other codes
147  *
148  * Revision 3.12 2008/07/11 16:23:10 genevb
149  * bad() won't work unless chi2 allows to return negative values
150  *
151  * Revision 3.11 2008/07/10 16:16:56 genevb
152  * Allow for marking of bad tracks -> bad secondary vertices
153  *
154  * Revision 3.10 2005/07/06 22:32:07 fisyak
155  * Use templated StPhysicalHelixD
156  *
157  * Revision 3.9 2005/07/03 19:04:34 perev
158  * Change class version to avoid ROOT bug in old version 4.00.04
159  *
160  * Revision 3.8 2005/03/17 05:02:20 genevb
161  * Add StMuMomentumShiftMaker friend
162  *
163  * Revision 3.7 2003/10/20 17:20:19 perev
164  * Change the order of inheritance and increased version numbers
165  *
166  * Revision 3.6 2003/08/26 22:36:28 genevb
167  * Calculate Xi momenta at/near primary vertex
168  *
169  * Revision 3.5 2003/05/30 21:20:20 genevb
170  * doxygen savvy, encoding of FTPC mults, change virtual funcs
171  *
172  * Revision 3.4 2001/11/05 23:41:07 genevb
173  * Add more dEdx, B field info, careful of changes to TTree unrolling
174  *
175  * Revision 3.3 2001/05/04 20:15:15 genevb
176  * Common interfaces and reorganization of components, add MC event info
177  *
178  * Revision 3.2 2000/08/10 01:16:25 genevb
179  * Added number of dedx points
180  *
181  * Revision 3.1 2000/07/14 14:09:11 genevb
182  * Fixed small typo
183  *
184  * Revision 3.0 2000/07/14 12:56:51 genevb
185  * Revision 3 has event multiplicities and dedx information for vertex tracks
186  *
187  * Revision 2.0 2000/06/02 22:11:55 genevb
188  * New version of Strangeness micro DST package
189  *
190  * Revision 1.3 2000/03/31 03:20:25 jones
191  * Added topology map to V0/Xi; access funcs for each data member
192  *
193  * Revision 1.2 2000/03/29 20:52:14 genevb
194  * Added StKinkMuDst, replaced arrays
195  *
196  * Revision 1.1 2000/03/29 03:10:08 genevb
197  * Introduction of Strangeness Micro DST package
198  *
199  *
200  ***********************************************************************/
Long_t detectorIdXi()
Detector ID for Xi vertex.
Definition: StXiMuDst.cc:110
Float_t momXiZ()
Momentum components of Xi/Omega at decay vertex.
Definition: StXiMuDst.hh:120
Float_t momXiAtPrimVertexZ()
Momentum components of Xi/Omega at primary vertex.
Definition: StXiMuDst.hh:123
Float_t chi2Xi() const
Chi square of Xi (used only by MuDst)
Definition: StXiMuDst.hh:127
Float_t clBachelor() const
Confidence level of bachelor.
Definition: StXiMuDst.hh:130
Definition: StXiI.hh:24
StTrackTopologyMap & topologyMapBachelor()
Bachelor track topology map.
Definition: StXiMuDst.hh:125
virtual Float_t decayLengthV0() const
3-d decay distance of V0 from Xi
Definition: StXiMuDst.hh:106
Float_t dcaBachelorToPrimVertex() const
DCA of bachelor to primary vertex.
Definition: StXiMuDst.hh:111
Float_t dcaXiDaughters() const
DCA of xi daughters at decay vertex.
Definition: StXiMuDst.hh:107
Int_t keyBachelor() const
Bachelor track key.
Definition: StXiMuDst.hh:124
TVector3 momXiAtPrimVertex()
Momentum of Xi/Omega at primary vertex.
Definition: StXiMuDst.cc:137
Float_t momV0Z() const
Momentum components of V0.
Definition: StV0MuDst.hh:136
Float_t lenDedxBachelor() const
Length of dE/dX track for bachelor.
Definition: StXiMuDst.hh:136
virtual Long_t detectorIdPars()
Detector ID for pars used in V0 finder.
Definition: StXiMuDst.cc:115
virtual Float_t decayLengthV0() const
3-d decay distance of V0 from Xi
Definition: StXiI.hh:239
Int_t charge() const
Particle charge.
Definition: StXiMuDst.hh:101
Float_t errDedxBachelor() const
Error on mean of dE/dX of bachelor.
Definition: StXiMuDst.hh:133
Float_t dcaXiToPrimVertex() const
DCA of xi to primary vertex.
Definition: StXiMuDst.hh:109
Float_t clXi() const
Confidence level of Xi.
Definition: StXiMuDst.hh:128
Float_t dedxBachelor() const
dE/dX of bachelor
Definition: StXiMuDst.hh:132
Float_t chi2Bachelor() const
Chi square of bachelor.
Definition: StXiMuDst.hh:129
Float_t momBachelorZ() const
Momentum components of bachelor.
Definition: StXiMuDst.hh:115
TVector3 momXi()
Momentum of Xi/Omega at decay vertex.
Definition: StXiMuDst.hh:116
UShort_t numDedxBachelor() const
Number of dE/dX points for bachelor.
Definition: StXiMuDst.hh:134
void setBachelorBad()
Set the bachelor as bad.
Definition: StXiMuDst.hh:131
Float_t decayVertexXiZ() const
Coordinates of decay vertex.
Definition: StXiMuDst.hh:105