CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Attributes
PFECALSuperClusterProducer Class Reference

#include <PFECALSuperClusterProducer.h>

Inheritance diagram for PFECALSuperClusterProducer:
edm::stream::EDProducer<>

Public Member Functions

void beginLuminosityBlock (const edm::LuminosityBlock &, const edm::EventSetup &) override
 
 PFECALSuperClusterProducer (const edm::ParameterSet &)
 
void produce (edm::Event &, const edm::EventSetup &) override
 
 ~PFECALSuperClusterProducer () override
 
- Public Member Functions inherited from edm::stream::EDProducer<>
 EDProducer ()=default
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndRuns () const final
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 

Private Attributes

PFECALSuperClusterAlgo::clustering_type _theclusteringtype
 
PFECALSuperClusterAlgo::energy_weight _theenergyweight
 
bool isOOTCollection_
 
std::string PFBasicClusterCollectionBarrel_
 
std::string PFBasicClusterCollectionEndcap_
 
std::string PFBasicClusterCollectionPreshower_
 
std::string PFClusterAssociationEBEE_
 
std::string PFClusterAssociationES_
 
std::string PFSuperClusterCollectionBarrel_
 
std::string PFSuperClusterCollectionEndcap_
 
std::string PFSuperClusterCollectionEndcapWithPreshower_
 
PFECALSuperClusterAlgo superClusterAlgo_
 clustering algorithm More...
 
std::shared_ptr< PFEnergyCalibrationthePFEnergyCalibration_
 
bool verbose_
 verbose ? More...
 

Additional Inherited Members

- Public Types inherited from edm::stream::EDProducer<>
typedef CacheContexts< T... > CacheTypes
 
typedef CacheTypes::GlobalCache GlobalCache
 
typedef AbilityChecker< T... > HasAbility
 
typedef CacheTypes::LuminosityBlockCache LuminosityBlockCache
 
typedef LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCacheLuminosityBlockContext
 
typedef CacheTypes::LuminosityBlockSummaryCache LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache, GlobalCacheRunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 

Detailed Description

Author
Nicolas Chanon Additional authors for Mustache: Y. Gershtein, R. Patel, L. Gray
Date
July 2012

Definition at line 43 of file PFECALSuperClusterProducer.h.

Constructor & Destructor Documentation

PFECALSuperClusterProducer::PFECALSuperClusterProducer ( const edm::ParameterSet iConfig)
explicit

Definition at line 46 of file PFECALSuperClusterProducer.cc.

References HLT_2018_cff::doSatelliteClusterMerge, HLT_2018_cff::dropUnseedable, Exception, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), PFECALSuperClusterAlgo::kBOX, PFECALSuperClusterAlgo::kCalibratedNoPS, PFECALSuperClusterAlgo::kCalibratedTotal, PFECALSuperClusterAlgo::kMustache, PFECALSuperClusterAlgo::kRaw, HLT_2018_cff::satelliteClusterSeedThreshold, HLT_2018_cff::satelliteMajorityFraction, HLT_2018_cff::seedThresholdIsET, and AlCaHLTBitMon_QueryRunRegistry::string.

