00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034 #ifndef _StEmbeddingQATrack_h__
00035 #define _StEmbeddingQATrack_h__
00036
00037 #include "TString.h"
00038 #include "StLorentzVectorD.hh"
00039
00040 class StTinyMcTrack ;
00041 class StMiniMcPair ;
00042 class StContamPair ;
00043 class StMuTrack ;
00044
00045 class StEmbeddingQATrack {
00046 public:
00048 StEmbeddingQATrack();
00049
00051 StEmbeddingQATrack(const TString name, const StTinyMcTrack& track) ;
00052
00054 StEmbeddingQATrack(const TString name, StMiniMcPair* track) ;
00055
00057 StEmbeddingQATrack(const TString name, StContamPair* track) ;
00058
00060
00061
00062
00063 StEmbeddingQATrack(const TString name, const StMuTrack& track, const Int_t geantid);
00064
00066 virtual ~StEmbeddingQATrack();
00067
00068 Bool_t isPtAndEtaOk() const ;
00069 Bool_t isRapidityOk(const Double_t ycut) const ;
00070
00071 Bool_t isNHitOk() const ;
00072 Bool_t isNHitToNPossOk() const ;
00073 Bool_t isDcaOk() const ;
00074 Bool_t isCommonHitOk() const ;
00075
00077
00078
00079 Bool_t isNSigmaOk(const Int_t geantid) const ;
00080
00081 StLorentzVectorD getVectorMc() const ;
00082 StLorentzVectorD getVectorRc() const ;
00083 StLorentzVectorD getVectorPr() const ;
00084 StLorentzVectorD getVectorGl() const ;
00085
00086 Short_t getNCommonHit() const ;
00087 Int_t getParentParentGeantId() const ;
00088 Int_t getParentGeantId() const ;
00089 Int_t getGeantId() const ;
00090 Int_t getGeantProcess() const ;
00091 Short_t getNHit() const ;
00092 Short_t getNHitPoss() const ;
00093 Short_t getCharge() const ;
00094
00095 Double_t getMassMc() const ;
00096 Float_t getPtMc() const ;
00097 Float_t getPxMc() const ;
00098 Float_t getPyMc() const ;
00099 Float_t getPzMc() const ;
00100 Float_t getPMc() const ;
00101 Float_t getEtaMc() const ;
00102 Float_t getRapidityMc() const ;
00103 Double_t getMassRc() const ;
00104 Float_t getPtRc() const ;
00105 Float_t getPxRc() const ;
00106 Float_t getPyRc() const ;
00107 Float_t getPzRc() const ;
00108 Float_t getPRc() const ;
00109 Float_t getEtaRc() const ;
00110 Float_t getRapidityRc() const ;
00111
00112 Float_t getPhi() const ;
00113 Float_t getdEdx() const ;
00114 Float_t getdEdxkeV() const ;
00115 Float_t getDcaGl() const ;
00116
00117
00118 Double_t getNSigmaElectron() const ;
00119 Double_t getNSigmaPion() const ;
00120 Double_t getNSigmaKaon() const ;
00121 Double_t getNSigmaProton() const ;
00122
00124 void print() const ;
00125
00127 const TString getName() const ;
00128
00129 private:
00130 const Short_t mNCommonHit ;
00131 const Int_t mParentParentGeantId ;
00132 const Int_t mParentGeantId ;
00133 const Int_t mGeantId ;
00134 const Int_t mGeantProcess ;
00135 const Short_t mNHit ;
00136 const Short_t mNHitPoss ;
00137 const Short_t mCharge ;
00138 const StLorentzVectorD mVectorMc ;
00139 const StLorentzVectorD mVectorRc ;
00140 const StLorentzVectorD mVectorGl ;
00141 const Float_t mPhi ;
00142 const Float_t mdEdx ;
00143 const Float_t mDcaGl ;
00144 const Double_t mNSigmaElectron ;
00145 const Double_t mNSigmaPion ;
00146 const Double_t mNSigmaKaon ;
00147 const Double_t mNSigmaProton ;
00148
00149 TString mName ;
00150
00151 ClassDef(StEmbeddingQATrack, 2)
00152 };
00153
00154 inline Short_t StEmbeddingQATrack::getNCommonHit() const { return mNCommonHit ; }
00155 inline Int_t StEmbeddingQATrack::getParentParentGeantId() const { return mParentParentGeantId ; }
00156 inline Int_t StEmbeddingQATrack::getParentGeantId() const { return mParentGeantId ; }
00157 inline Int_t StEmbeddingQATrack::getGeantId() const { return mGeantId ; }
00158 inline Int_t StEmbeddingQATrack::getGeantProcess() const { return mGeantProcess ; }
00159 inline Short_t StEmbeddingQATrack::getNHit() const { return mNHit ; }
00160 inline Short_t StEmbeddingQATrack::getNHitPoss() const { return mNHitPoss ; }
00161 inline Short_t StEmbeddingQATrack::getCharge() const { return mCharge ; }
00162
00163 inline Double_t StEmbeddingQATrack::getMassMc() const { return mVectorMc.m() ; }
00164 inline Float_t StEmbeddingQATrack::getPMc() const { return mVectorMc.vect().mag() ; }
00165 inline Float_t StEmbeddingQATrack::getPtMc() const { return mVectorMc.perp() ; }
00166 inline Float_t StEmbeddingQATrack::getPxMc() const { return mVectorMc.x() ; }
00167 inline Float_t StEmbeddingQATrack::getPyMc() const { return mVectorMc.y() ; }
00168 inline Float_t StEmbeddingQATrack::getPzMc() const { return mVectorMc.z() ; }
00169 inline Float_t StEmbeddingQATrack::getEtaMc() const { return mVectorMc.pseudoRapidity() ; }
00170 inline Float_t StEmbeddingQATrack::getRapidityMc() const { return mVectorMc.rapidity() ; }
00171 inline Double_t StEmbeddingQATrack::getMassRc() const { return mVectorRc.m() ; }
00172 inline Float_t StEmbeddingQATrack::getPRc() const { return mVectorRc.vect().mag() ; }
00173 inline Float_t StEmbeddingQATrack::getPtRc() const { return mVectorRc.perp() ; }
00174 inline Float_t StEmbeddingQATrack::getPxRc() const { return mVectorRc.x() ; }
00175 inline Float_t StEmbeddingQATrack::getPyRc() const { return mVectorRc.y() ; }
00176 inline Float_t StEmbeddingQATrack::getPzRc() const { return mVectorRc.z() ; }
00177 inline Float_t StEmbeddingQATrack::getEtaRc() const { return mVectorRc.pseudoRapidity() ; }
00178 inline Float_t StEmbeddingQATrack::getRapidityRc() const { return mVectorRc.rapidity() ; }
00179
00180 inline Float_t StEmbeddingQATrack::getPhi() const { return mPhi ; }
00181 inline Float_t StEmbeddingQATrack::getdEdx() const { return mdEdx ; }
00182 inline Float_t StEmbeddingQATrack::getdEdxkeV() const { return mdEdx * 1.0e+06 ; }
00183 inline Float_t StEmbeddingQATrack::getDcaGl() const { return mDcaGl ; }
00184
00185 inline Double_t StEmbeddingQATrack::getNSigmaElectron() const { return mNSigmaElectron ; }
00186 inline Double_t StEmbeddingQATrack::getNSigmaPion() const { return mNSigmaPion ; }
00187 inline Double_t StEmbeddingQATrack::getNSigmaKaon() const { return mNSigmaKaon ; }
00188 inline Double_t StEmbeddingQATrack::getNSigmaProton() const { return mNSigmaProton ; }
00189
00190 inline const TString StEmbeddingQATrack::getName() const { return mName ; }
00191
00192 #endif
00193
00194