92 ,
deltaRMin_ (iConfig.getParameter<
double> (
"deltaRMin"))
93 ,
moduleLabel_(iConfig.getParameter<
string> (
"@module_label"))
99 produces<edm::RefToBaseVector<T> >();
120 auto cleanObjects = std::make_unique<edm::RefToBaseVector<T>>();
125 bool* isClean =
new bool[candidates->size()];
126 for (
unsigned int iObject=0;iObject<candidates->size();iObject++) isClean[iObject] =
true;
132 for (
unsigned int iObject=0;iObject<candidates->size();iObject++) {
133 const T& candidate = candidates->at(iObject);
134 if (!
objKeepCut_(candidate)) isClean[iObject] =
false;
136 for (
unsigned int iObj=0;iObj<objects->size();iObj++) {
141 if (deltaR<
deltaRMin_) isClean[iObject] =
false;
146 for (
unsigned int iObject=0;iObject<candidates->size();iObject++)
147 if (isClean[iObject]) cleanObjects->push_back(candidates->refAt(iObject));
164 edm::LogInfo(
"ObjectViewCleaner")<<
"++++++++++++++++++++++++++++++++++++++++++++++++++" 165 <<
"\n"<<
moduleLabel_<<
"(ObjectViewCleaner) SUMMARY:\n"<<ss.str()
166 <<
"++++++++++++++++++++++++++++++++++++++++++++++++++";
ObjectViewCleaner(const edm::ParameterSet &iConfig)
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
void produce(edm::Event &iEvent, const edm::EventSetup &iSetup) override
unsigned int nObjectsTot_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
~ObjectViewCleaner() override
unsigned int nObjectsClean_
edm::EDGetTokenT< edm::View< T > > srcCandsToken_
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
#define DEFINE_FWK_MODULE(type)
constexpr auto deltaR(const T1 &t1, const T2 &t2) -> decltype(t1.eta())
auto vector_transform(std::vector< InputType > const &input, Function predicate) -> std::vector< typename std::remove_cv< typename std::remove_reference< decltype(predicate(input.front()))>::type >::type >
StringCutObjectSelector< reco::Candidate, true > objRemoveCut_
StringCutObjectSelector< T, true > objKeepCut_
std::vector< edm::EDGetTokenT< edm::View< reco::Candidate > > > srcObjectsTokens_
virtual void produce(Event &, EventSetup const &)=0