StdHepInfoAna Class Reference

#include <StdHepInfoAna.h>

Inheritance diagram for StdHepInfoAna:
NueAnaBase

List of all members.

Public Member Functions

 StdHepInfoAna (StdHepInfo &sv)
virtual ~StdHepInfoAna ()
void Analyze (int evtn, RecRecordImp< RecCandHeader > *srobj)
void Analyze (int evtn, NtpStRecord *srobj)

Private Attributes

StdHepInfofStdHepInfo

Detailed Description

Definition at line 7 of file StdHepInfoAna.h.


Constructor & Destructor Documentation

StdHepInfoAna::StdHepInfoAna ( StdHepInfo sv  ) 

Definition at line 17 of file StdHepInfoAna.cxx.

00017                                            :
00018   fStdHepInfo(shi)
00019 {}

StdHepInfoAna::~StdHepInfoAna (  )  [virtual]

Definition at line 21 of file StdHepInfoAna.cxx.

00022 {}


Member Function Documentation

void StdHepInfoAna::Analyze ( int  evtn,
NtpStRecord srobj 
)

Definition at line 38 of file StdHepInfoAna.cxx.

References StdHepInfo::baryonxf, calbaryonpt(), checkParent(), countpi0(), StdHepInfo::e_nu_elec, StdHepInfo::e_nu_muon, StdHepInfo::e_nu_tau, StdHepInfo::egeant, StdHepInfo::ekaon, StdHepInfo::ekaon0, StdHepInfo::ekaon0L, StdHepInfo::ekaon0S, StdHepInfo::ekaonminus, StdHepInfo::ekaonplus, StdHepInfo::elep, StdHepInfo::elep_elec, StdHepInfo::elep_muon, StdHepInfo::elep_tau, StdHepInfo::emcount, StdHepInfo::emenergy, StdHepInfo::emfrac, StdHepInfo::eneut, StdHepInfo::epi0, StdHepInfo::epim, StdHepInfo::epip, StdHepInfo::eprot, StdHepInfo::etot, StdHepInfo::etot_nu, fStdHepInfo, ANtpRecoNtpManipulator::GetMCManipulator(), ANtpMCManipulator::GetNtpMCTruth(), ANtpMCManipulator::GetNtpTHEvent(), HughCode(), NtpMCTruth::iaction, NtpMCStdHep::IdHEP, NtpMCStdHep::index, NtpMCTruth::index, NtpMCTruth::iresonance, isLeptonic(), NtpMCStdHep::IstHEP, ANtpDefaultValue::kDouble, StdHepInfo::lep2leptype, StdHepInfo::lepe_nu_elec, StdHepInfo::lepe_nu_muon, StdHepInfo::lepe_nu_tau, StdHepInfo::lepegeant, StdHepInfo::lepekaon, StdHepInfo::lepekaon0, StdHepInfo::lepekaon0L, StdHepInfo::lepekaon0S, StdHepInfo::lepekaonminus, StdHepInfo::lepekaonplus, StdHepInfo::lepelep, StdHepInfo::lepelep_elec, StdHepInfo::lepelep_muon, StdHepInfo::lepelep_tau, StdHepInfo::lepeneut, StdHepInfo::lepepi0, StdHepInfo::lepepim, StdHepInfo::lepepip, StdHepInfo::lepeprot, StdHepInfo::lepetot, StdHepInfo::lepetot_nu, StdHepInfo::lepn_nu_elec, StdHepInfo::lepn_nu_elec_he, StdHepInfo::lepn_nu_muon, StdHepInfo::lepn_nu_muon_he, StdHepInfo::lepn_nu_tau, StdHepInfo::lepn_nu_tau_he, StdHepInfo::lepnfs, StdHepInfo::lepnfs_he, StdHepInfo::lepnfs_nu, StdHepInfo::lepnfs_nu_he, StdHepInfo::lepngeant, StdHepInfo::lepngeant_he, StdHepInfo::lepnkaon, StdHepInfo::lepnkaon0, StdHepInfo::lepnkaon0_he, StdHepInfo::lepnkaon0L, StdHepInfo::lepnkaon0L_he, StdHepInfo::lepnkaon0S, StdHepInfo::lepnkaon0S_he, StdHepInfo::lepnkaon_he, StdHepInfo::lepnkaonminus, StdHepInfo::lepnkaonminus_he, StdHepInfo::lepnkaonplus, StdHepInfo::lepnkaonplus_he, StdHepInfo::lepnlep, StdHepInfo::lepnlep_elec, StdHepInfo::lepnlep_elec_he, StdHepInfo::lepnlep_he, StdHepInfo::lepnlep_muon, StdHepInfo::lepnlep_muon_he, StdHepInfo::lepnlep_tau, StdHepInfo::lepnlep_tau_he, StdHepInfo::lepnneut, StdHepInfo::lepnneut_he, StdHepInfo::lepnpi0, StdHepInfo::lepnpi0_he, StdHepInfo::lepnpim, StdHepInfo::lepnpim_he, StdHepInfo::lepnpip, StdHepInfo::lepnpip_he, StdHepInfo::lepnprot, StdHepInfo::lepnprot_he, StdHepInfo::leppt_nu_elec, StdHepInfo::leppt_nu_muon, StdHepInfo::leppt_nu_tau, StdHepInfo::lepptgeant, StdHepInfo::lepptkaon, StdHepInfo::lepptkaon0, StdHepInfo::lepptkaon0L, StdHepInfo::lepptkaon0S, StdHepInfo::lepptkaonminus, StdHepInfo::lepptkaonplus, StdHepInfo::lepptlep, StdHepInfo::lepptlep_elec, StdHepInfo::lepptlep_muon, StdHepInfo::lepptlep_tau, StdHepInfo::lepptneut, StdHepInfo::lepptpi0, StdHepInfo::lepptpim, StdHepInfo::lepptpip, StdHepInfo::lepptprot, StdHepInfo::leppttot, StdHepInfo::leppttot_nu, StdHepInfo::leppz_nu_elec, StdHepInfo::leppz_nu_muon, StdHepInfo::leppz_nu_tau, StdHepInfo::leppzgeant, StdHepInfo::leppzkaon, StdHepInfo::leppzkaon0, StdHepInfo::leppzkaon0L, StdHepInfo::leppzkaon0S, StdHepInfo::leppzkaonminus, StdHepInfo::leppzkaonplus, StdHepInfo::leppzlep, StdHepInfo::leppzlep_elec, StdHepInfo::leppzlep_muon, StdHepInfo::leppzlep_tau, StdHepInfo::leppzneut, StdHepInfo::leppzpi0, StdHepInfo::leppzpim, StdHepInfo::leppzpip, StdHepInfo::leppzprot, StdHepInfo::leppztot, StdHepInfo::leppztot_nu, StdHepInfo::lepw_nu_elec, StdHepInfo::lepw_nu_muon, StdHepInfo::lepw_nu_tau, StdHepInfo::lepwfs, StdHepInfo::lepwfs_nu, StdHepInfo::lepwgeant, StdHepInfo::lepwkaon, StdHepInfo::lepwkaon0, StdHepInfo::lepwkaon0L, StdHepInfo::lepwkaon0S, StdHepInfo::lepwkaonminus, StdHepInfo::lepwkaonplus, StdHepInfo::lepwlep, StdHepInfo::lepwlep_elec, StdHepInfo::lepwlep_muon, StdHepInfo::lepwlep_tau, StdHepInfo::lepwneut, StdHepInfo::lepwpi0, StdHepInfo::lepwpim, StdHepInfo::lepwpip, StdHepInfo::lepwprot, NtpMCStdHep::mass, NtpMCStdHep::mc, StdHepInfo::n_nu_elec, StdHepInfo::n_nu_elec_he, StdHepInfo::n_nu_muon, StdHepInfo::n_nu_muon_he, StdHepInfo::n_nu_tau, StdHepInfo::n_nu_tau_he, NtpTHEvent::neumc, StdHepInfo::nfs, StdHepInfo::nfs_he, StdHepInfo::nfs_nu, StdHepInfo::nfs_nu_he, StdHepInfo::ngeant, StdHepInfo::ngeant_he, StdHepInfo::nkaon, StdHepInfo::nkaon0, StdHepInfo::nkaon0_he, StdHepInfo::nkaon0L, StdHepInfo::nkaon0L_he, StdHepInfo::nkaon0S, StdHepInfo::nkaon0S_he, StdHepInfo::nkaon_he, StdHepInfo::nkaonminus, StdHepInfo::nkaonminus_he, StdHepInfo::nkaonplus, StdHepInfo::nkaonplus_he, StdHepInfo::nlep, StdHepInfo::nlep_elec, StdHepInfo::nlep_elec_he, StdHepInfo::nlep_he, StdHepInfo::nlep_muon, StdHepInfo::nlep_muon_he, StdHepInfo::nlep_tau, StdHepInfo::nlep_tau_he, StdHepInfo::nmult, StdHepInfo::nneut, StdHepInfo::nneut_he, StdHepInfo::npi0, StdHepInfo::npi0_he, StdHepInfo::npim, StdHepInfo::npim_he, StdHepInfo::npip, StdHepInfo::npip_he, StdHepInfo::nprot, StdHepInfo::nprot_he, StdHepInfo::nutauchannel, StdHepInfo::nutauevent, NtpMCStdHep::p4, NtpMCStdHep::parent, StdHepInfo::pt_nu_elec, StdHepInfo::pt_nu_muon, StdHepInfo::pt_nu_tau, StdHepInfo::ptgeant, StdHepInfo::ptkaon, StdHepInfo::ptkaon0, StdHepInfo::ptkaon0L, StdHepInfo::ptkaon0S, StdHepInfo::ptkaonminus, StdHepInfo::ptkaonplus, StdHepInfo::ptlep, StdHepInfo::ptlep_elec, StdHepInfo::ptlep_muon, StdHepInfo::ptlep_tau, StdHepInfo::ptneut, StdHepInfo::ptpi0, StdHepInfo::ptpim, StdHepInfo::ptpip, StdHepInfo::ptprot, StdHepInfo::pttot, StdHepInfo::pttot_nu, StdHepInfo::pz_nu_elec, StdHepInfo::pz_nu_muon, StdHepInfo::pz_nu_tau, StdHepInfo::pzgeant, StdHepInfo::pzkaon, StdHepInfo::pzkaon0, StdHepInfo::pzkaon0L, StdHepInfo::pzkaon0S, StdHepInfo::pzkaonminus, StdHepInfo::pzkaonplus, StdHepInfo::pzlep, StdHepInfo::pzlep_elec, StdHepInfo::pzlep_muon, StdHepInfo::pzlep_tau, StdHepInfo::pzneut, StdHepInfo::pzpi0, StdHepInfo::pzpim, StdHepInfo::pzpip, StdHepInfo::pzprot, StdHepInfo::pztot, StdHepInfo::pztot_nu, StdHepInfo::Reset(), NtpMCTruth::stdhep, NtpStRecord::stdhep, NtpMCTruth::w2, StdHepInfo::w_nu_elec, StdHepInfo::w_nu_muon, StdHepInfo::w_nu_tau, StdHepInfo::wfs, StdHepInfo::wfs_nu, StdHepInfo::wgeant, StdHepInfo::wkaon, StdHepInfo::wkaon0, StdHepInfo::wkaon0L, StdHepInfo::wkaon0S, StdHepInfo::wkaonminus, StdHepInfo::wkaonplus, StdHepInfo::wlep, StdHepInfo::wlep_elec, StdHepInfo::wlep_muon, StdHepInfo::wlep_tau, StdHepInfo::wneut, StdHepInfo::wpi0, StdHepInfo::wpim, StdHepInfo::wpip, StdHepInfo::wprot, and StdHepInfo::Zero().

