CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes | Static Private Attributes
l1tVertexFinder::AlgoSettings Class Reference

#include <AlgoSettings.h>

Inheritance diagram for l1tVertexFinder::AlgoSettings:
l1tVertexFinder::AnalysisSettings

Public Member Functions

 AlgoSettings (const edm::ParameterSet &iConfig)
 === Get configuration parameters More...
 
unsigned int debug () const
 
double layerIDfromRadiusBin () const
 
double trackerHalfLength () const
 
double trackerInnerRadius () const
 
double trackerOuterRadius () const
 
Algorithm vx_algo () const
 
float vx_chi2cut () const
 
unsigned int vx_dbscan_mintracks () const
 
float vx_dbscan_pt () const
 
float vx_distance () const
 
unsigned int vx_distanceType () const
 
bool vx_DoPtComp () const
 
bool vx_DoQualityCuts () const
 
bool vx_DoTightChi2 () const
 
double vx_histogram_binwidth () const
 
double vx_histogram_max () const
 
double vx_histogram_min () const
 
std::vector< double > vx_histogram_parameters () const
 
unsigned int vx_kmeans_iterations () const
 
unsigned int vx_kmeans_nclusters () const
 
unsigned int vx_minTracks () const
 
unsigned int vx_NStubMin () const
 
unsigned int vx_NStubPSMin () const
 
unsigned int vx_nvtx () const
 
Precision vx_precision () const
 
float vx_resolution () const
 
float vx_TrackMaxChi2 () const
 
float vx_TrackMaxPt () const
 
float vx_TrackMaxPtBehavior () const
 
float vx_TrackMinPt () const
 
unsigned int vx_weightedmean () const
 
float vx_width () const
 
unsigned int vx_windowSize () const
 
 ~AlgoSettings ()
 

Private Attributes

unsigned int debug_
 
edm::ParameterSet vertex_
 
Algorithm vx_algo_
 
float vx_chi2cut_
 
float vx_dbscan_mintracks_
 
float vx_dbscan_pt_
 
float vx_distance_
 
unsigned int vx_distanceType_
 
bool vx_DoPtComp_
 
bool vx_DoQualityCuts_
 
bool vx_DoTightChi2_
 
std::vector< double > vx_histogram_parameters_
 
unsigned int vx_kmeans_iterations_
 
unsigned int vx_kmeans_nclusters_
 
unsigned int vx_minTracks_
 
unsigned int vx_NStubMin_
 
unsigned int vx_NStubPSMin_
 
unsigned int vx_nvtx_
 
Precision vx_precision_
 
float vx_resolution_
 
float vx_TrackMaxChi2_
 
float vx_TrackMaxPt_
 
int vx_TrackMaxPtBehavior_
 
float vx_TrackMinPt_
 
unsigned int vx_weightedmean_
 
float vx_width_
 
unsigned int vx_windowSize_
 

Static Private Attributes

static const std::map< std::string, AlgorithmalgoNameMap
 
static const std::map< Algorithm, PrecisionalgoPrecisionMap
 

Detailed Description

Definition at line 27 of file AlgoSettings.h.

Constructor & Destructor Documentation

◆ AlgoSettings()

l1tVertexFinder::AlgoSettings::AlgoSettings ( const edm::ParameterSet iConfig)

=== Get configuration parameters

Definition at line 7 of file AlgoSettings.cc.

References MillePedeAlignmentAlgorithm_cfi::algoName, algoNameMap, Exception, cms::cuda::for(), edm::ParameterSet::getParameter(), AlCaHLTBitMon_QueryRunRegistry::string, vertex_, and vx_algo_.

