1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
#ifndef RecoCandidate_RecoEcalCandidate_h
#define RecoCandidate_RecoEcalCandidate_h
/** \class reco::RecoEcalCandidate
*
* Reco Candidates with a Super Cluster component
*
* \author Luca Lista, INFN
*
*
*/
#include "DataFormats/RecoCandidate/interface/RecoCandidate.h"
namespace reco {
class RecoEcalCandidate : public RecoCandidate {
public:
/// default constructor
RecoEcalCandidate() : RecoCandidate() {}
/// constructor from values
RecoEcalCandidate(
Charge q, const LorentzVector& p4, const Point& vtx = Point(0, 0, 0), int pdgId = 0, int status = 0)
: RecoCandidate(q, p4, vtx, pdgId, status) {}
/// constructor from values
RecoEcalCandidate(
Charge q, const PolarLorentzVector& p4, const Point& vtx = Point(0, 0, 0), int pdgId = 0, int status = 0)
: RecoCandidate(q, p4, vtx, pdgId, status) {}
/// destructor
~RecoEcalCandidate() override;
/// returns a clone of the candidate
RecoEcalCandidate* clone() const override;
/// set reference to superCluster
void setSuperCluster(const reco::SuperClusterRef& r) { superCluster_ = r; }
/// reference to a superCluster
reco::SuperClusterRef superCluster() const override;
private:
/// check overlap with another candidate
bool overlap(const Candidate&) const override;
/// reference to a superCluster
reco::SuperClusterRef superCluster_;
};
} // namespace reco
#endif
|