NueRecordAna Class Reference

#include <NueRecordAna.h>

Inheritance diagram for NueRecordAna:
NueAnaBase

List of all members.

Public Types

typedef std::deque< Float_t > DeqFloat_t
typedef std::deque< std::deque
< Int_t > > 
DeqDeqInt_t

Public Member Functions

 NueRecordAna (NueRecord &nr)
virtual ~NueRecordAna ()
void FillTrue (int evtn, NtpSRRecord *srobj, NtpMCRecord *mcobj=0, NtpTHRecord *thobj=0)
void FillTrue (int evtn, NtpStRecord *str)
void FillReco (int evtn, RecRecordImp< RecCandHeader > *srobj)
void Analyze (int evtn, RecRecordImp< RecCandHeader > *srobj)
void Analyze (int evtn, NtpMRRecord *mr, NtpStRecord *oldst)
void Analyze (UberRecord *ur)
void SetEventEnergyArray (float *array, float *arr2)
void SetRelease (int rel)
void SetBeamType (int bType)
void SetBeamType (BeamType::BeamType_t bType)

Public Attributes

ShwfitAna sfa
HitCalcAna hca
AngClusterAna aca
AngClusterFitAna acf
MSTCalcAna msta
FracVarAna fva
SubShowerVarAna sva
HighHitVarsAna hhv
ShieldRejVarAna shrva
AnnAna anna
AnalysisInfoAna anaia
ANtpEventInfoAna aneia
ANtpShowerInfoAna ansia
ANtpTrackInfoAna antia
ANtpTruthInfoBeamAna antiba
MdaDiscrimAna mda
TreePIDAna tpa
MCFluxInfoAna fiana
NueFluxWeightsAna nuefwa
NueXsecWeightAna nuexsa
StdHepInfoAna shia
MuonRemovalInfoAna mria
CalDetInfoAna cdia
TimingVarsAna tva
BagTreeAna bta
EventQualAna equala

Private Attributes

bool active3DHits

Detailed Description

Definition at line 34 of file NueRecordAna.h.


Member Typedef Documentation

typedef std::deque< std::deque <Int_t> > NueRecordAna::DeqDeqInt_t

Definition at line 41 of file NueRecordAna.h.

typedef std::deque<Float_t> NueRecordAna::DeqFloat_t

Definition at line 40 of file NueRecordAna.h.


Constructor & Destructor Documentation

NueRecordAna::NueRecordAna ( NueRecord nr  ) 

Definition at line 11 of file NueRecordAna.cxx.

References active3DHits.

00011                                        :
00012   sfa(nr.shwfit),
00013   hca(nr.hitcalc),
00014   aca(nr.angcluster),
00015   acf(nr.angclusterfit),
00016   msta(nr.mstvars),
00017   fva(nr.fracvars),
00018   sva(nr.subshowervars),
00019   hhv(nr.highhitvars),
00020   shrva(nr.shieldrejvars),
00021   anna(nr),
00022   anaia(nr.anainfo),
00023   aneia(nr.srevent),
00024   ansia(nr.srshower),
00025   antia(nr.srtrack),
00026   antiba(nr.mctrue),
00027 //  bmona(nr.bmon),
00028   mda(nr,nr.mdadiscrim),
00029   tpa(nr,nr.treepid),
00030   fiana(nr.fluxinfo),
00031   nuefwa(nr.fluxweights),
00032   nuexsa(nr.xsecweights),
00033   shia(nr.shi),
00034   mria(nr.mri),
00035   cdia(nr.cdi),
00036   tva(nr.timingvars),
00037   bta(nr, nr.dtree),
00038   equala(nr)
00039 {
00040   active3DHits = false;
00041 }

NueRecordAna::~NueRecordAna (  )  [virtual]

Definition at line 106 of file NueRecordAna.cxx.

00107 {}


Member Function Documentation

void NueRecordAna::Analyze ( UberRecord ur  ) 

Definition at line 195 of file NueRecordAna.cxx.

References CalDetInfoAna::Analyze(), cdia, RecRecordImp< T >::GetHeader(), UberRecHeader::GetStartTime(), Msg::kDebug, and MSG.

00196 {
00197   MSG("NueRecordAna",Msg::kDebug)<<"Time of current event "
00198                                  <<ur->GetHeader().GetStartTime()
00199                                  <<endl;
00200   cdia.Analyze(ur);
00201   MSG("NueRecordAna",Msg::kDebug)<<"done cdi"<<endl;
00202   return;
00203 }

