00001 #ifndef QUICK_ANA__I_QUICK_ANA_H
00002 #define QUICK_ANA__I_QUICK_ANA_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #include <QuickAna/Global.h>
00021
00022 #include <PATInterfaces/ISystematicsTool.h>
00023 #include <QuickAna/xAODInclude.h>
00024
00025 namespace ana
00026 {
00027 class IQuickAna : public CP::ISystematicsTool
00028 {
00029
00030
00031
00032
00033
00034
00037 public:
00038 virtual StatusCode process () = 0;
00039
00040
00043 public:
00044 #ifdef ROOTCORE
00045 StatusCode process (xAOD::TEvent& event);
00046 #endif
00047
00048
00053 public:
00054 virtual float weight () = 0;
00055
00056
00059 public:
00060 virtual float eventWeight () = 0;
00061
00062
00065 public:
00066 virtual const IEventObjects& objects () const = 0;
00067
00068
00070 public:
00071 virtual const InternalConfiguration& internalConfiguration () = 0;
00072
00073
00077 public:
00078
00079 virtual xAOD::EventInfo* eventinfo () const = 0;
00080 virtual xAOD::MuonContainer* muons () const = 0;
00081 virtual xAOD::ElectronContainer* electrons () const = 0;
00082 virtual xAOD::PhotonContainer* photons () const = 0;
00083 virtual xAOD::TauJetContainer* taus () const = 0;
00084 virtual xAOD::JetContainer* jets () const = 0;
00085 virtual xAOD::JetContainer* fat_jets () const = 0;
00086 virtual xAOD::MissingET* met () const = 0;
00087 virtual xAOD::MissingET* met2 () const = 0;
00088
00089
00094 public:
00095 virtual const std::vector<CP::SystematicSet>& systematics () const = 0;
00096
00097
00104 public:
00105 virtual StatusCode
00106 setSystematics (const std::vector<CP::SystematicSet>& val_systematics) = 0;
00107
00108
00114 public:
00115 virtual EventData getEventData () const = 0;
00116 };
00117 }
00118
00119 #include <QuickAna/IQuickAna.icc>
00120
00121 #endif