00001 #ifdef ROOTCORE
00002 #ifndef JetReclustering_JetReclusteringAlgo_H
00003 #define JetReclustering_JetReclusteringAlgo_H
00004
00005 #include <EventLoop/Algorithm.h>
00006
00007 #include <xAODRootAccess/Init.h>
00008 #include <xAODRootAccess/TEvent.h>
00009 #include <xAODRootAccess/TStore.h>
00010
00011
00012 #include <AsgTools/AnaToolHandle.h>
00013 #include <JetInterface/IJetExecuteTool.h>
00014
00015 class JetReclusteringAlgo : public EL::Algorithm
00016 {
00017 public:
00018 std::string m_name = "GiordonStark",
00019 m_inputJetContainer,
00020 m_outputJetContainer,
00021 m_rc_alg,
00022 m_outputXAODName;
00023 float m_radius = 1.0;
00024 float m_ptMin_input = 25.0;
00025 float m_ptMin_rc = 50.0;
00026 float m_ptFrac = 0.05;
00027 float m_subjet_radius = 0.2;
00028 float m_varR_minR = -1.0;
00029 float m_varR_mass = -1.0;
00030 bool m_doArea = false;
00031 std::string m_areaAttributes = "ActiveArea ActiveArea4vec";
00032 bool m_debug = false;
00033
00034 private:
00035
00036 xAOD::TEvent *m_event;
00037 xAOD::TStore *m_store;
00038
00039 asg::AnaToolHandle<IJetExecuteTool> m_jetReclusteringTool;
00040
00041 public:
00042
00043 JetReclusteringAlgo ();
00044
00045
00046 virtual EL::StatusCode setupJob (EL::Job& job);
00047 virtual EL::StatusCode fileExecute ();
00048 virtual EL::StatusCode histInitialize ();
00049 virtual EL::StatusCode changeInput (bool firstFile);
00050 virtual EL::StatusCode initialize ();
00051 virtual EL::StatusCode execute ();
00052 virtual EL::StatusCode postExecute ();
00053 virtual EL::StatusCode finalize ();
00054 virtual EL::StatusCode histFinalize ();
00055
00056
00057 ClassDef(JetReclusteringAlgo, 1);
00058 };
00059
00060 #endif
00061 #endif // ROOTCORE