00001 #ifndef jetsubstructureutils_showerdeconstruction_header 00002 #define jetsubstructureutils_showerdeconstruction_header 00003 00004 #include <vector> 00005 00006 #include "xAODJet/Jet.h" 00007 00008 namespace fastjet { 00009 class PseudoJet; 00010 } 00011 00012 class AnalysisParameters; 00013 namespace Deconstruction { 00014 class WDecayModel; 00015 class TopGluonModel; 00016 class BackgroundModel; 00017 class ISRModel; 00018 class Deconstruct; 00019 } 00020 00021 namespace JetSubStructureUtils { 00022 00023 class ShowerDeconstruction { 00024 public: 00025 enum SignalModel { 00026 WDecayModel, 00027 TopGluonModel 00028 }; 00029 ShowerDeconstruction(SignalModel signalModel); 00030 virtual ~ShowerDeconstruction(); 00031 00032 virtual double result(const xAOD::Jet &jet); 00033 virtual double result(const fastjet::PseudoJet &jet, const float R); 00034 00035 private: 00036 AnalysisParameters *m_param; 00037 Deconstruction::WDecayModel *m_WModel; 00038 Deconstruction::TopGluonModel *m_topModel; 00039 Deconstruction::BackgroundModel *m_bkgModel; 00040 Deconstruction::ISRModel *m_isrModel; 00041 Deconstruction::Deconstruct *m_deconstruct; 00042 }; 00043 } 00044 00045 #endif