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

ANtpAnalysisInfoAna.h

Go to the documentation of this file.
00001 
00017 #ifndef ANTPANALYSISINFOANA_H
00018 #define ANTPANALYSISINFOANA_H
00019 
00020                                                                                 
00021 #include <deque>
00022 #include <vector>
00023 #include "TObject.h"
00024 #include "NueAna/NueAnaBase.h"
00025 #include "NueAna/ANtpAnalysisInfoNue.h"
00026 #include "AnalysisNtuples/Module/ANtpInfoObjectFiller.h"
00027 #include "AnalysisNtuples/Module/ANtpRecoNtpManipulator.h"
00028 #include "Mad/MadNsID.h"
00029 #include "Mad/MadDpID.h"
00030 
00031 class NtpSRRecord;
00032 //class NtpSRShower;
00033 //class NtpSRTrack;
00034 //class NtpSREvent;
00035 
00036 class ANtpAnalysisInfoAna : public NueAnaBase
00037 {
00038 
00039 public:
00040     ANtpAnalysisInfoAna(ANtpAnalysisInfoNue &anai);
00041     ~ANtpAnalysisInfoAna();
00042 
00043     void Analyze(int evtn, RecRecordImp<RecCandHeader> *srobj);
00044         
00045 //    void Analyze(int evtn, NtpSRRecord *srobj, NtpMCRecord *mc=0, NtpTHRecord *th=0);
00046     void FillNueAnalysisInformation(NtpSREvent *ntpEvent, NtpSRTrack *ntpTrack,                                   NtpSRShower *ntpShower, ANtpAnalysisInfoNue *analysisInfoNue, ANtpInfoObjectFiller * filla);
00047     Float_t RecoMuEnergy(NtpSRTrack *ntpTrack);
00048     Float_t RecoShwEnergy(NtpSRShower *ntpShower);
00049 
00050     typedef std::deque<Float_t> DeqFloat_t;
00051     typedef DeqFloat_t::iterator IterDeqFloat_t;   
00052 
00053     void Set3DHit(DeqFloat_t &x, DeqFloat_t &y, DeqFloat_t &z, DeqFloat_t &e);
00054     Int_t IsFidVtxEvt(NtpSREvent *ntpEvent, Int_t detType);
00055 
00056 private:
00057 
00058     ANtpAnalysisInfoNue &fANtpAnalysisInfo;
00059 
00060     Float_t RecoQENuEnergy(NtpSRTrack *ntpTrack);
00061     Float_t RecoQEQ2(NtpSRTrack *ntpTrack);
00062     Float_t RecoMuDCosZ(NtpSRTrack *ntpTrack);
00063     Float_t RecoMuDCosNeu(NtpSRTrack *ntpTrack);
00064     Float_t RecoMuQP(NtpSRTrack *ntpTrack);
00065     Int_t  GetChargeSign(NtpSRTrack *ntpTrack);
00066     Bool_t IsFidVtx(NtpSRTrack *ntpTrack);
00067     Int_t IsFidAll(Float_t vtxX, Float_t vtxY, Float_t vtxZ, NtpSREvent *event = 0);
00068     Int_t IsFidVtxEvt(NtpSREvent *ntpEvent);
00069     Int_t InsideNearFiducial(Float_t x, Float_t y, Float_t z);
00070     Int_t InsideFarFiducial(Float_t x, Float_t y, Float_t z);
00071             
00072     DeqFloat_t fX;
00073     DeqFloat_t fY;
00074     DeqFloat_t fZ;
00075     DeqFloat_t fE;
00076 
00077     Detector::Detector_t fDetectorType;
00078 
00079     static MadNsID nsid;
00080     static MadDpID dpid;            
00081 // Note that AnalysisInfo does not have a filler object in the AnalysisPackage at this moment 
00082 //    ANtpInfoObjectFiller *fInfoFiller;   
00083 
00084 };                              // end of class ANtpAnalysisInfoAna
00085 
00086 #endif  // ANTPANALYSISINFOANA_H

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