Encoding:
|
| Attachment 1: |
demo.cxx
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
//// demo.cxx
//// demo
////
//// Nov 2018
////////////////////////////////////////////////////////////////////////////////
//Includes
#include <iostream>
#include <string>
#include <sstream>
//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] << " <input_file> <output_location> "<<endl;
return -1;
}
/*
arguments
0: exec
1: input data file
2: output location
*/
TFile *fpIn = TFile::Open(argv[1]);
if(!fpIn) {
std::cout << "Can't open file\n";
return -1;
}
TTree *eventTree = (TTree*) fpIn->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;event<numEntries;event++) {
eventTree->GetEntry(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;
}
|
| Attachment 4: |
submit_jobs.sh
#!/bin/bash
#where should the outputs be stored?
OutputDir="/fs/scratch/PAS0654/shell_demo/outputs"
echo '[ Processed file output directory: ' $OutputDir ' ]'
export OutputDir
#where is your executable compiled?
RunDir="/users/PAS0654/osu0673/A23_analysis/araROOT"
export RunDir
#define the list of runs to execute on
readfile=run_list.txt
counter=0
while read line1
do
qsub -v RUNDIR=$RunDir,OUTPUTDIR=$OutputDir,FILE=$line1 -N 'job_'$counter run.sh
counter=$((counter+1))
done < $readfile
|