MadMedTrackVars Class Reference

#include <MadMedTrackVars.h>

List of all members.

Public Member Functions

 MadMedTrackVars ()
 ***************************************************
void ResetVars ()
 ***************************************************
void Calculate (MadBase *mb, Int_t evtindex)
 ***************************************************
void Calculate (NtpSRTrack *trk)
 ***************************************************
void SetInsaneVerbosity (bool tof)
bool GetInsaneVerbosity ()

Public Attributes

Int_t nTrackStrips
Float_t maxDeltaXCal
Int_t maxDeltaXCalStrip
Float_t maxDeltaXSpec
Int_t maxDeltaXSpecStrip
Float_t maxDeltaYCal
Int_t maxDeltaYCalStrip
Float_t maxDeltaYSpec
Int_t maxDeltaYSpecStrip
Float_t maxDeltaZCal
Int_t maxDeltaZCalStrip
Float_t maxDeltaZSpec
Int_t maxDeltaZSpecStrip
Float_t maxDeltaUCal
Int_t maxDeltaUCalStrip
Float_t maxDeltaUSpec
Int_t maxDeltaUSpecStrip
Float_t maxDeltaVCal
Int_t maxDeltaVCalStrip
Float_t maxDeltaVSpec
Int_t maxDeltaVSpecStrip
Int_t maxDeltaPlaneCal
Int_t maxDeltaPlaneCalStrip
Int_t maxDeltaPlaneSpec
Int_t maxDeltaPlaneSpecStrip
Float_t maxTwoHitDeltaGradientXYFirstFive
Int_t maxTwoHitDeltaGradientXYStripFirstFive
Float_t maxThreeHitDeltaGradientXYFirstFive
Int_t maxThreeHitDeltaGradientXYStripFirstFive
Float_t maxThreeHitPerpDistXYFirstFive
Int_t maxThreeHitPerpDistXYStripFirstFive
Float_t maxTwoHitDeltaGradientXYLastFive
Int_t maxTwoHitDeltaGradientXYStripLastFive
Float_t maxThreeHitDeltaGradientXYLastFive
Int_t maxThreeHitDeltaGradientXYStripLastFive
Float_t maxThreeHitPerpDistXYLastFive
Int_t maxThreeHitPerpDistXYStripLastFive
Float_t maxTwoHitDeltaGradientUZFirstFive
Int_t maxTwoHitDeltaGradientUZStripFirstFive
Float_t maxThreeHitDeltaGradientUZFirstFive
Int_t maxThreeHitDeltaGradientUZStripFirstFive
Float_t maxThreeHitPerpDistUZFirstFive
Int_t maxThreeHitPerpDistUZStripFirstFive
Float_t maxTwoHitDeltaGradientUZLastFive
Int_t maxTwoHitDeltaGradientUZStripLastFive
Float_t maxThreeHitDeltaGradientUZLastFive
Int_t maxThreeHitDeltaGradientUZStripLastFive
Float_t maxThreeHitPerpDistUZLastFive
Int_t maxThreeHitPerpDistUZStripLastFive
Float_t maxTwoHitDeltaGradientVZFirstFive
Int_t maxTwoHitDeltaGradientVZStripFirstFive
Float_t maxThreeHitDeltaGradientVZFirstFive
Int_t maxThreeHitDeltaGradientVZStripFirstFive
Float_t maxThreeHitPerpDistVZFirstFive
Int_t maxThreeHitPerpDistVZStripFirstFive
Float_t maxTwoHitDeltaGradientVZLastFive
Int_t maxTwoHitDeltaGradientVZStripLastFive
Float_t maxThreeHitDeltaGradientVZLastFive
Int_t maxThreeHitDeltaGradientVZStripLastFive
Float_t maxThreeHitPerpDistVZLastFive
Int_t maxThreeHitPerpDistVZStripLastFive

Private Attributes

bool insaneVerbosity

Detailed Description

Definition at line 6 of file MadMedTrackVars.h.


Constructor & Destructor Documentation

MadMedTrackVars::MadMedTrackVars (  ) 

***************************************************

Definition at line 4 of file MadMedTrackVars.cxx.

00004                                  : 
00005   nTrackStrips(0),
00006   maxDeltaXCal(-1.),
00007   maxDeltaXCalStrip(-1),
00008   maxDeltaXSpec(-1.),
00009   maxDeltaXSpecStrip(-1),
00010   maxDeltaYCal(-1.),
00011   maxDeltaYCalStrip(-1),
00012   maxDeltaYSpec(-1.),
00013   maxDeltaYSpecStrip(-1),
00014   maxDeltaZCal(-1.),
00015   maxDeltaZCalStrip(-1),
00016   maxDeltaZSpec(-1.),
00017   maxDeltaZSpecStrip(-1),
00018   maxDeltaUCal(-1.),
00019   maxDeltaUCalStrip(-1),
00020   maxDeltaUSpec(-1.),
00021   maxDeltaUSpecStrip(-1),
00022   maxDeltaVCal(-1.),
00023   maxDeltaVCalStrip(-1),
00024   maxDeltaVSpec(-1.),
00025   maxDeltaVSpecStrip(-1),
00026   maxDeltaPlaneCal(-1),
00027   maxDeltaPlaneCalStrip(-1),
00028   maxDeltaPlaneSpec(-1),
00029   maxDeltaPlaneSpecStrip(-1),
00030   maxTwoHitDeltaGradientXYFirstFive(-1.),
00031   maxTwoHitDeltaGradientXYStripFirstFive(-1),
00032   maxThreeHitDeltaGradientXYFirstFive(-1.),
00033   maxThreeHitDeltaGradientXYStripFirstFive(-1),
00034   maxThreeHitPerpDistXYFirstFive(-1.),
00035   maxThreeHitPerpDistXYStripFirstFive(-1),
00036   maxTwoHitDeltaGradientXYLastFive(-1.),
00037   maxTwoHitDeltaGradientXYStripLastFive(-1),
00038   maxThreeHitDeltaGradientXYLastFive(-1.),
00039   maxThreeHitDeltaGradientXYStripLastFive(-1),
00040   maxThreeHitPerpDistXYLastFive(-1.),
00041   maxThreeHitPerpDistXYStripLastFive(-1),
00042   maxTwoHitDeltaGradientUZFirstFive(-1.),
00043   maxTwoHitDeltaGradientUZStripFirstFive(-1),
00044   maxThreeHitDeltaGradientUZFirstFive(-1.),
00045   maxThreeHitDeltaGradientUZStripFirstFive(-1),
00046   maxThreeHitPerpDistUZFirstFive(-1.),
00047   maxThreeHitPerpDistUZStripFirstFive(-1),
00048   maxTwoHitDeltaGradientUZLastFive(-1.),
00049   maxTwoHitDeltaGradientUZStripLastFive(-1),
00050   maxThreeHitDeltaGradientUZLastFive(-1.),
00051   maxThreeHitDeltaGradientUZStripLastFive(-1),
00052   maxThreeHitPerpDistUZLastFive(-1.),
00053   maxThreeHitPerpDistUZStripLastFive(-1),
00054   maxTwoHitDeltaGradientVZFirstFive(-1.),
00055   maxTwoHitDeltaGradientVZStripFirstFive(-1),
00056   maxThreeHitDeltaGradientVZFirstFive(-1.),
00057   maxThreeHitDeltaGradientVZStripFirstFive(-1),
00058   maxThreeHitPerpDistVZFirstFive(-1.),
00059   maxThreeHitPerpDistVZStripFirstFive(-1),
00060   maxTwoHitDeltaGradientVZLastFive(-1.),
00061   maxTwoHitDeltaGradientVZStripLastFive(-1),
00062   maxThreeHitDeltaGradientVZLastFive(-1.),
00063   maxThreeHitDeltaGradientVZStripLastFive(-1),
00064   maxThreeHitPerpDistVZLastFive(-1.),
00065   maxThreeHitPerpDistVZStripLastFive(-1),
00066   insaneVerbosity(false)
00067 {}


Member Function Documentation

void MadMedTrackVars::Calculate ( NtpSRTrack trk  ) 

***************************************************

Definition at line 468 of file MadMedTrackVars.cxx.

References insaneVerbosity, maxDeltaUCal, maxDeltaUCalStrip, maxDeltaUSpec, maxDeltaUSpecStrip, maxDeltaVCal, maxDeltaVCalStrip, maxDeltaVSpec, maxDeltaVSpecStrip, maxDeltaXCal, maxDeltaXCalStrip, maxDeltaXSpec, maxDeltaXSpecStrip, maxDeltaYCal, maxDeltaYCalStrip, maxDeltaYSpec, maxDeltaYSpecStrip, maxDeltaZCal, maxDeltaZCalStrip, maxDeltaZSpec, maxDeltaZSpecStrip, maxThreeHitDeltaGradientUZFirstFive, maxThreeHitDeltaGradientUZLastFive, maxThreeHitDeltaGradientUZStripFirstFive, maxThreeHitDeltaGradientUZStripLastFive, maxThreeHitDeltaGradientVZFirstFive, maxThreeHitDeltaGradientVZLastFive, maxThreeHitDeltaGradientVZStripFirstFive, maxThreeHitDeltaGradientVZStripLastFive, maxThreeHitDeltaGradientXYFirstFive, maxThreeHitDeltaGradientXYLastFive, maxThreeHitDeltaGradientXYStripFirstFive, maxThreeHitDeltaGradientXYStripLastFive, maxThreeHitPerpDistUZFirstFive, maxThreeHitPerpDistUZLastFive, maxThreeHitPerpDistUZStripFirstFive, maxThreeHitPerpDistUZStripLastFive, maxThreeHitPerpDistVZFirstFive, maxThreeHitPerpDistVZLastFive, maxThreeHitPerpDistVZStripFirstFive, maxThreeHitPerpDistVZStripLastFive, maxThreeHitPerpDistXYFirstFive, maxThreeHitPerpDistXYLastFive, maxThreeHitPerpDistXYStripFirstFive, maxThreeHitPerpDistXYStripLastFive, maxTwoHitDeltaGradientUZFirstFive, maxTwoHitDeltaGradientUZLastFive, maxTwoHitDeltaGradientUZStripFirstFive, maxTwoHitDeltaGradientUZStripLastFive, maxTwoHitDeltaGradientVZFirstFive, maxTwoHitDeltaGradientVZLastFive, maxTwoHitDeltaGradientVZStripFirstFive, maxTwoHitDeltaGradientVZStripLastFive, maxTwoHitDeltaGradientXYFirstFive, maxTwoHitDeltaGradientXYLastFive, maxTwoHitDeltaGradientXYStripFirstFive, maxTwoHitDeltaGradientXYStripLastFive, NtpSRTrack::nstrip, nTrackStrips, ResetVars(), NtpSRTrack::stpu, NtpSRTrack::stpv, NtpSRTrack::stpx, NtpSRTrack::stpy, and NtpSRTrack::stpz.

