1 #ifndef PhysicsTools_CandUtils_CandCombinerBase_h
2 #define PhysicsTools_CandUtils_CandCombinerBase_h
29 std::auto_ptr<reco::NamedCompositeCandidateCollection>
32 std::auto_ptr<reco::NamedCompositeCandidateCollection>
36 std::auto_ptr<reco::NamedCompositeCandidateCollection>
41 std::auto_ptr<reco::NamedCompositeCandidateCollection>
47 std::auto_ptr<reco::NamedCompositeCandidateCollection>
64 typedef std::vector<std::pair<std::pair<reco::CandidatePtr, size_t>,
65 std::vector<reco::CandidatePtrVector>::const_iterator> >
CandStack;
70 std::vector<reco::CandidatePtrVector>::const_iterator
begin,
71 std::vector<reco::CandidatePtrVector>::const_iterator
end,
72 std::auto_ptr<reco::NamedCompositeCandidateCollection> & comps
std::vector< int > dauCharge_
electric charges of the daughters
NamedCandCombinerBase(std::string name)
default construct
virtual void setup(reco::NamedCompositeCandidate &) const =0
set kinematics to reconstructed composite
static const HistoName names[]
std::vector< int > ChargeStack
std::vector< std::pair< std::pair< reco::CandidatePtr, size_t >, std::vector< reco::CandidatePtrVector >::const_iterator > > CandStack
temporary candidate stack
OverlapChecker overlap_
utility to check candidate daughters overlap
std::auto_ptr< reco::NamedCompositeCandidateCollection > combine(const std::vector< reco::CandidatePtrVector > &, string_coll const &) const
return all selected candidate pairs
virtual void addDaughter(reco::NamedCompositeCandidate &cmp, const reco::CandidatePtr &c, std::string name) const =0
add candidate daughter
bool preselect(const reco::Candidate &, const reco::Candidate &) const
verify that the two candidate don't overlap and check charge
bool checkCharge_
flag to specify the checking of electric charge
virtual bool select(const reco::Candidate &) const =0
select a candidate
virtual bool selectPair(const reco::Candidate &c1, const reco::Candidate &c2) const =0
select a candidate pair
std::vector< std::string > string_coll
virtual ~NamedCandCombinerBase()
destructor