10 #ifndef ANALYSIS_FLOW_H 11 #define ANALYSIS_FLOW_H 13 #include "AnitaDataset.h" 14 #include "AnalysisReco.h" 15 #include "AnalysisSettings.h" 17 #include "FilterStrategy.h" 58 case kAll:
return "all";
59 case kWaisPulser:
return "wais";
60 case kDecimated:
return "decimated";
258 ANALYSIS_SETTING(Int_t, Debug);
274 ANALYSIS_SETTING(Int_t, DoAll);
302 ENUM_ANALYSIS_SETTING(AnitaDataset::BlindingStrategy, BlindStrat);
320 ANALYSIS_SETTING(Double_t, NoiseTimeScaleSeconds);
338 ANALYSIS_SETTING(Int_t, NoiseEvenWaveforms);
356 ANALYSIS_SETTING(Int_t, OutFileCompressionLevel);
373 ANALYSIS_SETTING(Int_t, OutFileCompressionAlgo);
Bool_t checkForSgeTaskId()
Look for an environmental variable called SGE_TASK_ID for running on the hoffman2 cluster...
Bool_t isPulserWAIS(RawAnitaHeader *header, UsefulAdu5Pat *usefulPat)
void prepareDataSet()
Create the data set if not already done.
selection fSelection
Which event selection is applied?
int fRun
Which run in the data set should be is being processed?
ClassDef(AnalysisFlow, 0)
Required for ROOT awareness of getter/setter functions.
selection
A human readable method of selecting the set of events to process, this can be expanded as required...
void setPulserFlags(RawAnitaHeader *header, UsefulAdu5Pat *usefulPat, AnitaEventSummary *sum)
Does the event reconstruction, and produces a summary of it.
AnalysisFlow(CmdLineArgs *args, FilterStrategy *filterStrat=NULL)
Preferred constructor.
UInt_t fLastEventConsidered
Tracks the event numbers processed by the class.
~AnalysisFlow()
Destructor.
void prepareOutputFiles()
Coax the OutputConvention class into creating appropriately named output files.
AnalysisReco * fReco
The reconstruction class, fills an AnitaEventSummary.
static const char * selectionAsString(selection sel)
Bool_t isPulserLDB(RawAnitaHeader *header, UsefulAdu5Pat *usefulPat)
A filter strategy defines the sets of filters that are used and provides some introspection abilities...
High level interface to join up the various bits of the analysis.
FilteredAnitaEvent * getEvent()
Long64_t fFirstEntry
The first entry to process (derived from fDivision and fNumDivisions)
int fNumDivisions
For parallel processing the run is divided into this many portions.
A simple command line option parser.
Namespace which wraps everything in the library.
AnitaDataset * fData
Rootified data handler.
const AnitaDataset * getData()
FilteredAnitaEvent * fEv
The most recently produced FilteredAnitaEvent, updated after each event processed.
TTree * fSumTree
The produced TTree of AnitaEventSummary.
AnalysisSettings * fSettings
Contains configurable numbers parsed from an Acclaim analysis settings file.
TFile * fOutFile
the output file, will contain TTree of AnitaEventSummary
TString fOutFileBaseName
The meat of the output file name.
As UsefulAnitaEvent is to RawAnitaEvent, UsefulAdu5Pat is to Adu5Pat. Well not quite as useful but yo...
int fDivision
Which portion of the run to process (runs from 0 to fNumDivisions)
FilterStrategy * fFilterStrat
Which filter strategy is applied to the events.
void doAnalysis(Long64_t startAtThisEntry=-1)
Common analysis format between UCorrelator and Acclaim.
AnitaEventSummary * doEvent(UInt_t eventNumber)
Long64_t fLastEntry
The final entry to process (derived from fDivision and fNumDivisions)
Bool_t shouldIDoThisEvent(RawAnitaHeader *header, UsefulAdu5Pat *usefulPat)
Applies high level event selection.
void prepareEverything(const char *preferredSettingsFileName=NULL)
Initialize all input and output objects.
AnitaEventSummary * doEntry(Long64_t entry)
This class is intended to store all the necessary data about an ANITA event for filtering and analysi...
NoiseMonitor * fNoiseMonitor
Measures the noise.
AnitaEventSummary * fEventSummary
The most recently filled AnitaEventSummary, updated after each event processed.