Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

BagTreeAna.cxx

Go to the documentation of this file.
00001 
00016 #include "NueAna/BagTreeAna.h"
00017 #include "NueAna/NueAnaTools/NueConvention.h"
00018 #include "NueAna/NueRecord.h"
00019 #include "AnalysisNtuples/ANtpDefaultValue.h"
00020 #include "MessageService/MsgService.h"
00021 
00022 CVSID("$Id: BagTreeAna.cxx,v 1.1 2007/10/22 15:59:27 boehm Exp $");
00023 
00024 DecisionTreeReader BagTreeAna::heBag;
00025 
00026 ClassImp(BagTreeAna)
00027 
00028 BagTreeAna::BagTreeAna(NueRecord &nr, BagTree &tp):
00029     nueRec(nr),
00030     fbt(tp)
00031 {
00032    static bool first = true;
00033    if(first){
00034 //     if(!heBag.CreateFromFile("/afs/fnal.gov/files/home/room3/boehm/NueAnaRuns/TreeReader/Test/BagTree_l5_n500_c5.txt"));
00035 
00036      first = false;
00037    }
00038 
00039 
00040 
00041 }
00042 
00043 BagTreeAna::~BagTreeAna()
00044 {}
00045 
00046 void BagTreeAna::Analyze()
00047 {
00048     NueRecord *nr=&nueRec;
00049 
00050    Double_t AvgIDU,AvgIDV,AvgProbEMU,AvgProbEMV;
00051    double E2to1U, E2to1V; //, ubeam, vbeam;                                                                               
00052    double fract_road;
00053    double fv_3_planes, fv_4_planes, fv_5_planes, fv_6_planes;
00054    double fv_4_count, fv_8_count, fv_10_count, fv_12_count;
00055    double abtrackphmean;
00056    double uv_molrad_sum;
00057    double uvbeam;
00058    double uvbeamsum;
00059    double SSVar1, SSVar2, SSVar3;
00060    double mstVar1;
00061    double SSVar4, SSVar5;
00062    double trkrat, shwrat;
00063    double ob1, eb1;
00064                                                                                 
00065    double  input[30];
00066                                                                                 
00067 
00068     int evtplanes = nr->srevent.planes;
00069     int shwplanes = nr->srshower.planes;
00070     int trklikeplanes = nr->srtrack.trklikePlanes;
00071                                                                                 
00072     trkrat = shwrat = 0;
00073     if(evtplanes > 0){
00074              trkrat = double(trklikeplanes)/double(evtplanes);
00075              shwrat = double(shwplanes)/double(evtplanes);
00076     }
00077                                                                                
00078     double t1 = nr->shwfit.UBeamLike;
00079     double t2 = nr->shwfit.VBeamLike;
00080     if(t1 < -1000) uvbeam = uvbeamsum = t1;
00081     else if(t2 < -1000) uvbeam = uvbeamsum = t2;
00082     else{   uvbeam = t1*t2;   uvbeamsum= t1 + t2;    }
00083                                                                                 
00084     t2 = nr->shwfit.u_molrad_peak;
00085     t2 = nr->shwfit.v_molrad_peak;
00086                                                                                
00087     if(t1 < -1000) uv_molrad_sum = t1;
00088     else if(t2 < -1000) uv_molrad_sum = t2;
00089     else{   uv_molrad_sum = t1 + t2;          }
00090                                                                                 
00091     fract_road = nr->fracvars.fract_road;
00092     fv_3_planes = nr->fracvars.fract_3_planes;
00093     fv_4_planes = nr->fracvars.fract_4_planes;
00094     fv_5_planes = nr->fracvars.fract_5_planes;
00095     fv_6_planes = nr->fracvars.fract_6_planes;
00096     fv_4_count = nr->fracvars.fract_4_counters;
00097     fv_8_count = nr->fracvars.fract_8_counters;
00098     fv_10_count = nr->fracvars.fract_10_counters;
00099     fv_12_count = nr->fracvars.fract_12_counters;
00100             abtrackphmean = nr->anainfo.abtrackphmean;
00101                                                                                 
00102             AvgIDU = nr->subshowervars.PHAvgIDU;
00103             AvgIDV = nr->subshowervars.PHAvgIDV;
00104             AvgProbEMU = nr->subshowervars.PHAvgProbEMU;
00105             AvgProbEMV = nr->subshowervars.PHAvgProbEMV;
00106             E2to1U = nr->subshowervars.E2to1U;
00107             E2to1V = nr->subshowervars.E2to1V;
00108             ob1 = nr->mstvars.ob1;
00109             eb1 = nr->mstvars.eb1;
00110       SSVar1 = SSVar2 = SSVar3 = SSVar4 = SSVar5 = -9999;
00111             mstVar1 = -9999;
00112                                                                                 
00113             if(AvgIDU > -1000 &&  AvgIDV > -1000) SSVar1 = AvgIDU + AvgIDV;
00114             if(AvgProbEMU > -1000 && AvgProbEMV > -1000){
00115               SSVar2 = AvgProbEMU*AvgProbEMU + AvgProbEMV*AvgProbEMV;
00116               SSVar3 = AvgProbEMU + AvgProbEMV;
00117             }
00118             if(E2to1U > -1000 && E2to1V > -1000){
00119               SSVar4 = E2to1U + E2to1V;
00120               SSVar5 = E2to1V*E2to1V + E2to1U*E2to1U;
00121             }
00122                                                                                 
00123      if(ob1 > -1000 && eb1 > -1000)
00124                mstVar1 = ob1*ob1 + eb1*eb1;
00125                                                                                 
00126                                                                                 
00127      input[0] =   nr->shwfit.uv_molrad_peak;
00128      input[1] =   nr->shwfit.uv_kurt;
00129      input[2] =  nr->fracvars.fract_road;
00130      input[3] =  nr->fracvars.fract_3_planes;
00131      input[4] =    fv_4_planes;
00132      input[5] =    fv_5_planes;
00133      input[6] =    fv_6_planes;
00134      input[7] =    fv_4_count;
00135      input[8] =    fv_8_count;
00136      input[9] =    fv_10_count;
00137      input[10] =   fv_12_count;
00138      input[11] =    nr->shwfit.uv_skew;
00139      input[12] =  abtrackphmean;
00140      input[13] =   uv_molrad_sum;
00141      input[14] =    uvbeam;
00142      input[15] =  uvbeamsum;
00143      input[16] =    nr->shwfit.par_b;
00144      input[17] =   nr->shwfit.uv_rms;
00145      input[18] =   SSVar1;
00146      input[19] =   SSVar2;
00147      input[20] =   SSVar3;
00148      input[21] =  SSVar4;
00149      input[22] =   SSVar5;
00150      input[23] =   mstVar1;
00151      input[24] =   trkrat;
00152      input[25] =   shwrat;
00153      input[26] =    ob1;
00154      input[27] =    eb1;
00155  
00156 //     fbt.hePID = heBag.Evaluate(input,28);
00157                             
00158 }
00159   
00160 void BagTreeAna::Reset()
00161 {}

Generated on Mon Feb 15 11:06:23 2010 for loon by  doxygen 1.3.9.1