ResonanceDecayFilterHook

Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33

#include "Pythia8/UserHooks.h"
#include "Pythia8/Event.h"

class ResonanceDecayFilterHook : public Pythia8::UserHooks {
public:
  // Constructor and destructor.
  ResonanceDecayFilterHook() {}

  //--------------------------------------------------------------------------

  bool initAfterBeams() override;
  bool canVetoResonanceDecays() override { return true; }
  bool doVetoResonanceDecays(Pythia8::Event& process) override { return checkVetoResonanceDecays(process); }
  bool checkVetoResonanceDecays(const Pythia8::Event& process);

  //--------------------------------------------------------------------------

private:
  bool filter_;
  bool exclusive_;
  bool eMuAsEquivalent_;
  bool eMuTauAsEquivalent_;
  bool allNuAsEquivalent_;
  bool udscAsEquivalent_;
  bool udscbAsEquivalent_;
  bool wzAsEquivalent_;
  std::set<int> mothers_;
  std::vector<int> daughters_;

  std::map<int, int> requestedDaughters_;
  std::map<int, int> observedDaughters_;
};