00469 {
00470 
00471   ResetVars();
00472 
00473   nTrackStrips = trk->nstrip;
00474 
00475   vector<Float_t> xpos;
00476   vector<Float_t> ypos;
00477   vector<Float_t> upos;
00478   vector<Float_t> vpos;
00479   vector<Float_t> zpos;
00480   //vector<Int_t> planenum;
00481 
00482   Float_t previousX = 0.;
00483   Float_t previousY = 0.;
00484   Float_t previousZ = 0.;
00485   Float_t previousU = 0.;
00486   Float_t previousV = 0.;
00487   //Int_t previousPlane = 0;
00488 
00489   Float_t twoagoX = 0.;
00490   Float_t twoagoY = 0.;
00491   Float_t twoagoZ = 0.;
00492   Float_t twoagoU = 0.;
00493   Float_t twoagoV = 0.;
00494   //Int_t twoagoPlane = 0;
00495 
00496   Float_t threeagoX = 0.;
00497   Float_t threeagoY = 0.;
00498   Float_t threeagoZ = 0.;
00499   Float_t threeagoU = 0.;
00500   Float_t threeagoV = 0.;
00501   //Int_t threeagoPlane = 0;
00502 
00503   for(Int_t istp=0;istp<nTrackStrips;istp++){
00504     //Int_t stpindex = trk->stp[istp];
00505     //const NtpSRStrip* stp = mb->GetStrip(stpindex);
00506     //if(!stp) continue;
00507 
00508     // Variable ideas:
00509     //   largest delta(plane #) along track (cal/spec)         DONE
00510     //     with track hit number (and total track hit counter)
00511     //   largest delta(x/y/z/u/v) along track (cal/spec)       DONE
00512     //     with track hit number (and total track hit counter)
00513     //   "angles/gradients" for sets of two hits moving along the track from start
00514     //   repeat for sets of three hits?
00515     //   largest delta(angle) for sets of two/three hits
00516     //     again with track hit numbers at which they occur
00517 
00518     if(istp>=1){
00519       // Calorimeter
00520       //if((stp->plane)<120 && previousPlane<120){
00521       if(trk->stpz[istp]<7.0 && previousZ<7.0){
00522         if((trk->stpx[istp]-previousX)>maxDeltaXCal){
00523           maxDeltaXCal = (trk->stpx[istp]-previousX);
00524           maxDeltaXCalStrip = (istp+1);
00525         }
00526         if((trk->stpy[istp]-previousY)>maxDeltaYCal){
00527           maxDeltaYCal = (trk->stpy[istp]-previousY);
00528           maxDeltaYCalStrip = (istp+1);
00529         }
00530         if((trk->stpz[istp]-previousZ)>maxDeltaZCal){
00531           maxDeltaZCal = (trk->stpz[istp]-previousZ);
00532           maxDeltaZCalStrip = (istp+1);
00533         }
00534         if((trk->stpu[istp]-previousU)>maxDeltaUCal){
00535           maxDeltaUCal = (trk->stpu[istp]-previousU);
00536           maxDeltaUCalStrip = (istp+1);
00537         }
00538         if((trk->stpv[istp]-previousV)>maxDeltaVCal){
00539           maxDeltaVCal = (trk->stpv[istp]-previousV);
00540           maxDeltaVCalStrip = (istp+1);
00541         }
00542         //if(((stp->plane)-previousPlane)>maxDeltaPlaneCal){
00543         //maxDeltaPlaneCal = ((stp->plane)-previousPlane);
00544         //maxDeltaPlaneCalStrip = (istp+1);
00545         //}
00546       }
00547       // Spectrometer
00548       //else if((stp->plane)>120 && previousPlane>120){
00549       else if(trk->stpz[istp]>7.5 && previousZ>7.5){
00550         if((trk->stpx[istp]-previousX)>maxDeltaXSpec){
00551           maxDeltaXSpec = (trk->stpx[istp]-previousX);
00552           maxDeltaXSpecStrip = (istp+1);
00553         }
00554         if((trk->stpy[istp]-previousY)>maxDeltaYSpec){
00555           maxDeltaYSpec = (trk->stpy[istp]-previousY);
00556           maxDeltaYSpecStrip = (istp+1);
00557         }
00558         if((trk->stpz[istp]-previousZ)>maxDeltaZSpec){
00559           maxDeltaZSpec = (trk->stpz[istp]-previousZ);
00560           maxDeltaZSpecStrip = (istp+1);
00561         }
00562         if((trk->stpu[istp]-previousU)>maxDeltaUSpec){
00563           maxDeltaUSpec = (trk->stpu[istp]-previousU);
00564           maxDeltaUSpecStrip = (istp+1);
00565         }
00566         if((trk->stpv[istp]-previousV)>maxDeltaVSpec){
00567           maxDeltaVSpec = (trk->stpv[istp]-previousV);
00568           maxDeltaVSpecStrip = (istp+1);
00569         }
00570         //if(((stp->plane)-previousPlane)>maxDeltaPlaneSpec){
00571         //maxDeltaPlaneSpec = ((stp->plane)-previousPlane);
00572         //maxDeltaPlaneSpecStrip = (istp+1);
00573         //} 
00574       }
00575     }
00576 
00577     if(istp>=2 && istp<7){
00578       // Gradients
00579       if((trk->stpx[istp]-previousX)!=0. && (previousX-twoagoX)!=0.){
00580         Float_t gradientXY = (trk->stpy[istp]-previousY)/(trk->stpx[istp]-previousX);
00581         Float_t previousGradientXY = (previousY-twoagoY)/(previousX-twoagoX);
00582         Float_t deltaGradientXY = TMath::Abs(gradientXY-previousGradientXY);
00583         if(deltaGradientXY>maxTwoHitDeltaGradientXYFirstFive){
00584           maxTwoHitDeltaGradientXYFirstFive = deltaGradientXY;
00585           maxTwoHitDeltaGradientXYStripFirstFive = (istp+1);
00586         }
00587       }
00588       if((trk->stpz[istp]-previousZ)!=0. && (previousZ-twoagoZ)!=0.){
00589         Float_t gradientUZ = (trk->stpu[istp]-previousU)/(trk->stpz[istp]-previousZ);
00590         Float_t previousGradientUZ = (previousU-twoagoU)/(previousZ-twoagoZ);
00591         Float_t deltaGradientUZ = TMath::Abs(gradientUZ-previousGradientUZ);
00592         if(deltaGradientUZ>maxTwoHitDeltaGradientUZFirstFive){
00593           maxTwoHitDeltaGradientUZFirstFive = deltaGradientUZ;
00594           maxTwoHitDeltaGradientUZStripFirstFive = (istp+1);
00595         }
00596       }
00597       if((trk->stpz[istp]-previousZ)!=0. && (previousZ-twoagoZ)!=0.){
00598         Float_t gradientVZ = (trk->stpv[istp]-previousV)/(trk->stpz[istp]-previousZ);
00599         Float_t previousGradientVZ = (previousV-twoagoV)/(previousZ-twoagoZ);
00600         Float_t deltaGradientVZ = TMath::Abs(gradientVZ-previousGradientVZ);
00601         if(deltaGradientVZ>maxTwoHitDeltaGradientVZFirstFive){
00602           maxTwoHitDeltaGradientVZFirstFive = deltaGradientVZ;
00603           maxTwoHitDeltaGradientVZStripFirstFive = (istp+1);
00604         }
00605       }
00606     }
00607     if(istp>=3 && istp<8){
00608       // Gradients
00609       if((trk->stpx[istp]-twoagoX)!=0. && (previousX-threeagoX)!=0.){
00610         Float_t gradientXY = (trk->stpy[istp]-twoagoY)/(trk->stpx[istp]-twoagoX);
00611         Float_t previousGradientXY = (previousY-threeagoY)/(previousX-threeagoX);
00612         Float_t deltaGradientXY = TMath::Abs(gradientXY-previousGradientXY);
00613         if(deltaGradientXY>maxThreeHitDeltaGradientXYFirstFive){
00614           maxThreeHitDeltaGradientXYFirstFive = deltaGradientXY;
00615           maxThreeHitDeltaGradientXYStripFirstFive = (istp+1);
00616         }
00617       }
00618       if((trk->stpz[istp]-twoagoZ)!=0. && (previousZ-threeagoZ)!=0.){
00619         Float_t gradientUZ = (trk->stpu[istp]-twoagoU)/(trk->stpz[istp]-twoagoZ);
00620         Float_t previousGradientUZ = (previousU-threeagoU)/(previousZ-threeagoZ);
00621         Float_t deltaGradientUZ = TMath::Abs(gradientUZ-previousGradientUZ);
00622         if(deltaGradientUZ>maxThreeHitDeltaGradientUZFirstFive){
00623           maxThreeHitDeltaGradientUZFirstFive = deltaGradientUZ;
00624           maxThreeHitDeltaGradientUZStripFirstFive = (istp+1);
00625         }
00626       }
00627       if((trk->stpz[istp]-twoagoZ)!=0. && (previousZ-threeagoZ)!=0.){
00628         Float_t gradientVZ = (trk->stpv[istp]-twoagoV)/(trk->stpz[istp]-twoagoZ);
00629         Float_t previousGradientVZ = (previousV-threeagoV)/(previousZ-threeagoZ);
00630         Float_t deltaGradientVZ = TMath::Abs(gradientVZ-previousGradientVZ);
00631         if(deltaGradientVZ>maxThreeHitDeltaGradientVZFirstFive){
00632           maxThreeHitDeltaGradientVZFirstFive = deltaGradientVZ;
00633           maxThreeHitDeltaGradientVZStripFirstFive = (istp+1);
00634         }
00635       }
00636 
00637       // Perp. distances
00638       Float_t d12XY = TMath::Sqrt(((threeagoX-twoagoX)*(threeagoX-twoagoX))
00639                                 +((threeagoY-twoagoY)*(threeagoY-twoagoY)));
00640       Float_t d13XY = TMath::Sqrt(((threeagoX-trk->stpx[istp])*(threeagoX-trk->stpx[istp]))
00641                                 +((threeagoY-trk->stpy[istp])*(threeagoY-trk->stpy[istp])));
00642       Float_t d23XY = TMath::Sqrt(((twoagoX-trk->stpx[istp])*(twoagoX-trk->stpx[istp]))
00643                                 +((twoagoY-trk->stpy[istp])*(twoagoY-trk->stpy[istp])));
00644       if(d12XY!=0. && d13XY!=0.){
00645         Float_t thetaXY = TMath::ACos(((d12XY*d12XY)+(d13XY*d13XY)-(d23XY*d23XY))/(2.*d12XY*d13XY));
00646         Float_t perpDistXY = d12XY*TMath::Sin(thetaXY);
00647         if(perpDistXY>maxThreeHitPerpDistXYFirstFive){
00648           maxThreeHitPerpDistXYFirstFive = perpDistXY;
00649           maxThreeHitPerpDistXYStripFirstFive = (istp+1);
00650         }
00651       }
00652       Float_t d12UZ = TMath::Sqrt(((threeagoZ-twoagoZ)*(threeagoZ-twoagoZ))
00653                                 +((threeagoU-twoagoU)*(threeagoU-twoagoU)));
00654       Float_t d13UZ = TMath::Sqrt(((threeagoZ-trk->stpz[istp])*(threeagoZ-trk->stpz[istp]))
00655                                 +((threeagoU-trk->stpu[istp])*(threeagoU-trk->stpu[istp])));
00656       Float_t d23UZ = TMath::Sqrt(((twoagoZ-trk->stpz[istp])*(twoagoZ-trk->stpz[istp]))
00657                                 +((twoagoU-trk->stpu[istp])*(twoagoU-trk->stpu[istp])));
00658       if(d12UZ!=0. && d13UZ!=0.){
00659         Float_t thetaUZ = TMath::ACos(((d12UZ*d12UZ)+(d13UZ*d13UZ)-(d23UZ*d23UZ))/(2.*d12UZ*d13UZ));
00660         Float_t perpDistUZ = d12UZ*TMath::Sin(thetaUZ);
00661         if(perpDistUZ>maxThreeHitPerpDistUZFirstFive){
00662           maxThreeHitPerpDistUZFirstFive = perpDistUZ;
00663           maxThreeHitPerpDistUZStripFirstFive = (istp+1);
00664         }
00665       }
00666       Float_t d12VZ = TMath::Sqrt(((threeagoZ-twoagoZ)*(threeagoZ-twoagoZ))
00667                                 +((threeagoV-twoagoV)*(threeagoV-twoagoV)));
00668       Float_t d13VZ = TMath::Sqrt(((threeagoZ-trk->stpz[istp])*(threeagoZ-trk->stpz[istp]))
00669                                 +((threeagoV-trk->stpv[istp])*(threeagoV-trk->stpv[istp])));
00670       Float_t d23VZ = TMath::Sqrt(((twoagoZ-trk->stpz[istp])*(twoagoZ-trk->stpz[istp]))
00671                                 +((twoagoV-trk->stpv[istp])*(twoagoV-trk->stpv[istp])));
00672       if(d12VZ!=0. && d13VZ!=0.){
00673         Float_t thetaVZ = TMath::ACos(((d12VZ*d12VZ)+(d13VZ*d13VZ)-(d23VZ*d23VZ))/(2.*d12VZ*d13VZ));
00674         Float_t perpDistVZ = d12VZ*TMath::Sin(thetaVZ);
00675         if(perpDistVZ>maxThreeHitPerpDistVZFirstFive){
00676           maxThreeHitPerpDistVZFirstFive = perpDistVZ;
00677           maxThreeHitPerpDistVZStripFirstFive = (istp+1);
00678         }
00679       }
00680     }
00681     if(istp>=(nTrackStrips-5)){
00682       // Gradients
00683       if((trk->stpx[istp]-previousX)!=0. && (previousX-twoagoX)!=0.){
00684         Float_t gradientXY = (trk->stpy[istp]-previousY)/(trk->stpx[istp]-previousX);
00685         Float_t previousGradientXY = (previousY-twoagoY)/(previousX-twoagoX);
00686         Float_t deltaGradientXY = TMath::Abs(gradientXY-previousGradientXY);
00687         if(deltaGradientXY>maxTwoHitDeltaGradientXYLastFive){
00688           maxTwoHitDeltaGradientXYLastFive = deltaGradientXY;
00689           maxTwoHitDeltaGradientXYStripLastFive = (istp+1);
00690         }
00691       }
00692       if((trk->stpz[istp]-previousZ)!=0. && (previousZ-twoagoZ)!=0.){
00693         Float_t gradientUZ = (trk->stpu[istp]-previousU)/(trk->stpz[istp]-previousZ);
00694         Float_t previousGradientUZ = (previousU-twoagoU)/(previousZ-twoagoZ);
00695         Float_t deltaGradientUZ = TMath::Abs(gradientUZ-previousGradientUZ);
00696         if(deltaGradientUZ>maxTwoHitDeltaGradientUZLastFive){
00697           maxTwoHitDeltaGradientUZLastFive = deltaGradientUZ;
00698           maxTwoHitDeltaGradientUZStripLastFive = (istp+1);
00699         }
00700       }
00701       if((trk->stpz[istp]-previousZ)!=0. && (previousZ-twoagoZ)!=0.){
00702         Float_t gradientVZ = (trk->stpv[istp]-previousV)/(trk->stpz[istp]-previousZ);
00703         Float_t previousGradientVZ = (previousV-twoagoV)/(previousZ-twoagoZ);
00704         Float_t deltaGradientVZ = TMath::Abs(gradientVZ-previousGradientVZ);
00705         if(deltaGradientVZ>maxTwoHitDeltaGradientVZLastFive){
00706           maxTwoHitDeltaGradientVZLastFive = deltaGradientVZ;
00707           maxTwoHitDeltaGradientVZStripLastFive = (istp+1);
00708         }
00709       }
00710 
00711       if((trk->stpx[istp]-twoagoX)!=0. && (previousX-threeagoX)!=0.){
00712         Float_t gradientXY = (trk->stpy[istp]-twoagoY)/(trk->stpx[istp]-twoagoX);
00713         Float_t previousGradientXY = (previousY-threeagoY)/(previousX-threeagoX);
00714         Float_t deltaGradientXY = TMath::Abs(gradientXY-previousGradientXY);
00715         if(deltaGradientXY>maxThreeHitDeltaGradientXYLastFive){
00716           maxThreeHitDeltaGradientXYLastFive = deltaGradientXY;
00717           maxThreeHitDeltaGradientXYStripLastFive = (istp+1);
00718         }
00719       }
00720       if((trk->stpz[istp]-twoagoZ)!=0. && (previousZ-threeagoZ)!=0.){
00721         Float_t gradientUZ = (trk->stpu[istp]-twoagoU)/(trk->stpz[istp]-twoagoZ);
00722         Float_t previousGradientUZ = (previousU-threeagoU)/(previousZ-threeagoZ);
00723         Float_t deltaGradientUZ = TMath::Abs(gradientUZ-previousGradientUZ);
00724         if(deltaGradientUZ>maxThreeHitDeltaGradientUZLastFive){
00725           maxThreeHitDeltaGradientUZLastFive = deltaGradientUZ;
00726           maxThreeHitDeltaGradientUZStripLastFive = (istp+1);
00727         }
00728       }
00729       if((trk->stpz[istp]-twoagoZ)!=0. && (previousZ-threeagoZ)!=0.){
00730         Float_t gradientVZ = (trk->stpv[istp]-twoagoV)/(trk->stpz[istp]-twoagoZ);
00731         Float_t previousGradientVZ = (previousV-threeagoV)/(previousZ-threeagoZ);
00732         Float_t deltaGradientVZ = TMath::Abs(gradientVZ-previousGradientVZ);
00733         if(deltaGradientVZ>maxThreeHitDeltaGradientVZLastFive){
00734           maxThreeHitDeltaGradientVZLastFive = deltaGradientVZ;
00735           maxThreeHitDeltaGradientVZStripLastFive = (istp+1);
00736         }
00737       }
00738 
00739       // Perp. distances
00740       Float_t d12XY = TMath::Sqrt(((threeagoX-twoagoX)*(threeagoX-twoagoX))
00741                                 +((threeagoY-twoagoY)*(threeagoY-twoagoY)));
00742       Float_t d13XY = TMath::Sqrt(((threeagoX-trk->stpx[istp])*(threeagoX-trk->stpx[istp]))
00743                                 +((threeagoY-trk->stpy[istp])*(threeagoY-trk->stpy[istp])));
00744       Float_t d23XY = TMath::Sqrt(((twoagoX-trk->stpx[istp])*(twoagoX-trk->stpx[istp]))
00745                                 +((twoagoY-trk->stpy[istp])*(twoagoY-trk->stpy[istp])));
00746       if(d12XY!=0. && d13XY!=0.){
00747         Float_t thetaXY = TMath::ACos(((d12XY*d12XY)+(d13XY*d13XY)-(d23XY*d23XY))/(2.*d12XY*d13XY));
00748         Float_t perpDistXY = d12XY*TMath::Sin(thetaXY);
00749         if(perpDistXY>maxThreeHitPerpDistXYLastFive){
00750           maxThreeHitPerpDistXYLastFive = perpDistXY;
00751           maxThreeHitPerpDistXYStripLastFive = (istp+1);
00752         }
00753       }
00754       Float_t d12UZ = TMath::Sqrt(((threeagoZ-twoagoZ)*(threeagoZ-twoagoZ))
00755                                 +((threeagoU-twoagoU)*(threeagoU-twoagoU)));
00756       Float_t d13UZ = TMath::Sqrt(((threeagoZ-trk->stpz[istp])*(threeagoZ-trk->stpz[istp]))
00757                                 +((threeagoU-trk->stpu[istp])*(threeagoU-trk->stpu[istp])));
00758       Float_t d23UZ = TMath::Sqrt(((twoagoZ-trk->stpz[istp])*(twoagoZ-trk->stpz[istp]))
00759                                 +((twoagoU-trk->stpu[istp])*(twoagoU-trk->stpu[istp])));
00760       if(d12UZ!=0. && d13UZ!=0.){
00761         Float_t thetaUZ = TMath::ACos(((d12UZ*d12UZ)+(d13UZ*d13UZ)-(d23UZ*d23UZ))/(2.*d12UZ*d13UZ));
00762         Float_t perpDistUZ = d12UZ*TMath::Sin(thetaUZ);
00763         if(perpDistUZ>maxThreeHitPerpDistUZLastFive){
00764           maxThreeHitPerpDistUZLastFive = perpDistUZ;
00765           maxThreeHitPerpDistUZStripLastFive = (istp+1);
00766         }
00767       }
00768       Float_t d12VZ = TMath::Sqrt(((threeagoZ-twoagoZ)*(threeagoZ-twoagoZ))
00769                                 +((threeagoV-twoagoV)*(threeagoV-twoagoV)));
00770       Float_t d13VZ = TMath::Sqrt(((threeagoZ-trk->stpz[istp])*(threeagoZ-trk->stpz[istp]))
00771                                 +((threeagoV-trk->stpv[istp])*(threeagoV-trk->stpv[istp])));
00772       Float_t d23VZ = TMath::Sqrt(((twoagoZ-trk->stpz[istp])*(twoagoZ-trk->stpz[istp]))
00773                                 +((twoagoV-trk->stpv[istp])*(twoagoV-trk->stpv[istp])));
00774       if(d12VZ!=0. && d13VZ!=0.){
00775         Float_t thetaVZ = TMath::ACos(((d12VZ*d12VZ)+(d13VZ*d13VZ)-(d23VZ*d23VZ))/(2.*d12VZ*d13VZ));
00776         Float_t perpDistVZ = d12VZ*TMath::Sin(thetaVZ);
00777         if(perpDistVZ>maxThreeHitPerpDistVZLastFive){
00778           maxThreeHitPerpDistVZLastFive = perpDistVZ;
00779           maxThreeHitPerpDistVZStripLastFive = (istp+1);
00780         }
00781       }
00782     }
00783 
00784 
00785 
00786     // Reset previous information
00787 
00788     threeagoX = twoagoX;
00789     threeagoY = twoagoY;
00790     threeagoZ = twoagoZ;
00791     threeagoU = twoagoU;
00792     threeagoV = twoagoV;
00793     //threeagoPlane = twoagoPlane;
00794 
00795     twoagoX = previousX;
00796     twoagoY = previousY;
00797     twoagoZ = previousZ;
00798     twoagoU = previousU;
00799     twoagoV = previousV;
00800     //twoagoPlane = previousPlane;
00801 
00802     previousX = trk->stpx[istp];
00803     previousY = trk->stpy[istp];
00804     previousZ = trk->stpz[istp];
00805     previousU = trk->stpu[istp];
00806     previousV = trk->stpv[istp];
00807     //previousPlane = stp->plane;
00808 
00809     xpos.push_back(trk->stpx[istp]);
00810     ypos.push_back(trk->stpy[istp]);
00811     upos.push_back(trk->stpu[istp]);
00812     vpos.push_back(trk->stpv[istp]);
00813     zpos.push_back(trk->stpz[istp]);
00814     //planenum.push_back(stp->plane);
00815 
00816   }
00817 
00818   if(insaneVerbosity){
00819 
00820     std::cout << std::endl;
00821 
00822     for(unsigned int i=0;i<xpos.size();i++){
00823       std::cout << "  " << i+1 << " -> " << xpos[i] << " : " << ypos[i]
00824                 << " : " << zpos[i] << " (" << upos[i] << " : " << vpos[i] << ")" << std::endl;
00825       //<< " : " << planenum[i] << std::endl;
00826     }
00827 
00828     std::cout << " -> Calorimeter Summary: " << std::endl;
00829     std::cout << "    Max. delta X  =      " << maxDeltaXCal << std::endl;
00830     std::cout << "                at strip " << maxDeltaXCalStrip << " of " << nTrackStrips << std::endl;  
00831     std::cout << "    Max. delta Y  =      " << maxDeltaYCal << std::endl;
00832     std::cout << "                at strip " << maxDeltaYCalStrip << " of " << nTrackStrips << std::endl;
00833     std::cout << "    Max. delta Z  =      " << maxDeltaZCal << std::endl;
00834     std::cout << "                at strip " << maxDeltaZCalStrip << " of " << nTrackStrips << std::endl;
00835     std::cout << "    Max. delta U  =      " << maxDeltaUCal << std::endl;
00836     std::cout << "                at strip " << maxDeltaUCalStrip << " of " << nTrackStrips << std::endl;
00837     std::cout << "    Max. delta V  =      " << maxDeltaVCal << std::endl;
00838     std::cout << "                at strip " << maxDeltaVCalStrip << " of " << nTrackStrips << std::endl;
00839     //std::cout << "    Max. delta plane   = " << maxDeltaPlaneCal << std::endl;
00840     //std::cout << "                at strip " << maxDeltaPlaneCalStrip << " of " << nTrackStrips << std::endl;
00841     std::cout << std::endl;
00842     std::cout << " -> Spectrometer Summary:" << std::endl;
00843     std::cout << "    Max. delta X  =      " << maxDeltaXSpec << std::endl;
00844     std::cout << "                at strip " << maxDeltaXSpecStrip << " of " << nTrackStrips << std::endl;  
00845     std::cout << "    Max. delta Y  =      " << maxDeltaYSpec << std::endl;
00846     std::cout << "                at strip " << maxDeltaYSpecStrip << " of " << nTrackStrips << std::endl;  
00847     std::cout << "    Max. delta Z  =      " << maxDeltaZSpec << std::endl;
00848     std::cout << "                at strip " << maxDeltaZSpecStrip << " of " << nTrackStrips << std::endl;  
00849     std::cout << "    Max. delta U  =      " << maxDeltaUSpec << std::endl;
00850     std::cout << "                at strip " << maxDeltaUSpecStrip << " of " << nTrackStrips << std::endl;    
00851     std::cout << "    Max. delta V  =      " << maxDeltaVSpec << std::endl;
00852     std::cout << "                at strip " << maxDeltaVSpecStrip << " of " << nTrackStrips << std::endl;    
00853     //std::cout << "    Max. delta plane  =  " << maxDeltaPlaneSpec << std::endl;
00854     //std::cout << "                at strip " << maxDeltaPlaneSpecStrip << " of " << nTrackStrips << std::endl;
00855 
00856   }
00857 
00858 }