void NueRecordAna::Analyze ( int  evtn,
NtpMRRecord mr,
NtpStRecord oldst 
)

Definition at line 186 of file NueRecordAna.cxx.

References MuonRemovalInfoAna::Analyze(), RecRecordImp< T >::GetHeader(), RecPhysicsHeader::GetSnarl(), Msg::kDebug, mria, and MSG.

00187 {
00188   MSG("NueRecordAna",Msg::kDebug)<<"On Snarl "<<mr->GetHeader().GetSnarl()
00189                                  <<" event "<<evtn<<endl;
00190   mria.Analyze(evtn,mr,oldst);
00191   MSG("NueRecordAna",Msg::kDebug)<<"done mri"<<endl;
00192   return;
00193 }

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

Implements NueAnaBase.

Definition at line 110 of file NueRecordAna.cxx.

References aca, acf, active3DHits, BagTreeAna::Analyze(), MSTCalcAna::Analyze(), AnnAna::Analyze(), ShwfitAna::Analyze(), ShieldRejVarAna::Analyze(), AngClusterFitAna::Analyze(), TreePIDAna::Analyze(), HitCalcAna::Analyze(), TimingVarsAna::Analyze(), MdaDiscrimAna::Analyze(), HighHitVarsAna::Analyze(), FracVarAna::Analyze(), EventQualAna::Analyze(), SubShowerVarAna::Analyze(), AngClusterAna::Analyze(), anna, bta, MuELoss::e, equala, fva, HitCalcAna::Get3DHit(), AngClusterAna::GetAngCluster(), RecRecordImp< T >::GetHeader(), RecPhysicsHeader::GetSnarl(), hca, hhv, Msg::kDebug, mda, MSG, msta, AngClusterAna::Set3DHit(), AngClusterFitAna::Set3DHit(), AngClusterFitAna::SetAngCluster(), sfa, shrva, sva, tpa, and tva.

Referenced by NueModule::Analyze().

00111 {
00112   
00113   MSG("NueRecordAna",Msg::kDebug)<<"On Snarl "<<srobj->GetHeader().GetSnarl()
00114                                  <<" event "<<evtn<<endl;
00115   
00116    DeqFloat_t x,y,z,e;
00117    Int_t primShow;
00118    DeqDeqInt_t clusterMap;
00119    TVector3 primDir;
00120    
00121    sfa.Analyze(evtn,srobj);
00122    MSG("NueRecordAna",Msg::kDebug)<<"done sfa"<<endl;
00123 //   hca.Analyze(evtn,srobj);
00124 
00125    if(active3DHits){
00126      hca.Analyze(evtn, srobj);
00127      MSG("NueRecordAna",Msg::kDebug)<<"done hca"<<endl;
00128      hca.Get3DHit(x,y,z,e);    
00129      aca.Set3DHit(x,y,z,e);
00130      aca.Analyze(evtn,srobj);    // Must be preceded by hca.Get3DHit
00131                                //                     aca.Set3DHit
00132      MSG("NueRecordAna",Msg::kDebug)<<"done aca"<<endl;
00133 
00134      aca.GetAngCluster(primShow,clusterMap,primDir);
00135      acf.Set3DHit(x,y,z,e);
00136      acf.SetAngCluster(primShow,clusterMap,primDir);
00137      acf.Analyze(evtn,srobj);    // Must be preceded by:
00138                                // aca.GetAngCluster
00139                                // acf.Set3DHit
00140                                // acf.SetAngCluster
00141      MSG("NueRecordAna",Msg::kDebug)<<"done acf"<<endl;
00142    } 
00143    msta.Analyze(evtn,srobj);
00144    MSG("NueRecordAna",Msg::kDebug)<<"done msta"<<endl;
00145 
00146    fva.Analyze(evtn,srobj);
00147    MSG("NueRecordAna",Msg::kDebug)<<"done fva"<<endl;
00148 
00149    sva.Analyze(evtn,srobj);
00150    MSG("NueRecordAna",Msg::kDebug)<<"done sva"<<endl;
00151 
00152 
00153    hhv.Analyze(evtn,srobj);
00154    MSG("NueRecordAna",Msg::kDebug)<<"done hhv"<<endl;
00155 
00156 
00157    shrva.Analyze(evtn,srobj);
00158    MSG("NueRecordAna",Msg::kDebug)<<"done shrva"<<endl;
00159 
00160 //   Is now being handled by a separate job module   
00161 //   bmona.Analyze(evtn,srobj);
00162 //   MSG("NueRecordAna",Msg::kDebug)<<"done bmona"<<endl;
00163 
00164 //   anaia.Set3DHit(x,y,z,e);   //Must be preceded by hca.Get3Dhit   
00165 //   anaia.Analyze(evtn,srobj); //Must be preceded by Set3DHit()   
00166    MSG("NueRecordAna",Msg::kDebug)<<"done anaia"<<endl;
00167 
00168    anna.Analyze();
00169    MSG("NueRecordAna",Msg::kDebug)<<"done anna"<<endl;
00170 
00171    mda.Analyze();
00172    MSG("NueRecordAna",Msg::kDebug)<<"done mda"<<endl;
00173 
00174    tpa.Analyze();
00175    MSG("NueRecordAna",Msg::kDebug)<<"done tpa"<<endl;
00176    
00177    tva.Analyze(evtn,srobj);
00178    MSG("NueRecordAna",Msg::kDebug)<<"done tva"<<endl;
00179 
00180    bta.Analyze();
00181    equala.Analyze(evtn,srobj);
00182    return;
00183 }