46  {
47  verbose_ = iConfig.getUntrackedParameter<bool>("verbose", false);
48 
49  superClusterAlgo_.setUseRegression(iConfig.getParameter<bool>("useRegression"));
50 
51  isOOTCollection_ = iConfig.getParameter<bool>("isOOTCollection");
53 
54  superClusterAlgo_.setTokens(iConfig, consumesCollector());
55 
56  std::string _typename = iConfig.getParameter<std::string>("ClusteringType");
57  if (_typename == ClusterType__BOX) {
59  } else if (_typename == ClusterType__Mustache) {
61  } else {
62  throw cms::Exception("InvalidClusteringType") << "You have not chosen a valid clustering type,"
63  << " please choose from \"Box\" or \"Mustache\"!";
64  }
65 
66  std::string _weightname = iConfig.getParameter<std::string>("EnergyWeight");
67  if (_weightname == EnergyWeight__Raw) {
69  } else if (_weightname == EnergyWeight__CalibratedNoPS) {
71  } else if (_weightname == EnergyWeight__CalibratedTotal) {
73  } else {
74  throw cms::Exception("InvalidClusteringType") << "You have not chosen a valid energy weighting scheme,"
75  << " please choose from \"Raw\", \"CalibratedNoPS\", or"
76  << " \"CalibratedTotal\"!";
77  }
78 
79  // parameters for clustering
80  bool seedThresholdIsET = iConfig.getParameter<bool>("seedThresholdIsET");
81 
82  bool useDynamicDPhi = iConfig.getParameter<bool>("useDynamicDPhiWindow");
83 
84  double threshPFClusterSeedBarrel = iConfig.getParameter<double>("thresh_PFClusterSeedBarrel");
85  double threshPFClusterBarrel = iConfig.getParameter<double>("thresh_PFClusterBarrel");
86 
87  double threshPFClusterSeedEndcap = iConfig.getParameter<double>("thresh_PFClusterSeedEndcap");
88  double threshPFClusterEndcap = iConfig.getParameter<double>("thresh_PFClusterEndcap");
89 
90  double phiwidthSuperClusterBarrel = iConfig.getParameter<double>("phiwidth_SuperClusterBarrel");
91  double etawidthSuperClusterBarrel = iConfig.getParameter<double>("etawidth_SuperClusterBarrel");
92 
93  double phiwidthSuperClusterEndcap = iConfig.getParameter<double>("phiwidth_SuperClusterEndcap");
94  double etawidthSuperClusterEndcap = iConfig.getParameter<double>("etawidth_SuperClusterEndcap");
95 
96  //double threshPFClusterMustacheOutBarrel = iConfig.getParameter<double>("thresh_PFClusterMustacheOutBarrel");
97  //double threshPFClusterMustacheOutEndcap = iConfig.getParameter<double>("thresh_PFClusterMustacheOutEndcap");
98 
99  double doSatelliteClusterMerge = iConfig.getParameter<bool>("doSatelliteClusterMerge");
100  double satelliteClusterSeedThreshold = iConfig.getParameter<double>("satelliteClusterSeedThreshold");
101  double satelliteMajorityFraction = iConfig.getParameter<double>("satelliteMajorityFraction");
102  bool dropUnseedable = iConfig.getParameter<bool>("dropUnseedable");
103 
107  superClusterAlgo_.setUseETForSeeding(seedThresholdIsET);
108  superClusterAlgo_.setUseDynamicDPhi(useDynamicDPhi);
109 
110  superClusterAlgo_.setThreshSuperClusterEt(iConfig.getParameter<double>("thresh_SCEt"));
111 
112  superClusterAlgo_.setThreshPFClusterSeedBarrel(threshPFClusterSeedBarrel);
113  superClusterAlgo_.setThreshPFClusterBarrel(threshPFClusterBarrel);
114 
115  superClusterAlgo_.setThreshPFClusterSeedEndcap(threshPFClusterSeedEndcap);
116  superClusterAlgo_.setThreshPFClusterEndcap(threshPFClusterEndcap);
117 
118  superClusterAlgo_.setPhiwidthSuperClusterBarrel(phiwidthSuperClusterBarrel);
119  superClusterAlgo_.setEtawidthSuperClusterBarrel(etawidthSuperClusterBarrel);
120 
121  superClusterAlgo_.setPhiwidthSuperClusterEndcap(phiwidthSuperClusterEndcap);
122  superClusterAlgo_.setEtawidthSuperClusterEndcap(etawidthSuperClusterEndcap);
123 
124  superClusterAlgo_.setSatelliteMerging(doSatelliteClusterMerge);
125  superClusterAlgo_.setSatelliteThreshold(satelliteClusterSeedThreshold);
126  superClusterAlgo_.setMajorityFraction(satelliteMajorityFraction);
127  superClusterAlgo_.setDropUnseedable(dropUnseedable);
128  //superClusterAlgo_.setThreshPFClusterMustacheOutBarrel( threshPFClusterMustacheOutBarrel );
129  //superClusterAlgo_.setThreshPFClusterMustacheOutEndcap( threshPFClusterMustacheOutEndcap );
130 
131  //Load the ECAL energy calibration
132  thePFEnergyCalibration_ = std::make_shared<PFEnergyCalibration>();
134 
135  bool applyCrackCorrections_ = iConfig.getParameter<bool>("applyCrackCorrections");
136  superClusterAlgo_.setCrackCorrections(applyCrackCorrections_);
137 
138  PFBasicClusterCollectionBarrel_ = iConfig.getParameter<string>("PFBasicClusterCollectionBarrel");
139  PFSuperClusterCollectionBarrel_ = iConfig.getParameter<string>("PFSuperClusterCollectionBarrel");
140 
141  PFBasicClusterCollectionEndcap_ = iConfig.getParameter<string>("PFBasicClusterCollectionEndcap");
142  PFSuperClusterCollectionEndcap_ = iConfig.getParameter<string>("PFSuperClusterCollectionEndcap");
143 
144  PFBasicClusterCollectionPreshower_ = iConfig.getParameter<string>("PFBasicClusterCollectionPreshower");
146  iConfig.getParameter<string>("PFSuperClusterCollectionEndcapWithPreshower");
147 
148  PFClusterAssociationEBEE_ = "PFClusterAssociationEBEE";
149  PFClusterAssociationES_ = "PFClusterAssociationES";
150 
151  produces<reco::SuperClusterCollection>(PFSuperClusterCollectionBarrel_);
152  produces<reco::SuperClusterCollection>(PFSuperClusterCollectionEndcapWithPreshower_);
153  produces<reco::CaloClusterCollection>(PFBasicClusterCollectionBarrel_);
154  produces<reco::CaloClusterCollection>(PFBasicClusterCollectionEndcap_);
155  produces<reco::CaloClusterCollection>(PFBasicClusterCollectionPreshower_);
156  produces<edm::ValueMap<reco::CaloClusterPtr>>(PFClusterAssociationEBEE_);
157  produces<edm::ValueMap<reco::CaloClusterPtr>>(PFClusterAssociationES_);
158 }
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
void setMajorityFraction(const double f)
void setSatelliteMerging(const bool doit)
void setThreshPFClusterSeedEndcap(double thresh)
PFECALSuperClusterAlgo::clustering_type _theclusteringtype
void setCrackCorrections(bool applyCrackCorrections)
void setThreshPFClusterBarrel(double thresh)
void setThreshSuperClusterEt(double thresh)
std::shared_ptr< PFEnergyCalibration > thePFEnergyCalibration_
void setEtawidthSuperClusterBarrel(double etawidth)
void setClusteringType(clustering_type thetype)
void setEtawidthSuperClusterEndcap(double etawidth)
void setPhiwidthSuperClusterBarrel(double phiwidth)
void setVerbosityLevel(bool verbose)
void setThreshPFClusterEndcap(double thresh)
void setTokens(const edm::ParameterSet &, edm::ConsumesCollector &&)
void setUseETForSeeding(bool useET)
PFECALSuperClusterAlgo superClusterAlgo_
clustering algorithm
void setEnergyWeighting(energy_weight thetype)
void setThreshPFClusterSeedBarrel(double thresh)
PFECALSuperClusterAlgo::energy_weight _theenergyweight
void setUseDynamicDPhi(bool useit)
void setDropUnseedable(const bool d)
void setPhiwidthSuperClusterEndcap(double phiwidth)
void setUseRegression(bool useRegression)
void setSatelliteThreshold(const double t)
void setPFClusterCalibration(const std::shared_ptr< PFEnergyCalibration > &)
void setIsOOTCollection(bool isOOTCollection)
PFECALSuperClusterProducer::~PFECALSuperClusterProducer ( )
override

