1 #ifndef ICHiggsTauTau_CompositeCandidate_hh
2 #define ICHiggsTauTau_CompositeCandidate_hh
7 #include "Math/Vector4D.h"
8 #include "Math/Vector4Dfwd.h"
10 #include "Math/VectorUtil.h"
32 virtual void Print()
const;
48 return cand_vec_.at(index);
54 return cand_map_.at(label);
58 inline const_iterator
begin()
const {
return cand_vec_.begin(); }
61 inline const_iterator
end()
const {
return cand_vec_.end(); }
64 inline std::vector<Candidate*>
const&
AsVector()
const {
return cand_vec_; }
79 double PtOf(std::string name)
const;
95 double DeltaR(std::string name1, std::string name2)
const;
101 double DeltaPhi(std::string name1, std::string name2)
const;
104 std::map<std::string, Candidate*> cand_map_;
105 std::vector<Candidate*> cand_vec_;
107 bool Verify(std::string
const& name)
const;
Candidate * GetCandidate(std::string name) const
double DeltaR(std::string name1, std::string name2) const
virtual void Print() const
double ScalarPtSum() const
const_iterator end() const
Return a const_iterator to the end of the internal vector
double DeltaPhi(std::string name1, std::string name2) const
Candidate * at(std::string const &label) const
Return a Candidate* using a label key. Will throw if a Candidate with label does not exist...
Stores a four-momentum, charge and identifier, and is the base class for most other physics objects...
Candidate * At(unsigned index) const
std::vector< Candidate * >::const_iterator const_iterator
double PtOf(std::string name) const
std::vector< Candidate * > const & AsVector() const
Return a copy of the internal vector
void AddCandidate(std::string name, Candidate *cand)
Add a new Candidate.
virtual ~CompositeCandidate()
Candidate * at(std::size_t const &index) const
Return a Candidate* using a vector index. Will throw if index is out of range.
A candidate built by adding the four-momenta of other candidates.
const_iterator begin() const
Return a const_iterator to the start of the internal vector