![]() |
![]() |
#include <PFECALSuperClusterProducer.h>
Public Member Functions | |
PFECALSuperClusterProducer (const edm::ParameterSet &) | |
virtual void | produce (edm::Event &, const edm::EventSetup &) |
~PFECALSuperClusterProducer () | |
Private Attributes | |
PFECALSuperClusterAlgo::clustering_type | _theclusteringtype |
edm::InputTag | inputTagPFClusters_ |
edm::InputTag | inputTagPFClustersES_ |
std::string | PFBasicClusterCollectionBarrel_ |
std::string | PFBasicClusterCollectionEndcap_ |
std::string | PFBasicClusterCollectionPreshower_ |
std::string | PFSuperClusterCollectionBarrel_ |
std::string | PFSuperClusterCollectionEndcap_ |
std::string | PFSuperClusterCollectionEndcapWithPreshower_ |
PFECALSuperClusterAlgo | superClusterAlgo_ |
clustering algorithm | |
std::shared_ptr < PFEnergyCalibration > | thePFEnergyCalibration_ |
bool | verbose_ |
verbose ? |
Definition at line 34 of file PFECALSuperClusterProducer.h.
PFECALSuperClusterProducer::PFECALSuperClusterProducer | ( | const edm::ParameterSet & | iConfig | ) | [explicit] |
Definition at line 26 of file PFECALSuperClusterProducer.cc.
References Exception, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), PFECALSuperClusterAlgo::kBOX, PFECALSuperClusterAlgo::kMustache, and AlCaHLTBitMon_QueryRunRegistry::string.
{ verbose_ = iConfig.getUntrackedParameter<bool>("verbose",false); std::string _typename = iConfig.getParameter<std::string>("ClusteringType"); if( _typename == ClusterType__BOX ) { _theclusteringtype = PFECALSuperClusterAlgo::kBOX; } else if ( _typename == ClusterType__Mustache ) { _theclusteringtype = PFECALSuperClusterAlgo::kMustache; } else { throw cms::Exception("InvalidClusteringType") << "You have not chosen a valid clustering type," << " please choose from \"Box\" or \"Mustache\"!"; } // parameters for clustering bool useDynamicDPhi = iConfig.getParameter<bool>("useDynamicDPhiWindow"); double threshPFClusterSeedBarrel = iConfig.getParameter<double>("thresh_PFClusterSeedBarrel"); double threshPFClusterBarrel = iConfig.getParameter<double>("thresh_PFClusterBarrel"); double threshPFClusterSeedEndcap = iConfig.getParameter<double>("thresh_PFClusterSeedEndcap"); double threshPFClusterEndcap = iConfig.getParameter<double>("thresh_PFClusterEndcap"); double phiwidthSuperClusterBarrel = iConfig.getParameter<double>("phiwidth_SuperClusterBarrel"); double etawidthSuperClusterBarrel = iConfig.getParameter<double>("etawidth_SuperClusterBarrel"); double phiwidthSuperClusterEndcap = iConfig.getParameter<double>("phiwidth_SuperClusterEndcap"); double etawidthSuperClusterEndcap = iConfig.getParameter<double>("etawidth_SuperClusterEndcap"); double threshPFClusterES = iConfig.getParameter<double>("thresh_PFClusterES"); //double threshPFClusterMustacheOutBarrel = iConfig.getParameter<double>("thresh_PFClusterMustacheOutBarrel"); //double threshPFClusterMustacheOutEndcap = iConfig.getParameter<double>("thresh_PFClusterMustacheOutEndcap"); double doSatelliteClusterMerge = iConfig.getParameter<bool>("doSatelliteClusterMerge"); double satelliteClusterSeedThreshold = iConfig.getParameter<double>("satelliteClusterSeedThreshold"); double satelliteMajorityFraction = iConfig.getParameter<double>("satelliteMajorityFraction"); superClusterAlgo_.setVerbosityLevel(verbose_); superClusterAlgo_.setClusteringType(_theclusteringtype); superClusterAlgo_.setUseDynamicDPhi(useDynamicDPhi); superClusterAlgo_.setThreshPFClusterSeedBarrel( threshPFClusterSeedBarrel ); superClusterAlgo_.setThreshPFClusterBarrel( threshPFClusterBarrel ); superClusterAlgo_.setThreshPFClusterSeedEndcap( threshPFClusterSeedEndcap ); superClusterAlgo_.setThreshPFClusterEndcap( threshPFClusterEndcap ); superClusterAlgo_.setPhiwidthSuperClusterBarrel( phiwidthSuperClusterBarrel ); superClusterAlgo_.setEtawidthSuperClusterBarrel( etawidthSuperClusterBarrel ); superClusterAlgo_.setPhiwidthSuperClusterEndcap( phiwidthSuperClusterEndcap ); superClusterAlgo_.setEtawidthSuperClusterEndcap( etawidthSuperClusterEndcap ); superClusterAlgo_.setThreshPFClusterES( threshPFClusterES ); superClusterAlgo_.setSatelliteMerging( doSatelliteClusterMerge ); superClusterAlgo_.setSatelliteThreshold( satelliteClusterSeedThreshold ); superClusterAlgo_.setMajorityFraction( satelliteMajorityFraction ); //superClusterAlgo_.setThreshPFClusterMustacheOutBarrel( threshPFClusterMustacheOutBarrel ); //superClusterAlgo_.setThreshPFClusterMustacheOutEndcap( threshPFClusterMustacheOutEndcap ); //Load the ECAL energy calibration thePFEnergyCalibration_ = std::shared_ptr<PFEnergyCalibration>(new PFEnergyCalibration()); superClusterAlgo_.setPFClusterCalibration(thePFEnergyCalibration_); superClusterAlgo_.setUsePS(iConfig.getParameter<bool>("use_preshower")); bool applyCrackCorrections_ = iConfig.getParameter<bool>("applyCrackCorrections"); superClusterAlgo_.setCrackCorrections(applyCrackCorrections_); inputTagPFClusters_ = iConfig.getParameter<InputTag>("PFClusters"); inputTagPFClustersES_ = iConfig.getParameter<InputTag>("PFClustersES"); PFBasicClusterCollectionBarrel_ = iConfig.getParameter<string>("PFBasicClusterCollectionBarrel"); PFSuperClusterCollectionBarrel_ = iConfig.getParameter<string>("PFSuperClusterCollectionBarrel"); PFBasicClusterCollectionEndcap_ = iConfig.getParameter<string>("PFBasicClusterCollectionEndcap"); PFSuperClusterCollectionEndcap_ = iConfig.getParameter<string>("PFSuperClusterCollectionEndcap"); PFBasicClusterCollectionPreshower_ = iConfig.getParameter<string>("PFBasicClusterCollectionPreshower"); PFSuperClusterCollectionEndcapWithPreshower_ = iConfig.getParameter<string>("PFSuperClusterCollectionEndcapWithPreshower"); produces<reco::SuperClusterCollection>(PFSuperClusterCollectionBarrel_); produces<reco::SuperClusterCollection>(PFSuperClusterCollectionEndcapWithPreshower_); }
PFECALSuperClusterProducer::~PFECALSuperClusterProducer | ( | ) |
Definition at line 125 of file PFECALSuperClusterProducer.cc.
{}
void PFECALSuperClusterProducer::produce | ( | edm::Event & | iEvent, |
const edm::EventSetup & | iSetup | ||
) | [virtual] |
Implements edm::EDProducer.
Definition at line 130 of file PFECALSuperClusterProducer.cc.
References edm::Event::getByLabel(), and edm::Event::put().
{ //Load the pfcluster collections edm::Handle<edm::View<reco::PFCluster> > pfclustersHandle; iEvent.getByLabel( inputTagPFClusters_, pfclustersHandle ); edm::Handle<edm::View<reco::PFCluster> > preshowerpfclustersHandle; iEvent.getByLabel( inputTagPFClustersES_, preshowerpfclustersHandle); // do clustering superClusterAlgo_.loadAndSortPFClusters(*pfclustersHandle, *preshowerpfclustersHandle); superClusterAlgo_.run(); //store in the event iEvent.put(superClusterAlgo_.getEBOutputSCCollection(), PFSuperClusterCollectionBarrel_); iEvent.put(superClusterAlgo_.getEEOutputSCCollection(), PFSuperClusterCollectionEndcapWithPreshower_); }
Definition at line 49 of file PFECALSuperClusterProducer.h.
Definition at line 56 of file PFECALSuperClusterProducer.h.
Definition at line 57 of file PFECALSuperClusterProducer.h.
std::string PFECALSuperClusterProducer::PFBasicClusterCollectionBarrel_ [private] |
Definition at line 59 of file PFECALSuperClusterProducer.h.
std::string PFECALSuperClusterProducer::PFBasicClusterCollectionEndcap_ [private] |
Definition at line 61 of file PFECALSuperClusterProducer.h.
std::string PFECALSuperClusterProducer::PFBasicClusterCollectionPreshower_ [private] |
Definition at line 63 of file PFECALSuperClusterProducer.h.
std::string PFECALSuperClusterProducer::PFSuperClusterCollectionBarrel_ [private] |
Definition at line 60 of file PFECALSuperClusterProducer.h.
std::string PFECALSuperClusterProducer::PFSuperClusterCollectionEndcap_ [private] |
Definition at line 62 of file PFECALSuperClusterProducer.h.
std::string PFECALSuperClusterProducer::PFSuperClusterCollectionEndcapWithPreshower_ [private] |
Definition at line 64 of file PFECALSuperClusterProducer.h.
clustering algorithm
Definition at line 48 of file PFECALSuperClusterProducer.h.
std::shared_ptr<PFEnergyCalibration> PFECALSuperClusterProducer::thePFEnergyCalibration_ [private] |
Definition at line 51 of file PFECALSuperClusterProducer.h.
bool PFECALSuperClusterProducer::verbose_ [private] |
verbose ?
Definition at line 54 of file PFECALSuperClusterProducer.h.