void NueRecordAna::FillReco ( int  evtn,
RecRecordImp< RecCandHeader > *  srobj 
)

Definition at line 257 of file NueRecordAna.cxx.

References anaia, ANtpShowerInfoAna::Analyze(), AnalysisInfoAna::Analyze(), ANtpEventInfoAna::Analyze(), ANtpTrackInfoAna::Analyze(), aneia, ansia, and antia.

Referenced by NueModule::Analyze().

00258 {
00259   if(srobj==0){
00260     return;
00261   }
00262  
00263    aneia.Analyze(evtn,srobj);
00264    ansia.Analyze(evtn,srobj);
00265    antia.Analyze(evtn,srobj);
00266    anaia.Analyze(evtn,srobj);
00267 
00268    return;
00269 }

void NueRecordAna::FillTrue ( int  evtn,
NtpStRecord str 
)

Definition at line 227 of file NueRecordAna.cxx.

References MCFluxInfoAna::Analyze(), NueXsecWeightAna::Analyze(), ANtpTruthInfoBeamAna::Analyze(), StdHepInfoAna::Analyze(), NueFluxWeightsAna::Analyze(), antiba, fiana, VldContext::GetDetector(), RecRecordImp< T >::GetHeader(), MCFluxInfoAna::GetMCFluxInfo(), VldContext::GetSimFlag(), RecHeader::GetVldContext(), SimFlag::kData, Detector::kFar, Detector::kNear, nuefwa, nuexsa, NueFluxWeightsAna::SetDetector(), NueFluxWeightsAna::SetFluxInfo(), and shia.

00228 {
00229   if(srobj==0){
00230     return;
00231   }
00232 
00233   VldContext vc=srobj->GetHeader().GetVldContext();
00234   if(vc.GetSimFlag()==SimFlag::kData){
00235     return;
00236   }
00237 
00238   antiba.Analyze(evtn,srobj);
00239   fiana.Analyze(evtn,srobj);
00240   shia.Analyze(evtn,srobj);
00241   Detector::Detector_t d=vc.GetDetector();
00242   if(d==Detector::kNear){
00243     nuefwa.SetDetector(1);
00244   }
00245   else if(d==Detector::kFar){
00246     nuefwa.SetDetector(2);
00247   }
00248   else{
00249     nuefwa.SetDetector(0);
00250   }
00251   nuefwa.SetFluxInfo(fiana.GetMCFluxInfo());
00252   nuefwa.Analyze(evtn,srobj);
00253   nuexsa.Analyze(evtn,srobj);
00254   return;
00255 }

void NueRecordAna::FillTrue ( int  evtn,
NtpSRRecord srobj,
NtpMCRecord mcobj = 0,
NtpTHRecord thobj = 0 
)

Definition at line 205 of file NueRecordAna.cxx.

References ANtpTruthInfoBeamAna::Analyze(), antiba, RecRecordImp< T >::GetHeader(), VldContext::GetSimFlag(), RecHeader::GetVldContext(), and SimFlag::kData.

