00001 #ifndef STAR_StEmcOfflineCalibrationEvent
00002 #define STAR_StEmcOfflineCalibrationEvent
00003
00004 #include "TObject.h"
00005 #include "TClonesArray.h"
00006 #include "TVector3.h"
00007 #include "TArrayI.h"
00008 #include "StThreeVectorF.hh"
00009
00010
00011 #include <vector>
00012 #include <map>
00013 using namespace std;
00014
00015
00016 class StEmcOfflineCalibrationTrack : public TObject
00017 {
00018 public:
00019 unsigned short tower_id[9];
00020 unsigned short tower_id_exit;
00021
00022 unsigned short tower_adc[9];
00023 float tower_pedestal[9];
00024 float tower_pedestal_rms[9];
00025 int tower_status[9];
00026 float highest_neighbor;
00027
00028 int charge;
00029
00030 unsigned short preshower_adc[9];
00031 float preshower_pedestal[9];
00032 float preshower_pedestal_rms[9];
00033 int preshower_status[9];
00034 unsigned char preshower_cap[9];
00035
00036 unsigned short smde_id[11];
00037 unsigned short smde_adc[11];
00038 float smde_pedestal[11];
00039 float smde_pedestal_rms[11];
00040 int smde_status[11];
00041 unsigned char smde_cap[11];
00042
00043 unsigned short smdp_id[11];
00044 unsigned short smdp_adc[11];
00045 float smdp_pedestal[11];
00046 float smdp_pedestal_rms[11];
00047 int smdp_status[11];
00048 unsigned char smdp_cap[11];
00049
00050 unsigned short vertexIndex;
00051
00052 double eta;
00053 short flag;
00054 int bad;
00055
00056 double p;
00057 StThreeVectorF track;
00058 float deta;
00059 float dphi;
00060 unsigned short nHits;
00061 unsigned short nFitPoints;
00062 unsigned short nDedxPoints;
00063 unsigned short nHitsPossible;
00064 double dEdx;
00065 double nSigmaElectron;
00066
00067 unsigned short htTrig;
00068 unsigned short nonhtTrig;
00069
00070
00071 StEmcOfflineCalibrationTrack();
00072 ~StEmcOfflineCalibrationTrack();
00073
00074 void Clear(Option_t* option="");
00075
00076 ClassDef(StEmcOfflineCalibrationTrack, 6)
00077 };
00078
00079
00080 class StEmcOfflineCalibrationCluster : public TObject
00081 {
00082
00083 public:
00084 StEmcOfflineCalibrationCluster();
00085 ~StEmcOfflineCalibrationCluster();
00086 unsigned int nTracks;
00087 TClonesArray* tracks;
00088 StEmcOfflineCalibrationTrack centralTrack;
00089
00090 void addTrack(StEmcOfflineCalibrationTrack* track);
00091 void Clear(Option_t* option="");
00092
00093 ClassDef(StEmcOfflineCalibrationCluster,1);
00094
00095 };
00096
00097
00098
00099 class StEmcOfflineCalibrationVertex : public TObject
00100 {
00101 public:
00102 float mPosition[3];
00103 float mPosError[3];
00104
00105 int mVertexFinderId;
00106 Float_t mRanking;
00107 UShort_t mNTracksUsed;
00108 UShort_t mNCTBMatch;
00109 UShort_t mNBEMCMatch;
00110 UShort_t mNEEMCMatch;
00111 UShort_t mNCrossCentralMembrane;
00112 Float_t mSumTrackPt;
00113 Float_t mMeanDip;
00114 Float_t mChiSquared;
00115
00116
00117 UShort_t mRefMultNeg;
00118 UShort_t mRefMultPos;
00119 UShort_t mRefMultFtpcWest;
00120 UShort_t mRefMultFtpcEast;
00121
00122 ClassDef(StEmcOfflineCalibrationVertex, 1)
00123 };
00124
00125
00126
00127 class StEmcOfflineCalibrationTrigger : public TObject
00128 {
00129 int trigId;
00130 float prescale;
00131 int isSatisfied;
00132
00133 ClassDef(StEmcOfflineCalibrationTrigger, 1)
00134 };
00135
00136
00137
00138 class StEmcOfflineCalibrationEvent : public TObject
00139 {
00140 public:
00141
00142 unsigned short fill;
00143 unsigned int run;
00144 unsigned int event;
00145 int date;
00146 int time;
00147
00148 unsigned int fileid1;
00149 unsigned int fileid2;
00150
00151
00152 unsigned short nTracks;
00153 TClonesArray* tracks;
00154
00155
00156 unsigned short nVertices;
00157 float vx[10];
00158 float vy[10];
00159 float vz[10];
00160 float ranking[10];
00161
00162
00163 map<unsigned int, unsigned int> triggerResult;
00164 vector<unsigned int> triggerIds;
00165 TArrayI l2Result;
00166 map<unsigned int, vector< pair<int,int> > > towersAboveThreshold;
00167
00168
00169 int htTrigMaker[3];
00170
00171 StEmcOfflineCalibrationEvent();
00172 ~StEmcOfflineCalibrationEvent();
00173
00174 void Clear(Option_t* option="");
00175
00176 void addTrack(StEmcOfflineCalibrationTrack* track);
00177
00178 ClassDef(StEmcOfflineCalibrationEvent,5)
00179 };
00180 #endif