void MadMedTrackVars::Calculate ( MadBase mb,
Int_t  evtindex 
)

***************************************************

Definition at line 70 of file MadMedTrackVars.cxx.

References MadBase::GetEvent(), MadBase::GetLargestTrackFromEvent(), MadBase::GetStrip(), insaneVerbosity, maxDeltaPlaneCal, maxDeltaPlaneCalStrip, maxDeltaPlaneSpec, maxDeltaPlaneSpecStrip, maxDeltaUCal, maxDeltaUCalStrip, maxDeltaUSpec, maxDeltaUSpecStrip, maxDeltaVCal, maxDeltaVCalStrip, maxDeltaVSpec, maxDeltaVSpecStrip, maxDeltaXCal, maxDeltaXCalStrip, maxDeltaXSpec, maxDeltaXSpecStrip, maxDeltaYCal, maxDeltaYCalStrip, maxDeltaYSpec, maxDeltaYSpecStrip, maxDeltaZCal, maxDeltaZCalStrip, maxDeltaZSpec, maxDeltaZSpecStrip, maxThreeHitDeltaGradientUZFirstFive, maxThreeHitDeltaGradientUZLastFive, maxThreeHitDeltaGradientUZStripFirstFive, maxThreeHitDeltaGradientUZStripLastFive, maxThreeHitDeltaGradientVZFirstFive, maxThreeHitDeltaGradientVZLastFive, maxThreeHitDeltaGradientVZStripFirstFive, maxThreeHitDeltaGradientVZStripLastFive, maxThreeHitDeltaGradientXYFirstFive, maxThreeHitDeltaGradientXYLastFive, maxThreeHitDeltaGradientXYStripFirstFive, maxThreeHitDeltaGradientXYStripLastFive, maxThreeHitPerpDistUZFirstFive, maxThreeHitPerpDistUZLastFive, maxThreeHitPerpDistUZStripFirstFive, maxThreeHitPerpDistUZStripLastFive, maxThreeHitPerpDistVZFirstFive, maxThreeHitPerpDistVZLastFive, maxThreeHitPerpDistVZStripFirstFive, maxThreeHitPerpDistVZStripLastFive, maxThreeHitPerpDistXYFirstFive, maxThreeHitPerpDistXYLastFive, maxThreeHitPerpDistXYStripFirstFive, maxThreeHitPerpDistXYStripLastFive, maxTwoHitDeltaGradientUZFirstFive, maxTwoHitDeltaGradientUZLastFive, maxTwoHitDeltaGradientUZStripFirstFive, maxTwoHitDeltaGradientUZStripLastFive, maxTwoHitDeltaGradientVZFirstFive, maxTwoHitDeltaGradientVZLastFive, maxTwoHitDeltaGradientVZStripFirstFive, maxTwoHitDeltaGradientVZStripLastFive, maxTwoHitDeltaGradientXYFirstFive, maxTwoHitDeltaGradientXYLastFive, maxTwoHitDeltaGradientXYStripFirstFive, maxTwoHitDeltaGradientXYStripLastFive, NtpSRTrack::nstrip, nTrackStrips, NtpSRStrip::plane, ResetVars(), NtpSRTrack::stp, NtpSRTrack::stpu, NtpSRTrack::stpv, NtpSRTrack::stpx, NtpSRTrack::stpy, and NtpSRTrack::stpz.

