00001 // $Header: /nfs/slac/g/glast/ground/cvs/merit/src/FigureOfMerit.h,v 1.2 2001/11/01 17:28:00 burnett Exp $ 00002 // Project: glast analysis 00003 // Author: Toby Burnett 00004 // 00005 // Analyzes the glast tuple to determine a figure of merit that is relevant 00006 // for the point source discovery potential of the instrument. For a gaussian 00007 // point spread function it is 00008 // sqrt(Aeff)/sigma 00009 00010 00011 #ifndef FIGUREOFMERIT_H 00012 #define FIGUREOFMERIT_H 00013 00014 #ifdef __GNUG__ 00015 #pragma interface 00016 #endif 00017 00018 #include "LayerGroup.h" 00019 #include "PSFanalysis.h" 00020 #include "EnergyAnalysis.h" 00021 #include "AnalysisList.h" 00022 #include <vector> 00023 00024 00025 //==================================================================================== 00026 class FigureOfMerit { 00027 public: 00028 FigureOfMerit(const Tuple& t, std::string cutstring=""); 00029 00030 void setCuts(std::string); 00031 // associate a sequence of cuts, identifed by characters in the string 00032 00033 void execute(); 00034 // analyze the current tuple row 00035 00036 void report(std::ostream&); 00037 // write results, return acceptacnce 00038 00039 void accept(); 00040 // process an accepted event 00041 00042 unsigned accepted() const;// { return m_accepted; } 00043 00044 static float area(); //{return s_area;} 00045 static unsigned generated();// { return s_generated; } 00046 // data access 00047 00048 private: 00049 AnalysisList* m_cuts; // list of cuts to employ in analysis 00050 00051 std::vector<LayerGroup> m_layers; // PSF analysis objects, for range of layers 00052 00053 unsigned m_accepted; // number passing analysis cuts 00054 00055 static const Tuple* s_tuple; 00056 // reference to the Glast tuple 00057 00058 00059 static unsigned s_generated; // number generated, from tuple title 00060 static double s_area; // cross-sectional area, from title 00061 00062 }; 00063 #endif
1.2.3 written by Dimitri van Heesch,
© 1997-2000