TauSpinnerFilter

Macros

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 34 35 36
#ifndef Gen_TauolaInterface_TauSpinnerFilter_H
#define Gen_TauolaInterface_TauSpinnerFilter_H

// I. M. Nugent
// Filter on TauSpinner polarization weights to make unweighted polarized MC

// system include files
#include <memory>

// user include files
#include "FWCore/Framework/interface/Frameworkfwd.h"
#include "FWCore/Framework/interface/stream/EDFilter.h"

#include "FWCore/Framework/interface/Event.h"
#include "FWCore/Framework/interface/Run.h"
#include "FWCore/Framework/interface/EventSetup.h"
#include "FWCore/ParameterSet/interface/ParameterSet.h"
#include "FWCore/Framework/interface/LuminosityBlock.h"

#include "CLHEP/Random/RandomEngine.h"

class TauSpinnerFilter : public edm::stream::EDFilter<> {
public:
  TauSpinnerFilter(const edm::ParameterSet&);
  ~TauSpinnerFilter() override {}

  bool filter(edm::Event& e, edm::EventSetup const& es) override;
  void setRandomEngine(CLHEP::HepRandomEngine* v) { fRandomEngine = v; }

private:
  const edm::EDGetTokenT<double> WTToken_;
  CLHEP::HepRandomEngine* fRandomEngine;
  double ntaus_;
};

#endif