00001
00016 #ifndef StTinyRcTrack_H
00017 #define StTinyRcTrack_H
00018
00019 #include "TObject.h"
00020 #include <cmath>
00021
00022 class StTinyRcTrack {
00023 public:
00024 StTinyRcTrack();
00025 virtual ~StTinyRcTrack() {}
00026 void setValidGl() {mIsValidGl = 1;}
00027 void setValidPr() {mIsValidPr = 1;}
00028 void setPtPr(Float_t val){ mPtPr=val; }
00029 void setPzPr(Float_t val){ mPzPr=val; }
00030 void setEtaPr(Float_t val) { mEtaPr=val; }
00031 void setPhiPr(Float_t val) { mPhiPr=val; }
00032 void setDca(int idca) { mIsDca=idca; }
00033 void setDcaPr(Float_t val) { mDcaPr=val; }
00034
00035 void setDcaXYPr(Float_t val) { mDcaXYPr=val; }
00036 void setDcaZPr(Float_t val) { mDcaZPrMcV=val; }
00037 void setDcaXYPrMcV(Float_t val) { mDcaXYPrMcV=val; }
00038 void setDcaZPrMcV(Float_t val) { mDcaZPr=val; }
00039 void setCurvPr(Float_t val) {mCurvPr=val; }
00040 void setTanLPr(Float_t val) {mTanLPr=val; }
00041 void setErrPr(Float_t val[5]) { for (short j=0; j<5; ++j) mErrP[j] = val[j]; }
00042
00043 void setChi2Pr(Float_t val) { mChi2Pr=val; }
00044 void setFlag(Short_t val) { mFlag=val; }
00045 void setDedx(Float_t val) { mDedx=val; }
00046
00047 void setPtGl(Float_t val){ mPtGl=val; }
00048 void setPzGl(Float_t val){ mPzGl=val; }
00049 void setEtaGl(Float_t val) { mEtaGl=val; }
00050 void setPhiGl(Float_t val) { mPhiGl=val; }
00051 void setDca00(Float_t val) { mDca00=val; }
00052 void setDcaGl(Float_t val) { mDcaGl=val; }
00053 void setDcaXYGl(Float_t val) { mDcaXYGl=val; }
00054 void setDcaZGl(Float_t val) { mDcaZGl=val; }
00055 void setDcaXYGlMcV(Float_t val) { mDcaXYGlMcV=val; }
00056 void setDcaZGlMcV(Float_t val) { mDcaZGlMcV=val; }
00057 void setCurvGl(Float_t val) { mCurvGl=val; }
00058 void setTanLGl(Float_t val) { mTanLGl=val; }
00059 void setErrGl(Float_t val[5]) { for (short j=0; j<5; ++j) mErrG[j] = val[j]; }
00060
00061 void setPidPion(Float_t val) { mPidPion=val; }
00062 void setPidProton(Float_t val) { mPidProton=val; }
00063 void setPidKaon(Float_t val) { mPidKaon=val; }
00064 void setPidElectron(Float_t val) { mPidElectron=val; }
00065
00066 void setFirstZ(Float_t val) { mFirstZ=val; }
00067 void setLastZ(Float_t val) { mLastZ=val; }
00068 void setFirstPadrow(Short_t val) { mFirstPadrow=val; }
00069 void setLastPadrow(Short_t val) { mLastPadrow=val; }
00070 void setFirstFitPadrow(Short_t val){ mFirstFitPadrow=val; }
00071 void setLastFitPadrow(Short_t val) { mLastFitPadrow=val; }
00072
00073 void setRecoKey(Short_t val) { mRecoKey=val; }
00074 void setFirstSector(Short_t val) { mFirstSector=val; }
00075 void setLastSector(Short_t val) { mLastSector=val; }
00076 void setFitPts(Short_t val) { mFitPts=val; }
00077 void setFitFtpc(Short_t val) { mFitFtpc=val; }
00078 void setFitSvt(Short_t val) { mFitSvt=val; }
00079 void setFitSsd(Short_t val) { mFitSsd=val; }
00080 void setDedxPts(Short_t val) { mDedxPts=val; }
00081 void setAllPts(Short_t val) { mAllPts=val; }
00082 void setCharge(Short_t val) { mCharge=val; }
00083 void setNAssocMc(Short_t val) { mNAssocMc=val; }
00084 void setNPossible(Short_t val) { mNPossible=val; }
00085
00086 void setEmcTowerAdc(Short_t val, size_t index) { if (index<3) mEmcTowerAdc[index]=val; }
00087 void setEmcEnergyRcHit(Float_t val, size_t index) { if (index<3) mEmcEnergyRcHit[index]=val; }
00088 void setEmcSoftIdHiTowerRc(Short_t val, size_t index) { if (index<3) mEmcSoftIdHiTowerRc[index]=val; }
00089 void setSeedQuality(UShort_t qa) {mSeedQA = qa;}
00090 float ptPr()const { return mPtPr; }
00091 float pxPr()const { return mPtPr*cos(mPhiPr); }
00092 float pyPr()const { return mPtPr*sin(mPhiPr); }
00093 float pzPr()const { return mPzPr; }
00094 float pPr()const { return ::sqrt((mPtPr*mPtPr) + (mPzPr*mPzPr)); }
00095 float etaPr() const { return mEtaPr; }
00096 float phiPr() const { return mPhiPr; }
00097 float dcaPr() const { return mDcaPr; }
00098 float dcaXYPr() const { return mDcaXYPr; }
00099 float dcaZPr() const { return mDcaZPr; }
00100 float curvPr() const { return mCurvPr; }
00101 float tanLPr() const { return mTanLPr; }
00102 float errPr(size_t i) const { return (i<5) ? mErrP[i] : 0; }
00103
00104 float chi2Pr() const { return mChi2Pr; }
00105 short flag() const { return mFlag; }
00106 float dedx() const { return mDedx; }
00107
00108 float ptGl()const { return mPtGl; }
00109 float pxGl()const { return mPtGl*cos(mPhiGl); }
00110 float pyGl()const { return mPtGl*sin(mPhiGl); }
00111 float pzGl()const { return mPzGl; }
00112 float pGl()const { return ::sqrt((mPtGl*mPtGl) + (mPzGl*mPzGl)); }
00113 float etaGl() const { return mEtaGl; }
00114 float phiGl() const { return mPhiGl; }
00115 float dcaGl() const { return mDcaGl; }
00116 float dcaXYGl() const { return mDcaXYGl; }
00117 float dcaZGl() const { return mDcaZGl; }
00118 float curvGl() const { return mCurvGl; }
00119 float tanLGl() const { return mTanLGl; }
00120 float errGl(size_t i) const { return (i<5) ? mErrG[i] : 0; }
00121
00122 float pidPion() const { return mPidPion; }
00123 float pidProton() const { return mPidProton; }
00124 float pidKaon() const { return mPidKaon; }
00125 float pidElectron() const { return mPidElectron; }
00126
00127 float firstZ() const { return mFirstZ; }
00128 float lastZ() const { return mLastZ; }
00129 short firstPadrow() const { return mFirstPadrow; }
00130 short lastPadrow() const { return mLastPadrow; }
00131 short firstFitPadrow()const { return mFirstFitPadrow; }
00132 short fastFitPadrow() const { return mLastFitPadrow; }
00133
00134 short recoKey() const { return mRecoKey; }
00135 short firstSector() const { return mFirstSector; }
00136 short lastSector() const { return mLastSector; }
00137 short fitPts() const { return mFitPts; }
00138 short fitPtsFtpc() const { return mFitFtpc; }
00139 short fitPtsSvt() const { return mFitSvt; }
00140 short fitPtsSsd() const { return mFitSsd; }
00141 short dedxPts() const { return mDedxPts; }
00142 short allPts() const { return mAllPts; }
00143 short charge() const { return mCharge; }
00144 short nAssocMc() const { return mNAssocMc; }
00145 short nPossiblePts() const { return mNPossible; }
00146
00147 short emcTowerAdc(size_t index) const { if (index<3) return mEmcTowerAdc[index]; else return -999;}
00148 float emcEnergyRcHit(size_t index) const {if (index<3) return mEmcEnergyRcHit[index]; else return -999;}
00149 short emcSoftIdHiTowerRc(size_t index) const { if (index<3) return mEmcSoftIdHiTowerRc[index]; else return -999;}
00150 UShort_t seedQuality() {return mSeedQA;}
00151
00152 virtual void Print(Option_t *option="") const;
00153 private:
00154
00155 Char_t mIsValidGl;
00156 Char_t mIsDca;
00157 Float_t mPtPr;
00158 Float_t mPzPr;
00159 Float_t mEtaPr;
00160 Float_t mPhiPr;
00161 Float_t mDcaPr;
00162 Float_t mDcaXYPr;
00163 Float_t mDcaZPr;
00164
00165 Float_t mDcaXYPrMcV;
00166 Float_t mDcaZPrMcV;
00167 Float_t mCurvPr;
00168 Float_t mTanLPr;
00169
00170
00171
00172
00173
00174
00175
00176 Float_t mErrP[5];
00177
00178 Float_t mChi2Pr;
00179 Short_t mFlag;
00180 Float_t mDedx;
00181
00182 Float_t mPtGl;
00183 Float_t mPzGl;
00184 Float_t mEtaGl;
00185 Float_t mPhiGl;
00186 Float_t mDca00;
00187 Float_t mDcaGl;
00188 Float_t mDcaXYGl;
00189 Float_t mDcaZGl;
00190 Float_t mDcaXYGlMcV;
00191 Float_t mDcaZGlMcV;
00192 Float_t mCurvGl;
00193 Float_t mTanLGl;
00194 Float_t mErrG[5];
00195 UShort_t mSeedQA;
00196
00197
00198
00199 Float_t mPidPion;
00200 Float_t mPidProton;
00201 Float_t mPidKaon;
00202 Float_t mPidElectron;
00203
00204
00205
00206
00207
00208
00209
00210
00211 Float_t mFirstZ;
00212 Float_t mLastZ;
00213 Short_t mFirstPadrow;
00214 Short_t mLastPadrow;
00215 Short_t mFirstFitPadrow;
00216 Short_t mLastFitPadrow;
00217 Short_t mFirstSector;
00218 Short_t mLastSector;
00219 Short_t mRecoKey;
00220
00221 Short_t mFitPts;
00222 Short_t mFitSvt;
00223 Short_t mFitSsd;
00224 Short_t mFitFtpc;
00225 Short_t mDedxPts;
00226 Short_t mAllPts;
00227 Short_t mCharge;
00228
00229 Short_t mNAssocMc;
00230 Short_t mNPossible;
00231 Char_t mIsValidPr;
00232
00233 Short_t mEmcTowerAdc[3];
00234 Float_t mEmcEnergyRcHit[3];
00235 Short_t mEmcSoftIdHiTowerRc[3];
00236 ClassDef(StTinyRcTrack,6)
00237 };
00238
00239 #endif
00240
00241
00242
00243
00244
00245
00246
00247
00248
00249
00250
00251
00252
00253
00254
00255
00256
00257
00258
00259
00260
00261
00262
00263
00264
00265
00266
00267
00268
00269
00270
00271
00272
00273
00274
00275
00276
00277
00278
00279
00280
00281
00282
00283
00284
00285
00286
00287
00288
00289
00290
00291
00292
00293
00294
00295
00296
00297
00298
00299
00300
00301
00302
00303
00304
00305
00306
00307
00308
00309
00310
00311
00312
00313
00314
00315
00316
00317
00318
00319
00320
00321