00071 {
00072 
00073   ResetVars();
00074 
00075   if(!mb) return;
00076   const NtpSREvent* evt = mb->GetEvent(evtindex);
00077   if(!evt) return;
00078   Int_t track_index = -1;
00079   const NtpSRTrack* trk = mb->GetLargestTrackFromEvent(evtindex,track_index);
00080   if(track_index==-1) return;
00081 
00082   nTrackStrips = trk->nstrip;
00083 
00084   vector<Float_t> xpos;
00085   vector<Float_t> ypos;
00086   vector<Float_t> upos;
00087   vector<Float_t> vpos;
00088   vector<Float_t> zpos;
00089   vector<Int_t> planenum;
00090 
00091   Float_t previousX = 0.;
00092   Float_t previousY = 0.;
00093   Float_t previousZ = 0.;
00094   Float_t previousU = 0.;
00095   Float_t previousV = 0.;
00096   Int_t previousPlane = 0;
00097 
00098   Float_t twoagoX = 0.;
00099   Float_t twoagoY = 0.;
00100   Float_t twoagoZ = 0.;
00101   Float_t twoagoU = 0.;
00102   Float_t twoagoV = 0.;
00103   Int_t twoagoPlane = 0;
00104 
00105   Float_t threeagoX = 0.;
00106   Float_t threeagoY = 0.;
00107   Float_t threeagoZ = 0.;
00108   Float_t threeagoU = 0.;
00109   Float_t threeagoV = 0.;
00110   Int_t threeagoPlane = 0;
00111 
00112   for(Int_t istp=0;istp<nTrackStrips;istp++){
00113     Int_t stpindex = trk->stp[istp];
00114     const NtpSRStrip* stp = mb->GetStrip(stpindex);
00115     if(!stp) continue;
00116 
00117     // Variable ideas:
00118     //   largest delta(plane #) along track (cal/spec)         DONE
00119     //     with track hit number (and total track hit counter)
00120     //   largest delta(x/y/z/u/v) along track (cal/spec)       DONE
00121     //     with track hit number (and total track hit counter)
00122     //   "angles/gradients" for sets of two hits moving along the track from start
00123     //   repeat for sets of three hits?
00124     //   largest delta(angle) for sets of two/three hits
00125     //     again with track hit numbers at which they occur
00126 
00127     if(istp>=1){
00128       // Calorimeter
00129       if((stp->plane)<120 && previousPlane<120){
00130         if((trk->stpx[istp]-previousX)>maxDeltaXCal){
00131           maxDeltaXCal = (trk->stpx[istp]-previousX);
00132           maxDeltaXCalStrip = (istp+1);
00133         }
00134         if((trk->stpy[istp]-previousY)>maxDeltaYCal){
00135           maxDeltaYCal = (trk->stpy[istp]-previousY);
00136           maxDeltaYCalStrip = (istp+1);
00137         }
00138         if((trk->stpz[istp]-previousZ)>maxDeltaZCal){
00139           maxDeltaZCal = (trk->stpz[istp]-previousZ);
00140           maxDeltaZCalStrip = (istp+1);
00141         }
00142         if((trk->stpu[istp]-previousU)>maxDeltaUCal){
00143           maxDeltaUCal = (trk->stpu[istp]-previousU);
00144           maxDeltaUCalStrip = (istp+1);
00145         }
00146         if((trk->stpv[istp]-previousV)>maxDeltaVCal){
00147           maxDeltaVCal = (trk->stpv[istp]-previousV);
00148           maxDeltaVCalStrip = (istp+1);
00149         }
00150         if(((stp->plane)-previousPlane)>maxDeltaPlaneCal){
00151           maxDeltaPlaneCal = ((stp->plane)-previousPlane);
00152           maxDeltaPlaneCalStrip = (istp+1);
00153         }
00154       }
00155       // Spectrometer
00156       else if((stp->plane)>120 && previousPlane>120){
00157         if((trk->stpx[istp]-previousX)>maxDeltaXSpec){
00158           maxDeltaXSpec = (trk->stpx[istp]-previousX);
00159           maxDeltaXSpecStrip = (istp+1);
00160         }
00161         if((trk->stpy[istp]-previousY)>maxDeltaYSpec){
00162           maxDeltaYSpec = (trk->stpy[istp]-previousY);
00163           maxDeltaYSpecStrip = (istp+1);
00164         }
00165         if((trk->stpz[istp]-previousZ)>maxDeltaZSpec){
00166           maxDeltaZSpec = (trk->stpz[istp]-previousZ);
00167           maxDeltaZSpecStrip = (istp+1);
00168         }
00169         if((trk->stpu[istp]-previousU)>maxDeltaUSpec){
00170           maxDeltaUSpec = (trk->stpu[istp]-previousU);
00171           maxDeltaUSpecStrip = (istp+1);
00172         }
00173         if((trk->stpv[istp]-previousV)>maxDeltaVSpec){
00174           maxDeltaVSpec = (trk->stpv[istp]-previousV);
00175           maxDeltaVSpecStrip = (istp+1);
00176         }
00177         if(((stp->plane)-previousPlane)>maxDeltaPlaneSpec){
00178           maxDeltaPlaneSpec = ((stp->plane)-previousPlane);
00179           maxDeltaPlaneSpecStrip = (istp+1);
00180         } 
00181       }
00182     }
00183 
00184     if(istp>=2 && istp<7){
00185       // Gradients
00186       if((trk->stpx[istp]-previousX)!=0. && (previousX-twoagoX)!=0.){
00187         Float_t gradientXY = (trk->stpy[istp]-previousY)/(trk->stpx[istp]-previousX);
00188         Float_t previousGradientXY = (previousY-twoagoY)/(previousX-twoagoX);
00189         Float_t deltaGradientXY = TMath::Abs(gradientXY-previousGradientXY);
00190         if(deltaGradientXY>maxTwoHitDeltaGradientXYFirstFive){
00191           maxTwoHitDeltaGradientXYFirstFive = deltaGradientXY;
00192           maxTwoHitDeltaGradientXYStripFirstFive = (istp+1);
00193         }
00194       }
00195       if((trk->stpz[istp]-previousZ)!=0. && (previousZ-twoagoZ)!=0.){
00196         Float_t gradientUZ = (trk->stpu[istp]-previousU)/(trk->stpz[istp]-previousZ);
00197         Float_t previousGradientUZ = (previousU-twoagoU)/(previousZ-twoagoZ);
00198         Float_t deltaGradientUZ = TMath::Abs(gradientUZ-previousGradientUZ);
00199         if(deltaGradientUZ>maxTwoHitDeltaGradientUZFirstFive){
00200           maxTwoHitDeltaGradientUZFirstFive = deltaGradientUZ;
00201           maxTwoHitDeltaGradientUZStripFirstFive = (istp+1);
00202         }
00203       }
00204       if((trk->stpz[istp]-previousZ)!=0. && (previousZ-twoagoZ)!=0.){
00205         Float_t gradientVZ = (trk->stpv[istp]-previousV)/(trk->stpz[istp]-previousZ);
00206         Float_t previousGradientVZ = (previousV-twoagoV)/(previousZ-twoagoZ);
00207         Float_t deltaGradientVZ = TMath::Abs(gradientVZ-previousGradientVZ);
00208         if(deltaGradientVZ>maxTwoHitDeltaGradientVZFirstFive){
00209           maxTwoHitDeltaGradientVZFirstFive = deltaGradientVZ;
00210           maxTwoHitDeltaGradientVZStripFirstFive = (istp+1);
00211         }
00212       }
00213     }
00214     if(istp>=3 && istp<8){
00215       // Gradients
00216       if((trk->stpx[istp]-twoagoX)!=0. && (previousX-threeagoX)!=0.){
00217         Float_t gradientXY = (trk->stpy[istp]-twoagoY)/(trk->stpx[istp]-twoagoX);
00218         Float_t previousGradientXY = (previousY-threeagoY)/(previousX-threeagoX);
00219         Float_t deltaGradientXY = TMath::Abs(gradientXY-previousGradientXY);
00220         if(deltaGradientXY>maxThreeHitDeltaGradientXYFirstFive){
00221           maxThreeHitDeltaGradientXYFirstFive = deltaGradientXY;
00222           maxThreeHitDeltaGradientXYStripFirstFive = (istp+1);
00223         }
00224       }
00225       if((trk->stpz[istp]-twoagoZ)!=0. && (previousZ-threeagoZ)!=0.){
00226         Float_t gradientUZ = (trk->stpu[istp]-twoagoU)/(trk->stpz[istp]-twoagoZ);
00227         Float_t previousGradientUZ = (previousU-threeagoU)/(previousZ-threeagoZ);
00228         Float_t deltaGradientUZ = TMath::Abs(gradientUZ-previousGradientUZ);
00229         if(deltaGradientUZ>maxThreeHitDeltaGradientUZFirstFive){
00230           maxThreeHitDeltaGradientUZFirstFive = deltaGradientUZ;
00231           maxThreeHitDeltaGradientUZStripFirstFive = (istp+1);
00232         }
00233       }
00234       if((trk->stpz[istp]-twoagoZ)!=0. && (previousZ-threeagoZ)!=0.){
00235         Float_t gradientVZ = (trk->stpv[istp]-twoagoV)/(trk->stpz[istp]-twoagoZ);
00236         Float_t previousGradientVZ = (previousV-threeagoV)/(previousZ-threeagoZ);
00237         Float_t deltaGradientVZ = TMath::Abs(gradientVZ-previousGradientVZ);
00238         if(deltaGradientVZ>maxThreeHitDeltaGradientVZFirstFive){
00239           maxThreeHitDeltaGradientVZFirstFive = deltaGradientVZ;
00240           maxThreeHitDeltaGradientVZStripFirstFive = (istp+1);
00241         }
00242       }
00243 
00244       // Perp. distances
00245       Float_t d12XY = TMath::Sqrt(((threeagoX-twoagoX)*(threeagoX-twoagoX))
00246                                 +((threeagoY-twoagoY)*(threeagoY-twoagoY)));
00247       Float_t d13XY = TMath::Sqrt(((threeagoX-trk->stpx[istp])*(threeagoX-trk->stpx[istp]))
00248                                 +((threeagoY-trk->stpy[istp])*(threeagoY-trk->stpy[istp])));
00249       Float_t d23XY = TMath::Sqrt(((twoagoX-trk->stpx[istp])*(twoagoX-trk->stpx[istp]))
00250                                 +((twoagoY-trk->stpy[istp])*(twoagoY-trk->stpy[istp])));
00251       if(d12XY!=0. && d13XY!=0.){
00252         Float_t thetaXY = TMath::ACos(((d12XY*d12XY)+(d13XY*d13XY)-(d23XY*d23XY))/(2.*d12XY*d13XY));
00253         Float_t perpDistXY = d12XY*TMath::Sin(thetaXY);
00254         if(perpDistXY>maxThreeHitPerpDistXYFirstFive){
00255           maxThreeHitPerpDistXYFirstFive = perpDistXY;
00256           maxThreeHitPerpDistXYStripFirstFive = (istp+1);
00257         }
00258       }
00259       Float_t d12UZ = TMath::Sqrt(((threeagoZ-twoagoZ)*(threeagoZ-twoagoZ))
00260                                 +((threeagoU-twoagoU)*(threeagoU-twoagoU)));
00261       Float_t d13UZ = TMath::Sqrt(((threeagoZ-trk->stpz[istp])*(threeagoZ-trk->stpz[istp]))
00262                                 +((threeagoU-trk->stpu[istp])*(threeagoU-trk->stpu[istp])));
00263       Float_t d23UZ = TMath::Sqrt(((twoagoZ-trk->stpz[istp])*(twoagoZ-trk->stpz[istp]))
00264                                 +((twoagoU-trk->stpu[istp])*(twoagoU-trk->stpu[istp])));
00265       if(d12UZ!=0. && d13UZ!=0.){
00266         Float_t thetaUZ = TMath::ACos(((d12UZ*d12UZ)+(d13UZ*d13UZ)-(d23UZ*d23UZ))/(2.*d12UZ*d13UZ));
00267         Float_t perpDistUZ = d12UZ*TMath::Sin(thetaUZ);
00268         if(perpDistUZ>maxThreeHitPerpDistUZFirstFive){
00269           maxThreeHitPerpDistUZFirstFive = perpDistUZ;
00270           maxThreeHitPerpDistUZStripFirstFive = (istp+1);
00271         }
00272       }
00273       Float_t d12VZ = TMath::Sqrt(((threeagoZ-twoagoZ)*(threeagoZ-twoagoZ))
00274                                 +((threeagoV-twoagoV)*(threeagoV-twoagoV)));
00275       Float_t d13VZ = TMath::Sqrt(((threeagoZ-trk->stpz[istp])*(threeagoZ-trk->stpz[istp]))
00276                                 +((threeagoV-trk->stpv[istp])*(threeagoV-trk->stpv[istp])));
00277       Float_t d23VZ = TMath::Sqrt(((twoagoZ-trk->stpz[istp])*(twoagoZ-trk->stpz[istp]))
00278                                 +((twoagoV-trk->stpv[istp])*(twoagoV-trk->stpv[istp])));
00279       if(d12VZ!=0. && d13VZ!=0.){
00280         Float_t thetaVZ = TMath::ACos(((d12VZ*d12VZ)+(d13VZ*d13VZ)-(d23VZ*d23VZ))/(2.*d12VZ*d13VZ));
00281         Float_t perpDistVZ = d12VZ*TMath::Sin(thetaVZ);
00282         if(perpDistVZ>maxThreeHitPerpDistVZFirstFive){
00283           maxThreeHitPerpDistVZFirstFive = perpDistVZ;
00284           maxThreeHitPerpDistVZStripFirstFive = (istp+1);
00285         }
00286       }
00287     }
00288     if(istp>=(nTrackStrips-5)){
00289       // Gradients
00290       if((trk->stpx[istp]-previousX)!=0. && (previousX-twoagoX)!=0.){
00291         Float_t gradientXY = (trk->stpy[istp]-previousY)/(trk->stpx[istp]-previousX);
00292         Float_t previousGradientXY = (previousY-twoagoY)/(previousX-twoagoX);
00293         Float_t deltaGradientXY = TMath::Abs(gradientXY-previousGradientXY);
00294         if(deltaGradientXY>maxTwoHitDeltaGradientXYLastFive){
00295           maxTwoHitDeltaGradientXYLastFive = deltaGradientXY;
00296           maxTwoHitDeltaGradientXYStripLastFive = (istp+1);
00297         }
00298       }
00299       if((trk->stpz[istp]-previousZ)!=0. && (previousZ-twoagoZ)!=0.){
00300         Float_t gradientUZ = (trk->stpu[istp]-previousU)/(trk->stpz[istp]-previousZ);
00301         Float_t previousGradientUZ = (previousU-twoagoU)/(previousZ-twoagoZ);
00302         Float_t deltaGradientUZ = TMath::Abs(gradientUZ-previousGradientUZ);
00303         if(deltaGradientUZ>maxTwoHitDeltaGradientUZLastFive){
00304           maxTwoHitDeltaGradientUZLastFive = deltaGradientUZ;
00305           maxTwoHitDeltaGradientUZStripLastFive = (istp+1);
00306         }
00307       }
00308       if((trk->stpz[istp]-previousZ)!=0. && (previousZ-twoagoZ)!=0.){
00309         Float_t gradientVZ = (trk->stpv[istp]-previousV)/(trk->stpz[istp]-previousZ);
00310         Float_t previousGradientVZ = (previousV-twoagoV)/(previousZ-twoagoZ);
00311         Float_t deltaGradientVZ = TMath::Abs(gradientVZ-previousGradientVZ);
00312         if(deltaGradientVZ>maxTwoHitDeltaGradientVZLastFive){
00313           maxTwoHitDeltaGradientVZLastFive = deltaGradientVZ;
00314           maxTwoHitDeltaGradientVZStripLastFive = (istp+1);
00315         }
00316       }
00317 
00318       if((trk->stpx[istp]-twoagoX)!=0. && (previousX-threeagoX)!=0.){
00319         Float_t gradientXY = (trk->stpy[istp]-twoagoY)/(trk->stpx[istp]-twoagoX);
00320         Float_t previousGradientXY = (previousY-threeagoY)/(previousX-threeagoX);
00321         Float_t deltaGradientXY = TMath::Abs(gradientXY-previousGradientXY);
00322         if(deltaGradientXY>maxThreeHitDeltaGradientXYLastFive){
00323           maxThreeHitDeltaGradientXYLastFive = deltaGradientXY;
00324           maxThreeHitDeltaGradientXYStripLastFive = (istp+1);
00325         }
00326       }
00327       if((trk->stpz[istp]-twoagoZ)!=0. && (previousZ-threeagoZ)!=0.){
00328         Float_t gradientUZ = (trk->stpu[istp]-twoagoU)/(trk->stpz[istp]-twoagoZ);
00329         Float_t previousGradientUZ = (previousU-threeagoU)/(previousZ-threeagoZ);
00330         Float_t deltaGradientUZ = TMath::Abs(gradientUZ-previousGradientUZ);
00331         if(deltaGradientUZ>maxThreeHitDeltaGradientUZLastFive){
00332           maxThreeHitDeltaGradientUZLastFive = deltaGradientUZ;
00333           maxThreeHitDeltaGradientUZStripLastFive = (istp+1);
00334         }
00335       }
00336       if((trk->stpz[istp]-twoagoZ)!=0. && (previousZ-threeagoZ)!=0.){
00337         Float_t gradientVZ = (trk->stpv[istp]-twoagoV)/(trk->stpz[istp]-twoagoZ);
00338         Float_t previousGradientVZ = (previousV-threeagoV)/(previousZ-threeagoZ);
00339         Float_t deltaGradientVZ = TMath::Abs(gradientVZ-previousGradientVZ);
00340         if(deltaGradientVZ>maxThreeHitDeltaGradientVZLastFive){
00341           maxThreeHitDeltaGradientVZLastFive = deltaGradientVZ;
00342           maxThreeHitDeltaGradientVZStripLastFive = (istp+1);
00343         }
00344       }
00345 
00346       // Perp. distances
00347       Float_t d12XY = TMath::Sqrt(((threeagoX-twoagoX)*(threeagoX-twoagoX))
00348                                 +((threeagoY-twoagoY)*(threeagoY-twoagoY)));
00349       Float_t d13XY = TMath::Sqrt(((threeagoX-trk->stpx[istp])*(threeagoX-trk->stpx[istp]))
00350                                 +((threeagoY-trk->stpy[istp])*(threeagoY-trk->stpy[istp])));
00351       Float_t d23XY = TMath::Sqrt(((twoagoX-trk->stpx[istp])*(twoagoX-trk->stpx[istp]))
00352                                 +((twoagoY-trk->stpy[istp])*(twoagoY-trk->stpy[istp])));
00353       if(d12XY!=0. && d13XY!=0.){
00354         Float_t thetaXY = TMath::ACos(((d12XY*d12XY)+(d13XY*d13XY)-(d23XY*d23XY))/(2.*d12XY*d13XY));
00355         Float_t perpDistXY = d12XY*TMath::Sin(thetaXY);
00356         if(perpDistXY>maxThreeHitPerpDistXYLastFive){
00357           maxThreeHitPerpDistXYLastFive = perpDistXY;
00358           maxThreeHitPerpDistXYStripLastFive = (istp+1);
00359         }
00360       }
00361       Float_t d12UZ = TMath::Sqrt(((threeagoZ-twoagoZ)*(threeagoZ-twoagoZ))
00362                                 +((threeagoU-twoagoU)*(threeagoU-twoagoU)));
00363       Float_t d13UZ = TMath::Sqrt(((threeagoZ-trk->stpz[istp])*(threeagoZ-trk->stpz[istp]))
00364                                 +((threeagoU-trk->stpu[istp])*(threeagoU-trk->stpu[istp])));
00365       Float_t d23UZ = TMath::Sqrt(((twoagoZ-trk->stpz[istp])*(twoagoZ-trk->stpz[istp]))
00366                                 +((twoagoU-trk->stpu[istp])*(twoagoU-trk->stpu[istp])));
00367       if(d12UZ!=0. && d13UZ!=0.){
00368         Float_t thetaUZ = TMath::ACos(((d12UZ*d12UZ)+(d13UZ*d13UZ)-(d23UZ*d23UZ))/(2.*d12UZ*d13UZ));
00369         Float_t perpDistUZ = d12UZ*TMath::Sin(thetaUZ);
00370         if(perpDistUZ>maxThreeHitPerpDistUZLastFive){
00371           maxThreeHitPerpDistUZLastFive = perpDistUZ;
00372           maxThreeHitPerpDistUZStripLastFive = (istp+1);
00373         }
00374       }
00375       Float_t d12VZ = TMath::Sqrt(((threeagoZ-twoagoZ)*(threeagoZ-twoagoZ))
00376                                 +((threeagoV-twoagoV)*(threeagoV-twoagoV)));
00377       Float_t d13VZ = TMath::Sqrt(((threeagoZ-trk->stpz[istp])*(threeagoZ-trk->stpz[istp]))
00378                                 +((threeagoV-trk->stpv[istp])*(threeagoV-trk->stpv[istp])));
00379       Float_t d23VZ = TMath::Sqrt(((twoagoZ-trk->stpz[istp])*(twoagoZ-trk->stpz[istp]))
00380                                 +((twoagoV-trk->stpv[istp])*(twoagoV-trk->stpv[istp])));
00381       if(d12VZ!=0. && d13VZ!=0.){
00382         Float_t thetaVZ = TMath::ACos(((d12VZ*d12VZ)+(d13VZ*d13VZ)-(d23VZ*d23VZ))/(2.*d12VZ*d13VZ));
00383         Float_t perpDistVZ = d12VZ*TMath::Sin(thetaVZ);
00384         if(perpDistVZ>maxThreeHitPerpDistVZLastFive){
00385           maxThreeHitPerpDistVZLastFive = perpDistVZ;
00386           maxThreeHitPerpDistVZStripLastFive = (istp+1);
00387         }
00388       }
00389     }
00390 
00391 
00392 
00393     // Reset previous information
00394 
00395     threeagoX = twoagoX;
00396     threeagoY = twoagoY;
00397     threeagoZ = twoagoZ;
00398     threeagoU = twoagoU;
00399     threeagoV = twoagoV;
00400     threeagoPlane = twoagoPlane;
00401 
00402     twoagoX = previousX;
00403     twoagoY = previousY;
00404     twoagoZ = previousZ;
00405     twoagoU = previousU;
00406     twoagoV = previousV;
00407     twoagoPlane = previousPlane;
00408 
00409     previousX = trk->stpx[istp];
00410     previousY = trk->stpy[istp];
00411     previousZ = trk->stpz[istp];
00412     previousU = trk->stpu[istp];
00413     previousV = trk->stpv[istp];
00414     previousPlane = stp->plane;
00415 
00416     xpos.push_back(trk->stpx[istp]);
00417     ypos.push_back(trk->stpy[istp]);
00418     upos.push_back(trk->stpu[istp]);
00419     vpos.push_back(trk->stpv[istp]);
00420     zpos.push_back(trk->stpz[istp]);
00421     planenum.push_back(stp->plane);
00422 
00423   }
00424 
00425   if(insaneVerbosity){
00426 
00427     std::cout << std::endl;
00428 
00429     for(unsigned int i=0;i<xpos.size();i++){
00430       std::cout << "  " << i+1 << " -> " << xpos[i] << " : " << ypos[i]
00431                 << " : " << zpos[i] << " (" << upos[i] << " : " << vpos[i] << ")" 
00432                 << " : " << planenum[i] << std::endl;
00433     }
00434 
00435     std::cout << " -> Calorimeter Summary: " << std::endl;
00436     std::cout << "    Max. delta X  =      " << maxDeltaXCal << std::endl;
00437     std::cout << "                at strip " << maxDeltaXCalStrip << " of " << nTrackStrips << std::endl;  
00438     std::cout << "    Max. delta Y  =      " << maxDeltaYCal << std::endl;
00439     std::cout << "                at strip " << maxDeltaYCalStrip << " of " << nTrackStrips << std::endl;
00440     std::cout << "    Max. delta Z  =      " << maxDeltaZCal << std::endl;
00441     std::cout << "                at strip " << maxDeltaZCalStrip << " of " << nTrackStrips << std::endl;
00442     std::cout << "    Max. delta U  =      " << maxDeltaUCal << std::endl;
00443     std::cout << "                at strip " << maxDeltaUCalStrip << " of " << nTrackStrips << std::endl;
00444     std::cout << "    Max. delta V  =      " << maxDeltaVCal << std::endl;
00445     std::cout << "                at strip " << maxDeltaVCalStrip << " of " << nTrackStrips << std::endl;
00446     std::cout << "    Max. delta plane   = " << maxDeltaPlaneCal << std::endl;
00447     std::cout << "                at strip " << maxDeltaPlaneCalStrip << " of " << nTrackStrips << std::endl;
00448     std::cout << std::endl;
00449     std::cout << " -> Spectrometer Summary:" << std::endl;
00450     std::cout << "    Max. delta X  =      " << maxDeltaXSpec << std::endl;
00451     std::cout << "                at strip " << maxDeltaXSpecStrip << " of " << nTrackStrips << std::endl;  
00452     std::cout << "    Max. delta Y  =      " << maxDeltaYSpec << std::endl;
00453     std::cout << "                at strip " << maxDeltaYSpecStrip << " of " << nTrackStrips << std::endl;  
00454     std::cout << "    Max. delta Z  =      " << maxDeltaZSpec << std::endl;
00455     std::cout << "                at strip " << maxDeltaZSpecStrip << " of " << nTrackStrips << std::endl;  
00456     std::cout << "    Max. delta U  =      " << maxDeltaUSpec << std::endl;
00457     std::cout << "                at strip " << maxDeltaUSpecStrip << " of " << nTrackStrips << std::endl;    
00458     std::cout << "    Max. delta V  =      " << maxDeltaVSpec << std::endl;
00459     std::cout << "                at strip " << maxDeltaVSpecStrip << " of " << nTrackStrips << std::endl;    
00460     std::cout << "    Max. delta plane  =  " << maxDeltaPlaneSpec << std::endl;
00461     std::cout << "                at strip " << maxDeltaPlaneSpecStrip << " of " << nTrackStrips << std::endl;
00462 
00463   }
00464 
00465 }

