CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Attributes
PFECALSuperClusterProducer Class Reference

#include <PFECALSuperClusterProducer.h>

Inheritance diagram for PFECALSuperClusterProducer:
edm::stream::EDProducer<> edm::stream::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

virtual void beginLuminosityBlock (const edm::LuminosityBlock &, const edm::EventSetup &)
 
 PFECALSuperClusterProducer (const edm::ParameterSet &)
 
virtual void produce (edm::Event &, const edm::EventSetup &)
 
 ~PFECALSuperClusterProducer ()
 
- Public Member Functions inherited from edm::stream::EDProducer<>
 EDProducer ()=default
 
- Public Member Functions inherited from edm::stream::EDProducerBase
 EDProducerBase ()
 
ModuleDescription const & moduleDescription () const
 
virtual ~EDProducerBase ()
 
- Public Member Functions inherited from edm::ProducerBase
 ProducerBase ()
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription
const &)> 
registrationCallback () const
 used by the fwk to register list of products More...
 
virtual ~ProducerBase ()
 
- Public Member Functions inherited from edm::EDConsumerBase
 EDConsumerBase ()
 
ProductHolderIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
std::vector
< ProductHolderIndexAndSkipBit >
const & 
itemsToGetFromEvent () const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesDependentUpon (const std::string &iProcessName, std::vector< const char * > &oModuleLabels) const
 
bool registeredToConsume (ProductHolderIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 
virtual ~EDConsumerBase ()
 

Private Attributes

PFECALSuperClusterAlgo::clustering_type _theclusteringtype
 
PFECALSuperClusterAlgo::energy_weight _theenergyweight
 
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
< PFEnergyCalibration
thePFEnergyCalibration_
 
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, GlobalCache
LuminosityBlockContext
 
typedef
CacheTypes::LuminosityBlockSummaryCache 
LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache,
GlobalCache
RunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 
- Public Types inherited from edm::stream::EDProducerBase
typedef EDProducerAdaptorBase ModuleType
 
- Public Types inherited from edm::ProducerBase
typedef
ProductRegistryHelper::TypeLabelList 
TypeLabelList
 
- Static Public Member Functions inherited from edm::stream::EDProducerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
- Protected Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 

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 43 of file PFECALSuperClusterProducer.cc.

References edm::hlt::Exception, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), PFECALSuperClusterAlgo::kBOX, PFECALSuperClusterAlgo::kCalibratedNoPS, PFECALSuperClusterAlgo::kCalibratedTotal, PFECALSuperClusterAlgo::kMustache, PFECALSuperClusterAlgo::kRaw, and AlCaHLTBitMon_QueryRunRegistry::string.

