#ifndef IOSHKinFitter_h #define IOSHKinFitter_h #include "GaudiKernel/IAlgTool.h" #include "CLHEP/Vector/LorentzVector.h" #include #include namespace Analysis { static const InterfaceID IID_IOSHKinFitter("Analysis::IOSHKinFitter", 1, 0); /** @author Carl Gwilliam */ class IOSHKinFitter : virtual public IAlgTool { public: virtual ~IOSHKinFitter() {}; virtual StatusCode initialize() = 0; virtual StatusCode finalize() = 0; virtual void fit() = 0; virtual void reset() = 0; virtual void setZll(HepLorentzVector& lep1, HepLorentzVector& lep2, int pdg, bool constrain = true) = 0; virtual void setZjj(HepLorentzVector& jet1, HepLorentzVector& jet2, bool constrain = true) = 0; virtual void setMETHZZllqq(std::vector& otherJets, float etMissX, float etMissY, bool constrain = true) = 0; virtual void print() = 0; virtual HepLorentzVector* getZllLep1() = 0; virtual HepLorentzVector* getZllLep2() = 0; virtual HepLorentzVector* getZjjJet1() = 0; virtual HepLorentzVector* getZjjJet2() = 0; virtual std::vector* getOtherJets() = 0; static const InterfaceID& interfaceID() { return IID_IOSHKinFitter; }; }; } #endif