CMS 3D CMS Logo

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
SiStripRawProcessingFactory.cc
Go to the documentation of this file.
2 
12 
13 
14 std::auto_ptr<SiStripRawProcessingAlgorithms> SiStripRawProcessingFactory::
16  return std::auto_ptr<SiStripRawProcessingAlgorithms>(
20  create_Suppressor(conf),
21  create_Restorer(conf) ));
22 }
23 
24 std::auto_ptr<SiStripPedestalsSubtractor> SiStripRawProcessingFactory::
26  bool fedMode = conf.getParameter<bool>("PedestalSubtractionFedMode");
27  return std::auto_ptr<SiStripPedestalsSubtractor>( new SiStripPedestalsSubtractor(fedMode) );
28 }
29 
30 std::auto_ptr<SiStripCommonModeNoiseSubtractor> SiStripRawProcessingFactory::
32  std::string mode = conf.getParameter<std::string>("CommonModeNoiseSubtractionMode");
33 
34  if ( mode == "Median")
35  return std::auto_ptr<SiStripCommonModeNoiseSubtractor>( new MedianCMNSubtractor() );
36 
37  if ( mode == "Percentile") {
38  double percentile = conf.getParameter<double>("Percentile");
39  return std::auto_ptr<SiStripCommonModeNoiseSubtractor>( new PercentileCMNSubtractor(percentile) );
40  }
41 
42  if ( mode == "IteratedMedian") {
43  double cutToAvoidSignal = conf.getParameter<double>("CutToAvoidSignal");
44  int iterations = conf.getParameter<int>("Iterations");
45  return std::auto_ptr<SiStripCommonModeNoiseSubtractor>( new IteratedMedianCMNSubtractor(cutToAvoidSignal,iterations) );
46  }
47 
48  if ( mode == "FastLinear")
49  return std::auto_ptr<SiStripCommonModeNoiseSubtractor>( new FastLinearCMNSubtractor() );
50 
51  if ( mode == "TT6") {
52  double cutToAvoidSignal = conf.getParameter<double>("CutToAvoidSignal");
53  return std::auto_ptr<SiStripCommonModeNoiseSubtractor>( new TT6CMNSubtractor(cutToAvoidSignal) );
54  }
55 
56  edm::LogError("SiStripRawProcessingFactory::create_SubtractorCMN")
57  << "Unregistered Algorithm: "<<mode<<". Use one of {Median, Percentile, IteratedMedian, FastLinear, TT6}";
58  return std::auto_ptr<SiStripCommonModeNoiseSubtractor>( new MedianCMNSubtractor() );
59 }
60 
61 std::auto_ptr<SiStripFedZeroSuppression> SiStripRawProcessingFactory::
63  uint32_t mode = conf.getParameter<uint32_t>("SiStripFedZeroSuppressionMode");
64  bool trunc = conf.getParameter<bool>("TruncateInSuppressor");
65  switch(mode) {
66  case 1: case 2: case 3: case 4:
67  return std::auto_ptr<SiStripFedZeroSuppression>( new SiStripFedZeroSuppression(mode,trunc));
68  default:
69  edm::LogError("SiStripRawProcessingFactory::createSuppressor")
70  << "Unregistered mode: "<<mode<<". Use one of {1,2,3,4}.";
71  return std::auto_ptr<SiStripFedZeroSuppression>( new SiStripFedZeroSuppression(4,true));
72  }
73 }
74 
75 std::auto_ptr<SiStripAPVRestorer> SiStripRawProcessingFactory::
77  if(!conf.exists("APVRestoreMode")) {
78  return std::auto_ptr<SiStripAPVRestorer>( 0 );
79  } else {
80  return std::auto_ptr<SiStripAPVRestorer> (new SiStripAPVRestorer(conf));
81  }
82 }
83 
T getParameter(std::string const &) const
bool exists(std::string const &parameterName) const
checks if a parameter exists
static std::auto_ptr< SiStripFedZeroSuppression > create_Suppressor(const edm::ParameterSet &)
static std::auto_ptr< SiStripCommonModeNoiseSubtractor > create_SubtractorCMN(const edm::ParameterSet &)
static std::auto_ptr< SiStripRawProcessingAlgorithms > create(const edm::ParameterSet &)
static std::auto_ptr< SiStripAPVRestorer > create_Restorer(const edm::ParameterSet &)
tuple conf
Definition: dbtoconf.py:185
int mode
Definition: AMPTWrapper.h:139
static std::auto_ptr< SiStripPedestalsSubtractor > create_SubtractorPed(const edm::ParameterSet &)