CMS 3D CMS Logo

RecoTauDecayModeCutMultiplexer.cc
Go to the documentation of this file.
3 
5  public:
7 
9  double discriminate(const reco::PFTauRef&) const override;
10  void beginEvent(const edm::Event& event, const edm::EventSetup& eventSetup) override;
11 
12  private:
13  typedef std::pair<unsigned int, unsigned int> IntPair;
14  typedef std::map<IntPair, double> DecayModeCutMap;
15 
16  DecayModeCutMap decayModeCuts_;
20 };
21 
24  toMultiplex_ = pset.getParameter<edm::InputTag>("toMultiplex");
25  toMultiplex_token = consumes<reco::PFTauDiscriminator>(toMultiplex_);
26  typedef std::vector<edm::ParameterSet> VPSet;
27  const VPSet& decayModes = pset.getParameter<VPSet>("decayModes");
28  // Setup our cut map
29  for(auto const& dm : decayModes) {
30  // Get the mass window for each decay mode
31  decayModeCuts_.insert(std::make_pair(
32  // The decay mode as a key
33  std::make_pair(
34  dm.getParameter<uint32_t>("nCharged"),
35  dm.getParameter<uint32_t>("nPiZeros")),
36  // The selection
37  dm.getParameter<double>("cut")
38  ));
39  }
40 }
41 
42 void
44  const edm::Event& evt, const edm::EventSetup& es) {
46 }
47 
48 double
50  double disc_result = (*handle_)[tau];
51  DecayModeCutMap::const_iterator cutIter =
52  decayModeCuts_.find(std::make_pair(tau->signalPFChargedHadrCands().size(),
53  tau->signalPiZeroCandidates().size()));
54 
55  // Return null if it doesn't exist
56  if (cutIter == decayModeCuts_.end()) {
58  }
59  // See if the discriminator passes our cuts
60  return disc_result > cutIter->second;
61 }
62 
T getParameter(std::string const &) const
edm::Handle< reco::PFTauDiscriminator > handle_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:579
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:17
std::pair< unsigned int, unsigned int > IntPair
edm::EDGetTokenT< reco::PFTauDiscriminator > toMultiplex_token
void beginEvent(const edm::Event &event, const edm::EventSetup &eventSetup) override
RecoTauDecayModeCutMultiplexer(const edm::ParameterSet &pset)
double discriminate(const reco::PFTauRef &) const override
Definition: event.py:1