00039 {
00040   fStdHepInfo.Reset();
00041   if(srobj==0){
00042     return;
00043   }
00044   NtpMCTruth *mctruth = 0;
00045   NtpMCStdHep *ntpStdHep = 0;
00046   NtpTHEvent *thevent = 0;
00047   ANtpRecoNtpManipulator ntpManipulator(srobj);
00048   thevent = ntpManipulator.GetMCManipulator()->GetNtpTHEvent(evtn);
00049   if(thevent){
00050     mctruth = ntpManipulator.GetMCManipulator()->GetNtpMCTruth(thevent->neumc);
00051     if(mctruth){
00052       fStdHepInfo.Zero();
00053       TClonesArray& stdhepArray = *(srobj->stdhep);
00054       Int_t nStdHep = stdhepArray.GetEntries();
00055       HughCode(mctruth, stdhepArray, fStdHepInfo);
00056       Double_t maxmom = 0;
00057       Double_t maxke = 0;
00058       Double_t lepmaxmom = 0;
00059       Double_t lepmaxke = 0;
00060       Double_t maxmom_nu = 0;  //edit by Anna
00061       Double_t maxke_nu = 0;  //edit by Anna
00062       Double_t lepmaxmom_nu = 0;  //edit by Anna
00063       Double_t lepmaxke_nu = 0;  //edit by Anna
00064       Double_t initialNuEnergy=0;
00065       //count pi0's
00066       countpi0(mctruth->index,stdhepArray,fStdHepInfo);
00067       //calculate baryon pt
00068       calbaryonpt(mctruth->index,stdhepArray,fStdHepInfo);
00069       if (mctruth->w2>0) fStdHepInfo.baryonxf *= 2./sqrt(mctruth->w2);
00070 
00071       for(int i=mctruth->stdhep[0];i<=mctruth->stdhep[1]&&i<nStdHep;i++){
00072         ntpStdHep = dynamic_cast<NtpMCStdHep *>(stdhepArray[i]);
00073 
00074         //get initial neutrino energy:
00075         if(ntpStdHep->mc==mctruth->index &&ntpStdHep->IstHEP==0&& (abs(ntpStdHep->IdHEP)==12 || abs(ntpStdHep->IdHEP)==14 || abs(ntpStdHep->IdHEP)==16)){
00076           initialNuEnergy=TMath::Abs(ntpStdHep->p4[3]);
00077 
00078                   if(ntpStdHep->IdHEP==16&&mctruth->iaction==1) fStdHepInfo.nutauevent=1;  //nutau CC event
00079                   if(ntpStdHep->IdHEP==-16&&mctruth->iaction==1) fStdHepInfo.nutauevent=-1; // anti-nutau CC event
00080                   if(abs(ntpStdHep->IdHEP)==16&&mctruth->iaction==0) fStdHepInfo.nutauevent=2; //nutau NC event
00081                   // fStdHepInfo.nutauevent=2; //nutau NC event
00082         }
00083 
00084 
00085         //check that stdhep entry corresponds to this mc event
00086         //count final state neutrinos only here - edit by Anna
00087         if(ntpStdHep->mc==mctruth->index && 
00088           (abs(ntpStdHep->IdHEP)==12 || abs(ntpStdHep->IdHEP)==14 || abs(ntpStdHep->IdHEP)==16) &&
00089            ntpStdHep->IstHEP==1){       //get final state neutrinos:  
00090 
00091             Double_t energy = TMath::Abs(ntpStdHep->p4[3]);
00092             Double_t pz = TMath::Abs(ntpStdHep->p4[2]);
00093             Double_t pt = ( ntpStdHep->p4[0]*ntpStdHep->p4[0] +
00094                             ntpStdHep->p4[1]*ntpStdHep->p4[1] );
00095             Double_t mom = TMath::Sqrt(pz*pz + pt);
00096             Double_t ke = energy - ntpStdHep->mass;
00097 
00098             if(mom>maxmom_nu) maxmom_nu = mom;
00099             if(ke>maxke_nu) maxke_nu = ke;
00100             if(ke>0.5) fStdHepInfo.nfs_nu_he += 1;
00101             
00102             fStdHepInfo.nfs_nu += 1;
00103             fStdHepInfo.etot_nu += energy;
00104             fStdHepInfo.pztot_nu += pz;
00105             fStdHepInfo.pttot_nu += pt;
00106             fStdHepInfo.wfs_nu += ke;
00107 
00108             if (isLeptonic(ntpStdHep->index, stdhepArray)){
00109               fStdHepInfo.lepnfs_nu += 1;
00110               fStdHepInfo.lepetot_nu += energy;
00111               fStdHepInfo.leppztot_nu += pz;
00112               fStdHepInfo.leppttot_nu += pt;
00113               fStdHepInfo.lepwfs_nu += ke;
00114               
00115               if(mom>lepmaxmom_nu) lepmaxmom_nu = mom;
00116               if(ke>lepmaxke_nu) lepmaxke_nu = ke;
00117               if(ke>0.5) fStdHepInfo.lepnfs_nu_he += 1;
00118 
00119               if(ntpStdHep->IdHEP==12) {
00120                 fStdHepInfo.lepn_nu_elec += 1;
00121                 if(ke>0.5) fStdHepInfo.lepn_nu_elec_he += 1;
00122                 fStdHepInfo.lepe_nu_elec += energy;
00123                 fStdHepInfo.leppz_nu_elec += pz;
00124                 fStdHepInfo.leppt_nu_elec += pt;
00125                 fStdHepInfo.lepw_nu_elec += ke;
00126               }
00127               else if(ntpStdHep->IdHEP==14) {
00128                 fStdHepInfo.lepn_nu_muon += 1;
00129                 if(ke>0.5) fStdHepInfo.lepn_nu_muon_he += 1;
00130                 fStdHepInfo.lepe_nu_muon += energy;
00131                 fStdHepInfo.leppz_nu_muon += pz;
00132                 fStdHepInfo.leppt_nu_muon += pt;
00133                 fStdHepInfo.lepw_nu_muon += ke;
00134               }
00135               else if(ntpStdHep->IdHEP==16) {
00136                 fStdHepInfo.lepn_nu_tau += 1;
00137                 if(ke>0.5) fStdHepInfo.lepn_nu_tau_he += 1;
00138                 fStdHepInfo.lepe_nu_tau += energy;
00139                 fStdHepInfo.leppz_nu_tau += pz;
00140                 fStdHepInfo.leppt_nu_tau += pt;
00141                 fStdHepInfo.lepw_nu_tau += ke;
00142               }
00143             }  //end of isleptonic for final state neutrinos
00144 
00145             
00146               if(ntpStdHep->IdHEP==12) {
00147                 fStdHepInfo.n_nu_elec += 1;
00148                 if(ke>0.5) fStdHepInfo.n_nu_elec_he += 1;
00149                 fStdHepInfo.e_nu_elec += energy;
00150                 fStdHepInfo.pz_nu_elec += pz;
00151                 fStdHepInfo.pt_nu_elec += pt;
00152                 fStdHepInfo.w_nu_elec += ke;
00153               }
00154               else if(ntpStdHep->IdHEP==14) {
00155                 fStdHepInfo.n_nu_muon += 1;
00156                 if(ke>0.5) fStdHepInfo.n_nu_muon_he += 1;
00157                 fStdHepInfo.e_nu_muon += energy;
00158                 fStdHepInfo.pz_nu_muon += pz;
00159                 fStdHepInfo.pt_nu_muon += pt;
00160                 fStdHepInfo.w_nu_muon += ke;
00161               }
00162               else if(ntpStdHep->IdHEP==16) {
00163                 fStdHepInfo.n_nu_tau += 1;
00164                 if(ke>0.5) fStdHepInfo.n_nu_tau_he += 1;
00165                 fStdHepInfo.e_nu_tau += energy;
00166                 fStdHepInfo.pz_nu_tau += pz;
00167                 fStdHepInfo.pt_nu_tau += pt;
00168                 fStdHepInfo.w_nu_tau += ke;
00169               }
00170         
00171         } //edit Anna edit for final state neutrinos
00172       
00173       
00174         //check that stdhep entry corresponds to this mc event
00175         //also don't include final state neutrinos in counting
00176         if(ntpStdHep->mc==mctruth->index && abs(ntpStdHep->IdHEP)!=12 &&
00177            abs(ntpStdHep->IdHEP)!=14 && abs(ntpStdHep->IdHEP)!=16){
00178           //look for neugen intermediate particle to get multiplicity
00179           if(ntpStdHep->IstHEP==3 &&
00180              (mctruth->iresonance!=1002 || 
00181               TMath::Abs(ntpStdHep->IdHEP)!=15)){
00182             Int_t hfs = ntpStdHep->IdHEP%1000;
00183             fStdHepInfo.nmult = Int_t((hfs-128)/4)-20;
00184           }
00185         
00186 
00187           // look for pi0, e, and photons to make the emcount, emfrac, emenergy variables
00188           //check final decays, but dont double count energies (dont count a particle if its parents energy is also to be counted
00189           //i am using a recursive method of checking - i do not know how far the mc decay tree extends in IstHEP==205 
00190           //it goes at least two decays deep in IstHEP==205, possible more
00191           else if(ntpStdHep->IstHEP==205){
00192             
00193             if(abs(ntpStdHep->IdHEP)==11||abs(ntpStdHep->IdHEP)==22||abs(ntpStdHep->IdHEP)==111){
00194               Double_t energy = TMath::Abs(ntpStdHep->p4[3]);
00195               if(!checkParent(ntpStdHep->parent[0],stdhepArray)){
00196                 if(ntpStdHep->parent[0]!=ntpStdHep->parent[1]){
00197                   if(!checkParent(ntpStdHep->parent[1],stdhepArray)){
00198                     fStdHepInfo.emenergy+=energy;
00199                     fStdHepInfo.emcount++;
00200                   }
00201                 }else{
00202                   fStdHepInfo.emenergy+=energy;
00203                   fStdHepInfo.emcount++;
00204                 }
00205               }         
00206             }
00207           }
00208 
00209 
00210 
00211 
00212 
00213           else if((ntpStdHep->IstHEP==1 ) && //get final state particles:  
00214                   ntpStdHep->IdHEP<1000000000){ //excluding nuclei
00215             Double_t energy = TMath::Abs(ntpStdHep->p4[3]);
00216             Double_t pz = TMath::Abs(ntpStdHep->p4[2]);
00217             Double_t pt = ( ntpStdHep->p4[0]*ntpStdHep->p4[0] +
00218                             ntpStdHep->p4[1]*ntpStdHep->p4[1] );
00219             Double_t mom = TMath::Sqrt(pz*pz + pt);
00220             Double_t ke = energy - ntpStdHep->mass;
00221 
00222             if(mom>maxmom) maxmom = mom;
00223             if(ke>maxke) maxke = ke;
00224             if(ke>0.5) fStdHepInfo.nfs_he += 1;
00225             
00226             fStdHepInfo.nfs += 1;
00227             fStdHepInfo.etot += energy;
00228             fStdHepInfo.pztot += pz;
00229             fStdHepInfo.pttot += pt;
00230             fStdHepInfo.wfs += ke;
00231 
00232             
00233             // by steve cavanaugh
00234            
00235             //electrons, protons, and pi0 contribute to em frac
00236             //decay particle of these which also fit 11,22,111 do not contribute as per code dealing with IstHEP===205 above
00237             if(abs(ntpStdHep->IdHEP)==11||abs(ntpStdHep->IdHEP)==22||abs(ntpStdHep->IdHEP)==111){
00238               fStdHepInfo.emenergy+=energy;
00239               fStdHepInfo.emcount++;
00240             }
00241 
00242 
00243 
00244 
00245             //see if the current particle is a decay product of the original neutrino
00246             if (isLeptonic(ntpStdHep->index, stdhepArray)){
00247             
00248               fStdHepInfo.lepnfs += 1;
00249               fStdHepInfo.lepetot += energy;
00250               fStdHepInfo.leppztot += pz;
00251               fStdHepInfo.leppttot += pt;
00252               fStdHepInfo.lepwfs += ke;
00253               
00254               if(mom>lepmaxmom) lepmaxmom = mom;
00255               if(ke>lepmaxke) lepmaxke = ke;
00256               if(ke>0.5) fStdHepInfo.lepnfs_he += 1;
00257              
00258 
00259               //if not a tau, check if electron or muon, if so set flags and energies
00260               if(abs(ntpStdHep->IdHEP)==11||abs(ntpStdHep->IdHEP)==13||abs(ntpStdHep->IdHEP)==15){ // should i be checking tau also? probably only appears with IstHEP=2
00261                 fStdHepInfo.lep2leptype =ntpStdHep->IdHEP;
00262               }
00263             
00264                          
00265 
00266               //otherwise do standard particle contribution ...
00267 
00268               if(abs(ntpStdHep->IdHEP)==11 || abs(ntpStdHep->IdHEP)==13 || 
00269                  abs(ntpStdHep->IdHEP)==15) {     
00270 //ive probably already accounted for tau energyies from the daughter particles.... so i probably do not want them here!!
00271                 fStdHepInfo.lepnlep += 1;
00272                 if(ke>0.5) fStdHepInfo.lepnlep_he += 1;
00273                 fStdHepInfo.lepelep += energy;
00274                 fStdHepInfo.leppzlep += pz;
00275                 fStdHepInfo.lepptlep += pt;
00276                 fStdHepInfo.lepwlep += ke;
00277                 //edit by Anna to find out which leptons are present                                                                                                      
00278                 if(abs(ntpStdHep->IdHEP)==11){
00279                   fStdHepInfo.lepnlep_elec += 1;
00280                   if(ke>0.5) fStdHepInfo.lepnlep_elec_he += 1;
00281                   fStdHepInfo.lepelep_elec += energy;
00282                   fStdHepInfo.leppzlep_elec += pz;
00283                   fStdHepInfo.lepptlep_elec += pt;
00284                   fStdHepInfo.lepwlep_elec += ke;
00285                 }
00286                 if(abs(ntpStdHep->IdHEP)==13){
00287                   fStdHepInfo.lepnlep_muon += 1;
00288                   if(ke>0.5) fStdHepInfo.lepnlep_muon_he += 1;
00289                   fStdHepInfo.lepelep_muon += energy;
00290                   fStdHepInfo.leppzlep_muon += pz;
00291                   fStdHepInfo.lepptlep_muon += pt;
00292                   fStdHepInfo.lepwlep_muon += ke;
00293                 }
00294                 if(abs(ntpStdHep->IdHEP)==15){
00295                   fStdHepInfo.lepnlep_tau += 1;
00296                   if(ke>0.5) fStdHepInfo.lepnlep_tau_he += 1;
00297                   fStdHepInfo.lepelep_tau += energy;
00298                   fStdHepInfo.leppzlep_tau += pz;
00299                   fStdHepInfo.lepptlep_tau += pt;
00300                   fStdHepInfo.lepwlep_tau += ke;
00301                 }
00302                 //end of edit by Anna to find out which leptons are present   
00303               }
00304               else if(ntpStdHep->IdHEP==28) {
00305                 fStdHepInfo.lepngeant += 1;
00306                 if(ke>0.5) fStdHepInfo.lepngeant_he += 1;
00307                 fStdHepInfo.lepegeant += energy;
00308                 fStdHepInfo.leppzgeant += pz;
00309                 fStdHepInfo.lepptgeant += pt;
00310                 fStdHepInfo.lepwgeant += ke;
00311               }
00312               else if(ntpStdHep->IdHEP==2212) {
00313                 fStdHepInfo.lepnprot += 1;
00314                 if(ke>0.5) fStdHepInfo.lepnprot_he += 1;
00315                 fStdHepInfo.lepeprot += energy;
00316                 fStdHepInfo.leppzprot += pz;
00317                 fStdHepInfo.lepptprot += pt;
00318                 fStdHepInfo.lepwprot += ke;
00319               }
00320               else if(ntpStdHep->IdHEP==2112) {
00321                 fStdHepInfo.lepnneut += 1;
00322                 if(ke>0.5) fStdHepInfo.lepnneut_he += 1;
00323                 fStdHepInfo.lepeneut += energy;
00324                 fStdHepInfo.leppzneut += pz;
00325                 fStdHepInfo.lepptneut += pt;
00326                 fStdHepInfo.lepwneut += ke;
00327               }
00328               else if(ntpStdHep->IdHEP==211) {
00329                 fStdHepInfo.lepnpip += 1;
00330                 if(ke>0.5) fStdHepInfo.lepnpip_he += 1;
00331                 fStdHepInfo.lepepip += energy;
00332                 fStdHepInfo.leppzpip += pz;
00333                 fStdHepInfo.lepptpip += pt;
00334                 fStdHepInfo.lepwpip += ke;
00335               }
00336               else if(ntpStdHep->IdHEP==-211) {
00337                 fStdHepInfo.lepnpim += 1;
00338                 if(ke>0.5) fStdHepInfo.lepnpim_he += 1;
00339                 fStdHepInfo.lepepim += energy;
00340                 fStdHepInfo.leppzpim += pz;
00341                 fStdHepInfo.lepptpim += pt;
00342                 fStdHepInfo.lepwpim += ke;
00343               }
00344               else if(ntpStdHep->IdHEP==111) {
00345                 fStdHepInfo.lepnpi0 += 1;
00346                 if(ke>0.5) fStdHepInfo.lepnpi0_he += 1;
00347                 fStdHepInfo.lepepi0 += energy;
00348                 fStdHepInfo.leppzpi0 += pz;
00349                 fStdHepInfo.lepptpi0 += pt;
00350                 fStdHepInfo.lepwpi0 += ke;
00351               }
00352               else if(TMath::Abs(ntpStdHep->IdHEP)==321 || //K+/-
00353                       ntpStdHep->IdHEP==130 ||     //K0_L
00354                       ntpStdHep->IdHEP==310 ||     //K0_S
00355                       ntpStdHep->IdHEP==311 ) {    //K0
00356                 fStdHepInfo.lepnkaon += 1;
00357                 if(ke>0.5) fStdHepInfo.lepnkaon_he += 1;
00358                 fStdHepInfo.lepekaon += energy;
00359                 fStdHepInfo.leppzkaon += pz;
00360                 fStdHepInfo.lepptkaon += pt;
00361                 fStdHepInfo.lepwkaon += ke;
00362 
00363                 //edit by Anna within the kaon loop to get the kaon species details                                                                                     
00364                 if(ntpStdHep->IdHEP==321){      //K+                                                                                                                    
00365                   fStdHepInfo.lepnkaonplus += 1;
00366                   if(ke>0.5) fStdHepInfo.lepnkaonplus_he += 1;
00367                   fStdHepInfo.lepekaonplus += energy;
00368                   fStdHepInfo.leppzkaonplus += pz;
00369                   fStdHepInfo.lepptkaonplus += pt;
00370                   fStdHepInfo.lepwkaonplus += ke;
00371                 }
00372                 if(ntpStdHep->IdHEP==-321){  //K-                                                                                                                       
00373                   fStdHepInfo.lepnkaonminus += 1;
00374                   if(ke>0.5) fStdHepInfo.lepnkaonminus_he += 1;
00375                   fStdHepInfo.lepekaonminus += energy;
00376                   fStdHepInfo.leppzkaonminus += pz;
00377                   fStdHepInfo.lepptkaonminus += pt;
00378                   fStdHepInfo.lepwkaonminus += ke;
00379                 }
00380                 if(ntpStdHep->IdHEP==130){     //K0_L                                                                                                                   
00381                   fStdHepInfo.lepnkaon0L += 1;
00382                   if(ke>0.5) fStdHepInfo.lepnkaon0L_he += 1;
00383                   fStdHepInfo.lepekaon0L += energy;
00384                   fStdHepInfo.leppzkaon0L += pz;
00385                   fStdHepInfo.lepptkaon0L += pt;
00386                   fStdHepInfo.lepwkaon0L += ke;
00387                 }
00388                 if(ntpStdHep->IdHEP==310){    //K0_S                                                                                                                    
00389                   fStdHepInfo.lepnkaon0S += 1;
00390                   if(ke>0.5) fStdHepInfo.lepnkaon0S_he += 1;
00391                   fStdHepInfo.lepekaon0S += energy;
00392                   fStdHepInfo.leppzkaon0S += pz;
00393                   fStdHepInfo.lepptkaon0S += pt;
00394                   fStdHepInfo.lepwkaon0S += ke;
00395                 }
00396                 if(ntpStdHep->IdHEP==311){   //K0                                                                                                                       
00397                   fStdHepInfo.lepnkaon0 += 1;
00398                   if(ke>0.5) fStdHepInfo.lepnkaon0_he += 1;
00399                   fStdHepInfo.lepekaon0 += energy;
00400                   fStdHepInfo.leppzkaon0 += pz;
00401                   fStdHepInfo.lepptkaon0 += pt;
00402                   fStdHepInfo.lepwkaon0 += ke;
00403                 }
00404                 //end of edit by Anna to count individual kaon species                 
00405 
00406               }
00407 
00408 
00409             }
00410             //end edit by steve cavanaugh
00411             
00412 
00413             if(abs(ntpStdHep->IdHEP)==11 || abs(ntpStdHep->IdHEP)==13 || 
00414                abs(ntpStdHep->IdHEP)==15) {
00415               fStdHepInfo.nlep += 1;
00416               if(ke>0.5) fStdHepInfo.nlep_he += 1;
00417               fStdHepInfo.elep += energy;
00418               fStdHepInfo.pzlep += pz;
00419               fStdHepInfo.ptlep += pt;
00420               fStdHepInfo.wlep += ke;
00421               //edit by Anna to find out which leptons are present                                                                                                      
00422               if(abs(ntpStdHep->IdHEP)==11){
00423                 fStdHepInfo.nlep_elec += 1;
00424                 if(ke>0.5) fStdHepInfo.nlep_elec_he += 1;
00425                 fStdHepInfo.elep_elec += energy;
00426                 fStdHepInfo.pzlep_elec += pz;
00427                 fStdHepInfo.ptlep_elec += pt;
00428                 fStdHepInfo.wlep_elec += ke;
00429               }
00430               if(abs(ntpStdHep->IdHEP)==13){
00431                 fStdHepInfo.nlep_muon += 1;
00432                 if(ke>0.5) fStdHepInfo.nlep_muon_he += 1;
00433                 fStdHepInfo.elep_muon += energy;
00434                 fStdHepInfo.pzlep_muon += pz;
00435                 fStdHepInfo.ptlep_muon += pt;
00436                 fStdHepInfo.wlep_muon += ke;
00437               }
00438               if(abs(ntpStdHep->IdHEP)==15){
00439                 fStdHepInfo.nlep_tau += 1;
00440                 if(ke>0.5) fStdHepInfo.nlep_tau_he += 1;
00441                 fStdHepInfo.elep_tau += energy;
00442                 fStdHepInfo.pzlep_tau += pz;
00443                 fStdHepInfo.ptlep_tau += pt;
00444                 fStdHepInfo.wlep_tau += ke;
00445               }
00446               //end of edit by Anna to find out which leptons are present                                                                                               
00447             }
00448             else if(ntpStdHep->IdHEP==28) {
00449               fStdHepInfo.ngeant += 1;
00450               if(ke>0.5) fStdHepInfo.ngeant_he += 1;
00451               fStdHepInfo.egeant += energy;
00452               fStdHepInfo.pzgeant += pz;
00453               fStdHepInfo.ptgeant += pt;
00454               fStdHepInfo.wgeant += ke;
00455             }
00456             else if(ntpStdHep->IdHEP==2212) {
00457               fStdHepInfo.nprot += 1;
00458               if(ke>0.5) fStdHepInfo.nprot_he += 1;
00459               fStdHepInfo.eprot += energy;
00460               fStdHepInfo.pzprot += pz;
00461               fStdHepInfo.ptprot += pt;
00462               fStdHepInfo.wprot += ke;
00463             }
00464             else if(ntpStdHep->IdHEP==2112) {
00465               fStdHepInfo.nneut += 1;
00466               if(ke>0.5) fStdHepInfo.nneut_he += 1;
00467               fStdHepInfo.eneut += energy;
00468               fStdHepInfo.pzneut += pz;
00469               fStdHepInfo.ptneut += pt;
00470               fStdHepInfo.wneut += ke;
00471             }
00472             else if(ntpStdHep->IdHEP==211) {
00473               fStdHepInfo.npip += 1;
00474               if(ke>0.5) fStdHepInfo.npip_he += 1;
00475               fStdHepInfo.epip += energy;
00476               fStdHepInfo.pzpip += pz;
00477               fStdHepInfo.ptpip += pt;
00478               fStdHepInfo.wpip += ke;
00479             }
00480             else if(ntpStdHep->IdHEP==-211) {
00481               fStdHepInfo.npim += 1;
00482               if(ke>0.5) fStdHepInfo.npim_he += 1;
00483               fStdHepInfo.epim += energy;
00484               fStdHepInfo.pzpim += pz;
00485               fStdHepInfo.ptpim += pt;
00486               fStdHepInfo.wpim += ke;
00487             }
00488             else if(ntpStdHep->IdHEP==111) {
00489               fStdHepInfo.npi0 += 1;
00490               if(ke>0.5) fStdHepInfo.npi0_he += 1;
00491               fStdHepInfo.epi0 += energy;
00492               fStdHepInfo.pzpi0 += pz;
00493               fStdHepInfo.ptpi0 += pt;
00494               fStdHepInfo.wpi0 += ke;
00495             }
00496             else if(TMath::Abs(ntpStdHep->IdHEP)==321 || //K+/-
00497                     ntpStdHep->IdHEP==130 ||     //K0_L
00498                     ntpStdHep->IdHEP==310 ||     //K0_S
00499                     ntpStdHep->IdHEP==311 ) {    //K0
00500               fStdHepInfo.nkaon += 1;
00501               if(ke>0.5) fStdHepInfo.nkaon_he += 1;
00502               fStdHepInfo.ekaon += energy;
00503               fStdHepInfo.pzkaon += pz;
00504               fStdHepInfo.ptkaon += pt;
00505               fStdHepInfo.wkaon += ke;
00506 
00507               //edit by Anna within the kaon loop to get the kaon species details                                                                                     
00508               if(ntpStdHep->IdHEP==321){      //K+                                                                                                                    
00509                 fStdHepInfo.nkaonplus += 1;
00510                 if(ke>0.5) fStdHepInfo.nkaonplus_he += 1;
00511                 fStdHepInfo.ekaonplus += energy;
00512                 fStdHepInfo.pzkaonplus += pz;
00513                 fStdHepInfo.ptkaonplus += pt;
00514                 fStdHepInfo.wkaonplus += ke;
00515               }
00516               if(ntpStdHep->IdHEP==-321){  //K-                                                                                                                       
00517                 fStdHepInfo.nkaonminus += 1;
00518                 if(ke>0.5) fStdHepInfo.nkaonminus_he += 1;
00519                 fStdHepInfo.ekaonminus += energy;
00520                 fStdHepInfo.pzkaonminus += pz;
00521                 fStdHepInfo.ptkaonminus += pt;
00522                 fStdHepInfo.wkaonminus += ke;
00523               }
00524               if(ntpStdHep->IdHEP==130){     //K0_L                                                                                                                   
00525                 fStdHepInfo.nkaon0L += 1;
00526                 if(ke>0.5) fStdHepInfo.nkaon0L_he += 1;
00527                 fStdHepInfo.ekaon0L += energy;
00528                 fStdHepInfo.pzkaon0L += pz;
00529                 fStdHepInfo.ptkaon0L += pt;
00530                 fStdHepInfo.wkaon0L += ke;
00531               }
00532               if(ntpStdHep->IdHEP==310){    //K0_S                                                                                                                    
00533                 fStdHepInfo.nkaon0S += 1;
00534                 if(ke>0.5) fStdHepInfo.nkaon0S_he += 1;
00535                 fStdHepInfo.ekaon0S += energy;
00536                 fStdHepInfo.pzkaon0S += pz;
00537                 fStdHepInfo.ptkaon0S += pt;
00538                 fStdHepInfo.wkaon0S += ke;
00539               }
00540               if(ntpStdHep->IdHEP==311){   //K0                                                                                                                       
00541                 fStdHepInfo.nkaon0 += 1;
00542                 if(ke>0.5) fStdHepInfo.nkaon0_he += 1;
00543                 fStdHepInfo.ekaon0 += energy;
00544                 fStdHepInfo.pzkaon0 += pz;
00545                 fStdHepInfo.ptkaon0 += pt;
00546                 fStdHepInfo.wkaon0 += ke;
00547               }
00548               //end of edit by Anna to count individual kaon species                                                                                                    
00549             }
00550           }
00551         }
00552       }
00553 
00554       if(maxke>0){
00555         fStdHepInfo.wfs   /= maxke;
00556         fStdHepInfo.wgeant /= maxke;
00557         fStdHepInfo.wlep   /= maxke;
00558         fStdHepInfo.wprot  /= maxke;
00559         fStdHepInfo.wneut  /= maxke;
00560         fStdHepInfo.wpip   /= maxke;
00561         fStdHepInfo.wpim   /= maxke;
00562         fStdHepInfo.wpi0   /= maxke;
00563         fStdHepInfo.wkaon  /= maxke;
00564         fStdHepInfo.wlep_elec   /= maxke;   //Adding Anna Vars
00565         fStdHepInfo.wlep_muon   /= maxke;   //Adding Anna Vars
00566         fStdHepInfo.wlep_tau   /= maxke;   //Adding Anna Vars
00567         fStdHepInfo.wkaonplus  /= maxke;   //Adding Anna Vars
00568         fStdHepInfo.wkaonminus  /= maxke;   //Adding Anna Vars
00569         fStdHepInfo.wkaon0L  /= maxke;   //Adding Anna Vars
00570         fStdHepInfo.wkaon0S  /= maxke;   //Adding Anna Vars
00571         fStdHepInfo.wkaon0  /= maxke;   //Adding Anna Vars
00572       }
00573 
00574       if(lepmaxke>0){
00575         fStdHepInfo.lepwfs   /= lepmaxke;
00576         fStdHepInfo.lepwgeant /= lepmaxke;
00577         fStdHepInfo.lepwlep   /= lepmaxke;
00578         fStdHepInfo.lepwprot  /= lepmaxke;
00579         fStdHepInfo.lepwneut  /= lepmaxke;
00580         fStdHepInfo.lepwpip   /= lepmaxke;
00581         fStdHepInfo.lepwpim   /= lepmaxke;
00582         fStdHepInfo.lepwpi0   /= lepmaxke;
00583         fStdHepInfo.lepwkaon  /= lepmaxke;
00584         fStdHepInfo.lepwlep_elec   /= lepmaxke;   //Adding Anna Vars
00585         fStdHepInfo.lepwlep_muon   /= lepmaxke;   //Adding Anna Vars
00586         fStdHepInfo.lepwlep_tau   /= lepmaxke;   //Adding Anna Vars
00587         fStdHepInfo.lepwkaonplus  /= lepmaxke;   //Adding Anna Vars
00588         fStdHepInfo.lepwkaonminus  /= lepmaxke;   //Adding Anna Vars
00589         fStdHepInfo.lepwkaon0L  /= lepmaxke;   //Adding Anna Vars
00590         fStdHepInfo.lepwkaon0S  /= lepmaxke;   //Adding Anna Vars
00591         fStdHepInfo.lepwkaon0  /= lepmaxke;   //Adding Anna Vars
00592       }
00593 
00594       //Adding in Anna Vars
00595       if(maxke_nu>0){
00596         fStdHepInfo.wfs_nu   /= maxke_nu;
00597         fStdHepInfo.w_nu_elec   /= maxke_nu;
00598         fStdHepInfo.w_nu_muon   /= maxke_nu;
00599         fStdHepInfo.w_nu_tau   /= maxke_nu;
00600       }
00601       if(lepmaxke>0){
00602         fStdHepInfo.lepwfs_nu   /= lepmaxke_nu;
00603         fStdHepInfo.lepw_nu_elec   /= lepmaxke_nu;
00604         fStdHepInfo.lepw_nu_muon   /= lepmaxke_nu;
00605         fStdHepInfo.lepw_nu_tau   /= lepmaxke_nu;
00606       }
00607       //end Anna Vars    
00608 
00609 
00610       if(initialNuEnergy>0){
00611         fStdHepInfo.emfrac=fStdHepInfo.emenergy /initialNuEnergy;
00612         
00613       }else{
00614         fStdHepInfo.emfrac= ANtpDefVal::kDouble;
00615       }
00616 
00617 
00618 
00619       if(fStdHepInfo.pttot>0)
00620         fStdHepInfo.pttot = TMath::Sqrt(fStdHepInfo.pttot);
00621       if(fStdHepInfo.ptgeant>0) 
00622         fStdHepInfo.ptgeant = TMath::Sqrt(fStdHepInfo.ptgeant);
00623       if(fStdHepInfo.ptlep>0)
00624         fStdHepInfo.ptlep = TMath::Sqrt(fStdHepInfo.ptlep);
00625       if(fStdHepInfo.ptprot>0) 
00626         fStdHepInfo.ptprot = TMath::Sqrt(fStdHepInfo.ptprot);
00627       if(fStdHepInfo.ptneut>0) 
00628         fStdHepInfo.ptneut = TMath::Sqrt(fStdHepInfo.ptneut);
00629       if(fStdHepInfo.ptpip>0) 
00630         fStdHepInfo.ptpip = TMath::Sqrt(fStdHepInfo.ptpip);
00631       if(fStdHepInfo.ptpim>0) 
00632         fStdHepInfo.ptpim = TMath::Sqrt(fStdHepInfo.ptpim);
00633       if(fStdHepInfo.ptpi0>0) 
00634         fStdHepInfo.ptpi0 = TMath::Sqrt(fStdHepInfo.ptpi0);
00635       if(fStdHepInfo.ptkaon>0) 
00636         fStdHepInfo.ptkaon = TMath::Sqrt(fStdHepInfo.ptkaon);
00637       //adding Anna vars
00638       if(fStdHepInfo.pttot_nu>0)
00639         fStdHepInfo.pttot_nu = TMath::Sqrt(fStdHepInfo.pttot_nu);
00640       if(fStdHepInfo.pt_nu_elec>0)
00641         fStdHepInfo.pt_nu_elec = TMath::Sqrt(fStdHepInfo.pt_nu_elec);
00642       if(fStdHepInfo.pt_nu_muon>0)
00643         fStdHepInfo.pt_nu_muon = TMath::Sqrt(fStdHepInfo.pt_nu_muon);
00644       if(fStdHepInfo.pt_nu_tau>0)
00645         fStdHepInfo.pt_nu_tau = TMath::Sqrt(fStdHepInfo.pt_nu_tau);
00646       if(fStdHepInfo.ptlep_elec>0)
00647         fStdHepInfo.ptlep_elec = TMath::Sqrt(fStdHepInfo.ptlep_elec);
00648       if(fStdHepInfo.ptlep_muon>0)
00649         fStdHepInfo.ptlep_muon = TMath::Sqrt(fStdHepInfo.ptlep_muon);
00650       if(fStdHepInfo.ptlep_tau>0)
00651         fStdHepInfo.ptlep_tau = TMath::Sqrt(fStdHepInfo.ptlep_tau);
00652       if(fStdHepInfo.ptkaonplus>0) 
00653         fStdHepInfo.ptkaonplus = TMath::Sqrt(fStdHepInfo.ptkaonplus);
00654       if(fStdHepInfo.ptkaonminus>0) 
00655         fStdHepInfo.ptkaonminus = TMath::Sqrt(fStdHepInfo.ptkaonminus);
00656       if(fStdHepInfo.ptkaon0L>0) 
00657         fStdHepInfo.ptkaon0L = TMath::Sqrt(fStdHepInfo.ptkaon0L);
00658       if(fStdHepInfo.ptkaon0S>0) 
00659         fStdHepInfo.ptkaon0S = TMath::Sqrt(fStdHepInfo.ptkaon0S);
00660       if(fStdHepInfo.ptkaon0>0) 
00661         fStdHepInfo.ptkaon0 = TMath::Sqrt(fStdHepInfo.ptkaon0);
00662       //end Anna vars
00663 
00664       if(fStdHepInfo.leppttot>0)
00665         fStdHepInfo.leppttot = TMath::Sqrt(fStdHepInfo.leppttot);
00666       if(fStdHepInfo.lepptgeant>0) 
00667         fStdHepInfo.lepptgeant = TMath::Sqrt(fStdHepInfo.lepptgeant);
00668       if(fStdHepInfo.lepptlep>0)
00669         fStdHepInfo.lepptlep = TMath::Sqrt(fStdHepInfo.lepptlep);
00670       if(fStdHepInfo.lepptprot>0) 
00671         fStdHepInfo.lepptprot = TMath::Sqrt(fStdHepInfo.lepptprot);
00672       if(fStdHepInfo.lepptneut>0) 
00673         fStdHepInfo.lepptneut = TMath::Sqrt(fStdHepInfo.lepptneut);
00674       if(fStdHepInfo.lepptpip>0) 
00675         fStdHepInfo.lepptpip = TMath::Sqrt(fStdHepInfo.lepptpip);
00676       if(fStdHepInfo.lepptpim>0) 
00677         fStdHepInfo.lepptpim = TMath::Sqrt(fStdHepInfo.lepptpim);
00678       if(fStdHepInfo.lepptpi0>0) 
00679         fStdHepInfo.lepptpi0 = TMath::Sqrt(fStdHepInfo.lepptpi0);
00680       if(fStdHepInfo.lepptkaon>0) 
00681         fStdHepInfo.lepptkaon = TMath::Sqrt(fStdHepInfo.lepptkaon);
00682       //adding Anna vars
00683       if(fStdHepInfo.leppttot_nu>0)
00684         fStdHepInfo.leppttot_nu = TMath::Sqrt(fStdHepInfo.leppttot_nu);
00685       if(fStdHepInfo.leppt_nu_elec>0)
00686         fStdHepInfo.leppt_nu_elec = TMath::Sqrt(fStdHepInfo.leppt_nu_elec);
00687       if(fStdHepInfo.leppt_nu_muon>0)
00688         fStdHepInfo.leppt_nu_muon = TMath::Sqrt(fStdHepInfo.leppt_nu_muon);
00689       if(fStdHepInfo.leppt_nu_tau>0)
00690         fStdHepInfo.leppt_nu_tau = TMath::Sqrt(fStdHepInfo.leppt_nu_tau);
00691       if(fStdHepInfo.lepptlep_elec>0)
00692         fStdHepInfo.lepptlep_elec = TMath::Sqrt(fStdHepInfo.lepptlep_elec);
00693       if(fStdHepInfo.lepptlep_muon>0)
00694         fStdHepInfo.lepptlep_muon = TMath::Sqrt(fStdHepInfo.lepptlep_muon);
00695       if(fStdHepInfo.lepptlep_tau>0)
00696         fStdHepInfo.lepptlep_tau = TMath::Sqrt(fStdHepInfo.lepptlep_tau);
00697       if(fStdHepInfo.lepptkaonplus>0) 
00698         fStdHepInfo.lepptkaonplus = TMath::Sqrt(fStdHepInfo.lepptkaonplus);
00699       if(fStdHepInfo.lepptkaonminus>0) 
00700         fStdHepInfo.lepptkaonminus = TMath::Sqrt(fStdHepInfo.lepptkaonminus);
00701       if(fStdHepInfo.lepptkaon0L>0) 
00702         fStdHepInfo.lepptkaon0L = TMath::Sqrt(fStdHepInfo.lepptkaon0L);
00703       if(fStdHepInfo.lepptkaon0S>0) 
00704         fStdHepInfo.lepptkaon0S = TMath::Sqrt(fStdHepInfo.lepptkaon0S);
00705       if(fStdHepInfo.lepptkaon0>0) 
00706         fStdHepInfo.lepptkaon0 = TMath::Sqrt(fStdHepInfo.lepptkaon0);
00707       //end Anna vars
00708 
00709       //Now include Anna vars to determine the tau decay channel for this event:
00710       if(fStdHepInfo.nutauevent==1 || fStdHepInfo.nutauevent==-1){
00711         if(fStdHepInfo.lepnlep_elec==0 && fStdHepInfo.lepnlep_muon>0 ) fStdHepInfo.nutauchannel=1;
00712         else if(fStdHepInfo.lepnlep_elec>0 && fStdHepInfo.lepnlep_muon==0 ) fStdHepInfo.nutauchannel=2;
00713         else if(fStdHepInfo.lepnlep_elec==0 && fStdHepInfo.lepnlep_muon==0 && fStdHepInfo.lepnlep_elec==0 && fStdHepInfo.lepnpi0>0 ) fStdHepInfo.nutauchannel=3; 
00714         else if(fStdHepInfo.lepnlep_elec==0 && fStdHepInfo.lepnlep_muon==0 && fStdHepInfo.lepnlep_elec==0 && fStdHepInfo.lepnpi0==0 ) fStdHepInfo.nutauchannel=4; 
00715         else { 
00716         fStdHepInfo.nutauchannel=5; 
00717         }
00718        }
00719       //end Anna vars
00720 
00721     }
00722   }                     
00723 }

void StdHepInfoAna::Analyze ( int  evtn,
RecRecordImp< RecCandHeader > *  srobj 
) [virtual]

Implements NueAnaBase.

Definition at line 29 of file StdHepInfoAna.cxx.

Referenced by NueDisplayModule::Analyze(), and NueRecordAna::FillTrue().

00030 {
00031   if(srobj==0){
00032     return;
00033   }
00034   NtpStRecord *st = dynamic_cast<NtpStRecord *>(srobj);
00035   Analyze(event,st);
00036 }


Member Data Documentation

Definition at line 19 of file StdHepInfoAna.h.

Referenced by Analyze().


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

Generated on 22 Nov 2017 for loon by  doxygen 1.6.1