00001 #ifndef __StEEmcMixEvent_h__
00002 #define __StEEmcMixEvent_h__
00003
00004 #include <TObject.h>
00005 #include "StEEmcPair.h"
00006 #include "StEEmcPool/StEEmcPointMaker/StEEmcPoint.h"
00007 #include "StEEmcPool/StEEmcClusterMaker/StEEmcCluster.h"
00008 #include "StEEmcPool/StEEmcClusterMaker/StEEmcSmdCluster.h"
00009
00011 #include "StEvent/StEventInfo.h"
00012 #include "StEvent/StRunInfo.h"
00013 #include "StEvent/StEventSummary.h"
00014 #include "StEvent/StL0Trigger.h"
00015 #include "StEvent/StTriggerIdCollection.h"
00016 #include "StMuDSTMaker/COMMON/StMuEvent.h"
00017 #include "StEvent/StBbcTriggerDetector.h"
00018 #include "StEvent/StEmcTriggerDetector.h"
00019
00020 #define MAX_PAIRS 5
00021
00022
00023 class StEEmcMixEvent : public TObject {
00024
00025 public:
00026
00027 StEEmcMixEvent();
00028 ~StEEmcMixEvent(){ };
00029
00030 void addPair( StEEmcPair p );
00031 void setEvent( StMuEvent *event );
00032 void setSpin4(Int_t s){ mSpin4=s; }
00033
00034 void Clear(Option_t *opts="");
00035
00037 Int_t mEventId;
00038 Int_t mEventNumber;
00039 Int_t mRunId;
00040 Int_t mRunNumber;
00041
00042 StEventInfo mEventInfo;
00043 StRunInfo mRunInfo;
00044 StL0Trigger mL0trigger;
00045 StMuTriggerIdCollection mMuTriggerIdCollection;
00046 StBbcTriggerDetector mBbcTrigger;
00047 StEmcTriggerDetector mEmcTrigger;
00048
00049 Double_t mMagneticField;
00050
00053
00054 Float_t mADC [720];
00055 Float_t mGain [720];
00056
00057 UShort_t mStat[720];
00058 Float_t sum3x3(Int_t index);
00059 Float_t sum3x3();
00060 Float_t htdsm();
00061 Float_t tpdsm();
00062 Int_t pedEEmcDSM_HT[90];
00063 Int_t pedEEmcDSM_TP[90];
00064 Int_t npi0();
00065 Int_t deta(){ return deta(0); }
00066 Int_t dphi(){ return dphi(0); }
00067 Int_t deta(Int_t i);
00068 Int_t dphi(Int_t i);
00069
00070
00071 Int_t mSpin4;
00072 Int_t bx7;
00073 Int_t bx48;
00074 Int_t bxStar;
00075
00077 Int_t nPairs;
00078 std::vector<Float_t> mMass;
00079 std::vector<Float_t> mPT;
00080 std::vector<Float_t> mEta;
00081 std::vector<Float_t> mPhi;
00082 std::vector<Float_t> mZgg;
00083 std::vector<Float_t> mEnergy;
00084 std::vector<Float_t> mEpre1;
00085 std::vector<Float_t> mEpre2;
00086 std::vector<Float_t> mEpost;
00087 std::vector<Float_t> mEsmdu;
00088 std::vector<Float_t> mEsmdv;
00089 std::vector<Float_t> mZvertex;
00090 std::vector<Float_t> mPhigg;
00091
00092 std::vector<Int_t> mTower1;
00093 std::vector<Int_t> mTower2;
00094 std::vector<Float_t> mEnergy1;
00095 std::vector<Float_t> mEnergy2;
00096
00097 Float_t mTotalEnergyT;
00098 Float_t mTotalEnergyP;
00099 Float_t mTotalEnergyQ;
00100 Float_t mTotalEnergyR;
00101 Float_t mTotalEnergyU;
00102 Float_t mTotalEnergyV;
00103
00104 std::vector<Int_t> mNumberT;
00105 std::vector<Int_t> mNumberR;
00106 std::vector<Int_t> mNumberU;
00107 std::vector<Int_t> mNumberV;
00108
00109 std::vector<Int_t> mNumberOfTracks;
00110 std::vector<Int_t> mNumberOfPoints;
00112 std::vector<Int_t> mNumberOfTowerClusters;
00113 std::vector<Int_t> mNumberOfSmduClusters;
00114 std::vector<Int_t> mNumberOfSmdvClusters;
00115
00116
00117
00118
00119
00120 private:
00121 protected:
00122 ClassDef(StEEmcMixEvent,2);
00123
00124 };
00125
00126 #endif