Definition at line 160 of file PFECALSuperClusterProducer.cc.

160 {}

Member Function Documentation

void PFECALSuperClusterProducer::beginLuminosityBlock ( const edm::LuminosityBlock ,
const edm::EventSetup  
)
override

Definition at line 162 of file PFECALSuperClusterProducer.cc.

162  {
164 }
void update(const edm::EventSetup &)
PFECALSuperClusterAlgo superClusterAlgo_
clustering algorithm
void PFECALSuperClusterProducer::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 289 of file PFECALSuperClusterProducer.cc.

References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::add(), edm::ParameterSetDescription::addUntracked(), HLT_2018_cff::InputTag, and AlCaHLTBitMon_QueryRunRegistry::string.

289  {
291  desc.add<std::string>("PFSuperClusterCollectionEndcap", "particleFlowSuperClusterECALEndcap");
292  desc.add<bool>("doSatelliteClusterMerge", false);
293  desc.add<double>("thresh_PFClusterBarrel", 0.0);
294  desc.add<std::string>("PFBasicClusterCollectionBarrel", "particleFlowBasicClusterECALBarrel");
295  desc.add<bool>("useRegression", true);
296  desc.add<double>("satelliteMajorityFraction", 0.5);
297  desc.add<double>("thresh_PFClusterEndcap", 0.0);
298  desc.add<edm::InputTag>("ESAssociation", edm::InputTag("particleFlowClusterECAL"));
299  desc.add<std::string>("PFBasicClusterCollectionPreshower", "particleFlowBasicClusterECALPreshower");
300  desc.add<bool>("use_preshower", true);
301  desc.addUntracked<bool>("verbose", false);
302  desc.add<double>("thresh_SCEt", 4.0);
303  desc.add<double>("etawidth_SuperClusterEndcap", 0.04);
304  desc.add<double>("phiwidth_SuperClusterEndcap", 0.6);
305  desc.add<bool>("useDynamicDPhiWindow", true);
306  desc.add<std::string>("PFSuperClusterCollectionBarrel", "particleFlowSuperClusterECALBarrel");
307  {
309  psd0.add<bool>("isHLT", false);
310  psd0.add<bool>("applySigmaIetaIphiBug", false);
311  psd0.add<edm::InputTag>("ecalRecHitsEE", edm::InputTag("ecalRecHit", "EcalRecHitsEE"));
312  psd0.add<edm::InputTag>("ecalRecHitsEB", edm::InputTag("ecalRecHit", "EcalRecHitsEB"));
313  psd0.add<std::string>("regressionKeyEB", "pfscecal_EBCorrection_offline_v1");
314  psd0.add<std::string>("regressionKeyEE", "pfscecal_EECorrection_offline_v1");
315  psd0.add<std::string>("uncertaintyKeyEB", "pfscecal_EBUncertainty_offline_v1");
316  psd0.add<std::string>("uncertaintyKeyEE", "pfscecal_EEUncertainty_offline_v1");
317  psd0.add<edm::InputTag>("vertexCollection", edm::InputTag("offlinePrimaryVertices"));
318  psd0.add<double>("eRecHitThreshold", 1.);
319  desc.add<edm::ParameterSetDescription>("regressionConfig", psd0);
320  }
321  desc.add<bool>("applyCrackCorrections", false);
322  desc.add<double>("satelliteClusterSeedThreshold", 50.0);
323  desc.add<double>("etawidth_SuperClusterBarrel", 0.04);
324  desc.add<std::string>("PFBasicClusterCollectionEndcap", "particleFlowBasicClusterECALEndcap");
325  desc.add<edm::InputTag>("PFClusters", edm::InputTag("particleFlowClusterECAL"));
326  desc.add<double>("thresh_PFClusterSeedBarrel", 1.0);
327  desc.add<std::string>("ClusteringType", "Mustache");
328  desc.add<std::string>("EnergyWeight", "Raw");
329  desc.add<edm::InputTag>("BeamSpot", edm::InputTag("offlineBeamSpot"));
330  desc.add<double>("thresh_PFClusterSeedEndcap", 1.0);
331  desc.add<double>("phiwidth_SuperClusterBarrel", 0.6);
332  desc.add<double>("thresh_PFClusterES", 0.0);
333  desc.add<bool>("seedThresholdIsET", true);
334  desc.add<bool>("isOOTCollection", false);
335  desc.add<edm::InputTag>("barrelRecHits", edm::InputTag("ecalRecHit", "EcalRecHitsEE"));
336  desc.add<edm::InputTag>("endcapRecHits", edm::InputTag("ecalRecHit", "EcalRecHitsEB"));
337  desc.add<std::string>("PFSuperClusterCollectionEndcapWithPreshower",
338  "particleFlowSuperClusterECALEndcapWithPreshower");
339  desc.add<bool>("dropUnseedable", false);
340  descriptions.add("particleFlowSuperClusterECALMustache", desc);
341 }
ParameterDescriptionBase * add(U const &iLabel, T const &value)
void add(std::string const &label, ParameterSetDescription const &psetDescription)
void PFECALSuperClusterProducer::produce ( edm::Event iEvent,
const edm::EventSetup iSetup 
)
override

