#include <HighHitVarsAna.h>
Inheritance diagram for HighHitVarsAna:

Public Member Functions | |
| HighHitVarsAna (HighHitVars &hhv) | |
| virtual | ~HighHitVarsAna () |
| void | Analyze (int evtn, RecRecordImp< RecCandHeader > *srobj) |
| void | Analyze (RecRecordImp< RecCandHeader > *srobj, NtpSRShower *ntpShower) |
Private Attributes | |
| HighHitVars & | fHighHitVars |
|
|
Definition at line 27 of file HighHitVarsAna.cxx. 00027 : 00028 fHighHitVars(hhv) 00029 { 00030 }
|
|
|
Definition at line 33 of file HighHitVarsAna.cxx. 00034 {}
|
|
||||||||||||
|
first hit 1st hit loop finished 2nd hit loop finished 3rd hit loop finished 4th hit loop finished 5th hit loop finished 6th hit loop finished Definition at line 53 of file HighHitVarsAna.cxx. References NtpSRPlane::beg, fHighHitVars, SntpHelpers::GetStrip(), HighHitVars::high_hit_1_mip, HighHitVars::high_hit_1_ph, HighHitVars::high_hit_1_plane, HighHitVars::high_hit_1_planeview, HighHitVars::high_hit_1_strip, HighHitVars::high_hit_1_tpos, HighHitVars::high_hit_1_zpos, HighHitVars::high_hit_2_mip, HighHitVars::high_hit_2_ph, HighHitVars::high_hit_2_plane, HighHitVars::high_hit_2_planeview, HighHitVars::high_hit_2_strip, HighHitVars::high_hit_2_tpos, HighHitVars::high_hit_2_zpos, HighHitVars::high_hit_3_mip, HighHitVars::high_hit_3_ph, HighHitVars::high_hit_3_plane, HighHitVars::high_hit_3_planeview, HighHitVars::high_hit_3_strip, HighHitVars::high_hit_3_tpos, HighHitVars::high_hit_3_zpos, HighHitVars::high_hit_4_mip, HighHitVars::high_hit_4_ph, HighHitVars::high_hit_4_plane, HighHitVars::high_hit_4_planeview, HighHitVars::high_hit_4_strip, HighHitVars::high_hit_4_tpos, HighHitVars::high_hit_4_zpos, HighHitVars::high_hit_5_mip, HighHitVars::high_hit_5_ph, HighHitVars::high_hit_5_plane, HighHitVars::high_hit_5_planeview, HighHitVars::high_hit_5_strip, HighHitVars::high_hit_5_tpos, HighHitVars::high_hit_5_zpos, HighHitVars::high_hit_6_mip, HighHitVars::high_hit_6_ph, HighHitVars::high_hit_6_plane, HighHitVars::high_hit_6_planeview, HighHitVars::high_hit_6_strip, HighHitVars::high_hit_6_tpos, HighHitVars::high_hit_6_zpos, NtpSRShower::nstrip, NtpSRStrip::ph0, NtpSRStrip::ph1, NtpSRShower::plane, NtpSRVertex::plane, NtpSRStrip::plane, NtpSRStrip::planeview, HighHitVars::Reset(), HighHitVars::showerbeg_plane, HighHitVars::showervtx_plane, HighHitVars::showervtx_u_pos, HighHitVars::showervtx_v_pos, NtpSRPulseHeight::sigcor, NtpSRShower::stp, NtpSRStrip::strip, NtpSRStrip::tpos, NtpSRVertex::u, NtpSRVertex::v, NtpSRShower::vtx, and NtpSRStrip::z. 00054 {
00055
00056 fHighHitVars.Reset();
00057
00058 if(srobj==0){
00059 return;
00060 }
00061
00062 if (ntpShower==0) {
00063 return;
00064 }
00065
00066 if(((dynamic_cast<NtpStRecord *>(srobj))==0)&&
00067 ((dynamic_cast<NtpSRRecord *>(srobj))==0)){
00068 return;
00069 }
00070
00071
00072 float A1, A2, A3, A4, A5, A6;
00073 float A0, B0, C0, D0, E0, F0;
00074
00075 A0=0;
00076 B0=0;
00077 C0=0;
00078 D0=0;
00079 E0=0;
00080 F0=0;
00081
00082 int showerstrips;
00083 showerstrips=ntpShower->nstrip;
00084
00085 int j, k, l, m, n;
00086 j = k = l = m = n = 0;
00087
00088 for(int i=0;i<showerstrips;i++){
00089 Int_t index = ntpShower->stp[i];
00090 NtpSRStrip *strip = SntpHelpers::GetStrip(index,srobj);
00091 if(!strip){
00092 continue;
00093 }
00094
00096 A1 = evtstp0mip[index] + evtstp1mip[index];
00097
00098 if(A1>A0){
00099 fHighHitVars.high_hit_1_ph = strip->ph0.sigcor+strip->ph1.sigcor;
00100 fHighHitVars.high_hit_1_mip = A1;
00101 fHighHitVars.high_hit_1_strip = strip->strip;
00102 fHighHitVars.high_hit_1_plane = strip->plane;
00103 fHighHitVars.high_hit_1_planeview = strip->planeview;
00104 fHighHitVars.high_hit_1_zpos = strip->z;
00105 fHighHitVars.high_hit_1_tpos = strip->tpos;
00106 j=i;
00107 }
00108
00109 if(A1<=A0){
00110 continue;
00111 }
00112
00113 A0 = fHighHitVars.high_hit_1_mip;
00114
00115 }
00116
00118
00119
00120 Float_t hit1;
00121 hit1=fHighHitVars.high_hit_1_mip;
00122
00123 for(int i=0;i<showerstrips;i++){
00124 Int_t index = ntpShower->stp[i];
00125 NtpSRStrip *strip = SntpHelpers::GetStrip(index,srobj);
00126 if(!strip){
00127 continue;
00128 }
00129
00130 if(showerstrips>1){
00131
00132 A2 = evtstp0mip[index] + evtstp1mip[index];
00133
00134 if(A2<=hit1&&A2>B0&&i!=j){
00135 fHighHitVars.high_hit_2_ph = strip->ph0.sigcor+strip->ph1.sigcor;
00136 fHighHitVars.high_hit_2_mip = A2;
00137 fHighHitVars.high_hit_2_strip = strip->strip;
00138 fHighHitVars.high_hit_2_plane = strip->plane;
00139 fHighHitVars.high_hit_2_planeview = strip->planeview;
00140 fHighHitVars.high_hit_2_zpos = strip->z;
00141 fHighHitVars.high_hit_2_tpos = strip->tpos;
00142 k=i;
00143 }
00144 if(A2<B0){
00145 continue;
00146 }
00147
00148 B0 = fHighHitVars.high_hit_2_mip;
00149 }
00150
00151 if(showerstrips<=1){
00152 fHighHitVars.high_hit_2_ph = ANtpDefVal::kFloat;
00153 fHighHitVars.high_hit_2_mip = ANtpDefVal::kFloat;
00154 fHighHitVars.high_hit_2_strip = ANtpDefVal::kInt;
00155 fHighHitVars.high_hit_2_plane = ANtpDefVal::kInt;
00156 fHighHitVars.high_hit_2_planeview = ANtpDefVal::kInt;
00157 fHighHitVars.high_hit_2_zpos = ANtpDefVal::kFloat;
00158 fHighHitVars.high_hit_2_tpos = ANtpDefVal::kFloat;
00159 }
00160 }
00162
00163
00164 Float_t hit2;
00165 hit2=fHighHitVars.high_hit_2_mip;
00166
00167
00168 for(int i=0;i<showerstrips;i++){
00169 Int_t index = ntpShower->stp[i];
00170 NtpSRStrip *strip = SntpHelpers::GetStrip(index,srobj);
00171 if(!strip){
00172 continue;
00173 }
00174
00175
00176 if(showerstrips>2){
00177
00178 A3 = evtstp0mip[index] + evtstp1mip[index];
00179
00180 if(A3<=hit2&&A3>C0&&i!=j&&i!=k){
00181 fHighHitVars.high_hit_3_ph = strip->ph0.sigcor+strip->ph1.sigcor;
00182 fHighHitVars.high_hit_3_mip = A3;
00183 fHighHitVars.high_hit_3_strip = strip->strip;
00184 fHighHitVars.high_hit_3_plane = strip->plane;
00185 fHighHitVars.high_hit_3_planeview = strip->planeview;
00186 fHighHitVars.high_hit_3_zpos = strip->z;
00187 fHighHitVars.high_hit_3_tpos = strip->tpos;
00188 l=i;
00189 }
00190 if(A3<C0){
00191 continue;
00192 }
00193
00194 C0 = fHighHitVars.high_hit_3_mip;
00195 }
00196
00197 if(showerstrips<=2){
00198 fHighHitVars.high_hit_3_ph = ANtpDefVal::kFloat;
00199 fHighHitVars.high_hit_3_mip = ANtpDefVal::kFloat;
00200 fHighHitVars.high_hit_3_strip = ANtpDefVal::kInt;
00201 fHighHitVars.high_hit_3_plane = ANtpDefVal::kInt;
00202 fHighHitVars.high_hit_3_planeview = ANtpDefVal::kInt;
00203 fHighHitVars.high_hit_3_zpos = ANtpDefVal::kFloat;
00204 fHighHitVars.high_hit_3_tpos = ANtpDefVal::kFloat;
00205 }
00206 }
00208
00209
00210 Float_t hit3;
00211 hit3=fHighHitVars.high_hit_3_mip;
00212
00213 for(int i=0;i<showerstrips;i++){
00214 Int_t index = ntpShower->stp[i];
00215 NtpSRStrip *strip = SntpHelpers::GetStrip(index,srobj);
00216 if(!strip){
00217 continue;
00218 }
00219
00220
00221 if(showerstrips>3){
00222
00223 A4 = evtstp0mip[index] + evtstp1mip[index];
00224
00225 if(A4<=hit3&&A4>D0&&i!=j&&i!=k&&i!=l){
00226 fHighHitVars.high_hit_4_ph = strip->ph0.sigcor+strip->ph1.sigcor;
00227 fHighHitVars.high_hit_4_mip = A4;
00228 fHighHitVars.high_hit_4_strip = strip->strip;
00229 fHighHitVars.high_hit_4_plane = strip->plane;
00230 fHighHitVars.high_hit_4_planeview = strip->planeview;
00231 fHighHitVars.high_hit_4_zpos = strip->z;
00232 fHighHitVars.high_hit_4_tpos = strip->tpos;
00233 m=i;
00234 }
00235 if(A4<D0){
00236 continue;
00237 }
00238
00239 D0 = fHighHitVars.high_hit_4_mip;
00240 }
00241
00242 if(showerstrips<=3){
00243 fHighHitVars.high_hit_4_ph = ANtpDefVal::kFloat;
00244 fHighHitVars.high_hit_4_mip = ANtpDefVal::kFloat;
00245 fHighHitVars.high_hit_4_strip = ANtpDefVal::kInt;
00246 fHighHitVars.high_hit_4_plane = ANtpDefVal::kInt;
00247 fHighHitVars.high_hit_4_planeview = ANtpDefVal::kInt;
00248 fHighHitVars.high_hit_4_zpos = ANtpDefVal::kFloat;
00249 fHighHitVars.high_hit_4_tpos = ANtpDefVal::kFloat;
00250 }
00251 }
00253
00254 Float_t hit4;
00255 hit4=fHighHitVars.high_hit_4_mip;
00256
00257
00258 for(int i=0;i<showerstrips;i++){
00259 Int_t index = ntpShower->stp[i];
00260 NtpSRStrip *strip = SntpHelpers::GetStrip(index,srobj);
00261 if(!strip){
00262 continue;
00263 }
00264
00265 if(showerstrips>4){
00266
00267 A5 = evtstp0mip[index] + evtstp1mip[index];
00268
00269 if(A5<=hit4&&A5>E0&&i!=j&&i!=k&&i!=l&&i!=m){
00270 fHighHitVars.high_hit_5_ph = strip->ph0.sigcor+strip->ph1.sigcor;
00271 fHighHitVars.high_hit_5_mip = A5;
00272 fHighHitVars.high_hit_5_strip = strip->strip;
00273 fHighHitVars.high_hit_5_plane = strip->plane;
00274 fHighHitVars.high_hit_5_planeview = strip->planeview;
00275 fHighHitVars.high_hit_5_zpos = strip->z;
00276 fHighHitVars.high_hit_5_tpos = strip->tpos;
00277 n=i;
00278 }
00279 if(A5<E0){
00280 continue;
00281 }
00282
00283 E0 = fHighHitVars.high_hit_5_mip;
00284 }
00285
00286 if(showerstrips<=4){
00287 fHighHitVars.high_hit_5_ph = ANtpDefVal::kFloat;
00288 fHighHitVars.high_hit_5_mip = ANtpDefVal::kFloat;
00289 fHighHitVars.high_hit_5_strip = ANtpDefVal::kInt;
00290 fHighHitVars.high_hit_5_plane = ANtpDefVal::kInt;
00291 fHighHitVars.high_hit_5_planeview = ANtpDefVal::kInt;
00292 fHighHitVars.high_hit_5_zpos = ANtpDefVal::kFloat;
00293 fHighHitVars.high_hit_5_tpos = ANtpDefVal::kFloat;
00294 }
00295 }
00297
00298 Float_t hit5;
00299 hit5=fHighHitVars.high_hit_5_mip;
00300
00301 for(int i=0;i<showerstrips;i++){
00302 Int_t index = ntpShower->stp[i];
00303 NtpSRStrip *strip = SntpHelpers::GetStrip(index,srobj);
00304 if(!strip){
00305 continue;
00306 }
00307
00308 if(showerstrips>5){
00309
00310 A6 = evtstp0mip[index] + evtstp1mip[index];
00311
00312 if(A6<=hit5&&A6>F0&&i!=j&&i!=k&&i!=l&&i!=m&&i!=n){
00313 fHighHitVars.high_hit_6_ph = strip->ph0.sigcor+strip->ph1.sigcor;
00314 fHighHitVars.high_hit_6_mip = A6;
00315 fHighHitVars.high_hit_6_strip = strip->strip;
00316 fHighHitVars.high_hit_6_plane = strip->plane;
00317 fHighHitVars.high_hit_6_planeview = strip->planeview;
00318 fHighHitVars.high_hit_6_zpos = strip->z;
00319 fHighHitVars.high_hit_6_tpos = strip->tpos;
00320 }
00321 if(A6<F0){
00322 continue;
00323 }
00324
00325 F0 = fHighHitVars.high_hit_6_mip;
00326 }
00327
00328 if(showerstrips<=5){
00329 fHighHitVars.high_hit_6_ph = ANtpDefVal::kFloat;
00330 fHighHitVars.high_hit_6_mip = ANtpDefVal::kFloat;
00331 fHighHitVars.high_hit_6_strip = ANtpDefVal::kInt;
00332 fHighHitVars.high_hit_6_plane = ANtpDefVal::kInt;
00333 fHighHitVars.high_hit_6_planeview = ANtpDefVal::kInt;
00334 fHighHitVars.high_hit_6_zpos = ANtpDefVal::kFloat;
00335 fHighHitVars.high_hit_6_tpos = ANtpDefVal::kFloat;
00336 }
00337 }
00339
00340
00341 fHighHitVars.showervtx_plane=ntpShower->vtx.plane;
00342 fHighHitVars.showervtx_u_pos=ntpShower->vtx.u;
00343 fHighHitVars.showervtx_v_pos=ntpShower->vtx.v;
00344 fHighHitVars.showerbeg_plane=ntpShower->plane.beg;
00345
00346
00347
00348
00349
00350 }
|
|
||||||||||||
|
Implements NueAnaBase. Definition at line 36 of file HighHitVarsAna.cxx. References SntpHelpers::GetPrimaryShower(). Referenced by NueRecordAna::Analyze(). 00037 {
00038 if(srobj==0){
00039 return;
00040 }
00041
00042 if(((dynamic_cast<NtpStRecord *>(srobj))==0)&&
00043 ((dynamic_cast<NtpSRRecord *>(srobj))==0)){
00044 return;
00045 }
00046
00047 NtpSRShower *shower = SntpHelpers::GetPrimaryShower(evtn,srobj);
00048 Analyze(srobj,shower);
00049
00050
00051 }
|
|
|
Definition at line 25 of file HighHitVarsAna.h. Referenced by Analyze(). |
1.3.9.1