8  : vertex_(iConfig.getParameter<edm::ParameterSet>("VertexReconstruction")),
9  vx_distance_(vertex_.getParameter<double>("VertexDistance")),
10  vx_resolution_(vertex_.getParameter<double>("VertexResolution")),
11  vx_distanceType_(vertex_.getParameter<unsigned int>("DistanceType")),
12  vx_minTracks_(vertex_.getParameter<unsigned int>("MinTracks")),
13  vx_weightedmean_(vertex_.getParameter<unsigned int>("WeightedMean")),
14  vx_chi2cut_(vertex_.getParameter<double>("AVR_chi2cut")),
15  vx_DoQualityCuts_(vertex_.getParameter<bool>("EM_DoQualityCuts")),
16  vx_DoPtComp_(vertex_.getParameter<bool>("FH_DoPtComp")),
17  vx_DoTightChi2_(vertex_.getParameter<bool>("FH_DoTightChi2")),
18  vx_histogram_parameters_(vertex_.getParameter<std::vector<double> >("FH_HistogramParameters")),
19  vx_nvtx_(vertex_.getParameter<unsigned int>("FH_NVtx")),
20  vx_width_(vertex_.getParameter<double>("FH_VertexWidth")),
21  vx_windowSize_(vertex_.getParameter<unsigned int>("FH_WindowSize")),
22  vx_TrackMinPt_(vertex_.getParameter<double>("VxMinTrackPt")),
23  vx_TrackMaxPt_(vertex_.getParameter<double>("VxMaxTrackPt")),
24  vx_TrackMaxPtBehavior_(vertex_.getParameter<int>("VxMaxTrackPtBehavior")),
25  vx_TrackMaxChi2_(vertex_.getParameter<double>("VxMaxTrackChi2")),
26  vx_NStubMin_(vertex_.getParameter<unsigned int>("VxMinNStub")),
27  vx_NStubPSMin_(vertex_.getParameter<unsigned int>("VxMinNStubPS")),
28  vx_dbscan_pt_(vertex_.getParameter<double>("DBSCANPtThreshold")),
29  vx_dbscan_mintracks_(vertex_.getParameter<unsigned int>("DBSCANMinDensityTracks")),
30  vx_kmeans_iterations_(vertex_.getParameter<unsigned int>("KmeansIterations")),
31  vx_kmeans_nclusters_(vertex_.getParameter<unsigned int>("KmeansNumClusters")),
32  // Debug printout
33  debug_(iConfig.getParameter<unsigned int>("debug")) {
35  const auto algoMapIt = algoNameMap.find(algoName);
36  if (algoMapIt != algoNameMap.end())
37  vx_algo_ = algoMapIt->second;
38  else {
39  std::ostringstream validAlgoNames;
40  for (auto it = algoNameMap.begin(); it != algoNameMap.end(); it++) {
41  validAlgoNames << '"' << it->first << '"';
42  if (it != (--algoNameMap.end()))
43  validAlgoNames << ", ";
44  }
45  throw cms::Exception("Invalid algo name '" + algoName +
46  "' specified for L1T vertex producer. Valid algo names are: " + validAlgoNames.str());
47  }
48 
49  const auto algoPrecisionMapIt = algoPrecisionMap.find(vx_algo_);
50  if (algoPrecisionMapIt != algoPrecisionMap.end()) {
51  vx_precision_ = algoPrecisionMapIt->second;
52  } else {
53  throw cms::Exception("Unknown precision {Simulation, Emulation} for algo name " + algoName);
54  }
55  }
std::vector< double > vx_histogram_parameters_
Definition: AlgoSettings.h:108
T getParameter(std::string const &) const
Definition: ParameterSet.h:307
for(int i=first, nt=offsets[nh];i< nt;i+=gridDim.x *blockDim.x)
static const std::map< Algorithm, Precision > algoPrecisionMap
Definition: AlgoSettings.h:91
edm::ParameterSet vertex_
Definition: AlgoSettings.h:94
static const std::map< std::string, Algorithm > algoNameMap
Definition: AlgoSettings.h:90

◆ ~AlgoSettings()

l1tVertexFinder::AlgoSettings::~AlgoSettings ( )
inline

Definition at line 30 of file AlgoSettings.h.

30 {}

Member Function Documentation

◆ debug()

unsigned int l1tVertexFinder::AlgoSettings::debug ( ) const
inline

◆ layerIDfromRadiusBin()

double l1tVertexFinder::AlgoSettings::layerIDfromRadiusBin ( ) const
inline

Definition at line 85 of file AlgoSettings.h.

Referenced by l1tVertexFinder::TP::countLayers().

85  {
86  return 6.;
87  } // When counting stubs in layers, actually histogram stubs in distance from beam-line with this bin size.

◆ trackerHalfLength()

double l1tVertexFinder::AlgoSettings::trackerHalfLength ( ) const
inline

Definition at line 84 of file AlgoSettings.h.

Referenced by l1tVertexFinder::Stub::Stub().

84 { return 270.; } // half-length of tracker.

◆ trackerInnerRadius()

double l1tVertexFinder::AlgoSettings::trackerInnerRadius ( ) const
inline

Definition at line 83 of file AlgoSettings.h.

Referenced by l1tVertexFinder::TP::countLayers().

83 { return 20; } // min. occuring stub radius.

◆ trackerOuterRadius()

double l1tVertexFinder::AlgoSettings::trackerOuterRadius ( ) const
inline

Definition at line 81 of file AlgoSettings.h.

Referenced by l1tVertexFinder::Stub::Stub().

81 { return 120.2; } // max. occuring stub radius.

◆ vx_algo()

