2 #include "Math/GenVector/VectorUtil.h"
8 : matchDeltaR_{iConfig.
getParameter<
double>(
"MatchDeltaR")},
10 std::vector<edm::InputTag> inputCollVector_ = iConfig.
getParameter<std::vector<InputTag>>(
"InputCollections");
11 for (
unsigned int ii = 0;
ii < inputCollVector_.size(); ++
ii) {
12 inputColl_.push_back(consumes<LorentzVectorCollection>(inputCollVector_[
ii]));
15 produces<LorentzVectorCollection>(
outName_);
22 std::vector<Handle<LorentzVectorCollection>>
handles;
24 bool allCollectionsExist =
true;
29 handles.push_back(tmp);
31 allCollectionsExist =
false;
36 if (allCollectionsExist) {
38 for (
size_t i = 0;
i < (handles[0])->
size(); ++
i) {
39 bool MatchedObj =
true;
45 for (
size_t j = 1;
j < handles.size(); ++
j) {
46 if (!
match(lvRef, *(handles[
j])))
52 out_product->push_back(lvRef);
65 for (LorentzVectorCollection::const_iterator it = lvcol.begin(); it != lvcol.end(); ++it) {
const double matchDeltaR_
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
const std::string outName_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
std::vector< LorentzVector > LorentzVectorCollection
bool match(const LorentzVector &, const LorentzVectorCollection &) const
std::vector< BaseVolumeHandle * > handles
HLTTauRefCombiner(const edm::ParameterSet &)
T getParameter(std::string const &) const
std::vector< edm::EDGetTokenT< LorentzVectorCollection > > inputColl_
math::XYZTLorentzVectorD LorentzVector
tuple size
Write out results.
void produce(edm::StreamID, edm::Event &, const edm::EventSetup &) const override