//////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// //// demo.cxx //// demo //// //// Nov 2018 //////////////////////////////////////////////////////////////////////////////// //Includes #include #include #include //AraRoot Includes #include "RawAtriStationEvent.h" #include "UsefulAtriStationEvent.h" //ROOT Includes #include "TTree.h" #include "TFile.h" #include "TGraph.h" using namespace std; RawAtriStationEvent *rawAtriEvPtr; int main(int argc, char **argv) { if(argc<3) { std::cout << "Usage\n" << argv[0] << " "<Get("eventTree"); if(!eventTree) { std::cout << "Can't find eventTree\n"; return -1; } eventTree->SetBranchAddress("event",&rawAtriEvPtr); int run; eventTree->SetBranchAddress("run",&run); eventTree->GetEntry(0); printf("Filter Run Number %d \n", run); char outfile_name[400]; sprintf(outfile_name,"%s/outputs_run%d.root",argv[2],run); TFile *fpOut = TFile::Open(outfile_name, "RECREATE"); TTree* outTree = new TTree("outTree", "outTree"); int WaveformLength[16]; outTree->Branch("WaveformLength", &WaveformLength, "WaveformLength[16]/D"); Long64_t numEntries=eventTree->GetEntries(); for(Long64_t event=0;eventGetEntry(event); UsefulAtriStationEvent *realAtriEvPtr = new UsefulAtriStationEvent(rawAtriEvPtr, AraCalType::kLatestCalib); for(int i=0; i<16; i++){ TGraph *gr = realAtriEvPtr->getGraphFromRFChan(i); WaveformLength[i] = gr->GetN(); delete gr; } outTree->Fill(); delete realAtriEvPtr; } //loop over events fpOut->Write(); fpOut->Close(); fpIn->Close(); delete fpIn; }