44 {
45 
46  verbose_ =
47  iConfig.getUntrackedParameter<bool>("verbose",false);
48 
49  superClusterAlgo_.setUseRegression(iConfig.getParameter<bool>("useRegression"));
50 
52 
53  std::string _typename = iConfig.getParameter<std::string>("ClusteringType");
54  if( _typename == ClusterType__BOX ) {
56  } else if ( _typename == ClusterType__Mustache ) {
58  } else {
59  throw cms::Exception("InvalidClusteringType")
60  << "You have not chosen a valid clustering type,"
61  << " please choose from \"Box\" or \"Mustache\"!";
62  }
63 
64  std::string _weightname = iConfig.getParameter<std::string>("EnergyWeight");
65  if( _weightname == EnergyWeight__Raw ) {
67  } else if ( _weightname == EnergyWeight__CalibratedNoPS ) {
69  } else if ( _weightname == EnergyWeight__CalibratedTotal) {
71  } else {
72  throw cms::Exception("InvalidClusteringType")
73  << "You have not chosen a valid energy weighting scheme,"
74  << " please choose from \"Raw\", \"CalibratedNoPS\", or"
75  << " \"CalibratedTotal\"!";
76  }
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 threshPFClusterES = iConfig.getParameter<double>("thresh_PFClusterES");
97 
98  //double threshPFClusterMustacheOutBarrel = iConfig.getParameter<double>("thresh_PFClusterMustacheOutBarrel");
99  //double threshPFClusterMustacheOutEndcap = iConfig.getParameter<double>("thresh_PFClusterMustacheOutEndcap");
100 
101  double doSatelliteClusterMerge =
102  iConfig.getParameter<bool>("doSatelliteClusterMerge");
103  double satelliteClusterSeedThreshold =
104  iConfig.getParameter<double>("satelliteClusterSeedThreshold");
105  double satelliteMajorityFraction =
106  iConfig.getParameter<double>("satelliteMajorityFraction");
107 
111  superClusterAlgo_.setUseETForSeeding(seedThresholdIsET);
112  superClusterAlgo_.setUseDynamicDPhi(useDynamicDPhi);
113 
114  superClusterAlgo_.setThreshSuperClusterEt( iConfig.getParameter<double>("thresh_SCEt") );
115 
116  superClusterAlgo_.setThreshPFClusterSeedBarrel( threshPFClusterSeedBarrel );
117  superClusterAlgo_.setThreshPFClusterBarrel( threshPFClusterBarrel );
118 
119  superClusterAlgo_.setThreshPFClusterSeedEndcap( threshPFClusterSeedEndcap );
120  superClusterAlgo_.setThreshPFClusterEndcap( threshPFClusterEndcap );
121 
122  superClusterAlgo_.setPhiwidthSuperClusterBarrel( phiwidthSuperClusterBarrel );
123  superClusterAlgo_.setEtawidthSuperClusterBarrel( etawidthSuperClusterBarrel );
124 
125  superClusterAlgo_.setPhiwidthSuperClusterEndcap( phiwidthSuperClusterEndcap );
126  superClusterAlgo_.setEtawidthSuperClusterEndcap( etawidthSuperClusterEndcap );
127 
128  superClusterAlgo_.setThreshPFClusterES( threshPFClusterES );
129 
130  superClusterAlgo_.setSatelliteMerging( doSatelliteClusterMerge );
131  superClusterAlgo_.setSatelliteThreshold( satelliteClusterSeedThreshold );
132  superClusterAlgo_.setMajorityFraction( satelliteMajorityFraction );
133  //superClusterAlgo_.setThreshPFClusterMustacheOutBarrel( threshPFClusterMustacheOutBarrel );
134  //superClusterAlgo_.setThreshPFClusterMustacheOutEndcap( threshPFClusterMustacheOutEndcap );
135 
136  //Load the ECAL energy calibration
138  std::shared_ptr<PFEnergyCalibration>(new PFEnergyCalibration());
140  superClusterAlgo_.setUsePS(iConfig.getParameter<bool>("use_preshower"));
141 
142  bool applyCrackCorrections_ = iConfig.getParameter<bool>("applyCrackCorrections");
143  superClusterAlgo_.setCrackCorrections(applyCrackCorrections_);
144 
145  PFBasicClusterCollectionBarrel_ = iConfig.getParameter<string>("PFBasicClusterCollectionBarrel");
146  PFSuperClusterCollectionBarrel_ = iConfig.getParameter<string>("PFSuperClusterCollectionBarrel");
147 
148  PFBasicClusterCollectionEndcap_ = iConfig.getParameter<string>("PFBasicClusterCollectionEndcap");
149  PFSuperClusterCollectionEndcap_ = iConfig.getParameter<string>("PFSuperClusterCollectionEndcap");
150 
151  PFBasicClusterCollectionPreshower_ = iConfig.getParameter<string>("PFBasicClusterCollectionPreshower");
152  PFSuperClusterCollectionEndcapWithPreshower_ = iConfig.getParameter<string>("PFSuperClusterCollectionEndcapWithPreshower");
153 
154  PFClusterAssociationEBEE_ = "PFClusterAssociationEBEE";
155  PFClusterAssociationES_ = "PFClusterAssociationES";
156 
157  produces<reco::SuperClusterCollection>(PFSuperClusterCollectionBarrel_);
158  produces<reco::SuperClusterCollection>(PFSuperClusterCollectionEndcapWithPreshower_);
159  produces<reco::CaloClusterCollection>(PFBasicClusterCollectionBarrel_);
160  produces<reco::CaloClusterCollection>(PFBasicClusterCollectionEndcap_);
161  produces<reco::CaloClusterCollection>(PFBasicClusterCollectionPreshower_);
162  produces<edm::ValueMap<reco::CaloClusterPtr> >(PFClusterAssociationEBEE_);
163  produces<edm::ValueMap<reco::CaloClusterPtr> >(PFClusterAssociationES_);
164 }
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 &&)
ConsumesCollector consumesCollector()
Use a ConsumesCollector to gather consumes information from helper functions.
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 setPhiwidthSuperClusterEndcap(double phiwidth)
void setThreshPFClusterES(double thresh)
void setUseRegression(bool useRegression)
void setSatelliteThreshold(const double t)
void setPFClusterCalibration(const std::shared_ptr< PFEnergyCalibration > &)
PFECALSuperClusterProducer::~PFECALSuperClusterProducer ( )

