Skip to content

Commit

Permalink
Make modules in HLTriggerOffline/Tau global modules
Browse files Browse the repository at this point in the history
These modules are used in integration build release validation.
  • Loading branch information
Dr15Jones committed Mar 4, 2020
1 parent 1f35966 commit 921629b
Show file tree
Hide file tree
Showing 4 changed files with 48 additions and 52 deletions.
26 changes: 14 additions & 12 deletions HLTriggerOffline/Tau/interface/HLTTauMCProducer.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ in Offline Trigger DQM etc
#include "DataFormats/METReco/interface/GenMET.h"
#include "DataFormats/METReco/interface/GenMETCollection.h"
#include "DataFormats/Math/interface/LorentzVector.h"
#include "FWCore/Framework/interface/EDProducer.h"
#include "FWCore/Framework/interface/global/EDProducer.h"
#include "FWCore/Framework/interface/Event.h"
#include "FWCore/Framework/interface/Frameworkfwd.h"
#include "FWCore/MessageLogger/interface/MessageLogger.h"
Expand All @@ -30,15 +30,17 @@ in Offline Trigger DQM etc
typedef math::XYZTLorentzVectorD LorentzVector;
typedef std::vector<LorentzVector> LorentzVectorCollection;

class HLTTauMCProducer : public edm::EDProducer {
class HLTTauMCProducer : public edm::global::EDProducer<> {
public:
explicit HLTTauMCProducer(const edm::ParameterSet &);
~HLTTauMCProducer() override;

void produce(edm::Event &, const edm::EventSetup &) override;
void produce(edm::StreamID, edm::Event &, const edm::EventSetup &) const override;

private:
void getGenDecayProducts(const reco::GenParticleRef &, reco::GenParticleRefVector &, int status = 1, int pdgId = 0);
void getGenDecayProducts(const reco::GenParticleRef &,
reco::GenParticleRefVector &,
int status = 1,
int pdgId = 0) const;

enum tauDecayModes {
kElectron,
Expand All @@ -52,13 +54,13 @@ class HLTTauMCProducer : public edm::EDProducer {
kUndefined
};

edm::EDGetTokenT<reco::GenParticleCollection> MC_;
edm::EDGetTokenT<reco::GenMETCollection> MCMET_;
double ptMinMCTau_;
double ptMinMCElectron_;
double ptMinMCMuon_;
std::vector<int> m_PDG_;
double etaMin, etaMax, phiMin, phiMax;
const edm::EDGetTokenT<reco::GenParticleCollection> MC_;
const edm::EDGetTokenT<reco::GenMETCollection> MCMET_;
const double ptMinMCTau_;
const double ptMinMCElectron_;
const double ptMinMCMuon_;
const std::vector<int> m_PDG_;
const double etaMin_, etaMax_, phiMin_, phiMax_;
};

#endif
13 changes: 6 additions & 7 deletions HLTriggerOffline/Tau/interface/HLTTauRefCombiner.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ for matching in the Tau HLT

#include "DataFormats/Common/interface/Handle.h"
#include "DataFormats/Math/interface/LorentzVector.h"
#include "FWCore/Framework/interface/EDProducer.h"
#include "FWCore/Framework/interface/global/EDProducer.h"
#include "FWCore/Framework/interface/Event.h"
#include "FWCore/Framework/interface/Frameworkfwd.h"
#include "FWCore/MessageLogger/interface/MessageLogger.h"
Expand All @@ -18,23 +18,22 @@ for matching in the Tau HLT
#include <string>
#include <vector>

class HLTTauRefCombiner : public edm::EDProducer {
class HLTTauRefCombiner : public edm::global::EDProducer<> {
public:
explicit HLTTauRefCombiner(const edm::ParameterSet &);
~HLTTauRefCombiner() override;

void produce(edm::Event &, const edm::EventSetup &) override;
void produce(edm::StreamID, edm::Event &, const edm::EventSetup &) const override;

private:
typedef math::XYZTLorentzVectorD LorentzVector;
typedef std::vector<LorentzVector> LorentzVectorCollection;

std::vector<edm::EDGetTokenT<LorentzVectorCollection>> inputColl_; // Input LV Collections
double matchDeltaR_; // Delta R for matching
std::string outName_; // outputObjectName
const double matchDeltaR_; // Delta R for matching
const std::string outName_; // outputObjectName

bool match(const LorentzVector &,
const LorentzVectorCollection &); // See if this Jet Is Matched
const LorentzVectorCollection &) const; // See if this Jet Is Matched
};

#endif
49 changes: 23 additions & 26 deletions HLTriggerOffline/Tau/src/HLTTauMCProducer.cc
Original file line number Diff line number Diff line change
Expand Up @@ -4,20 +4,19 @@ using namespace edm;
using namespace std;
using namespace reco;

HLTTauMCProducer::HLTTauMCProducer(const edm::ParameterSet &mc) {
HLTTauMCProducer::HLTTauMCProducer(const edm::ParameterSet &mc)
: MC_{consumes<GenParticleCollection>(mc.getUntrackedParameter<edm::InputTag>("GenParticles"))},
MCMET_{consumes<GenMETCollection>(mc.getUntrackedParameter<edm::InputTag>("GenMET"))},
ptMinMCTau_{mc.getUntrackedParameter<double>("ptMinTau", 5.)},
ptMinMCElectron_{mc.getUntrackedParameter<double>("ptMinElectron", 5.)},
ptMinMCMuon_{mc.getUntrackedParameter<double>("ptMinMuon", 2.)},
m_PDG_{mc.getUntrackedParameter<std::vector<int>>("BosonID")},
etaMin_{mc.getUntrackedParameter<double>("EtaMin", -2.5)},
etaMax_{mc.getUntrackedParameter<double>("EtaMax", 2.5)},
phiMin_{mc.getUntrackedParameter<double>("PhiMin", -3.15)},
phiMax_{mc.getUntrackedParameter<double>("PhiMax", 3.15)} {
// One Parameter Set per Collection

MC_ = consumes<GenParticleCollection>(mc.getUntrackedParameter<edm::InputTag>("GenParticles"));
MCMET_ = consumes<GenMETCollection>(mc.getUntrackedParameter<edm::InputTag>("GenMET"));
ptMinMCTau_ = mc.getUntrackedParameter<double>("ptMinTau", 5.);
ptMinMCMuon_ = mc.getUntrackedParameter<double>("ptMinMuon", 2.);
ptMinMCElectron_ = mc.getUntrackedParameter<double>("ptMinElectron", 5.);
m_PDG_ = mc.getUntrackedParameter<std::vector<int>>("BosonID");
etaMin = mc.getUntrackedParameter<double>("EtaMin", -2.5);
etaMax = mc.getUntrackedParameter<double>("EtaMax", 2.5);
phiMin = mc.getUntrackedParameter<double>("PhiMin", -3.15);
phiMax = mc.getUntrackedParameter<double>("PhiMax", 3.15);

produces<LorentzVectorCollection>("LeptonicTauLeptons");
produces<LorentzVectorCollection>("LeptonicTauElectrons");
produces<LorentzVectorCollection>("LeptonicTauMuons");
Expand All @@ -30,9 +29,7 @@ HLTTauMCProducer::HLTTauMCProducer(const edm::ParameterSet &mc) {
produces<std::vector<int>>("Mothers");
}

HLTTauMCProducer::~HLTTauMCProducer() {}

void HLTTauMCProducer::produce(edm::Event &iEvent, const edm::EventSetup &iES) {
void HLTTauMCProducer::produce(edm::StreamID, edm::Event &iEvent, const edm::EventSetup &iES) const {
// All the code from HLTTauMCInfo is here :-)

unique_ptr<LorentzVectorCollection> product_Electrons(new LorentzVectorCollection);
Expand Down Expand Up @@ -209,38 +206,38 @@ void HLTTauMCProducer::produce(edm::Event &iEvent, const edm::EventSetup &iES) {

// cout<< "So we have a: " << tauDecayMode <<endl;
if (tauDecayMode == kElectron) {
if ((Visible_Taus.eta() > etaMin && Visible_Taus.eta() < etaMax && Visible_Taus.phi() > phiMin &&
Visible_Taus.phi() < phiMax) &&
if ((Visible_Taus.eta() > etaMin_ && Visible_Taus.eta() < etaMax_ && Visible_Taus.phi() > phiMin_ &&
Visible_Taus.phi() < phiMax_) &&
(Visible_Taus.pt() > ptMinMCElectron_)) {
product_Electrons->push_back(Visible_Taus);
product_Leptons->push_back(Visible_Taus);
}
} else if (tauDecayMode == kMuon) {
if ((Visible_Taus.eta() > etaMin && Visible_Taus.eta() < etaMax && Visible_Taus.phi() > phiMin &&
Visible_Taus.phi() < phiMax) &&
if ((Visible_Taus.eta() > etaMin_ && Visible_Taus.eta() < etaMax_ && Visible_Taus.phi() > phiMin_ &&
Visible_Taus.phi() < phiMax_) &&
(Visible_Taus.pt() > ptMinMCMuon_)) {
product_Muons->push_back(Visible_Taus);
product_Leptons->push_back(Visible_Taus);
}
} else if (tauDecayMode == kOneProng0pi0 || tauDecayMode == kOneProng1pi0 || tauDecayMode == kOneProng2pi0) {
if ((Visible_Taus.eta() > etaMin && Visible_Taus.eta() < etaMax && Visible_Taus.phi() > phiMin &&
Visible_Taus.phi() < phiMax) &&
if ((Visible_Taus.eta() > etaMin_ && Visible_Taus.eta() < etaMax_ && Visible_Taus.phi() > phiMin_ &&
Visible_Taus.phi() < phiMax_) &&
(Visible_Taus.pt() > ptMinMCTau_)) {
product_OneProng->push_back(Visible_Taus);
product_OneAndThreeProng->push_back(Visible_Taus);
product_Neutrina->push_back(Neutrino);
}
} else if (tauDecayMode == kThreeProng0pi0 || tauDecayMode == kThreeProng1pi0) {
if ((Visible_Taus.eta() > etaMin && Visible_Taus.eta() < etaMax && Visible_Taus.phi() > phiMin &&
Visible_Taus.phi() < phiMax) &&
if ((Visible_Taus.eta() > etaMin_ && Visible_Taus.eta() < etaMax_ && Visible_Taus.phi() > phiMin_ &&
Visible_Taus.phi() < phiMax_) &&
(Visible_Taus.pt() > ptMinMCTau_)) {
product_ThreeProng->push_back(Visible_Taus);
product_OneAndThreeProng->push_back(Visible_Taus);
product_Neutrina->push_back(Neutrino);
}
} else if (tauDecayMode == kOther) {
if ((Visible_Taus.eta() > etaMin && Visible_Taus.eta() < etaMax && Visible_Taus.phi() > phiMin &&
Visible_Taus.phi() < phiMax) &&
if ((Visible_Taus.eta() > etaMin_ && Visible_Taus.eta() < etaMax_ && Visible_Taus.phi() > phiMin_ &&
Visible_Taus.phi() < phiMax_) &&
(Visible_Taus.pt() > ptMinMCTau_)) {
product_Other->push_back(Visible_Taus);
}
Expand All @@ -265,7 +262,7 @@ void HLTTauMCProducer::produce(edm::Event &iEvent, const edm::EventSetup &iES) {
void HLTTauMCProducer::getGenDecayProducts(const GenParticleRef &mother,
GenParticleRefVector &products,
int status,
int pdgId) {
int pdgId) const {
const GenParticleRefVector &daughterRefs = mother->daughterRefVector();

for (GenParticleRefVector::const_iterator d = daughterRefs.begin(); d != daughterRefs.end(); ++d) {
Expand Down
12 changes: 5 additions & 7 deletions HLTriggerOffline/Tau/src/HLTTauRefCombiner.cc
Original file line number Diff line number Diff line change
Expand Up @@ -4,20 +4,18 @@
using namespace edm;
using namespace std;

HLTTauRefCombiner::HLTTauRefCombiner(const edm::ParameterSet &iConfig) {
HLTTauRefCombiner::HLTTauRefCombiner(const edm::ParameterSet &iConfig)
: matchDeltaR_{iConfig.getParameter<double>("MatchDeltaR")},
outName_{iConfig.getParameter<string>("OutputCollection")} {
std::vector<edm::InputTag> inputCollVector_ = iConfig.getParameter<std::vector<InputTag>>("InputCollections");
for (unsigned int ii = 0; ii < inputCollVector_.size(); ++ii) {
inputColl_.push_back(consumes<LorentzVectorCollection>(inputCollVector_[ii]));
}
matchDeltaR_ = iConfig.getParameter<double>("MatchDeltaR");
outName_ = iConfig.getParameter<string>("OutputCollection");

produces<LorentzVectorCollection>(outName_);
}

HLTTauRefCombiner::~HLTTauRefCombiner() {}

void HLTTauRefCombiner::produce(edm::Event &iEvent, const edm::EventSetup &iES) {
void HLTTauRefCombiner::produce(edm::StreamID, edm::Event &iEvent, const edm::EventSetup &iES) const {
unique_ptr<LorentzVectorCollection> out_product(new LorentzVectorCollection);

// Create The Handles..
Expand Down Expand Up @@ -60,7 +58,7 @@ void HLTTauRefCombiner::produce(edm::Event &iEvent, const edm::EventSetup &iES)
}
}

bool HLTTauRefCombiner::match(const LorentzVector &lv, const LorentzVectorCollection &lvcol) {
bool HLTTauRefCombiner::match(const LorentzVector &lv, const LorentzVectorCollection &lvcol) const {
bool matched = false;

if (!lvcol.empty())
Expand Down

0 comments on commit 921629b

Please sign in to comment.