00001
00002
00003 #ifndef JetFromPseudojet_H
00004 #define JetFromPseudojet_H
00005
00006
00007
00008
00009
00010
00011
00012 #include "AsgTools/AsgTool.h"
00013 #include "JetInterface/IJetFromPseudojet.h"
00014 #include "fastjet/PseudoJet.hh"
00015 #include "xAODJet/JetContainer.h"
00016
00017 class JetFromPseudojet
00018 : public asg::AsgTool,
00019 virtual public IJetFromPseudojet {
00020 ASG_TOOL_CLASS(JetFromPseudojet, IJetFromPseudojet)
00021
00022 public:
00023
00024
00025 JetFromPseudojet(std::string name);
00026
00027
00028 StatusCode initialize();
00029
00030
00031
00032
00033
00034 xAOD::Jet* add(const fastjet::PseudoJet& pj, xAOD::JetContainer& jets,
00035 xAOD::JetInput::Type inputtype, const NameList& ghostlabs) const;
00036
00037
00038
00039
00040
00041
00042 xAOD::Jet* add(const fastjet::PseudoJet& pj, xAOD::JetContainer& jets,
00043 const xAOD::Jet* pparent) const;
00044
00045
00046 void print() const;
00047
00048 private:
00049
00050
00051 xAOD::Jet* addjet(const fastjet::PseudoJet& pj, xAOD::JetContainer& jets,
00052 const xAOD::Jet* pparent, const NameList* pghostlabs) const;
00053
00054
00055 void buildAndSetEMScaleMom(xAOD::Jet * jet, xAOD::JetInput::Type inputtype) const ;
00056
00057 private:
00058
00059
00060 std::vector<std::string> m_atts;
00061
00062 bool m_doArea;
00063 bool m_doFourVecArea;
00064 };
00065
00066 #endif