Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Running code-format for analysis-reconstruction #27115

Merged
merged 3 commits into from Jun 12, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
174 changes: 88 additions & 86 deletions CommonTools/CandAlgos/interface/CandCombiner.h 100755 → 100644
Expand Up @@ -37,72 +37,72 @@ namespace edm {
namespace reco {
namespace modules {


struct RoleNames {
explicit RoleNames(const edm::ParameterSet & cfg) {

if ( cfg.exists("name") )
name_ = cfg.getParameter<std::string>("name");
else
name_ = "";
if ( cfg.exists("roles") )
roles_ = cfg.getParameter<std::vector<std::string> >("roles");
else
roles_ = std::vector<std::string>();
explicit RoleNames(const edm::ParameterSet& cfg) {
if (cfg.exists("name"))
name_ = cfg.getParameter<std::string>("name");
else
name_ = "";
if (cfg.exists("roles"))
roles_ = cfg.getParameter<std::vector<std::string> >("roles");
else
roles_ = std::vector<std::string>();
}
const std::vector<std::string> roles() const { return roles_; }
void set(reco::CompositeCandidate &c) const {
c.setName(name_);
c.setRoles(roles_);
c.applyRoles();
void set(reco::CompositeCandidate& c) const {
c.setName(name_);
c.setRoles(roles_);
c.applyRoles();
}

private:
/// Name of this candidate
std::string name_;
// Name of the roles
std::vector<std::string> roles_;
};


struct CandCombinerBase : public edm::stream::EDProducer<> {
CandCombinerBase(const edm::ParameterSet & cfg) :
setLongLived_(false),
setMassConstraint_(false),
setPdgId_(false) {
CandCombinerBase(const edm::ParameterSet& cfg)
: setLongLived_(false), setMassConstraint_(false), setPdgId_(false) {
using namespace cand::parser;
using namespace std;
string decay(cfg.getParameter<string>("decay"));
if(decayParser(decay, labels_))
for(vector<ConjInfo>::iterator label = labels_.begin();
label != labels_.end(); ++label)
if(label->mode_ == ConjInfo::kPlus)
dauCharge_.push_back(1);
else if (label->mode_ == ConjInfo::kMinus)
dauCharge_.push_back(-1);
else
dauCharge_.push_back(0);
else
throw edm::Exception(edm::errors::Configuration,
"failed to parse \"" + decay + "\"");
using namespace std;
string decay(cfg.getParameter<string>("decay"));
if (decayParser(decay, labels_))
for (vector<ConjInfo>::iterator label = labels_.begin(); label != labels_.end(); ++label)
if (label->mode_ == ConjInfo::kPlus)
dauCharge_.push_back(1);
else if (label->mode_ == ConjInfo::kMinus)
dauCharge_.push_back(-1);
else
dauCharge_.push_back(0);
else
throw edm::Exception(edm::errors::Configuration, "failed to parse \"" + decay + "\"");

int lists = labels_.size();
if(lists != 2 && lists != 3)
throw edm::Exception(edm::errors::LogicError,
"invalid number of collections");
bool found;
const string setLongLived("setLongLived");
vector<string> vBoolParams = cfg.getParameterNamesForType<bool>();
found = find(vBoolParams.begin(), vBoolParams.end(), setLongLived) != vBoolParams.end();
if(found) setLongLived_ = cfg.getParameter<bool>("setLongLived");
int lists = labels_.size();
if (lists != 2 && lists != 3)
throw edm::Exception(edm::errors::LogicError, "invalid number of collections");
bool found;
const string setLongLived("setLongLived");
vector<string> vBoolParams = cfg.getParameterNamesForType<bool>();
found = find(vBoolParams.begin(), vBoolParams.end(), setLongLived) != vBoolParams.end();
if (found)
setLongLived_ = cfg.getParameter<bool>("setLongLived");
const string setMassConstraint("setMassConstraint");
found = find(vBoolParams.begin(), vBoolParams.end(), setMassConstraint) != vBoolParams.end();
if(found) setMassConstraint_ = cfg.getParameter<bool>("setMassConstraint");
const string setPdgId("setPdgId");
vector<string> vIntParams = cfg.getParameterNamesForType<int>();
found = find(vIntParams.begin(), vIntParams.end(), setPdgId) != vIntParams.end();
if(found) { setPdgId_ = true; pdgId_ = cfg.getParameter<int>("setPdgId"); }
tokens_ = edm::vector_transform( labels_, [this](ConjInfo const & cI){return consumes<CandidateView>(cI.tag_);} );
if (found)
setMassConstraint_ = cfg.getParameter<bool>("setMassConstraint");
const string setPdgId("setPdgId");
vector<string> vIntParams = cfg.getParameterNamesForType<int>();
found = find(vIntParams.begin(), vIntParams.end(), setPdgId) != vIntParams.end();
if (found) {
setPdgId_ = true;
pdgId_ = cfg.getParameter<int>("setPdgId");
}
tokens_ =
edm::vector_transform(labels_, [this](ConjInfo const& cI) { return consumes<CandidateView>(cI.tag_); });
}

protected:
/// label vector
std::vector<cand::parser::ConjInfo> labels_;
Expand All @@ -119,58 +119,60 @@ namespace reco {
int pdgId_;
};

template<typename Selector,
typename PairSelector = AnyPairSelector,
typename Cloner = ::combiner::helpers::NormalClone,
typename OutputCollection = reco::CompositeCandidateCollection,
typename Setup = AddFourMomenta,
typename Init = typename ::reco::modules::EventSetupInit<Setup>::type
>
template <typename Selector,
typename PairSelector = AnyPairSelector,
typename Cloner = ::combiner::helpers::NormalClone,
typename OutputCollection = reco::CompositeCandidateCollection,
typename Setup = AddFourMomenta,
typename Init = typename ::reco::modules::EventSetupInit<Setup>::type>
class CandCombiner : public CandCombinerBase {
public:
public:
/// constructor from parameter settypedef
explicit CandCombiner(const edm::ParameterSet & cfg) :
CandCombinerBase(cfg),
combiner_(reco::modules::make<Selector>(cfg, consumesCollector()),
reco::modules::make<PairSelector>(cfg),
Setup(cfg),
cfg.existsAs<bool>("checkCharge") ? cfg.getParameter<bool>("checkCharge") : true,
cfg.existsAs<bool>("checkOverlap") ? cfg.getParameter<bool>("checkOverlap") : true,
dauCharge_),
names_(cfg) {
explicit CandCombiner(const edm::ParameterSet& cfg)
: CandCombinerBase(cfg),
combiner_(reco::modules::make<Selector>(cfg, consumesCollector()),
reco::modules::make<PairSelector>(cfg),
Setup(cfg),
cfg.existsAs<bool>("checkCharge") ? cfg.getParameter<bool>("checkCharge") : true,
cfg.existsAs<bool>("checkOverlap") ? cfg.getParameter<bool>("checkOverlap") : true,
dauCharge_),
names_(cfg) {
produces<OutputCollection>();
}
/// destructor
~CandCombiner() override { }
/// destructor
~CandCombiner() override {}

private:
/// process an event
void produce(edm::Event& evt, const edm::EventSetup& es) override {
Init::init(combiner_.setup(), evt, es);
int n = labels_.size();
std::vector<edm::Handle<CandidateView> > colls(n);
for(int i = 0; i < n; ++i)
evt.getByToken(tokens_[i], colls[i]);
Init::init(combiner_.setup(), evt, es);
int n = labels_.size();
std::vector<edm::Handle<CandidateView> > colls(n);
for (int i = 0; i < n; ++i)
evt.getByToken(tokens_[i], colls[i]);

std::unique_ptr<OutputCollection> out = combiner_.combine(colls, names_.roles());
if(setLongLived_ || setMassConstraint_ || setPdgId_) {
typename OutputCollection::iterator i = out->begin(), e = out->end();
for(; i != e; ++i) {
names_.set(*i);
if(setLongLived_) i->setLongLived();
if(setMassConstraint_) i->setMassConstraint();
if(setPdgId_) i->setPdgId(pdgId_);
}
}
evt.put(std::move(out));
std::unique_ptr<OutputCollection> out = combiner_.combine(colls, names_.roles());
if (setLongLived_ || setMassConstraint_ || setPdgId_) {
typename OutputCollection::iterator i = out->begin(), e = out->end();
for (; i != e; ++i) {
names_.set(*i);
if (setLongLived_)
i->setLongLived();
if (setMassConstraint_)
i->setMassConstraint();
if (setPdgId_)
i->setPdgId(pdgId_);
}
}
evt.put(std::move(out));
}
/// combiner utility
::CandCombiner<Selector, PairSelector, Cloner, OutputCollection, Setup> combiner_;

RoleNames names_;
};

}
}
} // namespace modules
} // namespace reco

#endif
40 changes: 18 additions & 22 deletions CommonTools/CandAlgos/interface/CandDecaySelector.h 100755 → 100644
Expand Up @@ -12,43 +12,39 @@ namespace helper {
class CandDecayStoreManager {
public:
typedef reco::CandidateCollection collection;
CandDecayStoreManager( const edm::Handle<reco::CandidateCollection> & ) :
selCands_( new reco::CandidateCollection ) {
}
template<typename I>
void cloneAndStore( const I & begin, const I & end, edm::Event & evt ) {
CandDecayStoreManager(const edm::Handle<reco::CandidateCollection>&) : selCands_(new reco::CandidateCollection) {}
template <typename I>
void cloneAndStore(const I& begin, const I& end, edm::Event& evt) {
using namespace reco;
CandidateRefProd cands = evt.getRefBeforePut<CandidateCollection>();
for( I i = begin; i != end; ++ i )
add( cands, * * i );
}
edm::OrphanHandle<reco::CandidateCollection> put( edm::Event & evt ) {
return evt.put( std::move(selCands_) );
for (I i = begin; i != end; ++i)
add(cands, **i);
}
edm::OrphanHandle<reco::CandidateCollection> put(edm::Event& evt) { return evt.put(std::move(selCands_)); }
size_t size() const { return selCands_->size(); }

private:
reco::CandidateRef add( reco::CandidateRefProd cands, const reco::Candidate & c ) {
reco::CandidateRef add(reco::CandidateRefProd cands, const reco::Candidate& c) {
using namespace reco;
using namespace std;
auto cmp = std::make_unique<CompositeRefCandidate>( c );
CompositeRefCandidate * p = cmp.get();
CandidateRef ref( cands, selCands_->size() );
selCands_->push_back( std::move(cmp) );
size_t n = c.numberOfDaughters();
for( size_t i = 0; i < n; ++ i )
p->addDaughter( add( cands, * c.daughter( i ) ) );
auto cmp = std::make_unique<CompositeRefCandidate>(c);
CompositeRefCandidate* p = cmp.get();
CandidateRef ref(cands, selCands_->size());
selCands_->push_back(std::move(cmp));
size_t n = c.numberOfDaughters();
for (size_t i = 0; i < n; ++i)
p->addDaughter(add(cands, *c.daughter(i)));
return ref;
}
std::unique_ptr<reco::CandidateCollection> selCands_;
};
template<typename EdmFilter>

template <typename EdmFilter>
struct StoreManagerTrait<reco::CandidateCollection, EdmFilter> {
typedef CandDecayStoreManager type;
typedef ObjectSelectorBase<reco::CandidateCollection, EdmFilter> base;
};

}
} // namespace helper

#endif
18 changes: 9 additions & 9 deletions CommonTools/CandAlgos/interface/CandMatcher.h 100755 → 100644
Expand Up @@ -11,15 +11,15 @@

namespace reco {
namespace modules {
template<typename S, typename Collection = CandidateCollection, typename D = DeltaR<reco::Candidate> >
class CandMatcher :
public Matcher<Collection, Collection, S, D, typename reco::helper::CandMapTrait<Collection>::type> {
public:
CandMatcher( const edm::ParameterSet & cfg ) :
Matcher<Collection, Collection, S, D, typename reco::helper::CandMapTrait<Collection>::type>( cfg ) { }
~CandMatcher() override { }
template <typename S, typename Collection = CandidateCollection, typename D = DeltaR<reco::Candidate> >
class CandMatcher
: public Matcher<Collection, Collection, S, D, typename reco::helper::CandMapTrait<Collection>::type> {
public:
CandMatcher(const edm::ParameterSet& cfg)
: Matcher<Collection, Collection, S, D, typename reco::helper::CandMapTrait<Collection>::type>(cfg) {}
~CandMatcher() override {}
};

}
}
} // namespace modules
} // namespace reco
#endif
40 changes: 20 additions & 20 deletions CommonTools/CandAlgos/interface/CompositeCandSelector.h
Expand Up @@ -8,27 +8,27 @@
namespace reco {
namespace modules {

template<typename Selector, typename T1, typename T2, unsigned int nDau>
struct ParameterAdapter<CompositeCandSelector<Selector, T1, T2, nDau> > {
static CompositeCandSelector<Selector, T1, T2, nDau> make(const edm::ParameterSet & cfg) {
return CompositeCandSelector<Selector, T1, T2, nDau>(modules::make<Selector>(cfg));
}
};
template <typename Selector, typename T1, typename T2, unsigned int nDau>
struct ParameterAdapter<CompositeCandSelector<Selector, T1, T2, nDau> > {
static CompositeCandSelector<Selector, T1, T2, nDau> make(const edm::ParameterSet& cfg) {
return CompositeCandSelector<Selector, T1, T2, nDau>(modules::make<Selector>(cfg));
}
};

template<template<typename, typename> class Combiner, typename T1, typename T2, unsigned int nDau>
struct ParameterAdapter<CompositeCandSelector<Combiner<StringCutObjectSelector<T1>,
StringCutObjectSelector<T2> >, T1, T2, nDau> > {
typedef CompositeCandSelector<Combiner<StringCutObjectSelector<T1>,
StringCutObjectSelector<T2> >, T1, T2, nDau> Selector;
static Selector make(const edm::ParameterSet & cfg, edm::ConsumesCollector & iC) {
StringCutObjectSelector<T1> s1(cfg.getParameter<std::string>("daughter1cut"));
StringCutObjectSelector<T2> s2(cfg.getParameter<std::string>("daughter2cut"));
Combiner<StringCutObjectSelector<T1>, StringCutObjectSelector<T2> > c(s1, s2);
return Selector(c);
}
};
template <template <typename, typename> class Combiner, typename T1, typename T2, unsigned int nDau>
struct ParameterAdapter<
CompositeCandSelector<Combiner<StringCutObjectSelector<T1>, StringCutObjectSelector<T2> >, T1, T2, nDau> > {
typedef CompositeCandSelector<Combiner<StringCutObjectSelector<T1>, StringCutObjectSelector<T2> >, T1, T2, nDau>
Selector;
static Selector make(const edm::ParameterSet& cfg, edm::ConsumesCollector& iC) {
StringCutObjectSelector<T1> s1(cfg.getParameter<std::string>("daughter1cut"));
StringCutObjectSelector<T2> s2(cfg.getParameter<std::string>("daughter2cut"));
Combiner<StringCutObjectSelector<T1>, StringCutObjectSelector<T2> > c(s1, s2);
return Selector(c);
}
};

}
}
} // namespace modules
} // namespace reco

#endif