00001
00010 #ifndef STAR_StKinkMuDst
00011 #define STAR_StKinkMuDst
00012 #include "StKinkBase.hh"
00013
00014 class StKinkVertex;
00015
00016 class StKinkMuDst : public StKinkBase {
00017 friend class StMuMomentumShiftMaker;
00018
00019 public:
00020 StKinkMuDst();
00021 StKinkMuDst(StKinkVertex*);
00022 ~StKinkMuDst();
00023
00024 Float_t dcaParentDaughter() const;
00025 Float_t dcaDaughterPrimaryVertex() const;
00026 Float_t dcaParentPrimaryVertex() const;
00027
00028 Float_t hitDistanceParentDaughter() const;
00029 Float_t hitDistanceParentVertex() const;
00030 Float_t mindE() const;
00031 Float_t decayAngle() const;
00032 Float_t parentMomentum() const;
00033 Float_t parentPrimMomentum() const;
00034 Int_t parentCharge() const;
00035 Float_t daughterMomentum() const;
00036 Int_t daughterCharge() const;
00037 Float_t decayLength() const;
00038 Float_t transverseMomentum() const;
00039 Float_t transverseMassKaon() const;
00040 Float_t transverseMassPion() const;
00041 Float_t rapidityKaon() const;
00042 Float_t rapidityPion() const;
00043 Int_t keyParent() const;
00044 Int_t keyDaughter() const;
00045
00046 Float_t chi2Kink() const;
00047 Float_t clKink() const;
00048 Float_t chi2Parent() const;
00049 Float_t clParent() const;
00050 Float_t chi2Daughter() const;
00051 Float_t clDaughter() const;
00052 void setParentBad();
00053 void setDaughterBad();
00054 Float_t dedxParent() const;
00055 Float_t dedxDaughter() const;
00056 Float_t errDedxParent() const;
00057 Float_t errDedxDaughter() const;
00058 UShort_t numDedxParent() const;
00059 UShort_t numDedxDaughter() const;
00060 Float_t lenDedxParent() const;
00061 Float_t lenDedxDaughter() const;
00062
00063 Float_t mDcaParentDaughter;
00064 Float_t mDcaDaughterPrimaryVertex;
00065 Float_t mDcaParentPrimaryVertex;
00066 Float_t mHitDistanceParentDaughter;
00067 Float_t mHitDistanceParentVertex;
00068 Float_t mMinDeltaEnergy;
00069 Float_t mDecayAngle;
00070 Float_t mParentMomentum;
00071 Float_t mParentPrimMomentum;
00072 Int_t mParentCharge;
00073 Float_t mDaughterMomentum;
00074 Int_t mDaughterCharge;
00075 Float_t mDecayLength;
00076 Float_t mTransverseMomentum;
00077 Float_t mTransverseMassKaon;
00078 Float_t mTransverseMassPion;
00079 Float_t mRapidityKaon;
00080 Float_t mRapidityPion;
00081 Float_t mChi2Kink;
00082 Float_t mClKink;
00083 Float_t mChi2Parent;
00084 Float_t mClParent;
00085 Float_t mChi2Daughter;
00086 Float_t mClDaughter;
00087 Float_t mDedxParent;
00088 Float_t mDedxDaughter;
00089 Float_t mErrDedxParent;
00090 Float_t mErrDedxDaughter;
00091 UShort_t mNumDedxParent;
00092 UShort_t mNumDedxDaughter;
00093 Int_t mKeyParent;
00094 Int_t mKeyDaughter;
00095
00096 private:
00097 void findMinDeltaEnergy(StKinkVertex*);
00098 void findDecayLength(StKinkVertex*);
00099 void findTransverseMomentum();
00100 void findTransverseMassKaon();
00101 void findTransverseMassPion();
00102 void findRapidityKaon();
00103 void findRapidityPion();
00104 ClassDef(StKinkMuDst,9)
00105 };
00106
00107 inline Float_t StKinkMuDst::dcaParentDaughter() const
00108 { return mDcaParentDaughter; }
00109 inline Float_t StKinkMuDst::dcaDaughterPrimaryVertex() const
00110 { return mDcaDaughterPrimaryVertex; }
00111 inline Float_t StKinkMuDst::dcaParentPrimaryVertex() const
00112 { return mDcaParentPrimaryVertex; }
00113 inline Float_t StKinkMuDst::hitDistanceParentDaughter() const
00114 { return mHitDistanceParentDaughter; }
00115 inline Float_t StKinkMuDst::hitDistanceParentVertex() const
00116 { return mHitDistanceParentVertex; }
00117 inline Float_t StKinkMuDst::mindE() const { return mMinDeltaEnergy; }
00118 inline Float_t StKinkMuDst::decayAngle() const { return mDecayAngle; }
00119 inline Float_t StKinkMuDst::parentMomentum() const
00120 { return mParentMomentum; }
00121 inline Float_t StKinkMuDst::parentPrimMomentum() const
00122 { return mParentPrimMomentum; }
00123 inline Int_t StKinkMuDst::parentCharge() const
00124 { return mParentCharge; }
00125 inline Float_t StKinkMuDst::daughterMomentum() const
00126 { return mDaughterMomentum; }
00127 inline Int_t StKinkMuDst::daughterCharge() const
00128 { return mDaughterCharge; }
00129 inline Float_t StKinkMuDst::decayLength() const { return mDecayLength; }
00130 inline Float_t StKinkMuDst::transverseMomentum() const
00131 { return mTransverseMomentum; }
00132 inline Float_t StKinkMuDst::transverseMassKaon() const
00133 { return mTransverseMassKaon; }
00134 inline Float_t StKinkMuDst::transverseMassPion() const
00135 { return mTransverseMassPion; }
00136 inline Float_t StKinkMuDst::rapidityKaon() const { return mRapidityKaon; }
00137 inline Float_t StKinkMuDst::rapidityPion() const { return mRapidityPion; }
00138 inline Float_t StKinkMuDst::chi2Kink() const { return mChi2Kink; }
00139 inline Float_t StKinkMuDst::clKink() const { return mClKink; }
00140 inline Float_t StKinkMuDst::chi2Parent() const { return mChi2Parent; }
00141 inline Float_t StKinkMuDst::clParent() const { return mClParent; }
00142 inline Float_t StKinkMuDst::chi2Daughter() const { return mChi2Daughter; }
00143 inline Float_t StKinkMuDst::clDaughter() const { return mClDaughter; }
00144 inline void StKinkMuDst::setParentBad() { mChi2Parent = -TMath::Abs(mChi2Parent); }
00145 inline void StKinkMuDst::setDaughterBad() { mChi2Daughter = -TMath::Abs(mChi2Daughter); }
00146 inline Float_t StKinkMuDst::dedxParent() const { return mDedxParent; }
00147 inline Float_t StKinkMuDst::dedxDaughter() const { return mDedxDaughter; }
00148 inline Float_t StKinkMuDst::errDedxParent() const { return mErrDedxParent; }
00149 inline Float_t StKinkMuDst::errDedxDaughter() const { return mErrDedxDaughter; }
00150 inline UShort_t StKinkMuDst::numDedxParent() const
00151 { return (mNumDedxParent%100); }
00152 inline UShort_t StKinkMuDst::numDedxDaughter() const
00153 { return (mNumDedxDaughter%100); }
00154 inline Float_t StKinkMuDst::lenDedxParent() const
00155 { return (mNumDedxParent/100); }
00156 inline Float_t StKinkMuDst::lenDedxDaughter() const
00157 { return (mNumDedxDaughter/100); }
00158 inline Int_t StKinkMuDst::keyParent() const { return mKeyParent; }
00159 inline Int_t StKinkMuDst::keyDaughter() const { return mKeyDaughter; }
00160 #endif
00161
00162
00163
00164
00165
00166
00167
00168
00169
00170
00171
00172
00173
00174
00175
00176
00177
00178
00179
00180
00181
00182
00183
00184
00185
00186
00187
00188
00189
00190
00191
00192
00193
00194
00195
00196
00197
00198
00199
00200
00201
00202
00203
00204
00205
00206
00207
00208
00209
00210
00211
00212
00213
00214
00215
00216
00217