bool MadMedTrackVars::GetInsaneVerbosity (  )  [inline]

Definition at line 17 of file MadMedTrackVars.h.

References insaneVerbosity.

00017 {return insaneVerbosity;}

void MadMedTrackVars::ResetVars (  ) 

***************************************************

Definition at line 861 of file MadMedTrackVars.cxx.

References maxDeltaPlaneCal, maxDeltaPlaneCalStrip, maxDeltaPlaneSpec, maxDeltaPlaneSpecStrip, maxDeltaUCal, maxDeltaUCalStrip, maxDeltaUSpec, maxDeltaUSpecStrip, maxDeltaVCal, maxDeltaVCalStrip, maxDeltaVSpec, maxDeltaVSpecStrip, maxDeltaXCal, maxDeltaXCalStrip, maxDeltaXSpec, maxDeltaXSpecStrip, maxDeltaYCal, maxDeltaYCalStrip, maxDeltaYSpec, maxDeltaYSpecStrip, maxDeltaZCal, maxDeltaZCalStrip, maxDeltaZSpec, maxDeltaZSpecStrip, maxThreeHitDeltaGradientUZFirstFive, maxThreeHitDeltaGradientUZLastFive, maxThreeHitDeltaGradientUZStripFirstFive, maxThreeHitDeltaGradientUZStripLastFive, maxThreeHitDeltaGradientVZFirstFive, maxThreeHitDeltaGradientVZLastFive, maxThreeHitDeltaGradientVZStripFirstFive, maxThreeHitDeltaGradientVZStripLastFive, maxThreeHitDeltaGradientXYFirstFive, maxThreeHitDeltaGradientXYLastFive, maxThreeHitDeltaGradientXYStripFirstFive, maxThreeHitDeltaGradientXYStripLastFive, maxThreeHitPerpDistUZFirstFive, maxThreeHitPerpDistUZLastFive, maxThreeHitPerpDistUZStripFirstFive, maxThreeHitPerpDistUZStripLastFive, maxThreeHitPerpDistVZFirstFive, maxThreeHitPerpDistVZLastFive, maxThreeHitPerpDistVZStripFirstFive, maxThreeHitPerpDistVZStripLastFive, maxThreeHitPerpDistXYFirstFive, maxThreeHitPerpDistXYLastFive, maxThreeHitPerpDistXYStripFirstFive, maxThreeHitPerpDistXYStripLastFive, maxTwoHitDeltaGradientUZFirstFive, maxTwoHitDeltaGradientUZLastFive, maxTwoHitDeltaGradientUZStripFirstFive, maxTwoHitDeltaGradientUZStripLastFive, maxTwoHitDeltaGradientVZFirstFive, maxTwoHitDeltaGradientVZLastFive, maxTwoHitDeltaGradientVZStripFirstFive, maxTwoHitDeltaGradientVZStripLastFive, maxTwoHitDeltaGradientXYFirstFive, maxTwoHitDeltaGradientXYLastFive, maxTwoHitDeltaGradientXYStripFirstFive, maxTwoHitDeltaGradientXYStripLastFive, and nTrackStrips.