Algorithm l1tVertexFinder::AlgoSettings::vx_algo ( ) const
inline

Definition at line 34 of file AlgoSettings.h.

References vx_algo_.

Referenced by VertexProducer::produce(), and VertexProducer::VertexProducer().

34 { return vx_algo_; }

◆ vx_chi2cut()

float l1tVertexFinder::AlgoSettings::vx_chi2cut ( ) const
inline

Definition at line 47 of file AlgoSettings.h.

References vx_chi2cut_.

◆ vx_dbscan_mintracks()

unsigned int l1tVertexFinder::AlgoSettings::vx_dbscan_mintracks ( ) const
inline

Definition at line 65 of file AlgoSettings.h.

References vx_dbscan_mintracks_.

◆ vx_dbscan_pt()

float l1tVertexFinder::AlgoSettings::vx_dbscan_pt ( ) const
inline

Definition at line 64 of file AlgoSettings.h.

References vx_dbscan_pt_.

◆ vx_distance()

float l1tVertexFinder::AlgoSettings::vx_distance ( ) const
inline

Definition at line 39 of file AlgoSettings.h.

References vx_distance_.

39 { return vx_distance_; }

◆ vx_distanceType()

unsigned int l1tVertexFinder::AlgoSettings::vx_distanceType ( ) const
inline

Definition at line 37 of file AlgoSettings.h.

References vx_distanceType_.

37 { return vx_distanceType_; }

◆ vx_DoPtComp()

bool l1tVertexFinder::AlgoSettings::vx_DoPtComp ( ) const
inline

Definition at line 60 of file AlgoSettings.h.

References vx_DoPtComp_.

◆ vx_DoQualityCuts()

bool l1tVertexFinder::AlgoSettings::vx_DoQualityCuts ( ) const
inline

Definition at line 49 of file AlgoSettings.h.

References vx_DoQualityCuts_.

◆ vx_DoTightChi2()

bool l1tVertexFinder::AlgoSettings::vx_DoTightChi2 ( ) const
inline

Definition at line 61 of file AlgoSettings.h.

References vx_DoTightChi2_.

◆ vx_histogram_binwidth()

double l1tVertexFinder::AlgoSettings::vx_histogram_binwidth ( ) const
inline

Definition at line 56 of file AlgoSettings.h.

References vx_histogram_parameters_.

56 { return vx_histogram_parameters_.at(2); }
std::vector< double > vx_histogram_parameters_
Definition: AlgoSettings.h:108

◆ vx_histogram_max()

double l1tVertexFinder::AlgoSettings::vx_histogram_max ( ) const
inline

Definition at line 55 of file AlgoSettings.h.

References vx_histogram_parameters_.

55 { return vx_histogram_parameters_.at(1); }
std::vector< double > vx_histogram_parameters_
Definition: AlgoSettings.h:108

◆ vx_histogram_min()

double l1tVertexFinder::AlgoSettings::vx_histogram_min ( ) const
inline

Definition at line 54 of file AlgoSettings.h.

References vx_histogram_parameters_.

54 { return vx_histogram_parameters_.at(0); }
std::vector< double > vx_histogram_parameters_
Definition: AlgoSettings.h:108

◆ vx_histogram_parameters()

std::vector<double> l1tVertexFinder::AlgoSettings::vx_histogram_parameters ( ) const
inline

Definition at line 53 of file AlgoSettings.h.

References vx_histogram_parameters_.

53 { return vx_histogram_parameters_; }
std::vector< double > vx_histogram_parameters_
Definition: AlgoSettings.h:108

◆ vx_kmeans_iterations()

unsigned int l1tVertexFinder::AlgoSettings::vx_kmeans_iterations ( ) const
inline

Definition at line 67 of file AlgoSettings.h.

References vx_kmeans_iterations_.

67 { return vx_kmeans_iterations_; }

◆ vx_kmeans_nclusters()

unsigned int l1tVertexFinder::AlgoSettings::vx_kmeans_nclusters ( ) const
inline

Definition at line 68 of file AlgoSettings.h.

References vx_kmeans_nclusters_.

68 { return vx_kmeans_nclusters_; }

◆ vx_minTracks()

unsigned int l1tVertexFinder::AlgoSettings::vx_minTracks ( ) const
inline

Definition at line 43 of file AlgoSettings.h.

References vx_minTracks_.

Referenced by l1tVertexFinder::InputData::InputData().

43 { return vx_minTracks_; }

◆ vx_NStubMin()

unsigned int l1tVertexFinder::AlgoSettings::vx_NStubMin ( ) const
inline

Definition at line 73 of file AlgoSettings.h.

