00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef ATLFAST_SIMPLETEST_H
00012 #define ATLFAST_SIMPLETEST_H
00013
00014
00015
00016 #define DEFAULT_atlfastEventLocation "/Event/Atlfast"
00017 #define DEFAULT_jetLocation "/Event/AtlfastJets"
00018 #define DEFAULT_electronLocation "/Event/AtlfastIsolatedElectrons"
00019 #define DEFAULT_photonLocation "/Event/AtlfastIsolatedPhotons"
00020 #define DEFAULT_isolatedMuonLocation "/Event/AtlfastIsolatedMuons"
00021 #define DEFAULT_nonIsolatedMuonLocation "/Event/AtlfastNonIsolatedMuons"
00022 #define DEFAULT_trackLocation "/Event/AtlfastTracks"
00023 #define DEFAULT_mcTruthLocation "/Event/McEventCollection"
00024 #define DEFAULT_bPhysicsLocation "/Event/AtlfastBPhysics"
00025 #define DEFAULT_triggerLocation "/Event/AtlfastTrigger"
00026 #define DEFAULT_eventHeaderLocation "/Event/AtlfastEventHeader"
00027 #define DEFAULT_outputLocation "/Event/SimpleTestOut"
00028 #define DEFAULT_writeRef false
00029 #define DEFAULT_refFile "Reference.dat"
00030 #define DEFAULT_cmpFile "SimpleTestComp.dat"
00031 #define DEFAULT_outFile "SimpleTestOut.dat"
00032
00033 #include <string>
00034
00035
00036 #include "GaudiKernel/Algorithm.h"
00037 #include "AtlfastCode/SimpleTestStatistic.h"
00038 #include "AtlfastCode/SimpleTestStatisticCollection.h"
00039 #include "AtlfastCode/JetRecalibrator.h"
00040 #include "AtlfastCode/TesIO.h"
00041
00042 namespace HepMC_helper{
00043 class IMCselector;
00044 }
00045
00046 namespace Atlfast {
00050 class SimpleTest: public Algorithm {
00051 public:
00053 SimpleTest(const std::string& name, ISvcLocator* pSvcLocator);
00054 StatusCode initialize();
00055 StatusCode execute();
00056 StatusCode finalize();
00057 private:
00058 int m_eventCount;
00059 TesIO* m_tesIO;
00060 HepMC_helper::IMCselector* m_finalStateSelector;
00061 bool m_writeRef;
00062 JetRecalibrator* m_jetCal;
00063 SimpleTestStatisticCollection m_variables;
00064
00065 std::string m_atlfastEventLocation;
00066 std::string m_jetLocation;
00067 std::string m_electronLocation;
00068 std::string m_isolatedMuonLocation;
00069 std::string m_nonIsolatedMuonLocation;
00070 std::string m_photonLocation;
00071 std::string m_trackLocation;
00072 std::string m_mcTruthLocation;
00073 std::string m_bPhysicsLocation;
00074 std::string m_triggerLocation;
00075 std::string m_eventHeaderLocation;
00076 std::string m_outputLocation;
00077 std::string m_refFile;
00078 std::string m_cmpFile;
00079 std::string m_outFile;
00080
00081
00082
00083 void bump(std::string, double);
00084 void bump(SimpleTestStatistic*, SimpleTestStatisticCollection* );
00085 bool find(std::string);
00086 void terminate();
00087 StatusCode store(MsgStream&, SimpleTestStatisticCollection* );
00088 bool ReadIn(std::vector<SimpleTestStatistic>&);
00089 template <class It> bool WriteOut(const It& begin, const It& end, string&);
00090 };
00091 }
00092
00093 #endif
00094
00095
00096
00097
00098
00099
00100
00101
00102
00103