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
00033
00034
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
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
00082
00083
00084 };
00085
00086 #endif // ANTPANALYSISINFOANA_H