Referenced by NueModule::Analyze().

00206 {
00207   if(mcobj==0){
00208     return;
00209   }
00210 
00211   VldContext vc;
00212   if(srobj!=0){
00213     vc=srobj->GetHeader().GetVldContext();
00214   }
00215   else{
00216     vc=mcobj->GetHeader().GetVldContext();
00217   }
00218 
00219   if(vc.GetSimFlag()==SimFlag::kData){
00220     return;
00221   }
00222  
00223     antiba.Analyze(evtn,srobj,mcobj,thobj);
00224     return;
00225 }

void NueRecordAna::SetBeamType ( BeamType::BeamType_t  bType  ) 

Reimplemented from NueAnaBase.

Definition at line 276 of file NueRecordAna.cxx.

References aca, acf, anaia, aneia, ansia, antia, antiba, cdia, fiana, fva, hca, hhv, mria, msta, nuefwa, nuexsa, NueAnaBase::SetBeamType(), sfa, shia, shrva, sva, and tva.

00277 {
00278   sfa.SetBeamType(bType);
00279   hca.SetBeamType(bType);
00280   aca.SetBeamType(bType);
00281   acf.SetBeamType(bType);
00282   msta.SetBeamType(bType);
00283   fva.SetBeamType(bType);
00284   hhv.SetBeamType(bType);
00285   sva.SetBeamType(bType);
00286   shrva.SetBeamType(bType);
00287 //  anna.SetRecoRelease(rel);
00288   anaia.SetBeamType(bType);
00289   aneia.SetBeamType(bType);
00290   ansia.SetBeamType(bType);
00291   antia.SetBeamType(bType);
00292   antiba.SetBeamType(bType);
00293 //  mda.SetRecoRelease(rel);
00294 //  tpa.SetRecoRelease(rel);
00295   fiana.SetBeamType(bType);
00296   nuefwa.SetBeamType(bType);
00297   nuexsa.SetBeamType(bType);
00298   shia.SetBeamType(bType);
00299   mria.SetBeamType(bType);
00300   cdia.SetBeamType(bType);
00301   tva.SetBeamType(bType);
00302 
00303 }

void NueRecordAna::SetBeamType ( int  bType  ) 

Reimplemented from NueAnaBase.

Definition at line 271 of file NueRecordAna.cxx.

Referenced by NueModule::Analyze().

00272 {
00273   return SetBeamType((BeamType::BeamType_t) bType);
00274 }

void NueRecordAna::SetEventEnergyArray ( float *  array,
float *  arr2 
)

Reimplemented from NueAnaBase.

Definition at line 43 of file NueRecordAna.cxx.

References aca, acf, anaia, aneia, ansia, antia, antiba, cdia, NueAnaBase::evtstp0mip, NueAnaBase::evtstp1mip, fiana, fva, hca, hhv, mria, msta, nuefwa, nuexsa, NueAnaBase::SetEventEnergyArray(), sfa, shia, shrva, sva, and tva.

Referenced by NueModule::Analyze().

00044 {
00045   evtstp0mip = array; evtstp1mip = ar2;
00046   sfa.SetEventEnergyArray(array, ar2);
00047   hca.SetEventEnergyArray(array, ar2);
00048   aca.SetEventEnergyArray(array, ar2);
00049   acf.SetEventEnergyArray(array, ar2);
00050   msta.SetEventEnergyArray(array, ar2);
00051   fva.SetEventEnergyArray(array, ar2);
00052   sva.SetEventEnergyArray(array, ar2);
00053   hhv.SetEventEnergyArray(array, ar2);
00054   shrva.SetEventEnergyArray(array, ar2);
00055 //  anna.SetEventEnergyArray(array, ar2);
00056   anaia.SetEventEnergyArray(array, ar2);
00057   aneia.SetEventEnergyArray(array, ar2);
00058   ansia.SetEventEnergyArray(array, ar2);
00059   antia.SetEventEnergyArray(array, ar2);
00060   antiba.SetEventEnergyArray(array, ar2);
00061 //  mda.SetEventEnergyArray(array, ar2);
00062 //  tpa.SetEventEnergyArray(array, ar2);
00063   fiana.SetEventEnergyArray(array, ar2);
00064   nuefwa.SetEventEnergyArray(array, ar2);
00065   nuexsa.SetEventEnergyArray(array, ar2);
00066   shia.SetEventEnergyArray(array, ar2);
00067   mria.SetEventEnergyArray(array, ar2);
00068   cdia.SetEventEnergyArray(array, ar2);
00069   tva.SetEventEnergyArray(array, ar2);
00070   
00071 }

