32 defaultDB_(
std::vector<double>()),
36 HFDBversion_(conf.existsAs<
int>(
"HFDBversion") ? conf.getParameter<
int>(
"HFDBversion"):99),
37 HFDBvector_(conf.existsAs<
std::vector<double> >(
"HFDBvector") ? conf.getParameter<
std::vector<double> >(
"HFDBvector"):defaultDB_),
39 Cut2D_(conf.getParameter<double>(
"intercept2DCut")),
40 defaultSlope2D_((Cut2D_<=0.83)?(0.475):((Cut2D_>0.83 && Cut2D_<=0.9)?(0.275):(0.2))),
41 hfvars_(HFDBversion_,HFDBvector_),
42 algo_(conf.existsAs<
bool>(
"Correct") ? conf.getParameter<
bool>(
"Correct") :
true,
43 conf.getParameter<double>(
"e9e25Cut"),
44 conf.getParameter<double>(
"intercept2DCut"),
45 conf.existsAs<double>(
"intercept2DSlope") ? conf.getParameter<double>(
"intercept2DSlope") : defaultSlope2D_,
46 conf.getParameter<
std::vector<double> >(
"e1e9Cut"),
47 conf.getParameter<
std::vector<double> >(
"eCOREe9Cut"),
48 conf.getParameter<
std::vector<double> >(
"eSeLCut"),
55 produces<reco::RecoEcalCandidateCollection>();
73 static const int minNDOF = 4;
74 static const double maxAbsZ = 15.0;
75 static const double maxd0 = 2.0;
79 for(reco::VertexCollection::const_iterator vit = vertices.begin(); vit != vertices.end(); ++vit){
80 if(vit->ndof() > minNDOF && ((maxAbsZ <= 0) || fabs(vit->z()) <= maxAbsZ) && ((maxd0 <= 0) || fabs(vit->position().rho()) <= maxd0))
90 auto retdata1 = std::make_unique<reco::RecoEcalCandidateCollection>();
T getParameter(std::string const &) const
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
bool existsAs(std::string const ¶meterName, bool trackiness=true) const
checks if a parameter exists as a given type
bool getByToken(EDGetToken token, Handle< PROD > &result) const
edm::EDGetToken vertices_
HFRecoEcalCandidateProducer(edm::ParameterSet const &conf)
std::vector< Vertex > VertexCollection
collection of Vertex objects
HFRecoEcalCandidateAlgo algo_
std::vector< SuperCluster > SuperClusterCollection
collection of SuperCluser objectr
edm::AssociationMap< edm::OneToOne< SuperClusterCollection, HFEMClusterShapeCollection > > HFEMClusterShapeAssociationCollection
T const * product() const
void produce(const edm::Handle< reco::SuperClusterCollection > &SuperClusters, const reco::HFEMClusterShapeAssociationCollection &AssocShapes, reco::RecoEcalCandidateCollection &RecoECand, int nvtx)
edm::EDGetToken hfclustersHFEM_
void produce(edm::Event &e, edm::EventSetup const &iSetup) override
edm::EDGetToken hfclustersSC_