Referenced by Calculate().

00862 {
00863   nTrackStrips = 0;
00864 
00865   maxDeltaXCal = -1.;
00866   maxDeltaXCalStrip = -1;
00867   maxDeltaXSpec = -1.;
00868   maxDeltaXSpecStrip = -1;
00869 
00870   maxDeltaYCal = -1.;
00871   maxDeltaYCalStrip = -1;
00872   maxDeltaYSpec = -1.;
00873   maxDeltaYSpecStrip = -1;
00874 
00875   maxDeltaZCal = -1.;
00876   maxDeltaZCalStrip = -1;
00877   maxDeltaZSpec = -1.;
00878   maxDeltaZSpecStrip = -1;
00879 
00880   maxDeltaUCal = -1.;
00881   maxDeltaUCalStrip = -1;
00882   maxDeltaUSpec = -1.;
00883   maxDeltaUSpecStrip = -1;
00884 
00885   maxDeltaVCal = -1.;
00886   maxDeltaVCalStrip = -1;
00887   maxDeltaVSpec = -1.;
00888   maxDeltaVSpecStrip = -1;
00889 
00890   maxDeltaPlaneCal = -1;
00891   maxDeltaPlaneCalStrip = -1;
00892   maxDeltaPlaneSpec = -1;
00893   maxDeltaPlaneSpecStrip = -1;
00894 
00895   maxTwoHitDeltaGradientXYFirstFive = -1.;
00896   maxTwoHitDeltaGradientXYStripFirstFive = -1;
00897   maxThreeHitDeltaGradientXYFirstFive = -1.;
00898   maxThreeHitDeltaGradientXYStripFirstFive = -1;
00899   maxThreeHitPerpDistXYFirstFive = -1.;
00900   maxThreeHitPerpDistXYStripFirstFive = -1;
00901 
00902   maxTwoHitDeltaGradientXYLastFive = -1.;
00903   maxTwoHitDeltaGradientXYStripLastFive = -1;
00904   maxThreeHitDeltaGradientXYLastFive = -1.;
00905   maxThreeHitDeltaGradientXYStripLastFive = -1;
00906   maxThreeHitPerpDistXYLastFive = -1.;
00907   maxThreeHitPerpDistXYStripLastFive = -1;
00908 
00909   maxTwoHitDeltaGradientUZFirstFive = -1.;
00910   maxTwoHitDeltaGradientUZStripFirstFive = -1;
00911   maxThreeHitDeltaGradientUZFirstFive = -1.;
00912   maxThreeHitDeltaGradientUZStripFirstFive = -1;
00913   maxThreeHitPerpDistUZFirstFive = -1.;
00914   maxThreeHitPerpDistUZStripFirstFive = -1;
00915 
00916   maxTwoHitDeltaGradientUZLastFive = -1.;
00917   maxTwoHitDeltaGradientUZStripLastFive = -1;
00918   maxThreeHitDeltaGradientUZLastFive = -1.;
00919   maxThreeHitDeltaGradientUZStripLastFive = -1;
00920   maxThreeHitPerpDistUZLastFive = -1.;
00921   maxThreeHitPerpDistUZStripLastFive = -1;
00922 
00923   maxTwoHitDeltaGradientVZFirstFive = -1.;
00924   maxTwoHitDeltaGradientVZStripFirstFive = -1;
00925   maxThreeHitDeltaGradientVZFirstFive = -1.;
00926   maxThreeHitDeltaGradientVZStripFirstFive = -1;
00927   maxThreeHitPerpDistVZFirstFive = -1.;
00928   maxThreeHitPerpDistVZStripFirstFive = -1;
00929 
00930   maxTwoHitDeltaGradientVZLastFive = -1.;
00931   maxTwoHitDeltaGradientVZStripLastFive = -1;
00932   maxThreeHitDeltaGradientVZLastFive = -1.;
00933   maxThreeHitDeltaGradientVZStripLastFive = -1;
00934   maxThreeHitPerpDistVZLastFive = -1.;
00935   maxThreeHitPerpDistVZStripLastFive = -1;
00936 }

