#include <SuperClusterProducer.h>
Definition at line 20 of file SuperClusterProducer.h.
SuperClusterProducer::SuperClusterProducer | ( | const edm::ParameterSet & | ps | ) |
Definition at line 24 of file SuperClusterProducer.cc.
References barrelClusterCollection_, barrelClusterProducer_, barrelEtaSearchRoad_, barrelPhiSearchRoad_, barrelSuperclusterCollection_, bremAlgo_p, doBarrel_, doEndcaps_, endcapClusterCollection_, endcapClusterProducer_, endcapEtaSearchRoad_, endcapPhiSearchRoad_, endcapSuperclusterCollection_, edm::ParameterSet::getParameter(), nEvt_, noSuperClusters, BremRecoveryClusterAlgo::pDEBUG, BremRecoveryClusterAlgo::pERROR, BremRecoveryClusterAlgo::pINFO, BremRecoveryClusterAlgo::pWARNING, seedTransverseEnergyThreshold_, totalE, and verbosity.
{ // The verbosity level std::string verbosityString = ps.getParameter<std::string>("VerbosityLevel"); if (verbosityString == "DEBUG") verbosity = BremRecoveryClusterAlgo::pDEBUG; else if (verbosityString == "WARNING") verbosity = BremRecoveryClusterAlgo::pWARNING; else if (verbosityString == "INFO") verbosity = BremRecoveryClusterAlgo::pINFO; else verbosity = BremRecoveryClusterAlgo::pERROR; endcapClusterProducer_ = ps.getParameter<std::string>("endcapClusterProducer"); barrelClusterProducer_ = ps.getParameter<std::string>("barrelClusterProducer"); endcapClusterCollection_ = ps.getParameter<std::string>("endcapClusterCollection"); barrelClusterCollection_ = ps.getParameter<std::string>("barrelClusterCollection"); endcapSuperclusterCollection_ = ps.getParameter<std::string>("endcapSuperclusterCollection"); barrelSuperclusterCollection_ = ps.getParameter<std::string>("barrelSuperclusterCollection"); doBarrel_ = ps.getParameter<bool>("doBarrel"); doEndcaps_ = ps.getParameter<bool>("doEndcaps"); barrelEtaSearchRoad_ = ps.getParameter<double>("barrelEtaSearchRoad"); barrelPhiSearchRoad_ = ps.getParameter<double>("barrelPhiSearchRoad"); endcapEtaSearchRoad_ = ps.getParameter<double>("endcapEtaSearchRoad"); endcapPhiSearchRoad_ = ps.getParameter<double>("endcapPhiSearchRoad"); seedTransverseEnergyThreshold_ = ps.getParameter<double>("seedTransverseEnergyThreshold"); bremAlgo_p = new BremRecoveryClusterAlgo(barrelEtaSearchRoad_, barrelPhiSearchRoad_, endcapEtaSearchRoad_, endcapPhiSearchRoad_, seedTransverseEnergyThreshold_, verbosity); produces< reco::SuperClusterCollection >(endcapSuperclusterCollection_); produces< reco::SuperClusterCollection >(barrelSuperclusterCollection_); totalE = 0; noSuperClusters = 0; nEvt_ = 0; }
SuperClusterProducer::~SuperClusterProducer | ( | ) |
Definition at line 65 of file SuperClusterProducer.cc.
References bremAlgo_p.
{ delete bremAlgo_p; }
bool SuperClusterProducer::counterExceeded | ( | ) | const [inline, private] |
Definition at line 72 of file SuperClusterProducer.h.
References nEvt_, and nMaxPrintout_.
{ return ((nEvt_ > nMaxPrintout_) || (nMaxPrintout_ < 0));}
void SuperClusterProducer::endJob | ( | void | ) | [virtual] |
Reimplemented from edm::EDProducer.
Definition at line 71 of file SuperClusterProducer.cc.
References noSuperClusters, and totalE.
{ double averEnergy = 0.; std::ostringstream str; str << "SuperClusterProducer::endJob()\n" << " total # reconstructed super clusters: " << noSuperClusters << "\n" << " total energy of all clusters: " << totalE << "\n"; if(noSuperClusters>0) { averEnergy = totalE / noSuperClusters; str << " average SuperCluster energy = " << averEnergy << "\n"; } edm::LogInfo("SuperClusterProducerInfo") << str.str() << "\n"; }
void SuperClusterProducer::getClusterPtrVector | ( | edm::Event & | evt, |
std::string | clusterProducer_, | ||
std::string | clusterCollection_, | ||
reco::CaloClusterPtrVector * | clusterPtrVector_p | ||
) | [private] |
Definition at line 126 of file SuperClusterProducer.cc.
References edm::Event::getByLabel(), i, edm::HandleBase::isValid(), edm::Handle< T >::product(), and edm::PtrVector< T >::push_back().
Referenced by produceSuperclustersForECALPart().
{ edm::Handle<reco::BasicClusterCollection> bccHandle; evt.getByLabel(clusterProducer_, clusterCollection_, bccHandle); if (!(bccHandle.isValid())) { edm::LogError("SuperClusterProducerError") << "could not get a handle on the BasicCluster Collection!"; edm::LogError("SuperClusterProducerError") << "Error! can't get the product " << clusterCollection_.c_str(); clusterPtrVector_p = 0; } const reco::BasicClusterCollection *clusterCollection_p = bccHandle.product(); for (unsigned int i = 0; i < clusterCollection_p->size(); i++) { clusterPtrVector_p->push_back(reco::CaloClusterPtr(bccHandle, i)); } }
void SuperClusterProducer::outputValidationInfo | ( | reco::SuperClusterCollection & | superclusterCollection | ) | [private] |
void SuperClusterProducer::produce | ( | edm::Event & | evt, |
const edm::EventSetup & | es | ||
) | [virtual] |
Implements edm::EDProducer.
Definition at line 86 of file SuperClusterProducer.cc.
References barrelClusterCollection_, barrelClusterProducer_, barrelSuperclusterCollection_, doBarrel_, doEndcaps_, endcapClusterCollection_, endcapClusterProducer_, endcapSuperclusterCollection_, nEvt_, and produceSuperclustersForECALPart().
void SuperClusterProducer::produceSuperclustersForECALPart | ( | edm::Event & | evt, |
std::string | clusterProducer, | ||
std::string | clusterCollection, | ||
std::string | superclusterColection | ||
) | [private] |
Definition at line 98 of file SuperClusterProducer.cc.
References bremAlgo_p, getClusterPtrVector(), BremRecoveryClusterAlgo::makeSuperClusters(), noSuperClusters, edm::Event::put(), and totalE.
Referenced by produce().
{ // get the cluster collection out and turn it to a BasicClusterRefVector: reco::CaloClusterPtrVector *clusterPtrVector_p = new reco::CaloClusterPtrVector; getClusterPtrVector(evt, clusterProducer, clusterCollection, clusterPtrVector_p); // run the brem recovery and get the SC collection std::auto_ptr<reco::SuperClusterCollection> superclusters_ap(new reco::SuperClusterCollection(bremAlgo_p->makeSuperClusters(*clusterPtrVector_p))); // count the total energy and the number of superclusters reco::SuperClusterCollection::iterator it; for (it = superclusters_ap->begin(); it != superclusters_ap->end(); it++) { totalE += it->energy(); noSuperClusters++; } // put the SC collection in the event evt.put(superclusters_ap, superclusterCollection); delete clusterPtrVector_p; }
std::string SuperClusterProducer::barrelClusterCollection_ [private] |
Definition at line 40 of file SuperClusterProducer.h.
Referenced by produce(), and SuperClusterProducer().
std::string SuperClusterProducer::barrelClusterProducer_ [private] |
Definition at line 43 of file SuperClusterProducer.h.
Referenced by produce(), and SuperClusterProducer().
float SuperClusterProducer::barrelEtaSearchRoad_ [private] |
Definition at line 48 of file SuperClusterProducer.h.
Referenced by SuperClusterProducer().
float SuperClusterProducer::barrelPhiSearchRoad_ [private] |
Definition at line 49 of file SuperClusterProducer.h.
Referenced by SuperClusterProducer().
std::string SuperClusterProducer::barrelSuperclusterCollection_ [private] |
Definition at line 46 of file SuperClusterProducer.h.
Referenced by produce(), and SuperClusterProducer().
Definition at line 57 of file SuperClusterProducer.h.
Referenced by produceSuperclustersForECALPart(), SuperClusterProducer(), and ~SuperClusterProducer().
bool SuperClusterProducer::doBarrel_ [private] |
Definition at line 54 of file SuperClusterProducer.h.
Referenced by produce(), and SuperClusterProducer().
bool SuperClusterProducer::doEndcaps_ [private] |
Definition at line 55 of file SuperClusterProducer.h.
Referenced by produce(), and SuperClusterProducer().
std::string SuperClusterProducer::endcapClusterCollection_ [private] |
Definition at line 39 of file SuperClusterProducer.h.
Referenced by produce(), and SuperClusterProducer().
std::string SuperClusterProducer::endcapClusterProducer_ [private] |
Definition at line 42 of file SuperClusterProducer.h.
Referenced by produce(), and SuperClusterProducer().
float SuperClusterProducer::endcapEtaSearchRoad_ [private] |
Definition at line 50 of file SuperClusterProducer.h.
Referenced by SuperClusterProducer().
float SuperClusterProducer::endcapPhiSearchRoad_ [private] |
Definition at line 51 of file SuperClusterProducer.h.
Referenced by SuperClusterProducer().
std::string SuperClusterProducer::endcapSuperclusterCollection_ [private] |
Definition at line 45 of file SuperClusterProducer.h.
Referenced by produce(), and SuperClusterProducer().
int SuperClusterProducer::nEvt_ [private] |
Definition at line 35 of file SuperClusterProducer.h.
Referenced by counterExceeded(), produce(), and SuperClusterProducer().
int SuperClusterProducer::nMaxPrintout_ [private] |
Definition at line 34 of file SuperClusterProducer.h.
Referenced by counterExceeded().
int SuperClusterProducer::noSuperClusters [private] |
Definition at line 60 of file SuperClusterProducer.h.
Referenced by endJob(), produceSuperclustersForECALPart(), and SuperClusterProducer().
float SuperClusterProducer::seedTransverseEnergyThreshold_ [private] |
Definition at line 52 of file SuperClusterProducer.h.
Referenced by SuperClusterProducer().
double SuperClusterProducer::totalE [private] |
Definition at line 59 of file SuperClusterProducer.h.
Referenced by endJob(), produceSuperclustersForECALPart(), and SuperClusterProducer().
Definition at line 37 of file SuperClusterProducer.h.
Referenced by SuperClusterProducer().