00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #include "StHiMicroEvent.h"
00029 #include "Stiostream.h"
00030 #include <math.h>
00031 #define DEBUG 1
00032
00033 TClonesArray* StHiMicroEvent::mSTracks = 0;
00034 TClonesArray* StHiMicroEvent::mSHits = 0;
00035
00036
00037
00038 StHiMicroEvent::StHiMicroEvent()
00039 : mNTrack(0)
00040 {
00041
00042
00043
00044
00045 Int_t trackSZ = 1000;
00046 Int_t hitSZ = trackSZ*50;
00047
00048 if(DEBUG)
00049 cout << "StHiMicroEvent::StHiMicroEvent" << endl
00050 << "\tCreating the clonesarrays..." << endl;
00051
00052 if(!mSTracks)
00053 mTracks = new TClonesArray("StHiMicroTrack",trackSZ);
00054 if(!mSHits)
00055 mHits = new TClonesArray("StHiMicroHit",hitSZ);
00056
00057 if(DEBUG) cout << "\t...done" <<endl;
00058
00059
00060
00061
00062
00063 mSTracks = mTracks;
00064 mSHits = mHits;
00065
00066 }
00067
00068
00069 StHiMicroEvent::~StHiMicroEvent()
00070 {
00071 if(DEBUG) cout << "StHiMicroEvent::~StHiMicroEvent" << endl;
00072
00073
00074 }
00075
00076
00077
00078
00079
00080 void
00081 StHiMicroEvent::AddTrack(StHiMicroTrack* track)
00082 {
00083 TClonesArray &tracks = *mTracks;
00084
00085
00086
00087 new(tracks[mNTrack++]) StHiMicroTrack(*track);
00088
00089 }
00090
00091
00092 void
00093 StHiMicroEvent::AddHit(StHiMicroHit* hit)
00094 {
00095 TClonesArray &hits = *mHits;
00096
00097
00098
00099 new(hits[mNHit++]) StHiMicroHit(*hit);
00100
00101 }
00102
00103
00104
00105
00106
00107 void
00108 StHiMicroEvent::SetCentrality(Int_t N)
00109 {
00110
00111
00112
00113 if (this->CenterOfMassEnergy() >= 199.) {
00114 if (fabs(this->MagneticField()) >= 4.) {
00115 cout << "StHiMicroEvent->SetCentralityYear2AuAuFull: " << N << endl;
00116
00117
00118
00119 int cent[] = {14,30,56,94,146,217,312,431,510};
00120 if (N < cent[0]) { mCentrality = 0; }
00121 else if (N < cent[1]) { mCentrality = 1; }
00122 else if (N < cent[2]) { mCentrality = 2; }
00123 else if (N < cent[3]) { mCentrality = 3; }
00124 else if (N < cent[4]) { mCentrality = 4; }
00125 else if (N < cent[5]) { mCentrality = 5; }
00126 else if (N < cent[6]) { mCentrality = 6; }
00127 else if (N < cent[7]) { mCentrality = 7; }
00128 else if (N < cent[8]) { mCentrality = 8; }
00129 else { mCentrality = 9; }
00130 }
00131 else {
00132 cout << "StHiMicroEvent->SetCentralityYear2AuAuHalf: " << N << endl;
00133
00134
00135
00136 int cent[] = {14,32,59,98,149,216,302,409,474};
00137 if (N < cent[0]) { mCentrality = 0; }
00138 else if (N < cent[1]) { mCentrality = 1; }
00139 else if (N < cent[2]) { mCentrality = 2; }
00140 else if (N < cent[3]) { mCentrality = 3; }
00141 else if (N < cent[4]) { mCentrality = 4; }
00142 else if (N < cent[5]) { mCentrality = 5; }
00143 else if (N < cent[6]) { mCentrality = 6; }
00144 else if (N < cent[7]) { mCentrality = 7; }
00145 else if (N < cent[8]) { mCentrality = 8; }
00146 else { mCentrality = 9; }
00147 }
00148 }
00149 else {
00150 cout << "StHiMicroEvent->SetCentrality: " << N << endl;
00151
00152 cout << "WARNING: MAKE SURE THE RIGHT ETA RANGE IS DEFINED BEFORE USING THESE DEFINITIONS!!!" << endl;
00153
00154
00155
00156
00157 int cent[] = {20,100,180,270,360,460,560,660,870};
00158 if (N < cent[0]) { mCentrality = 0; }
00159 else if (N < cent[1]) { mCentrality = 1; }
00160 else if (N < cent[2]) { mCentrality = 2; }
00161 else if (N < cent[3]) { mCentrality = 3; }
00162 else if (N < cent[4]) { mCentrality = 4; }
00163 else if (N < cent[5]) { mCentrality = 5; }
00164 else if (N < cent[6]) { mCentrality = 6; }
00165 else if (N < cent[7]) { mCentrality = 7; }
00166 else if (N < cent[8]) { mCentrality = 8; }
00167 else { mCentrality = 9; }
00168 }
00169
00170 }
00171
00172
00173
00174 void
00175 StHiMicroEvent::Clear(Option_t* option)
00176 {
00177 mTracks->Clear(option);
00178 mHits->Clear(option);
00179 mNTrack = 0;
00180 mNHit = 0;
00181 }
00182
00183 ClassImp(StHiMicroEvent)
00184