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