Definition at line 166 of file PFECALSuperClusterProducer.cc.

References bsc_activity_cfg::clusters, TauDecayModes::dec, Exception, edm::helper::Filler< Map >::fill(), edm::helper::Filler< Map >::insert(), eostools::move(), edm::PtrVector< T >::push_back(), and edm::Event::put().

166  {
167  // do clustering
170 
171  //build collections of output CaloClusters from the used PFClusters
172  auto caloClustersEB = std::make_unique<reco::CaloClusterCollection>();
173  auto caloClustersEE = std::make_unique<reco::CaloClusterCollection>();
174  auto caloClustersES = std::make_unique<reco::CaloClusterCollection>();
175 
176  std::map<reco::CaloClusterPtr, unsigned int> pfClusterMapEB; //maps of pfclusters to caloclusters
177  std::map<reco::CaloClusterPtr, unsigned int> pfClusterMapEE;
178  std::map<reco::CaloClusterPtr, unsigned int> pfClusterMapES;
179 
180  //fill calocluster collections and maps
181  for (const auto& ebsc : *(superClusterAlgo_.getEBOutputSCCollection())) {
182  for (reco::CaloCluster_iterator pfclus = ebsc.clustersBegin(); pfclus != ebsc.clustersEnd(); ++pfclus) {
183  if (!pfClusterMapEB.count(*pfclus)) {
184  reco::CaloCluster caloclus(**pfclus);
185  caloClustersEB->push_back(caloclus);
186  pfClusterMapEB[*pfclus] = caloClustersEB->size() - 1;
187  } else {
188  throw cms::Exception("PFECALSuperClusterProducer::produce")
189  << "Found an EB pfcluster matched to more than one EB supercluster!" << std::dec << std::endl;
190  }
191  }
192  }
193  for (const auto& eesc : *(superClusterAlgo_.getEEOutputSCCollection())) {
194  for (reco::CaloCluster_iterator pfclus = eesc.clustersBegin(); pfclus != eesc.clustersEnd(); ++pfclus) {
195  if (!pfClusterMapEE.count(*pfclus)) {
196  reco::CaloCluster caloclus(**pfclus);
197  caloClustersEE->push_back(caloclus);
198  pfClusterMapEE[*pfclus] = caloClustersEE->size() - 1;
199  } else {
200  throw cms::Exception("PFECALSuperClusterProducer::produce")
201  << "Found an EE pfcluster matched to more than one EE supercluster!" << std::dec << std::endl;
202  }
203  }
204  for (reco::CaloCluster_iterator pfclus = eesc.preshowerClustersBegin(); pfclus != eesc.preshowerClustersEnd();
205  ++pfclus) {
206  if (!pfClusterMapES.count(*pfclus)) {
207  reco::CaloCluster caloclus(**pfclus);
208  caloClustersES->push_back(caloclus);
209  pfClusterMapES[*pfclus] = caloClustersES->size() - 1;
210  } else {
211  throw cms::Exception("PFECALSuperClusterProducer::produce")
212  << "Found an ES pfcluster matched to more than one EE supercluster!" << std::dec << std::endl;
213  }
214  }
215  }
216 
217  //create ValueMaps from output CaloClusters back to original PFClusters
218  auto pfClusterAssociationEBEE = std::make_unique<edm::ValueMap<reco::CaloClusterPtr>>();
219  auto pfClusterAssociationES = std::make_unique<edm::ValueMap<reco::CaloClusterPtr>>();
220 
221  //vectors to fill ValueMaps
222  std::vector<reco::CaloClusterPtr> clusptrsEB(caloClustersEB->size());
223  std::vector<reco::CaloClusterPtr> clusptrsEE(caloClustersEE->size());
224  std::vector<reco::CaloClusterPtr> clusptrsES(caloClustersES->size());
225 
226  //put calocluster output collections in event and get orphan handles to create ptrs
227  const edm::OrphanHandle<reco::CaloClusterCollection>& caloClusHandleEB =
228  iEvent.put(std::move(caloClustersEB), PFBasicClusterCollectionBarrel_);
229  const edm::OrphanHandle<reco::CaloClusterCollection>& caloClusHandleEE =
230  iEvent.put(std::move(caloClustersEE), PFBasicClusterCollectionEndcap_);
231  const edm::OrphanHandle<reco::CaloClusterCollection>& caloClusHandleES =
232  iEvent.put(std::move(caloClustersES), PFBasicClusterCollectionPreshower_);
233 
234  //relink superclusters to output caloclusters and fill vectors for ValueMaps
235  for (auto& ebsc : *(superClusterAlgo_.getEBOutputSCCollection())) {
236  reco::CaloClusterPtr seedptr(caloClusHandleEB, pfClusterMapEB[ebsc.seed()]);
237  ebsc.setSeed(seedptr);
238 
240  for (reco::CaloCluster_iterator pfclus = ebsc.clustersBegin(); pfclus != ebsc.clustersEnd(); ++pfclus) {
241  int caloclusidx = pfClusterMapEB[*pfclus];
242  reco::CaloClusterPtr clusptr(caloClusHandleEB, caloclusidx);
243  clusters.push_back(clusptr);
244  clusptrsEB[caloclusidx] = *pfclus;
245  }
246  ebsc.setClusters(clusters);
247  }
248  for (auto& eesc : *(superClusterAlgo_.getEEOutputSCCollection())) {
249  reco::CaloClusterPtr seedptr(caloClusHandleEE, pfClusterMapEE[eesc.seed()]);
250  eesc.setSeed(seedptr);
251 
253  for (reco::CaloCluster_iterator pfclus = eesc.clustersBegin(); pfclus != eesc.clustersEnd(); ++pfclus) {
254  int caloclusidx = pfClusterMapEE[*pfclus];
255  reco::CaloClusterPtr clusptr(caloClusHandleEE, caloclusidx);
256  clusters.push_back(clusptr);
257  clusptrsEE[caloclusidx] = *pfclus;
258  }
259  eesc.setClusters(clusters);
260 
261  reco::CaloClusterPtrVector psclusters;
262  for (reco::CaloCluster_iterator pfclus = eesc.preshowerClustersBegin(); pfclus != eesc.preshowerClustersEnd();
263  ++pfclus) {
264  int caloclusidx = pfClusterMapES[*pfclus];
265  reco::CaloClusterPtr clusptr(caloClusHandleES, caloclusidx);
266  psclusters.push_back(clusptr);
267  clusptrsES[caloclusidx] = *pfclus;
268  }
269  eesc.setPreshowerClusters(psclusters);
270  }
271 
272  //fill association maps from output CaloClusters back to original PFClusters
273  edm::ValueMap<reco::CaloClusterPtr>::Filler fillerEBEE(*pfClusterAssociationEBEE);
274  fillerEBEE.insert(caloClusHandleEB, clusptrsEB.begin(), clusptrsEB.end());
275  fillerEBEE.insert(caloClusHandleEE, clusptrsEE.begin(), clusptrsEE.end());
276  fillerEBEE.fill();
277 
278  edm::ValueMap<reco::CaloClusterPtr>::Filler fillerES(*pfClusterAssociationES);
279  fillerES.insert(caloClusHandleES, clusptrsES.begin(), clusptrsES.end());
280  fillerES.fill();
281 
282  //store in the event
283  iEvent.put(std::move(pfClusterAssociationEBEE), PFClusterAssociationEBEE_);
284  iEvent.put(std::move(pfClusterAssociationES), PFClusterAssociationES_);
287 }
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
Definition: Event.h:131
std::unique_ptr< reco::SuperClusterCollection > & getEEOutputSCCollection()
void push_back(Ptr< T > const &iPtr)
Definition: PtrVector.h:149
void loadAndSortPFClusters(const edm::Event &evt)
PFECALSuperClusterAlgo superClusterAlgo_
clustering algorithm
std::unique_ptr< reco::SuperClusterCollection > & getEBOutputSCCollection()
def move(src, dest)
Definition: eostools.py:511

