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
00034
00035
00036
00037
00038
00040 #ifndef StPeCPair_h
00041 #define StPeCPair_h
00042 #include "Rtypes.h"
00043 #include "TObject.h"
00044 #include "TClonesArray.h"
00045 #include "StPeCEnumerations.h"
00046 #ifndef __CINT__
00047 #include "PhysicalConstants.h"
00048 #include "StEventTypes.h"
00049 #include "StEvent.h"
00050 #endif
00051 #include "SystemOfUnits.h"
00052 #include "StPeCSpec.h"
00053 #include "StPeCTrack.h"
00054 #include "StMuDSTMaker/COMMON/StMuEvent.h"
00055 #include "StMuDSTMaker/COMMON/StMuTrack.h"
00056
00057 class StPeCPair : public TObject {
00058
00059 public:
00060
00061 StPeCPair();
00062 virtual ~StPeCPair();
00063 void Clear(const char* opt=0);
00064
00065 void calculatePair4Momentum( ) ;
00066 #ifndef __CINT__
00067 StPeCPair ( StMuTrack *trk1, StMuTrack *trk2,
00068 Bool_t primaryFlag, StMuEvent* event );
00069
00070 StPeCPair ( StTrack *trk1, StTrack *trk2,
00071 Bool_t primaryFlag, StEvent* event );
00072
00073 Int_t fill ( Bool_t primaryFlag, StEvent* event ) ;
00074 Int_t fill ( Bool_t primaryFlag, StMuEvent* event ) ;
00075 Int_t fill ( Bool_t primaryFlag, StEventSummary* summary,
00076 StThreeVectorF& p1, StPhysicalHelixD& h1, short charge1,
00077 StThreeVectorF& p2, StPhysicalHelixD& h2, short charge2,
00078 StThreeVectorF& primaryVertexPosition ) ;
00079
00080 void setTrack1(StTrack* trk);
00081 void setTrack2(StTrack* trk);
00082
00083 void setTrack1(StMuTrack* trk);
00084 void setTrack2(StMuTrack* trk);
00085
00086 StTrack* getTrack1();
00087 StTrack* getTrack2();
00088
00089 StMuTrack* getMuTrack1();
00090 StMuTrack* getMuTrack2();
00091
00092 StLorentzVectorF getPair4Momentum(StPeCSpecies pid) const;
00093 #endif
00094 Int_t getSumCharge() const;
00095 Float_t getSumPt() const;
00096 Float_t getSumPz() const;
00097 Float_t getMInv(StPeCSpecies pid) const;
00098 Float_t getOpeningAngle() const;
00099 Float_t getCosThetaStar(StPeCSpecies pid) const;
00100 Float_t getPartDca ( ) { return pPartDca ; } ;
00101 Float_t getV0Dca ( ) { return pV0Dca ; } ;
00102
00103 private:
00104
00105 Int_t pCharge ;
00106 Float_t pPt ;
00107 Float_t pPz ;
00108 Float_t pPsi ;
00109 Float_t pAngle ;
00110 Float_t pXyAngle ;
00111 Float_t pPtArm ;
00112 Float_t pAlpha ;
00113
00114
00115
00116 Float_t pPartDca ;
00117 Float_t pV0Dca ;
00118 Float_t rV0 ;
00119 Float_t phiV0 ;
00120 Float_t zV0 ;
00121
00122 StPeCTrack tr1 ;
00123 StPeCTrack tr2 ;
00124
00125 StPeCSpec pionH;
00126 StPeCSpec kaonH;
00127 StPeCSpec protonH;
00128 StPeCSpec electronH;
00129 StPeCSpec muonH;
00130
00131 #ifndef __CINT__
00132 StTrack* track1;
00133 StTrack* track2;
00134 StMuTrack* muTrack1;
00135 StMuTrack* muTrack2;
00136 #endif
00137
00138 ClassDef(StPeCPair,1)
00139 };
00140
00141 #endif
00142
00143
00144
00145
00146