00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef ATLFAST_SIMPLETEST_H
00012 #define ATLFAST_SIMPLETEST_H
00013
00014
00015 #include <string>
00016
00017
00018 #include "GaudiKernel/Algorithm.h"
00019 #include "AtlfastEvent/SimpleTestStatistic.h"
00020 #include "AtlfastEvent/SimpleTestStatisticCollection.h"
00021 #include "AtlfastUtils/TesIO.h"
00022
00023 namespace HepMC_helper{
00024 class IMCselector;
00025 }
00026
00027 namespace Atlfast {
00028 using std::string;
00029 class JetRecalibrator;
00033 class SimpleTest: public Algorithm {
00034 public:
00036 SimpleTest(const std::string& name, ISvcLocator* pSvcLocator);
00037 StatusCode initialize();
00038 StatusCode execute();
00039 StatusCode finalize();
00040 private:
00041 int m_eventCount;
00042 TesIO* m_tesIO;
00043 HepMC_helper::IMCselector* m_finalStateSelector;
00044 bool m_writeRef;
00045 JetRecalibrator* m_jetCal;
00046 SimpleTestStatisticCollection m_variables;
00047
00048 std::string m_atlfastEventLocation;
00049 std::string m_jetLocation;
00050 std::string m_jetBLocation;
00051 std::string m_electronLocation;
00052 std::string m_isolatedMuonLocation;
00053 std::string m_nonIsolatedMuonLocation;
00054 std::string m_photonLocation;
00055 std::string m_trackLocation;
00056 std::string m_mcTruthLocation;
00057 std::string m_bPhysicsLocation;
00058 std::string m_triggerLocation;
00059 std::string m_eventHeaderLocation;
00060 std::string m_outputLocation;
00061 std::string m_refFile;
00062 std::string m_cmpFile;
00063 std::string m_outFile;
00064
00065
00066
00067 void bump(std::string, double);
00068 void bump(SimpleTestStatistic*, SimpleTestStatisticCollection* );
00069 bool find(std::string);
00070 void terminate();
00071 StatusCode store(MsgStream&, SimpleTestStatisticCollection* );
00072 bool ReadIn(std::vector<SimpleTestStatistic>&);
00073 template <class It> bool WriteOut(const It& begin, const It& end, string&);
00074 };
00075 }
00076
00077 #endif
00078
00079
00080
00081
00082
00083
00084
00085
00086
00087
00088
00089
00090
00091
00092