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

FarAna.h

Go to the documentation of this file.
00001 #ifndef MainLoop_h
00002 #define MainLoop_h
00003 #include <string>
00004 #include <vector>
00005 #include "TH1.h"
00006 #include "TH2.h"
00007 #include "MCNNAnalysis/ComparisonResult.h"
00008 
00009 // predefine external classes
00010 class MinosEvent;
00011 class MinosStrip;
00012 class MinosCompactEvent;
00013 class MinosEventDisplay;
00014 class MinosAnalysisResult;
00015 class PECalculator;
00016 class NtpStRecord;
00017 
00018 
00019 typedef std::vector<MinosStrip*> StripVec ;
00020 
00021 // basic functions - which should not be modified
00022 void MyInit();
00023 void BuildEventLibrary();
00024 void MyAnalysis(const char* name);
00025 void MyEnd();
00026 
00027 // user functions - these are where your code will go
00028 void UserInit();
00029 MinosAnalysisResult* UserAnalysis(MinosCompactEvent*);
00030 void UserAnalysis(const char* name);
00031 void UserEnd();
00032 bool DataPreselected(const NtpStRecord* event, const int eventno);
00033 void FillWorkSpaceA(MinosCompactEvent* event);
00034 void FillWorkSpaceB(MinosCompactEvent* event);
00035 void ClearWorkSpaceA(MinosCompactEvent* event);
00036 void ClearWorkSpaceB(MinosCompactEvent* event);
00037 comparisonResult_h CompareEvents(MinosCompactEvent* eventA, MinosCompactEvent* eventB);
00038 comparisonResult_h CompareEvents(MinosCompactEvent* eventA, MinosCompactEvent* eventB, int ip, int isU, int isV);
00039 void CompareEventsDebug(MinosCompactEvent* eventA, MinosCompactEvent* eventB, int ip, int isU, int isV);
00040 ComparisonResult* CompareEventsP(MinosCompactEvent* eventA, MinosCompactEvent* eventB);
00041 
00042 
00043 
00044 // define variables
00045 std::string files[1000];
00046 int nEventsOut;
00047 
00048 // vector of pointers to events in libraries
00049 std::vector<MinosCompactEvent*> _eventsNC;
00050 std::vector<MinosCompactEvent*> _eventsCCNuE;
00051 std::vector<MinosCompactEvent*> _eventsCCNuMu;
00052 std::vector<MinosCompactEvent*> _eventsCCNuTau;
00053 std::vector<MinosCompactEvent*> _eventsAll;
00054 
00055 // vector of pointers to data events for analysis
00056 std::vector<MinosCompactEvent*> _eventsData;
00057 std::vector<MinosCompactEvent*> _eventsRawData;
00058 std::vector<MinosEvent> _minosEventsData;
00059 std::vector<StripVec> _eventStrips;
00060 //std::vector<MinosAnalysisResult*> _dataAnalysisResults;
00061 
00062 // HISTOGRAMS
00063 // define vectors to hold histograms for ease of writing out
00064 std::vector<TH1*> Histograms1D;
00065 std::vector<TH2*> Histograms2D;
00066 
00067 // define histograms
00068 TH1* h_Nstrips;
00069 TH1* h_Nplanes;
00070 TH1* h_Qtot;
00071 TH1* h_Enu;
00072 TH1* h_EnuPre;
00073 TH1* h_EnuNC;
00074 TH1* h_EnuNCPre;
00075 TH1* h_EnuCCNumu;
00076 TH1* h_EnuCCNumuPre;
00077 TH1* h_EnuCCNue;
00078 TH1* h_EnuCCNuePre;
00079 TH1* h_EnuCCNutau;
00080 TH1* h_EnuCCNutauPre;
00081 TH1* h_EnuOsc;
00082 TH1* h_z;
00083 TH2* h_xy;
00084 TH1* h_zPre;
00085 TH2* h_xyPre;
00086 TH1* h_zFid;
00087 TH2* h_xyFid;
00088 TH2* h_CCMatchEE;
00089 TH1* h_CCMatchAQ;
00090 TH1* h_CCOscMatchAQ;
00091 TH1* h_CCMatchAS;
00092 TH1* h_CCOscMatchAS;
00093 TH2* h_CCMatchAP;
00094 TH1* h_DLnL;
00095 TH1* h_DOscLnL;
00096 TH2* h_DOscLnLY;
00097 TH1* h_fracCC;
00098 TH1* h_fracCCOsc;
00099 TH2* h_fracCCOscY;
00100 TH2* h_fracCCOscQ;
00101 TH1* h_fracWCC;
00102 TH1* h_fracWCCOsc;
00103 TH1* h_EVisSel;
00104 TH1* h_EObsSel;
00105 
00106 MinosEventDisplay* eventDisplay;
00107 PECalculator* peCalculator;
00108 
00109 // Workspace for event comparison
00110 int _workSpaceA[201][201];
00111 int _workSpaceB[201][201];
00112 
00113 #endif // MainLoop_h

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