Member Data Documentation

PFECALSuperClusterAlgo::clustering_type PFECALSuperClusterProducer::_theclusteringtype
private

Definition at line 58 of file PFECALSuperClusterProducer.h.

PFECALSuperClusterAlgo::energy_weight PFECALSuperClusterProducer::_theenergyweight
private

Definition at line 59 of file PFECALSuperClusterProducer.h.

bool PFECALSuperClusterProducer::isOOTCollection_
private

Definition at line 76 of file PFECALSuperClusterProducer.h.

std::string PFECALSuperClusterProducer::PFBasicClusterCollectionBarrel_
private

Definition at line 66 of file PFECALSuperClusterProducer.h.

std::string PFECALSuperClusterProducer::PFBasicClusterCollectionEndcap_
private

Definition at line 68 of file PFECALSuperClusterProducer.h.

std::string PFECALSuperClusterProducer::PFBasicClusterCollectionPreshower_
private

Definition at line 70 of file PFECALSuperClusterProducer.h.

std::string PFECALSuperClusterProducer::PFClusterAssociationEBEE_
private

Definition at line 72 of file PFECALSuperClusterProducer.h.

std::string PFECALSuperClusterProducer::PFClusterAssociationES_
private

Definition at line 73 of file PFECALSuperClusterProducer.h.

std::string PFECALSuperClusterProducer::PFSuperClusterCollectionBarrel_
private

Definition at line 67 of file PFECALSuperClusterProducer.h.

std::string PFECALSuperClusterProducer::PFSuperClusterCollectionEndcap_
private

Definition at line 69 of file PFECALSuperClusterProducer.h.

std::string PFECALSuperClusterProducer::PFSuperClusterCollectionEndcapWithPreshower_
private

Definition at line 71 of file PFECALSuperClusterProducer.h.

PFECALSuperClusterAlgo PFECALSuperClusterProducer::superClusterAlgo_
private

clustering algorithm

Definition at line 57 of file PFECALSuperClusterProducer.h.

std::shared_ptr<PFEnergyCalibration> PFECALSuperClusterProducer::thePFEnergyCalibration_
private

Definition at line 61 of file PFECALSuperClusterProducer.h.

bool PFECALSuperClusterProducer::verbose_
private

verbose ?

Definition at line 64 of file PFECALSuperClusterProducer.h.