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")),
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))
T getParameter(std::string const &) const
algo_(conf.existsAs< bool >("Correct")?conf.getParameter< bool >("Correct"):true, conf.getParameter< double >("e9e25Cut"), conf.getParameter< double >("intercept2DCut"), conf.existsAs< bool >("intercept2DSlope")?conf.getParameter< double >("intercept2DSlope"):defaultSlope2D_, conf.getParameter< std::vector< double > >("e1e9Cut"), conf.getParameter< std::vector< double > >("eCOREe9Cut"), conf.getParameter< std::vector< double > >("eSeLCut"), hfvars_)
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_
Cut2D_(conf.getParameter< double >("intercept2DCut"))
std::vector< SuperCluster > SuperClusterCollection
collection of SuperCluser objectr
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
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)
std::vector< RecoEcalCandidate > RecoEcalCandidateCollection
collectin of RecoEcalCandidate objects
edm::EDGetToken hfclustersHFEM_
volatile std::atomic< bool > shutdown_flag false
edm::EDGetToken hfclustersSC_
defaultSlope2D_((Cut2D_<=0.83)?(0.475):((Cut2D_ >0.83 &&Cut2D_<=0.9)?(0.275):(0.2)))
virtual void produce(edm::Event &e, edm::EventSetup const &iSetup)
hfvars_(HFDBversion_, HFDBvector_)