00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef _HLT_FORMATS_H
00010 #define _HLT_FORMATS_H
00011
00012
00013 #define HLT_GL3_VERSION 0x20110114
00014
00015
00016
00017 namespace star {
00018 namespace rts {
00019 namespace hlt {
00020 enum EHLTBANKS {
00021 kHLT_NONE
00022 ,kHLT_EVE
00023 ,kHLT_TOF
00024 ,kHLT_PVPD
00025 ,kHLT_EMC
00026 ,kHLT_GT
00027 ,kHLT_PT
00028 ,kHLT_NODE
00029 ,kHLT_HIPT
00030 ,kHLT_DIEP
00031 ,kHLT_HF
00032 };
00033
00034 const unsigned int NMaxGTracks = 10000;
00035 const unsigned int NMaxPTracks = 10000;
00036 const unsigned int NMaxTofHits = 10000;
00037 const unsigned int NMaxPvpdHits = 10000;
00038 const unsigned int NMaxNodes = 10000;
00039 const unsigned int NMaxBemcTowers = 4800;
00040 const unsigned int NMaxSN = 1000;
00041
00042 struct hlt_track {
00043 int id ;
00044 unsigned short flag ;
00045 char innerMostRow ;
00046 char outerMostRow ;
00047 unsigned char nHits ;
00048 char reserved ;
00049 unsigned char ndedx;
00050 char q ;
00051 float chi2[2];
00052 float dedx;
00053 float pt ;
00054 float phi0;
00055 float psi ;
00056 float r0 ;
00057 float tanl;
00058 float z0 ;
00059 float length ;
00060 float dpt ;
00061 float dpsi;
00062 float dz0 ;
00063 float dtanl ;
00064 };
00065
00069
00070 struct HLT_GT {
00071 unsigned int nGlobalTracks;
00072 struct hlt_track globalTrack[NMaxGTracks];
00073 };
00074
00075 struct HLT_PT {
00076 unsigned int nPrimaryTracks;
00077 struct hlt_track primaryTrack[NMaxPTracks];
00078 };
00079
00080 struct hlt_TofHit{
00081 short trayId;
00082 short channel;
00083 float tdc;
00084 float tot;
00085 float tof;
00086 float triggertime;
00087 };
00089
00090
00091 struct HLT_TOF {
00092 unsigned int nTofHits;
00093 struct hlt_TofHit tofHit[NMaxTofHits];
00094 };
00095
00096 struct HLT_PVPD {
00097 unsigned int nPvpdHits;
00098 struct hlt_TofHit pvpdHit[NMaxPvpdHits];
00099 };
00100
00101 struct hlt_emcTower {
00102 int adc;
00103 float energy;
00104
00105 float phi;
00106 float eta;
00107 float z;
00108 int softId;
00109 int daqId;
00110 };
00112
00113 struct HLT_EMC {
00114 unsigned int nEmcTowers;
00115 struct hlt_emcTower emcTower[NMaxNodes];
00116 };
00117
00118 struct hlt_node {
00119 int globalTrackSN;
00120 int primaryTrackSN;
00121 int tofHitSN;
00122 int emcTowerSN;
00123
00124 double emcMatchPhiDiff;
00125 double emcMatchZEdge;
00126
00127 int projChannel;
00128 float localY;
00129 float localZ;
00130 float beta;
00131 float tof;
00132 float pathlength;
00133 };
00135
00136 struct HLT_NODE {
00137 unsigned int nNodes;
00138 struct hlt_node node[NMaxBemcTowers];
00139 };
00140
00141 struct HLT_EVE {
00142 unsigned int version ;
00143 unsigned int hltDecision;
00144 float vertexX;
00145 float vertexY;
00146 float vertexZ;
00147 float lmVertexX;
00148 float lmVertexY;
00149 float lmVertexZ;
00150 float vpdVertexZ;
00151 float T0;
00152 float innerSectorGain;
00153 float outerSectorGain;
00154
00155 };
00157
00158 struct hlt_diElectronPair {
00159 int dau1NodeSN;
00160 int dau2NodeSN;
00161 float invariantMass;
00162 float pt;
00163 float psi;
00164 float tanl;
00165 int dau1SelectionBit;
00166 int dau2SelectionBit;
00167 };
00169
00171 struct HLT_DIEP {
00172 unsigned int nEPairs;
00173 struct hlt_diElectronPair ePair[NMaxSN];
00174 };
00175
00177 struct HLT_HIPT {
00178 unsigned int nHighPt;
00179 int highPtNodeSN[NMaxSN];
00180 };
00181
00183 struct HLT_HF {
00184 unsigned int nHeavyFragments;
00185 int heavyFragmentSN[NMaxSN];
00186 };
00187
00188 }
00189 }
00190 }
00191 #endif