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 #include "AtlfastCode/HepMC_helper.h"
00042
00043 namespace Atlfast {
00047 class SimpleTest: public Algorithm {
00048 public:
00050 SimpleTest(const std::string& name, ISvcLocator* pSvcLocator);
00051 StatusCode initialize();
00052 StatusCode execute();
00053 StatusCode finalize();
00054 private:
00055 int m_eventCount;
00056 TesIO* m_tesIO;
00057 HepMC_helper::IMCselector* m_finalStateSelector;
00058 bool m_writeRef;
00059 JetRecalibrator* m_jetCal;
00060 SimpleTestStatisticCollection m_variables;
00061
00062 std::string m_atlfastEventLocation;
00063 std::string m_jetLocation;
00064 std::string m_electronLocation;
00065 std::string m_isolatedMuonLocation;
00066 std::string m_nonIsolatedMuonLocation;
00067 std::string m_photonLocation;
00068 std::string m_trackLocation;
00069 std::string m_mcTruthLocation;
00070 std::string m_bPhysicsLocation;
00071 std::string m_triggerLocation;
00072 std::string m_eventHeaderLocation;
00073 std::string m_outputLocation;
00074 std::string m_refFile;
00075 std::string m_cmpFile;
00076 std::string m_outFile;
00077
00078
00079
00080 void bump(std::string, double);
00081 void bump(SimpleTestStatistic*, SimpleTestStatisticCollection* );
00082 bool find(std::string);
00083 void terminate();
00084 StatusCode store(MsgStream&, SimpleTestStatisticCollection* );
00085 bool ReadIn(std::vector<SimpleTestStatistic>&);
00086 template <class It> bool WriteOut(const It& begin, const It& end, string&);
00087 };
00088 }
00089
00090 #endif
00091
00092
00093
00094
00095
00096
00097
00098
00099
00100