37 const std::vector<int>& indices)
const{
40 std::vector<const xAOD::IParticle*> constituents;
41 constituents.reserve(indices.size());
42 for(
auto i : indices){
53 double ptSum = std::accumulate(constituents.begin(),
57 return sumPt + p->pt();});
60 jet.setAttribute<
float>(
m_label +
"Pt", ptSum);
61 jet.setAttribute<
int>(
m_label+
"Count", constituents.size());
64 for(
const auto *c: constituents) {
65 jet.addConstituent(c);
virtual std::string toString(int level) const override
virtual IParticleExtractor * clone() const override
virtual ~IParticleExtractor()
IParticleExtractor(const xAOD::IParticleContainer *, const std::string &label="", bool isGhost=false, bool isTrigger=false)
const xAOD::IParticleContainer * m_iParticles
virtual bool checkIntegrity() const override
virtual void addToJet(xAOD::Jet &, const std::vector< int > &indices) const override
virtual IParticleExtractor * ghostClone() const override
Class providing the definition of the 4-vector interface.