Definition at line 168 of file PFECALSuperClusterProducer.cc.

168 {}

Member Function Documentation

void PFECALSuperClusterProducer::beginLuminosityBlock ( const edm::LuminosityBlock iL,
const edm::EventSetup iE 
)
virtual

Reimplemented from edm::stream::EDProducerBase.

Definition at line 171 of file PFECALSuperClusterProducer.cc.

171  {
173 }
void update(const edm::EventSetup &)
PFECALSuperClusterAlgo superClusterAlgo_
clustering algorithm
void PFECALSuperClusterProducer::produce ( edm::Event iEvent,
const edm::EventSetup iSetup 
)
virtual

Implements edm::stream::EDProducerBase.

Definition at line 176 of file PFECALSuperClusterProducer.cc.

References edm::hlt::Exception, edm::helper::Filler< Map >::fill(), edm::helper::Filler< Map >::insert(), edm::PtrVector< T >::push_back(), and edm::Event::put().

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

Member Data Documentation

PFECALSuperClusterAlgo::clustering_type PFECALSuperClusterProducer::_theclusteringtype
private

Definition at line 57 of file PFECALSuperClusterProducer.h.

PFECALSuperClusterAlgo::energy_weight PFECALSuperClusterProducer::_theenergyweight
private

Definition at line 58 of file PFECALSuperClusterProducer.h.

std::string PFECALSuperClusterProducer::PFBasicClusterCollectionBarrel_
private

Definition at line 65 of file PFECALSuperClusterProducer.h.

std::string PFECALSuperClusterProducer::PFBasicClusterCollectionEndcap_
private

Definition at line 67 of file PFECALSuperClusterProducer.h.

std::string PFECALSuperClusterProducer::PFBasicClusterCollectionPreshower_
private

Definition at line 69 of file PFECALSuperClusterProducer.h.

std::string PFECALSuperClusterProducer::PFClusterAssociationEBEE_
private

Definition at line 71 of file PFECALSuperClusterProducer.h.

std::string PFECALSuperClusterProducer::PFClusterAssociationES_
private

Definition at line 72 of file PFECALSuperClusterProducer.h.

std::string PFECALSuperClusterProducer::PFSuperClusterCollectionBarrel_
private

Definition at line 66 of file PFECALSuperClusterProducer.h.

std::string PFECALSuperClusterProducer::PFSuperClusterCollectionEndcap_
private

Definition at line 68 of file PFECALSuperClusterProducer.h.

std::string PFECALSuperClusterProducer::PFSuperClusterCollectionEndcapWithPreshower_
private

Definition at line 70 of file PFECALSuperClusterProducer.h.

PFECALSuperClusterAlgo PFECALSuperClusterProducer::superClusterAlgo_
private

clustering algorithm

Definition at line 56 of file PFECALSuperClusterProducer.h.

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

Definition at line 60 of file PFECALSuperClusterProducer.h.

bool PFECALSuperClusterProducer::verbose_
private

verbose ?

Definition at line 63 of file PFECALSuperClusterProducer.h.