void NueRecordAna::SetRelease ( int  rel  ) 

Reimplemented from NueAnaBase.

Definition at line 73 of file NueRecordAna.cxx.

References aca, acf, anaia, aneia, ansia, antia, antiba, cdia, equala, fiana, fva, hca, hhv, mria, msta, nuefwa, nuexsa, NueAnaBase::release, NueAnaBase::SetRelease(), sfa, shia, shrva, sva, and tva.

Referenced by NueModule::Analyze().

00074 {
00075   release = rel;
00076   sfa.SetRelease(rel);
00077   hca.SetRelease(rel);
00078   aca.SetRelease(rel);
00079   acf.SetRelease(rel);
00080   msta.SetRelease(rel);
00081   fva.SetRelease(rel);
00082   sva.SetRelease(rel);
00083   hhv.SetRelease(rel);
00084   shrva.SetRelease(rel);
00085 //  anna.SetRecoRelease(rel);
00086   anaia.SetRelease(rel);
00087   aneia.SetRelease(rel);
00088   ansia.SetRelease(rel);
00089   antia.SetRelease(rel);
00090   antiba.SetRelease(rel);
00091 //  mda.SetRecoRelease(rel);
00092 //  tpa.SetRecoRelease(rel);
00093   fiana.SetRelease(rel);
00094   nuefwa.SetRelease(rel);
00095   nuexsa.SetRelease(rel);
00096   shia.SetRelease(rel);
00097   mria.SetRelease(rel);
00098   cdia.SetRelease(rel);
00099   tva.SetRelease(rel);
00100 //  bta.SetRelease(rel);
00101   equala.SetRelease(rel);
00102 }


Member Data Documentation

Definition at line 66 of file NueRecordAna.h.

Referenced by Analyze(), SetBeamType(), SetEventEnergyArray(), and SetRelease().

Definition at line 67 of file NueRecordAna.h.

Referenced by Analyze(), SetBeamType(), SetEventEnergyArray(), and SetRelease().

Definition at line 93 of file NueRecordAna.h.

Referenced by Analyze(), and NueRecordAna().

Definition at line 74 of file NueRecordAna.h.

Referenced by FillReco(), SetBeamType(), SetEventEnergyArray(), and SetRelease().

Definition at line 73 of file NueRecordAna.h.

Referenced by Analyze().

Definition at line 78 of file NueRecordAna.h.

Referenced by FillTrue(), SetBeamType(), SetEventEnergyArray(), and SetRelease().

Definition at line 89 of file NueRecordAna.h.

Referenced by Analyze().

Definition at line 87 of file NueRecordAna.h.

Referenced by Analyze(), SetBeamType(), SetEventEnergyArray(), and SetRelease().

Definition at line 90 of file NueRecordAna.h.

Referenced by NueModule::Analyze(), Analyze(), and SetRelease().

Definition at line 71 of file NueRecordAna.h.

Referenced by Analyze(), SetBeamType(), SetEventEnergyArray(), and SetRelease().

Definition at line 80 of file NueRecordAna.h.

Referenced by NueModule::Analyze(), and Analyze().

Definition at line 86 of file NueRecordAna.h.

Referenced by Analyze(), SetBeamType(), SetEventEnergyArray(), and SetRelease().

Definition at line 85 of file NueRecordAna.h.

Referenced by FillTrue(), SetBeamType(), SetEventEnergyArray(), and SetRelease().

Definition at line 72 of file NueRecordAna.h.

Referenced by Analyze(), SetBeamType(), SetEventEnergyArray(), and SetRelease().

Definition at line 70 of file NueRecordAna.h.

Referenced by Analyze(), SetBeamType(), SetEventEnergyArray(), and SetRelease().

Definition at line 81 of file NueRecordAna.h.

Referenced by Analyze().

Definition at line 88 of file NueRecordAna.h.

Referenced by Analyze(), SetBeamType(), SetEventEnergyArray(), and SetRelease().


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

Generated on 2 Nov 2017 for loon by  doxygen 1.6.1