References vx_NStubMin_.

73 { return vx_NStubMin_; }

◆ vx_NStubPSMin()

unsigned int l1tVertexFinder::AlgoSettings::vx_NStubPSMin ( ) const
inline

Definition at line 74 of file AlgoSettings.h.

References vx_NStubPSMin_.

74 { return vx_NStubPSMin_; }

◆ vx_nvtx()

unsigned int l1tVertexFinder::AlgoSettings::vx_nvtx ( ) const
inline

Definition at line 63 of file AlgoSettings.h.

References vx_nvtx_.

63 { return vx_nvtx_; }

◆ vx_precision()

Precision l1tVertexFinder::AlgoSettings::vx_precision ( ) const
inline

Definition at line 35 of file AlgoSettings.h.

References vx_precision_.

Referenced by l1tVertexFinder::VertexFinder::PrimaryVertex().

35 { return vx_precision_; }

◆ vx_resolution()

float l1tVertexFinder::AlgoSettings::vx_resolution ( ) const
inline

Definition at line 41 of file AlgoSettings.h.

References vx_resolution_.

◆ vx_TrackMaxChi2()

float l1tVertexFinder::AlgoSettings::vx_TrackMaxChi2 ( ) const
inline

Definition at line 72 of file AlgoSettings.h.

References vx_TrackMaxChi2_.

◆ vx_TrackMaxPt()

float l1tVertexFinder::AlgoSettings::vx_TrackMaxPt ( ) const
inline

Definition at line 70 of file AlgoSettings.h.

References vx_TrackMaxPt_.

◆ vx_TrackMaxPtBehavior()

float l1tVertexFinder::AlgoSettings::vx_TrackMaxPtBehavior ( ) const
inline

Definition at line 71 of file AlgoSettings.h.

References vx_TrackMaxPtBehavior_.

◆ vx_TrackMinPt()

float l1tVertexFinder::AlgoSettings::vx_TrackMinPt ( ) const
inline

Definition at line 69 of file AlgoSettings.h.

References vx_TrackMinPt_.

Referenced by VertexProducer::produce().

◆ vx_weightedmean()

unsigned int l1tVertexFinder::AlgoSettings::vx_weightedmean ( ) const
inline

Definition at line 45 of file AlgoSettings.h.

References vx_weightedmean_.

45 { return vx_weightedmean_; }

◆ vx_width()

float l1tVertexFinder::AlgoSettings::vx_width ( ) const
inline

Definition at line 58 of file AlgoSettings.h.

References vx_width_.

58 { return vx_width_; }

◆ vx_windowSize()

unsigned int l1tVertexFinder::AlgoSettings::vx_windowSize ( ) const
inline

Definition at line 51 of file AlgoSettings.h.

References vx_windowSize_.

51 { return vx_windowSize_; }

Member Data Documentation

◆ algoNameMap

const std::map< std::string, Algorithm > l1tVertexFinder::AlgoSettings::algoNameMap
staticprivate
Initial value:
= {
{"fastHisto", Algorithm::fastHisto},
{"fastHistoEmulation", Algorithm::fastHistoEmulation},
{"fastHistoLooseAssociation", Algorithm::fastHistoLooseAssociation},
{"GapClustering", Algorithm::GapClustering},
{"DBSCAN", Algorithm::DBSCAN},
{"PVR", Algorithm::PVR},
{"HPV", Algorithm::HPV},
{"K-means", Algorithm::Kmeans}}

Definition at line 90 of file AlgoSettings.h.

Referenced by AlgoSettings().

◆ algoPrecisionMap

const std::map< Algorithm, Precision > l1tVertexFinder::AlgoSettings::algoPrecisionMap
staticprivate

◆ debug_

unsigned int l1tVertexFinder::AlgoSettings::debug_
private

Definition at line 124 of file AlgoSettings.h.

Referenced by debug().

◆ vertex_

edm::ParameterSet l1tVertexFinder::AlgoSettings::vertex_
private

Definition at line 94 of file AlgoSettings.h.

Referenced by AlgoSettings().

◆ vx_algo_

Algorithm l1tVertexFinder::AlgoSettings::vx_algo_
private

Definition at line 97 of file AlgoSettings.h.

Referenced by AlgoSettings(), and vx_algo().

◆ vx_chi2cut_

float l1tVertexFinder::AlgoSettings::vx_chi2cut_
private

Definition at line 104 of file AlgoSettings.h.

Referenced by vx_chi2cut().

◆ vx_dbscan_mintracks_

float l1tVertexFinder::AlgoSettings::vx_dbscan_mintracks_
private

Definition at line 119 of file AlgoSettings.h.

