![]() |
![]() |
#include <HFRecoEcalCandidateProducer.h>
Public Member Functions | |
HFRecoEcalCandidateProducer (edm::ParameterSet const &conf) | |
virtual void | produce (edm::Event &e, edm::EventSetup const &iSetup) |
Private Attributes | |
HFRecoEcalCandidateAlgo | algo_ |
double | Cut2D_ |
std::vector< double > | defaultDB_ |
double | defaultSlope2D_ |
bool | doPU_ |
edm::InputTag | hfclusters_ |
std::vector< double > | HFDBvector_ |
int | HFDBversion_ |
reco::HFValueStruct | hfvars_ |
edm::InputTag | vertices_ |
Definition at line 24 of file HFRecoEcalCandidateProducer.h.
HFRecoEcalCandidateProducer::HFRecoEcalCandidateProducer | ( | edm::ParameterSet const & | conf | ) | [explicit] |
Definition at line 31 of file HFRecoEcalCandidateProducer.cc.
: defaultDB_(std::vector<double>()), hfclusters_(conf.getParameter<edm::InputTag>("hfclusters")), vertices_(conf.existsAs<edm::InputTag>("VertexCollection") ? conf.getParameter<edm::InputTag>("VertexCollection"):(edm::InputTag)"offlinePrimaryVertices"), HFDBversion_(conf.existsAs<int>("HFDBversion") ? conf.getParameter<int>("HFDBversion"):99),//do nothing HFDBvector_(conf.existsAs<std::vector<double> >("HFDBvector") ? conf.getParameter<std::vector<double> >("HFDBvector"):defaultDB_), doPU_(false), Cut2D_(conf.getParameter<double>("intercept2DCut")), defaultSlope2D_((Cut2D_<=0.83)?(0.475):((Cut2D_>0.83 && Cut2D_<=0.9)?(0.275):(0.2))),//fix for hlt unable to add slope variable now hfvars_(HFDBversion_,HFDBvector_), algo_(conf.existsAs<bool>("Correct") ? conf.getParameter<bool>("Correct") : true, conf.getParameter<double>("e9e25Cut"), conf.getParameter<double>("intercept2DCut"), conf.existsAs<double>("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_) { produces<reco::RecoEcalCandidateCollection>(); }
void HFRecoEcalCandidateProducer::produce | ( | edm::Event & | e, |
edm::EventSetup const & | iSetup | ||
) | [virtual] |
Implements edm::EDProducer.
Definition at line 55 of file HFRecoEcalCandidateProducer.cc.
References algo_, edm::Event::getByLabel(), hfclusters_, HFDBversion_, GoodVertex_cfg::maxAbsZ, GoodVertex_cfg::maxd0, HFRecoEcalCandidateAlgo::produce(), edm::Handle< T >::product(), edm::Event::put(), and vertices_.
{ edm::Handle<reco::SuperClusterCollection> super_clus; edm::Handle<reco::HFEMClusterShapeAssociationCollection> hf_assoc; e.getByLabel(hfclusters_,super_clus); e.getByLabel(hfclusters_,hf_assoc); int nvertex = 0; if(HFDBversion_!=99){ edm:: Handle<reco::VertexCollection> pvHandle; e.getByLabel(vertices_, pvHandle); const reco::VertexCollection & vertices = *pvHandle.product(); static const int minNDOF = 4; static const double maxAbsZ = 15.0; static const double maxd0 = 2.0; //count verticies for(reco::VertexCollection::const_iterator vit = vertices.begin(); vit != vertices.end(); ++vit){ if(vit->ndof() > minNDOF && ((maxAbsZ <= 0) || fabs(vit->z()) <= maxAbsZ) && ((maxd0 <= 0) || fabs(vit->position().rho()) <= maxd0)) nvertex++; } }else{ nvertex = 1; } // create return data std::auto_ptr<reco::RecoEcalCandidateCollection> retdata1(new reco::RecoEcalCandidateCollection()); algo_.produce(super_clus,*hf_assoc,*retdata1,nvertex); e.put(retdata1); }
Definition at line 37 of file HFRecoEcalCandidateProducer.h.
Referenced by produce().
double HFRecoEcalCandidateProducer::Cut2D_ [private] |
Definition at line 34 of file HFRecoEcalCandidateProducer.h.
std::vector<double> HFRecoEcalCandidateProducer::defaultDB_ [private] |
Definition at line 29 of file HFRecoEcalCandidateProducer.h.
double HFRecoEcalCandidateProducer::defaultSlope2D_ [private] |
Definition at line 35 of file HFRecoEcalCandidateProducer.h.
bool HFRecoEcalCandidateProducer::doPU_ [private] |
Definition at line 33 of file HFRecoEcalCandidateProducer.h.
Definition at line 30 of file HFRecoEcalCandidateProducer.h.
Referenced by produce().
std::vector<double> HFRecoEcalCandidateProducer::HFDBvector_ [private] |
Definition at line 32 of file HFRecoEcalCandidateProducer.h.
int HFRecoEcalCandidateProducer::HFDBversion_ [private] |
Definition at line 31 of file HFRecoEcalCandidateProducer.h.
Referenced by produce().
Definition at line 36 of file HFRecoEcalCandidateProducer.h.
Definition at line 30 of file HFRecoEcalCandidateProducer.h.
Referenced by produce().