00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef STAR_StHltMaker
00022 #define STAR_StHltMaker
00023
00024
00025 #include "StRTSBaseMaker.h"
00026
00027 namespace star {
00028 namespace rts {
00029 namespace hlt {
00030 class HLT_EVE;
00031 class HLT_TOF;
00032 class HLT_PVPD;
00033 class HLT_EMC;
00034 class HLT_GT;
00035 class HLT_PT;
00036 class HLT_NODE;
00037 class HLT_HIPT;
00038 class HLT_DIEP;
00039 class HLT_HF;
00040 const unsigned int NMax = 1000;
00041 }
00042 }
00043 }
00044
00045 using namespace std;
00046 using namespace star;
00047 using namespace star::rts;
00048 using namespace star::rts::hlt;
00049
00050 class StEvent;
00051 class StHltEvent;
00052
00053 class StHltMaker : public StRTSBaseMaker {
00054
00055 private:
00056
00057 StEvent* mStEvent;
00058 StHltEvent* mStHltEvent;
00059
00060 unsigned int mNumHighPt;
00061 unsigned int mNumHeavyFragment;
00062 unsigned int mNumDielectron;
00063
00064 int mHighPtNodeSN[NMax];
00065 int mHeavyFragmentNodeSN[NMax];
00066 int mDaughter1NodeSN[NMax];
00067 int mDaughter2NodeSN[NMax];
00068
00069 protected:
00070
00071 virtual StRtsTable* GetNextGl3();
00072
00073 StHltEvent* GetHltEvent();
00074
00075 virtual void processBank(const HLT_EVE *bank);
00076 virtual void processBank(const HLT_TOF *bank);
00077 virtual void processBank(const HLT_PVPD *bank);
00078 virtual void processBank(const HLT_EMC *bank);
00079 virtual void processBank(const HLT_GT *bank);
00080 virtual void processBank(const HLT_PT *bank);
00081 virtual void processBank(const HLT_NODE *bank);
00082 virtual void processBank(const HLT_HIPT *bank);
00083 virtual void processBank(const HLT_DIEP *bank);
00084 virtual void processBank(const HLT_HF *bank);
00085
00087
00088 public:
00089
00090 StHltMaker(const char *name="HLT") ;
00091
00092 virtual ~StHltMaker();
00093 virtual void Clear(Option_t *option="");
00094 virtual Int_t Init();
00095 virtual Int_t Make();
00096 virtual Int_t Finish();
00097
00098 virtual Int_t InitRun (int runumber);
00099
00100 void fillNodePointer(StHltEvent*);
00101 void fillHighPt(StHltEvent*);
00102 void fillHeavyFragment(StHltEvent*);
00103 void fillDielectron(StHltEvent*);
00104 void fillTriggerReason(StHltEvent*);
00105
00107 virtual const char *GetCVS() const {
00108 static const char cvs[]="Tag $Name: $ $Id: StHltMaker.h,v 1.1 2011/02/01 18:23:57 xueliang Exp $ built "__DATE__" "__TIME__ ;
00109 return cvs;
00110 }
00111
00114
00115 ClassDef(StHltMaker,0)
00116
00117 };
00118
00119
00120 #endif