StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StV0MuDst.hh
1 
10 #ifndef StV0MuDst_hh
11 #define StV0MuDst_hh
12 #include "StV0I.hh"
13 #include "StStrangeMuDst.hh"
14 
15 class StVertex;
16 class StV0Vertex;
17 
18 class StV0MuDst : public StStrangeMuDst, public virtual StV0I {
19  friend class StMuMomentumShiftMaker;
20 
21 public:
22  StV0MuDst();
23  ~StV0MuDst();
25  void Fill(StV0Vertex*,StStrangeEvMuDst*);
26 
27  Float_t decayVertexV0X() const; // Coordinates of decay vertex
28  Float_t decayVertexV0Y() const;
29  Float_t decayVertexV0Z() const;
30  Float_t dcaV0Daughters() const; // DCA of v0 daughters at decay vertex
31  Float_t dcaV0ToPrimVertex() const; // DCA of v0 to primary vertex
32  Float_t dcaPosToPrimVertex() const; // DCA of pos v0 daughter to pri vertex
33  Float_t dcaNegToPrimVertex() const; // DCA of neg v0 daughter to pri vertex
34  Float_t momPosX() const; // Momentum components of pos. daughter
35  Float_t momPosY() const;
36  Float_t momPosZ() const;
37  Float_t momNegX() const; // Momentum components of neg. daughter
38  Float_t momNegY() const;
39  Float_t momNegZ() const;
42  Int_t keyPos() const; // Track id v0 daughters
43  Int_t keyNeg() const; // Track id v0 daughters
44 
45  Float_t momV0X() const; // Momentum components of V0
46  Float_t momV0Y() const;
47  Float_t momV0Z() const;
48 
49  Float_t chi2V0() const; // Chi square of V0
50  Float_t clV0() const; // Confidence level of V0
51  Float_t chi2Pos() const; // Chi square of pos. daughter
52  Float_t clPos() const; // Confidence level of pos. daughter
53  Float_t chi2Neg() const; // Chi square of neg. daughter
54  Float_t clNeg() const; // Confidence level of neg. daughter
55  void setPosBad(); // Set the pos. daughter as bad
56  void setNegBad(); // Set the neg. daughter as bad
57  Long_t detectorIdV0(); // Detector ID for V0 Vertex
58  virtual Long_t detectorIdPars();// Detector ID for pars used in V0 finder
59  Float_t dedxPos() const; // dE/dX of pos. daughter
60  Float_t dedxNeg() const; // dE/dX of neg. daughter
61  Float_t errDedxPos() const; // Error on mean of dE/dX of pos. daughter
62  Float_t errDedxNeg() const; // Error on mean of dE/dX of neg. daughter
63  UShort_t numDedxPos() const; // Number of dE/dX points for pos. daughter
64  UShort_t numDedxNeg() const; // Number of dE/dX points for neg. daughter
65  Float_t lenDedxPos() const; // Length of dE/dX track of pos. daughter
66  Float_t lenDedxNeg() const; // Length of dE/dX track of neg. daughter
67 
68 protected:
69 
70  Float_t mDecayVertexV0X; // These are written out
71  Float_t mDecayVertexV0Y;
72  Float_t mDecayVertexV0Z;
73  Float_t mDcaV0Daughters;
74  Float_t mDcaV0ToPrimVertex;
75  Float_t mDcaPosToPrimVertex;
76  Float_t mDcaNegToPrimVertex;
77  Float_t mMomPosX;
78  Float_t mMomPosY;
79  Float_t mMomPosZ;
80  Float_t mMomNegX;
81  Float_t mMomNegY;
82  Float_t mMomNegZ;
83 
84  Int_t mKeyPos;
85  Int_t mKeyNeg;
86 
87  StTrackTopologyMap mTopologyMapPos;
88  StTrackTopologyMap mTopologyMapNeg;
89 
90  Float_t mChi2V0;
91  Float_t mClV0;
92  Float_t mChi2Pos;
93  Float_t mClPos;
94  Float_t mChi2Neg;
95  Float_t mClNeg;
96 
97  Long_t detectorIdTrack(StTrackTopologyMap&);
98 
99  Float_t mDedxPos;
100  Float_t mDedxNeg;
101  Float_t mErrDedxPos;
102  Float_t mErrDedxNeg;
103  UShort_t mNumDedxPos;
104  UShort_t mNumDedxNeg;
105 
106  ClassDef(StV0MuDst,7)
107 };
108 
109 inline StV0MuDst::StV0MuDst(StV0Vertex* v1,StStrangeEvMuDst* e1) : StV0I()
110  { Fill(v1,e1); }
111 inline Float_t StV0MuDst::decayVertexV0X() const { return mDecayVertexV0X; }
112 inline Float_t StV0MuDst::decayVertexV0Y() const { return mDecayVertexV0Y; }
113 inline Float_t StV0MuDst::decayVertexV0Z() const { return mDecayVertexV0Z; }
114 inline Float_t StV0MuDst::dcaV0Daughters() const
115  { return mDcaV0Daughters; }
116 inline Float_t StV0MuDst::dcaV0ToPrimVertex() const
117  { return mDcaV0ToPrimVertex; }
118 inline Float_t StV0MuDst::dcaPosToPrimVertex() const
119  { return mDcaPosToPrimVertex; }
120 inline Float_t StV0MuDst::dcaNegToPrimVertex() const
121  { return mDcaNegToPrimVertex; }
122 inline Float_t StV0MuDst::momPosX() const { return mMomPosX; }
123 inline Float_t StV0MuDst::momPosY() const { return mMomPosY; }
124 inline Float_t StV0MuDst::momPosZ() const { return mMomPosZ; }
125 inline Float_t StV0MuDst::momNegX() const { return mMomNegX; }
126 inline Float_t StV0MuDst::momNegY() const { return mMomNegY; }
127 inline Float_t StV0MuDst::momNegZ() const { return mMomNegZ; }
129  { return mTopologyMapPos; }
131  { return mTopologyMapNeg; }
132 inline Int_t StV0MuDst::keyPos() const { return mKeyPos; }
133 inline Int_t StV0MuDst::keyNeg() const { return mKeyNeg; }
134 inline Float_t StV0MuDst::momV0X() const { return mMomPosX + mMomNegX; }
135 inline Float_t StV0MuDst::momV0Y() const { return mMomPosY + mMomNegY; }
136 inline Float_t StV0MuDst::momV0Z() const { return mMomPosZ + mMomNegZ; }
137 inline Float_t StV0MuDst::chi2V0() const { return mChi2V0; }
138 inline Float_t StV0MuDst::clV0() const { return mClV0; }
139 inline Float_t StV0MuDst::chi2Pos() const { return mChi2Pos; }
140 inline Float_t StV0MuDst::clPos() const { return mClPos; }
141 inline Float_t StV0MuDst::chi2Neg() const { return mChi2Neg; }
142 inline Float_t StV0MuDst::clNeg() const { return mClNeg; }
143 inline void StV0MuDst::setPosBad() { mChi2Pos = -TMath::Abs(mChi2Pos); }
144 inline void StV0MuDst::setNegBad() { mChi2Neg = -TMath::Abs(mChi2Neg); }
145 inline Float_t StV0MuDst::dedxPos() const { return mDedxPos; }
146 inline Float_t StV0MuDst::dedxNeg() const { return mDedxNeg; }
147 inline Float_t StV0MuDst::errDedxPos() const { return mErrDedxPos; }
148 inline Float_t StV0MuDst::errDedxNeg() const { return mErrDedxNeg; }
149 inline UShort_t StV0MuDst::numDedxPos() const { return (mNumDedxPos%100); }
150 inline UShort_t StV0MuDst::numDedxNeg() const { return (mNumDedxNeg%100); }
151 inline Float_t StV0MuDst::lenDedxPos() const { return (mNumDedxPos/100); }
152 inline Float_t StV0MuDst::lenDedxNeg() const { return (mNumDedxNeg/100); }
153 #endif
154 
155 
156 /***********************************************************************
157  * $Id: StV0MuDst.hh,v 3.11 2011/05/27 18:25:32 genevb Exp $
158  * $Log: StV0MuDst.hh,v $
159  * Revision 3.11 2011/05/27 18:25:32 genevb
160  * Propagate StTrack::key => Int_t to other codes
161  *
162  * Revision 3.10 2008/07/11 16:23:09 genevb
163  * bad() won't work unless chi2 allows to return negative values
164  *
165  * Revision 3.9 2008/07/10 16:16:55 genevb
166  * Allow for marking of bad tracks -> bad secondary vertices
167  *
168  * Revision 3.8 2005/03/17 05:02:20 genevb
169  * Add StMuMomentumShiftMaker friend
170  *
171  * Revision 3.7 2003/10/20 17:20:18 perev
172  * Change the order of inheritance and increased version numbers
173  *
174  * Revision 3.6 2003/05/30 21:20:20 genevb
175  * doxygen savvy, encoding of FTPC mults, change virtual funcs
176  *
177  * Revision 3.5 2001/11/05 23:41:07 genevb
178  * Add more dEdx, B field info, careful of changes to TTree unrolling
179  *
180  * Revision 3.4 2001/05/04 20:15:15 genevb
181  * Common interfaces and reorganization of components, add MC event info
182  *
183  * Revision 3.3 2000/08/24 20:29:00 genevb
184  * Fixed a typo
185  *
186  * Revision 3.2 2000/08/24 20:02:59 genevb
187  * Fixed a typo
188  *
189  * Revision 3.1 2000/08/10 01:16:24 genevb
190  * Added number of dedx points
191  *
192  * Revision 3.0 2000/07/14 12:56:50 genevb
193  * Revision 3 has event multiplicities and dedx information for vertex tracks
194  *
195  * Revision 2.0 2000/06/02 22:11:54 genevb
196  * New version of Strangeness micro DST package
197  *
198  * Revision 1.4 2000/03/31 03:20:24 jones
199  * Added topology map to V0/Xi; access funcs for each data member
200  *
201  * Revision 1.3 2000/03/29 20:52:13 genevb
202  * Added StKinkMuDst, replaced arrays
203  *
204  * Revision 1.2 2000/03/29 14:42:40 genevb
205  * Removed StV0MiniMiniDst
206  *
207  * Revision 1.1 2000/03/29 03:10:08 genevb
208  * Introduction of Strangeness Micro DST package
209  *
210  ***********************************************************************/
Float_t momPosZ() const
Momentum components of pos. daughter.
Definition: StV0MuDst.hh:124
Float_t chi2V0() const
Chi square of V0.
Definition: StV0MuDst.hh:137
UShort_t numDedxNeg() const
Number of dE/dX points for neg. daughter.
Definition: StV0MuDst.hh:150
Float_t dcaV0ToPrimVertex() const
DCA of v0 to primary vertex.
Definition: StV0MuDst.hh:116
Definition: StV0I.hh:31
Int_t keyNeg() const
Neg. daughter track key.
Definition: StV0MuDst.hh:133
Float_t dcaPosToPrimVertex() const
DCA of pos v0 daughter to pri vertex.
Definition: StV0MuDst.hh:118
Int_t keyPos() const
Pos. daughter track key.
Definition: StV0MuDst.hh:132
StTrackTopologyMap & topologyMapPos()
Pos. daughter track topology map.
Definition: StV0MuDst.hh:128
Float_t lenDedxPos() const
Length of dE/dX track of pos. daughter.
Definition: StV0MuDst.hh:151
Long_t detectorIdV0()
Detector ID for V0 Vertex.
Definition: StV0MuDst.cc:141
virtual Long_t detectorIdPars()
Detector ID for pars used in V0 finder.
Definition: StV0MuDst.cc:146
Float_t lenDedxNeg() const
Length of dE/dX track of neg. daughter.
Definition: StV0MuDst.hh:152
Float_t dcaNegToPrimVertex() const
DCA of neg v0 daughter to pri vertex.
Definition: StV0MuDst.hh:120
Float_t dedxNeg() const
dE/dX of neg. daughter
Definition: StV0MuDst.hh:146
Float_t momV0Z() const
Momentum components of V0.
Definition: StV0MuDst.hh:136
Float_t dedxPos() const
dE/dX of pos. daughter
Definition: StV0MuDst.hh:145
void setPosBad()
Set the pos. daughter as bad.
Definition: StV0MuDst.hh:143
StTrackTopologyMap & topologyMapNeg()
Neg. daughter track topology map.
Definition: StV0MuDst.hh:130
Float_t chi2Neg() const
Chi square of neg. daughter.
Definition: StV0MuDst.hh:141
Float_t errDedxNeg() const
Error on mean of dE/dX of neg. daughter.
Definition: StV0MuDst.hh:148
void setNegBad()
Set the neg. daughter as bad.
Definition: StV0MuDst.hh:144
Float_t dcaV0Daughters() const
DCA of v0 daughters at decay vertex.
Definition: StV0MuDst.hh:114
Float_t chi2Pos() const
Chi square of pos. daughter.
Definition: StV0MuDst.hh:139
Float_t clPos() const
Confidence level of pos. daughter.
Definition: StV0MuDst.hh:140
Float_t clV0() const
Confidence level of V0.
Definition: StV0MuDst.hh:138
Float_t decayVertexV0Z() const
Coordinates of decay vertex.
Definition: StV0MuDst.hh:113
UShort_t numDedxPos() const
Number of dE/dX points for pos. daughter.
Definition: StV0MuDst.hh:149
Float_t errDedxPos() const
Error on mean of dE/dX of pos. daughter.
Definition: StV0MuDst.hh:147
Float_t momNegZ() const
Momentum components of neg. daughter.
Definition: StV0MuDst.hh:127
Float_t clNeg() const
Confidence level of neg. daughter.
Definition: StV0MuDst.hh:142