CMS 3D CMS Logo

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

#include <StripClusterizerAlgorithmFactory.h>

Static Public Member Functions

static std::auto_ptr
< StripClusterizerAlgorithm
create (const edm::ParameterSet &)
 

Detailed Description

Definition at line 8 of file StripClusterizerAlgorithmFactory.h.

Member Function Documentation

std::auto_ptr< StripClusterizerAlgorithm > StripClusterizerAlgorithmFactory::create ( const edm::ParameterSet conf)
static

Definition at line 9 of file StripClusterizerAlgorithmFactory.cc.

References algorithm(), edm::hlt::Exception, edm::ParameterSet::exists(), and edm::ParameterSet::getParameter().

Referenced by SiStripClusterInfo::reclusterize().

9  {
10  std::string algorithm = conf.getParameter<std::string>("Algorithm");
11 
12  bool setDetId=false;
13  if (conf.exists("setDetId"))
14  setDetId = conf.getParameter<bool>("setDetId");
15  if(algorithm == "ThreeThresholdAlgorithm") {
16  return std::auto_ptr<StripClusterizerAlgorithm>(
18  conf.getParameter<double>("ChannelThreshold"),
19  conf.getParameter<double>("SeedThreshold"),
20  conf.getParameter<double>("ClusterThreshold"),
21  conf.getParameter<unsigned>("MaxSequentialHoles"),
22  conf.getParameter<unsigned>("MaxSequentialBad"),
23  conf.getParameter<unsigned>("MaxAdjacentBad"),
24  conf.getParameter<std::string>("QualityLabel"),
25  setDetId,
26  conf.getParameter<bool>("RemoveApvShots")));
27  }
28 
29  if(algorithm == "OldThreeThresholdAlgorithm") {
30  return std::auto_ptr<StripClusterizerAlgorithm>(
32  conf.getParameter<double>("ChannelThreshold"),
33  conf.getParameter<double>("SeedThreshold"),
34  conf.getParameter<double>("ClusterThreshold"),
35  conf.getParameter<unsigned>("MaxSequentialHoles"),
36  conf.getParameter<std::string>("QualityLabel"),
37  setDetId));
38  }
39 
40  throw cms::Exception("[StripClusterizerAlgorithmFactory] Unregistered Algorithm")
41  << algorithm << " is not a registered StripClusterizerAlgorithm";
42 }
T getParameter(std::string const &) const
< trclass="colgroup">< tdclass="colgroup"colspan=5 > Ecal cluster collections</td ></tr >< tr >< td >< ahref="classreco_1_1BasicCluster.html"> reco::BasicCluster</a ></td >< td >< ahref="DataFormats_EgammaReco.html"> reco::BasicClusterCollection</a ></td >< td >< ahref="#"> hybridSuperClusters</a ></td >< tdclass="description"> Basic clusters reconstructed with hybrid algorithm(barrel only)</td >< td >S.Rahatlou</td ></tr >< tr >< td >< a href
bool exists(std::string const &parameterName) const
checks if a parameter exists