00001
00002
00003 #include "TSkimPionEvent.h"
00004
00005 ClassImp(TSkimPionEvent)
00006 ClassImp(TSkimPionCandidate)
00007 ClassImp(THit)
00008
00009
00010 TClonesArray* TSkimPionEvent::aSkimPionCandidates = 0;
00011 TClonesArray* TSkimPionEvent::aHits = 0;
00012
00013
00014
00015 TSkimPionEvent::TSkimPionEvent() {
00016 if (!aSkimPionCandidates) aSkimPionCandidates = new TClonesArray("TSkimPionCandidate", 50);
00017 m_SkimPionCandidates = aSkimPionCandidates;
00018 if (!aHits) aHits = new TClonesArray("THit", 50);
00019 m_Hits = aHits;
00020 m_EventNo = 0;
00021 m_RunNo = 0;
00022 m_FillNo = 0;
00023 m_VertexZ = 0;
00024 m_IsMB = 0;
00025 m_IsHTTPL2 = 0;
00026 m_IsHTTPL2_Test = 0;
00027 m_IsSoftHTTPL2 = 0;
00028 m_IsSoftMB = 0;
00029 m_HiTowerAdc6Bit = 0;
00030 m_BEMCPoints = 0;
00031 m_PrescaleMB = 0;
00032 m_PrescaleHTTPL2 = 0;
00033 m_PrescaleHTTPL2_Test = 0;
00034 m_BBCTrig = 0;
00035 m_NPi0Candidates = 0;
00036 m_NHits = 0;
00037 m_BunchX48 = 0;
00038 m_BunchX7 = 0;
00039 m_SpinBit4 = 0;
00040 m_MaskedXing = 0;
00041 m_ValidSpin = 0;
00042 m_PolLong = 0;
00043 m_DbSpinBit = 0;
00044 m_BBCVertexZ = 0;
00045 m_OnlyBBCVtx = 0;
00046 m_BBCTimeBin = 0;
00047 }
00048
00049 TSkimPionEvent::~TSkimPionEvent() {
00050 Clear();
00051 }
00052
00053 void TSkimPionEvent::Clear(const Option_t*) {
00054
00055 m_EventNo = 0;
00056 m_RunNo = 0;
00057 m_FillNo = 0;
00058 m_VertexZ = 0;
00059 m_IsMB = 0;
00060 m_IsHTTPL2 = 0;
00061 m_IsHTTPL2_Test = 0;
00062 m_IsSoftHTTPL2 = 0;
00063 m_IsSoftMB = 0;
00064 m_HiTowerAdc6Bit = 0;
00065 m_BEMCPoints = 0;
00066 m_PrescaleMB = 0;
00067 m_PrescaleHTTPL2 = 0;
00068 m_PrescaleHTTPL2_Test = 0;
00069 m_BBCTrig = 0;
00070 m_NPi0Candidates = 0;
00071 m_NHits = 0;
00072 m_BunchX48 = 0;
00073 m_BunchX7 = 0;
00074 m_SpinBit4 = 0;
00075 m_MaskedXing = 0;
00076 m_ValidSpin = 0;
00077 m_PolLong = 0;
00078 m_DbSpinBit = 0;
00079 m_BBCVertexZ = 0;
00080 m_OnlyBBCVtx = 0;
00081 m_BBCTimeBin = 0;
00082 m_SkimPionCandidates->Clear();
00083 m_Hits->Clear();
00084
00085 }
00086 void TSkimPionEvent::Reset(Option_t * )
00087 {
00088
00089
00090 delete aSkimPionCandidates;
00091 aSkimPionCandidates = 0;
00092 delete aHits;
00093 aHits = 0;
00094 }
00095
00096
00097 TSkimPionCandidate* TSkimPionEvent::AddSkimPionCandidate(TSkimPionCandidate& cand) {
00098
00099 TClonesArray &aCand = *m_SkimPionCandidates;
00100 TSkimPionCandidate *piCand = new(aCand[m_NPi0Candidates++]) TSkimPionCandidate(cand);
00101
00102 return piCand;
00103 }
00104
00105
00106 THit* TSkimPionEvent::AddHit(THit& cand) {
00107
00108 TClonesArray &aCand = *m_Hits;
00109 THit *piCand = new(aCand[m_NHits++]) THit(cand);
00110
00111 return piCand;
00112 }
00113
00114
00115 TSkimPionCandidate::TSkimPionCandidate() : TObject(){
00116 m_Pt = m_Mass = 0;
00117 }
00118
00119 TSkimPionCandidate::TSkimPionCandidate(const TSkimPionCandidate& orig) : TObject(orig) {
00120
00121 m_Pt = orig.m_Pt;
00122 m_Mass = orig.m_Mass;
00123 m_Eta = orig.m_Eta;
00124 m_Phi = orig.m_Phi;
00125 m_Asymmetry = orig.m_Asymmetry;
00126 m_CosAngle = orig.m_CosAngle;
00127 m_TowerId1 = orig.m_TowerId1;
00128 m_TowerId2 = orig.m_TowerId2;
00129 m_ChargedAssociation1 = orig.m_ChargedAssociation1;
00130 m_ChargedAssociation2 = orig.m_ChargedAssociation2;
00131 m_SMDFlagg1 = orig.m_SMDFlagg1;
00132 m_SMDFlagg2 = orig.m_SMDFlagg2;
00133 m_Energy1 = orig.m_Energy1;
00134 m_Energy2 = orig.m_Energy2;
00135 m_TowerEnergy1 = orig.m_TowerEnergy1;
00136 m_TowerEnergy2 = orig.m_TowerEnergy2;
00137 m_SMDe1 = orig.m_SMDe1;
00138 m_SMDp1 = orig.m_SMDp1;
00139 m_SMDe2 = orig.m_SMDe2;
00140 m_SMDp2 = orig.m_SMDp2;
00141 m_Phi1 = orig.m_Phi1;
00142 m_Eta1 = orig.m_Eta1;
00143 m_Phi2 = orig.m_Phi2;
00144 m_Eta2 = orig.m_Eta2;
00145 }
00146
00147 void TSkimPionCandidate::SetAll(Float_t data[24]) {
00148 m_Pt = data[0];
00149 m_Mass = data[1];
00150 m_Eta = data[2];
00151 m_Phi = data[3];
00152 m_Asymmetry = data[4];
00153 m_CosAngle = data[5];
00154 m_TowerId1 = data[6];
00155 m_TowerId2 = data[7];
00156 m_ChargedAssociation1 = (Int_t) data[8];
00157 m_ChargedAssociation2 = (Int_t) data[9];
00158 m_SMDFlagg1 = (Int_t)data[10];
00159 m_SMDFlagg2 = (Int_t)data[11];
00160 m_Energy1 = data[12];
00161 m_Energy2 = data[13];
00162 m_TowerEnergy1 = data[14];
00163 m_TowerEnergy2 = data[15];
00164 m_SMDe1 = data[16];
00165 m_SMDp1 = data[17];
00166 m_SMDe2 = data[18];
00167 m_SMDp2 = data[19];
00168 m_Eta1 = data[20];
00169 m_Phi1 = data[21];
00170 m_Eta2 = data[22];
00171 m_Phi2 = data[23];
00172
00173 }
00174
00175 THit::THit() : TObject() {
00176 m_X = 0;
00177 m_Y = 0;
00178 m_Z = 0;
00179 m_Id = 0;
00180 m_Energy = 0;
00181 m_Pt = 0;
00182 m_NTracks = 0;
00183 m_SMDFlag = 0;
00184 m_EnergySMDe = 0;
00185 m_EnergySMDp = 0;
00186 m_EnergyTower = 0;
00187 m_SizeSMDe = 0;
00188 m_SizeSMDp = 0;
00189 m_SizeTower = 0;
00190 m_Phi = 0;
00191 m_Eta = 0;
00192 }
00193
00194 THit::THit(const THit& orig) : TObject(orig) {
00195 m_X = orig.m_X;
00196 m_Y = orig.m_Y;
00197 m_Z = orig.m_Z;
00198 m_Id = orig.m_Id;
00199 m_Energy = orig.m_Energy;
00200 m_Pt = orig.m_Pt;
00201 m_NTracks = orig.m_NTracks;
00202 m_SMDFlag = orig.m_SMDFlag;
00203 m_EnergySMDe = orig.m_EnergySMDe;
00204 m_EnergySMDp = orig.m_EnergySMDp;
00205 m_EnergyTower = orig.m_EnergyTower;
00206 m_SizeSMDe = orig.m_SizeSMDe;
00207 m_SizeSMDp = orig.m_SizeSMDp;
00208 m_SizeTower = orig.m_SizeTower;
00209 m_Phi = orig.m_Phi;
00210 m_Eta = orig.m_Eta;
00211 }
00212
00213 void THit::SetAll(Float_t data[16]) {
00214 m_X = data[0];
00215 m_Y = data[1];
00216 m_Z = data[2];
00217 m_Id = (Int_t) data[3];
00218 m_Energy = data[4];
00219 m_Pt = data[5];
00220 m_NTracks = (Int_t) data[6];
00221 m_SMDFlag = (Int_t) data[7];
00222 m_EnergySMDe = data[8];
00223 m_EnergySMDp = data[9];
00224 m_EnergyTower = data[10];
00225 m_SizeSMDe = data[11];
00226 m_SizeSMDp = data[12];
00227 m_SizeTower = data[13];
00228 m_Phi = data[14];
00229 m_Eta = data[15];
00230 }