void MadMedTrackVars::SetInsaneVerbosity ( bool  tof  )  [inline]

Definition at line 16 of file MadMedTrackVars.h.

References insaneVerbosity.

00016 {insaneVerbosity = tof;}


Member Data Documentation

Definition at line 95 of file MadMedTrackVars.h.

Referenced by Calculate(), GetInsaneVerbosity(), and SetInsaneVerbosity().

Definition at line 46 of file MadMedTrackVars.h.

Referenced by Calculate(), and ResetVars().

Definition at line 47 of file MadMedTrackVars.h.

Referenced by Calculate(), and ResetVars().

Definition at line 48 of file MadMedTrackVars.h.

Referenced by Calculate(), and ResetVars().

Definition at line 49 of file MadMedTrackVars.h.

Referenced by Calculate(), and ResetVars().

Definition at line 36 of file MadMedTrackVars.h.

Referenced by Calculate(), and ResetVars().

Definition at line 37 of file MadMedTrackVars.h.

Referenced by Calculate(), and ResetVars().

Definition at line 38 of file MadMedTrackVars.h.

Referenced by Calculate(), and ResetVars().

Definition at line 39 of file MadMedTrackVars.h.

Referenced by Calculate(), and ResetVars().

Definition at line 41 of file MadMedTrackVars.h.

