analysis/exampleLoop.cxx
00001 00002 00003 00004 00005 00006 00007 00008 00009 00010 //Includes 00011 #include <iostream> 00012 00013 //AraRoot Includes 00014 #include "UsefulAraEvent.h" 00015 #include "RawAraEvent.h" 00016 //Include FFTtools.h if you want to ask the correlation, etc. tools 00017 00018 //ROOT Includes 00019 #include "TTree.h" 00020 #include "TFile.h" 00021 #include "TGraph.h" 00022 00023 00024 int main(int argc, char **argv) 00025 { 00026 00027 if(argc<2) { 00028 std::cout << "Usage\n" << argv[0] << " <input file>\n"; 00029 std::cout << "e.g.\n" << argv[0] << " http://www.hep.ucl.ac.uk/uhen/ara/monitor/root/run1841/event1841.root\n"; 00030 return 0; 00031 } 00032 00033 TFile *fp = TFile::Open(argv[1]); 00034 if(!fp) { 00035 std::cerr << "Can't open file\n"; 00036 return -1; 00037 } 00038 TTree *eventTree = (TTree*) fp->Get("eventTree"); 00039 if(!eventTree) { 00040 std::cerr << "Can't find eventTree\n"; 00041 return -1; 00042 } 00043 00044 RawAraEvent *evPtr=0; 00045 eventTree->SetBranchAddress("event",&evPtr); 00046 00047 Long64_t numEntries=eventTree->GetEntries(); 00048 Long64_t starEvery=numEntries/80; 00049 if(starEvery==0) starEvery++; 00050 00051 00052 for(Long64_t event=0;event<numEntries;event++) { 00053 if(event%starEvery==0) { 00054 std::cerr << "*"; 00055 } 00056 //This line gets the RawAraEvent 00057 eventTree->GetEntry(event); 00058 00059 //This line creates the UsefulAraEvent 00060 UsefulAraEvent realEvent(evPtr,AraCalType::kLatestCalib); 00061 00062 //Now you can do whatever analysis you want 00063 //e.g. 00064 TGraph *chan1 = realEvent.getGraphFromRFChan(0); 00065 // Do something 00066 delete chan1; 00067 00068 00069 } 00070 std::cerr << "\n"; 00071 00072 }
Generated on Wed Aug 8 16:18:55 2012 for ARA ROOT Test Bed Software by
