00001
00002
00003
00004
00005
00006 #ifndef __StMuMomentumShiftmaker_hh__
00007 #define __StMuMomentumShiftmaker_hh__
00008
00009
00010 #include "StMaker.h"
00011 #include "TString.h"
00012
00013 class TFile;
00014 class TTree;
00015 class StMuTrack;
00016 #ifndef __NO_STRANGE_MUDST__
00017 class StKinkMuDst;
00018 class StV0MuDst;
00019 class StXiMuDst;
00020 #endif
00021 class StMuMomentumShiftMaker: public StMaker {
00022
00023 public:
00024 StMuMomentumShiftMaker();
00025 StMuMomentumShiftMaker(const char *outDir);
00026 ~StMuMomentumShiftMaker() {;}
00027
00028 void setScaleFactor(Float_t scale) { mMomentumScale=scale; }
00029 void setWriteMuDst(Bool_t writeFlag) { mWriteMuDst=writeFlag; }
00030 void ScaleMomentum(StMuTrack *track);
00031 #ifndef __NO_STRANGE_MUDST__
00032 void ScaleMomentum(StKinkMuDst *kink);
00033 void ScaleMomentum(StV0MuDst *kink);
00034 void ScaleMomentum(StXiMuDst *kink);
00035 #endif
00036 int Make();
00037 int Finish();
00038 private:
00039 Float_t mMomentumScale;
00040 Bool_t mWriteMuDst;
00041 TString mOutDir;
00042 TFile *mOutFile;
00043 TTree *mOutTree;
00044
00045 ClassDef(StMuMomentumShiftMaker,0)
00046 };
00047
00048 #endif