Referenced by Calculate(), and ResetVars().

Definition at line 42 of file MadMedTrackVars.h.

Referenced by Calculate(), and ResetVars().

Definition at line 43 of file MadMedTrackVars.h.

Referenced by Calculate(), and ResetVars().

Definition at line 44 of file MadMedTrackVars.h.

Referenced by Calculate(), and ResetVars().

Definition at line 21 of file MadMedTrackVars.h.

Referenced by Calculate(), and ResetVars().

Definition at line 22 of file MadMedTrackVars.h.

Referenced by Calculate(), and ResetVars().

Definition at line 23 of file MadMedTrackVars.h.

Referenced by Calculate(), and ResetVars().

Definition at line 24 of file MadMedTrackVars.h.

Referenced by Calculate(), and ResetVars().

Definition at line 26 of file MadMedTrackVars.h.

Referenced by Calculate(), and ResetVars().

Definition at line 27 of file MadMedTrackVars.h.

Referenced by Calculate(), and ResetVars().

Definition at line 28 of file MadMedTrackVars.h.

Referenced by Calculate(), and ResetVars().

Definition at line 29 of file MadMedTrackVars.h.

Referenced by Calculate(), and ResetVars().

Definition at line 31 of file MadMedTrackVars.h.

Referenced by Calculate(), and ResetVars().

Definition at line 32 of file MadMedTrackVars.h.

Referenced by Calculate(), and ResetVars().

Definition at line 33 of file MadMedTrackVars.h.

Referenced by Calculate(), and ResetVars().

Definition at line 34 of file MadMedTrackVars.h.

Referenced by Calculate(), and ResetVars().

Definition at line 67 of file MadMedTrackVars.h.

Referenced by Calculate(), and ResetVars().

Definition at line 74 of file MadMedTrackVars.h.

Referenced by Calculate(), and ResetVars().

Definition at line 68 of file MadMedTrackVars.h.

Referenced by Calculate(), and ResetVars().

Definition at line 75 of file MadMedTrackVars.h.

Referenced by Calculate(), and ResetVars().

Definition at line 81 of file MadMedTrackVars.h.

Referenced by Calculate(), and ResetVars().

Definition at line 88 of file MadMedTrackVars.h.

Referenced by Calculate(), and ResetVars().

Definition at line 82 of file MadMedTrackVars.h.

Referenced by Calculate(), and ResetVars().

Definition at line 89 of file MadMedTrackVars.h.

Referenced by Calculate(), and ResetVars().

Definition at line 53 of file MadMedTrackVars.h.

Referenced by Calculate(), and ResetVars().

Definition at line 60 of file MadMedTrackVars.h.

Referenced by Calculate(), and ResetVars().

Definition at line 54 of file MadMedTrackVars.h.

Referenced by Calculate(), and ResetVars().

Definition at line 61 of file MadMedTrackVars.h.

Referenced by Calculate(), and ResetVars().

Definition at line 69 of file MadMedTrackVars.h.

Referenced by Calculate(), and ResetVars().

Definition at line 76 of file MadMedTrackVars.h.

Referenced by Calculate(), and ResetVars().

Definition at line 70 of file MadMedTrackVars.h.

Referenced by Calculate(), and ResetVars().

Definition at line 77 of file MadMedTrackVars.h.

Referenced by Calculate(), and ResetVars().

Definition at line 83 of file MadMedTrackVars.h.

Referenced by Calculate(), and ResetVars().

Definition at line 90 of file MadMedTrackVars.h.

Referenced by Calculate(), and ResetVars().

Definition at line 84 of file MadMedTrackVars.h.

Referenced by Calculate(), and ResetVars().

Definition at line 91 of file MadMedTrackVars.h.

Referenced by Calculate(), and ResetVars().

Definition at line 55 of file MadMedTrackVars.h.

Referenced by Calculate(), and ResetVars().

Definition at line 62 of file MadMedTrackVars.h.

Referenced by Calculate(), and ResetVars().

Definition at line 56 of file MadMedTrackVars.h.

Referenced by Calculate(), and ResetVars().

Definition at line 63 of file MadMedTrackVars.h.

Referenced by Calculate(), and ResetVars().

Definition at line 65 of file MadMedTrackVars.h.

Referenced by Calculate(), and ResetVars().

Definition at line 72 of file MadMedTrackVars.h.

Referenced by Calculate(), and ResetVars().

Definition at line 66 of file MadMedTrackVars.h.

Referenced by Calculate(), and ResetVars().

Definition at line 73 of file MadMedTrackVars.h.

Referenced by Calculate(), and ResetVars().

Definition at line 79 of file MadMedTrackVars.h.

Referenced by Calculate(), and ResetVars().

Definition at line 86 of file MadMedTrackVars.h.

Referenced by Calculate(), and ResetVars().

Definition at line 80 of file MadMedTrackVars.h.

Referenced by Calculate(), and ResetVars().

Definition at line 87 of file MadMedTrackVars.h.

Referenced by Calculate(), and ResetVars().

Definition at line 51 of file MadMedTrackVars.h.

Referenced by Calculate(), and ResetVars().

Definition at line 58 of file MadMedTrackVars.h.

Referenced by Calculate(), and ResetVars().

Definition at line 52 of file MadMedTrackVars.h.

Referenced by Calculate(), and ResetVars().

Definition at line 59 of file MadMedTrackVars.h.

Referenced by Calculate(), and ResetVars().

Definition at line 19 of file MadMedTrackVars.h.

Referenced by Calculate(), and ResetVars().


The documentation for this class was generated from the following files:

Generated on 22 Nov 2017 for loon by  doxygen 1.6.1