Referenced by vx_dbscan_mintracks().

◆ vx_dbscan_pt_

float l1tVertexFinder::AlgoSettings::vx_dbscan_pt_
private

Definition at line 118 of file AlgoSettings.h.

Referenced by vx_dbscan_pt().

◆ vx_distance_

float l1tVertexFinder::AlgoSettings::vx_distance_
private

Definition at line 99 of file AlgoSettings.h.

Referenced by vx_distance().

◆ vx_distanceType_

unsigned int l1tVertexFinder::AlgoSettings::vx_distanceType_
private

Definition at line 101 of file AlgoSettings.h.

Referenced by vx_distanceType().

◆ vx_DoPtComp_

bool l1tVertexFinder::AlgoSettings::vx_DoPtComp_
private

Definition at line 106 of file AlgoSettings.h.

Referenced by vx_DoPtComp().

◆ vx_DoQualityCuts_

bool l1tVertexFinder::AlgoSettings::vx_DoQualityCuts_
private

Definition at line 105 of file AlgoSettings.h.

Referenced by vx_DoQualityCuts().

◆ vx_DoTightChi2_

bool l1tVertexFinder::AlgoSettings::vx_DoTightChi2_
private

Definition at line 107 of file AlgoSettings.h.

Referenced by vx_DoTightChi2().

◆ vx_histogram_parameters_

std::vector<double> l1tVertexFinder::AlgoSettings::vx_histogram_parameters_
private

◆ vx_kmeans_iterations_

unsigned int l1tVertexFinder::AlgoSettings::vx_kmeans_iterations_
private

Definition at line 120 of file AlgoSettings.h.

Referenced by vx_kmeans_iterations().

◆ vx_kmeans_nclusters_

unsigned int l1tVertexFinder::AlgoSettings::vx_kmeans_nclusters_
private

Definition at line 121 of file AlgoSettings.h.

Referenced by vx_kmeans_nclusters().

◆ vx_minTracks_

unsigned int l1tVertexFinder::AlgoSettings::vx_minTracks_
private

Definition at line 102 of file AlgoSettings.h.

Referenced by vx_minTracks().

◆ vx_NStubMin_

unsigned int l1tVertexFinder::AlgoSettings::vx_NStubMin_
private

Definition at line 116 of file AlgoSettings.h.

Referenced by vx_NStubMin().

◆ vx_NStubPSMin_

unsigned int l1tVertexFinder::AlgoSettings::vx_NStubPSMin_
private

Definition at line 117 of file AlgoSettings.h.

Referenced by vx_NStubPSMin().

◆ vx_nvtx_

unsigned int l1tVertexFinder::AlgoSettings::vx_nvtx_
private

Definition at line 109 of file AlgoSettings.h.

Referenced by vx_nvtx().

◆ vx_precision_

Precision l1tVertexFinder::AlgoSettings::vx_precision_
private

Definition at line 98 of file AlgoSettings.h.

Referenced by vx_precision().

◆ vx_resolution_

float l1tVertexFinder::AlgoSettings::vx_resolution_
private

Definition at line 100 of file AlgoSettings.h.

Referenced by vx_resolution().

◆ vx_TrackMaxChi2_

float l1tVertexFinder::AlgoSettings::vx_TrackMaxChi2_
private

Definition at line 115 of file AlgoSettings.h.

Referenced by vx_TrackMaxChi2().

◆ vx_TrackMaxPt_

float l1tVertexFinder::AlgoSettings::vx_TrackMaxPt_
private

Definition at line 113 of file AlgoSettings.h.

Referenced by vx_TrackMaxPt().

◆ vx_TrackMaxPtBehavior_

int l1tVertexFinder::AlgoSettings::vx_TrackMaxPtBehavior_
private

Definition at line 114 of file AlgoSettings.h.

Referenced by vx_TrackMaxPtBehavior().

◆ vx_TrackMinPt_

float l1tVertexFinder::AlgoSettings::vx_TrackMinPt_
private

Definition at line 112 of file AlgoSettings.h.

Referenced by vx_TrackMinPt().

◆ vx_weightedmean_

unsigned int l1tVertexFinder::AlgoSettings::vx_weightedmean_
private

Definition at line 103 of file AlgoSettings.h.

Referenced by vx_weightedmean().

◆ vx_width_

float l1tVertexFinder::AlgoSettings::vx_width_
private

Definition at line 110 of file AlgoSettings.h.

Referenced by vx_width().

◆ vx_windowSize_

unsigned int l1tVertexFinder::AlgoSettings::vx_windowSize_
private

Definition at line 111 of file AlgoSettings.h.

Referenced by vx_windowSize().