ARA ROOT Test BEd Software

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 doxygen 1.4.7