StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StHltMaker.h
1 /***************************************************************************
2  *
3  * $Id: StHltMaker.h,v 1.2 2014/08/06 11:43:21 jeromel Exp $
4  *
5  * Author: L. Xue, H. Qiu, A. Tang, Jan 2011
6  ***************************************************************************
7  *
8  * Description: Hlt Maker to propaganda online Hlt tracking and selection
9  * information.
10  *
11  ***************************************************************************
12  *
13  * $Log: StHltMaker.h,v $
14  * Revision 1.2 2014/08/06 11:43:21 jeromel
15  * Suffix on literals need to be space (later gcc compiler makes it an error) - first wave of fixes
16  *
17  * Revision 1.1 2011/02/01 18:23:57 xueliang
18  * *** empty log message ***
19  *
20  **************************************************************************/
21 
22 
23 
24 #ifndef STAR_StHltMaker
25 #define STAR_StHltMaker
26 
27 
28 #include "StRTSBaseMaker.h"
29 
30 namespace star {
31  namespace rts {
32  namespace hlt {
33  class HLT_EVE;
34  class HLT_TOF;
35  class HLT_PVPD;
36  class HLT_EMC;
37  class HLT_GT;
38  class HLT_PT;
39  class HLT_NODE;
40  class HLT_HIPT;
41  class HLT_DIEP;
42  class HLT_HF;
43  const unsigned int NMax = 1000;
44  } // hlt
45  } // rts
46 } // star
47 
48 using namespace std;
49 using namespace star;
50 using namespace star::rts;
51 using namespace star::rts::hlt;
52 
53 class StEvent;
54 class StHltEvent;
55 
56 class StHltMaker : public StRTSBaseMaker {
57 
58  private:
59 
60  StEvent* mStEvent;
61  StHltEvent* mStHltEvent;
62 
63  unsigned int mNumHighPt;
64  unsigned int mNumHeavyFragment;
65  unsigned int mNumDielectron;
66 
67  int mHighPtNodeSN[NMax];
68  int mHeavyFragmentNodeSN[NMax];
69  int mDaughter1NodeSN[NMax];
70  int mDaughter2NodeSN[NMax];
71 
72  protected:
73 
74  virtual StRtsTable* GetNextGl3();
75 
76  StHltEvent* GetHltEvent();
77 
78  virtual void processBank(const HLT_EVE *bank);
79  virtual void processBank(const HLT_TOF *bank);
80  virtual void processBank(const HLT_PVPD *bank);
81  virtual void processBank(const HLT_EMC *bank);
82  virtual void processBank(const HLT_GT *bank);
83  virtual void processBank(const HLT_PT *bank);
84  virtual void processBank(const HLT_NODE *bank);
85  virtual void processBank(const HLT_HIPT *bank);
86  virtual void processBank(const HLT_DIEP *bank);
87  virtual void processBank(const HLT_HF *bank);
88 
90 
91  public:
92 
93  StHltMaker(const char *name="HLT") ;
94 
95  virtual ~StHltMaker();
96  virtual void Clear(Option_t *option="");
97  virtual Int_t Init();
98  virtual Int_t Make();
99  virtual Int_t Finish();
100 
101  virtual Int_t InitRun (int runumber);
102 
103  void fillNodePointer(StHltEvent*);
104  void fillHighPt(StHltEvent*);
105  void fillHeavyFragment(StHltEvent*);
106  void fillDielectron(StHltEvent*);
107  void fillTriggerReason(StHltEvent*);
108 
110  virtual const char *GetCVS() const {
111  static const char cvs[]="Tag $Name: $ $Id: StHltMaker.h,v 1.2 2014/08/06 11:43:21 jeromel Exp $ built " __DATE__ " " __TIME__ ;
112  return cvs;
113  }
114 
117 
118  ClassDef(StHltMaker,0)
119 
120 };
121 
122 
123 #endif
Class StRTSBaseMaker - is an abstract StMaker to define the interface to access the DAQ data from the...
virtual const char * GetCVS() const
Definition: StHltMaker.h:110
heavy fragment bank
Definition: HLTFormats.h:177
Bank with event level qualities.
Definition: HLTFormats.h:141