CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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
 Chi2 cut for the Adaptive Vertex Recostruction Algorithm. More...
 
unsigned int vx_dbscan_mintracks () const
 
float vx_dbscan_pt () const
 
float vx_distance () const
 
unsigned int vx_distanceType () const
 For Agglomerative cluster algorithm, select a definition of distance between clusters. More...
 
bool vx_DoPtComp () const
 FastHisto track selection control. More...
 
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
 FastHisto histogram parameters (min, max, width) More...
 
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
 Number of vertices to return for FastHisto. More...
 
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
 FastHisto assumed vertex width. More...
 
unsigned int vx_windowSize () const
 Window size of the sliding window. More...
 
 ~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_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_
 
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, Algorithm
algoNameMap
 

Detailed Description

Definition at line 24 of file AlgoSettings.h.

Constructor & Destructor Documentation

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

=== Get configuration parameters

Definition at line 7 of file AlgoSettings.cc.

References algoNameMap, Exception, 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_DoPtComp_(vertex_.getParameter<bool>("FH_DoPtComp")),
16  vx_DoTightChi2_(vertex_.getParameter<bool>("FH_DoTightChi2")),
17  vx_histogram_parameters_(vertex_.getParameter<std::vector<double> >("FH_HistogramParameters")),
18  vx_nvtx_(vertex_.getParameter<unsigned int>("FH_NVtx")),
19  vx_width_(vertex_.getParameter<double>("FH_VertexWidth")),
20  vx_windowSize_(vertex_.getParameter<unsigned int>("FH_WindowSize")),
21  vx_TrackMinPt_(vertex_.getParameter<double>("VxMinTrackPt")),
22  vx_TrackMaxPt_(vertex_.getParameter<double>("VxMaxTrackPt")),
23  vx_TrackMaxPtBehavior_(vertex_.getParameter<int>("VxMaxTrackPtBehavior")),
24  vx_TrackMaxChi2_(vertex_.getParameter<double>("VxMaxTrackChi2")),
25  vx_NStubMin_(vertex_.getParameter<unsigned int>("VxMinNStub")),
26  vx_NStubPSMin_(vertex_.getParameter<unsigned int>("VxMinNStubPS")),
27  vx_dbscan_pt_(vertex_.getParameter<double>("DBSCANPtThreshold")),
28  vx_dbscan_mintracks_(vertex_.getParameter<unsigned int>("DBSCANMinDensityTracks")),
29  vx_kmeans_iterations_(vertex_.getParameter<unsigned int>("KmeansIterations")),
30  vx_kmeans_nclusters_(vertex_.getParameter<unsigned int>("KmeansNumClusters")),
31  // Debug printout
32  debug_(iConfig.getParameter<unsigned int>("debug")) {
33  const std::string algoName(vertex_.getParameter<std::string>("Algorithm"));
34  const auto algoMapIt = algoNameMap.find(algoName);
35  if (algoMapIt != algoNameMap.end())
36  vx_algo_ = algoMapIt->second;
37  else {
38  std::ostringstream validAlgoNames;
39  for (auto it = algoNameMap.begin(); it != algoNameMap.end(); it++) {
40  validAlgoNames << '"' << it->first << '"';
41  if (it != (--algoNameMap.end()))
42  validAlgoNames << ", ";
43  }
44  throw cms::Exception("Invalid algo name '" + algoName +
45  "' specified for L1T vertex producer. Valid algo names are: " + validAlgoNames.str());
46  }
47  }
std::vector< double > vx_histogram_parameters_
Definition: AlgoSettings.h:99
for(Iditer=Id.begin();Iditer!=Id.end();Iditer++)
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
edm::ParameterSet vertex_
Definition: AlgoSettings.h:87
static const std::map< std::string, Algorithm > algoNameMap
Definition: AlgoSettings.h:84
l1tVertexFinder::AlgoSettings::~AlgoSettings ( )
inline

Definition at line 27 of file AlgoSettings.h.

27 {}

Member Function Documentation

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

Definition at line 71 of file AlgoSettings.h.

References debug_.

Referenced by l1tVertexFinder::VertexNTupler::analyze(), and l1tVertexFinder::InputData::InputData().

71 { return debug_; }
double l1tVertexFinder::AlgoSettings::layerIDfromRadiusBin ( ) const
inline

Definition at line 79 of file AlgoSettings.h.

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

79  {
80  return 6.;
81  } // When counting stubs in layers, actually histogram stubs in distance from beam-line with this bin size.
double l1tVertexFinder::AlgoSettings::trackerHalfLength ( ) const
inline

Definition at line 78 of file AlgoSettings.h.

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

78 { return 270.; } // half-length of tracker.
double l1tVertexFinder::AlgoSettings::trackerInnerRadius ( ) const
inline

Definition at line 77 of file AlgoSettings.h.

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

77 { return 20; } // min. occuring stub radius.
double l1tVertexFinder::AlgoSettings::trackerOuterRadius ( ) const
inline

Definition at line 75 of file AlgoSettings.h.

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

75 { return 120.2; } // max. occuring stub radius.
Algorithm l1tVertexFinder::AlgoSettings::vx_algo ( ) const
inline

Definition at line 31 of file AlgoSettings.h.

References vx_algo_.

Referenced by VertexProducer::VertexProducer().

31 { return vx_algo_; }
float l1tVertexFinder::AlgoSettings::vx_chi2cut ( ) const
inline

Chi2 cut for the Adaptive Vertex Recostruction Algorithm.

Definition at line 43 of file AlgoSettings.h.

References vx_chi2cut_.

43 { return vx_chi2cut_; }
unsigned int l1tVertexFinder::AlgoSettings::vx_dbscan_mintracks ( ) const
inline

Definition at line 59 of file AlgoSettings.h.

References vx_dbscan_mintracks_.

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

Definition at line 58 of file AlgoSettings.h.

References vx_dbscan_pt_.

58 { return vx_dbscan_pt_; }
float l1tVertexFinder::AlgoSettings::vx_distance ( ) const
inline

Definition at line 35 of file AlgoSettings.h.

References vx_distance_.

35 { return vx_distance_; }
unsigned int l1tVertexFinder::AlgoSettings::vx_distanceType ( ) const
inline

For Agglomerative cluster algorithm, select a definition of distance between clusters.

Definition at line 33 of file AlgoSettings.h.

References vx_distanceType_.

33 { return vx_distanceType_; }
bool l1tVertexFinder::AlgoSettings::vx_DoPtComp ( ) const
inline

FastHisto track selection control.

Definition at line 54 of file AlgoSettings.h.

References vx_DoPtComp_.

54 { return vx_DoPtComp_; }
bool l1tVertexFinder::AlgoSettings::vx_DoTightChi2 ( ) const
inline

Definition at line 55 of file AlgoSettings.h.

References vx_DoTightChi2_.

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

Definition at line 50 of file AlgoSettings.h.

References vx_histogram_parameters_.

50 { return vx_histogram_parameters_.at(2); }
std::vector< double > vx_histogram_parameters_
Definition: AlgoSettings.h:99
double l1tVertexFinder::AlgoSettings::vx_histogram_max ( ) const
inline

Definition at line 49 of file AlgoSettings.h.

References vx_histogram_parameters_.

49 { return vx_histogram_parameters_.at(1); }
std::vector< double > vx_histogram_parameters_
Definition: AlgoSettings.h:99
double l1tVertexFinder::AlgoSettings::vx_histogram_min ( ) const
inline

Definition at line 48 of file AlgoSettings.h.

References vx_histogram_parameters_.

48 { return vx_histogram_parameters_.at(0); }
std::vector< double > vx_histogram_parameters_
Definition: AlgoSettings.h:99
std::vector<double> l1tVertexFinder::AlgoSettings::vx_histogram_parameters ( ) const
inline

FastHisto histogram parameters (min, max, width)

Definition at line 47 of file AlgoSettings.h.

References vx_histogram_parameters_.

47 { return vx_histogram_parameters_; }
std::vector< double > vx_histogram_parameters_
Definition: AlgoSettings.h:99
unsigned int l1tVertexFinder::AlgoSettings::vx_kmeans_iterations ( ) const
inline

Definition at line 61 of file AlgoSettings.h.

References vx_kmeans_iterations_.

61 { return vx_kmeans_iterations_; }
unsigned int l1tVertexFinder::AlgoSettings::vx_kmeans_nclusters ( ) const
inline

Definition at line 62 of file AlgoSettings.h.

References vx_kmeans_nclusters_.

62 { return vx_kmeans_nclusters_; }
unsigned int l1tVertexFinder::AlgoSettings::vx_minTracks ( ) const
inline

Definition at line 39 of file AlgoSettings.h.

References vx_minTracks_.

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

39 { return vx_minTracks_; }
unsigned int l1tVertexFinder::AlgoSettings::vx_NStubMin ( ) const
inline

Definition at line 67 of file AlgoSettings.h.

References vx_NStubMin_.

67 { return vx_NStubMin_; }
unsigned int l1tVertexFinder::AlgoSettings::vx_NStubPSMin ( ) const
inline

Definition at line 68 of file AlgoSettings.h.

References vx_NStubPSMin_.

68 { return vx_NStubPSMin_; }
unsigned int l1tVertexFinder::AlgoSettings::vx_nvtx ( ) const
inline

Number of vertices to return for FastHisto.

Definition at line 57 of file AlgoSettings.h.

References vx_nvtx_.

57 { return vx_nvtx_; }
float l1tVertexFinder::AlgoSettings::vx_resolution ( ) const
inline

Definition at line 37 of file AlgoSettings.h.

References vx_resolution_.

37 { return vx_resolution_; }
float l1tVertexFinder::AlgoSettings::vx_TrackMaxChi2 ( ) const
inline

Definition at line 66 of file AlgoSettings.h.

References vx_TrackMaxChi2_.

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

Definition at line 64 of file AlgoSettings.h.

References vx_TrackMaxPt_.

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

Definition at line 65 of file AlgoSettings.h.

References vx_TrackMaxPtBehavior_.

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

Definition at line 63 of file AlgoSettings.h.

References vx_TrackMinPt_.

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

Definition at line 41 of file AlgoSettings.h.

References vx_weightedmean_.

41 { return vx_weightedmean_; }
float l1tVertexFinder::AlgoSettings::vx_width ( ) const
inline

FastHisto assumed vertex width.

Definition at line 52 of file AlgoSettings.h.

References vx_width_.

52 { return vx_width_; }
unsigned int l1tVertexFinder::AlgoSettings::vx_windowSize ( ) const
inline

Window size of the sliding window.

Definition at line 45 of file AlgoSettings.h.

References vx_windowSize_.

45 { return vx_windowSize_; }

Member Data Documentation

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

Definition at line 84 of file AlgoSettings.h.

Referenced by AlgoSettings().

unsigned int l1tVertexFinder::AlgoSettings::debug_
private

Definition at line 115 of file AlgoSettings.h.

Referenced by debug().

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

Definition at line 87 of file AlgoSettings.h.

Referenced by AlgoSettings().

Algorithm l1tVertexFinder::AlgoSettings::vx_algo_
private

Definition at line 90 of file AlgoSettings.h.

Referenced by AlgoSettings(), and vx_algo().

float l1tVertexFinder::AlgoSettings::vx_chi2cut_
private

Definition at line 96 of file AlgoSettings.h.

Referenced by vx_chi2cut().

float l1tVertexFinder::AlgoSettings::vx_dbscan_mintracks_
private

Definition at line 110 of file AlgoSettings.h.

Referenced by vx_dbscan_mintracks().

float l1tVertexFinder::AlgoSettings::vx_dbscan_pt_
private

Definition at line 109 of file AlgoSettings.h.

Referenced by vx_dbscan_pt().

float l1tVertexFinder::AlgoSettings::vx_distance_
private

Definition at line 91 of file AlgoSettings.h.

Referenced by vx_distance().

unsigned int l1tVertexFinder::AlgoSettings::vx_distanceType_
private

Definition at line 93 of file AlgoSettings.h.

Referenced by vx_distanceType().

bool l1tVertexFinder::AlgoSettings::vx_DoPtComp_
private

Definition at line 97 of file AlgoSettings.h.

Referenced by vx_DoPtComp().

bool l1tVertexFinder::AlgoSettings::vx_DoTightChi2_
private

Definition at line 98 of file AlgoSettings.h.

Referenced by vx_DoTightChi2().

std::vector<double> l1tVertexFinder::AlgoSettings::vx_histogram_parameters_
private
unsigned int l1tVertexFinder::AlgoSettings::vx_kmeans_iterations_
private

Definition at line 111 of file AlgoSettings.h.

Referenced by vx_kmeans_iterations().

unsigned int l1tVertexFinder::AlgoSettings::vx_kmeans_nclusters_
private

Definition at line 112 of file AlgoSettings.h.

Referenced by vx_kmeans_nclusters().

unsigned int l1tVertexFinder::AlgoSettings::vx_minTracks_
private

Definition at line 94 of file AlgoSettings.h.

Referenced by vx_minTracks().

unsigned int l1tVertexFinder::AlgoSettings::vx_NStubMin_
private

Definition at line 107 of file AlgoSettings.h.

Referenced by vx_NStubMin().

unsigned int l1tVertexFinder::AlgoSettings::vx_NStubPSMin_
private

Definition at line 108 of file AlgoSettings.h.

Referenced by vx_NStubPSMin().

unsigned int l1tVertexFinder::AlgoSettings::vx_nvtx_
private

Definition at line 100 of file AlgoSettings.h.

Referenced by vx_nvtx().

float l1tVertexFinder::AlgoSettings::vx_resolution_
private

Definition at line 92 of file AlgoSettings.h.

Referenced by vx_resolution().

float l1tVertexFinder::AlgoSettings::vx_TrackMaxChi2_
private

Definition at line 106 of file AlgoSettings.h.

Referenced by vx_TrackMaxChi2().

float l1tVertexFinder::AlgoSettings::vx_TrackMaxPt_
private

Definition at line 104 of file AlgoSettings.h.

Referenced by vx_TrackMaxPt().

int l1tVertexFinder::AlgoSettings::vx_TrackMaxPtBehavior_
private

Definition at line 105 of file AlgoSettings.h.

Referenced by vx_TrackMaxPtBehavior().

float l1tVertexFinder::AlgoSettings::vx_TrackMinPt_
private

Definition at line 103 of file AlgoSettings.h.

Referenced by vx_TrackMinPt().

unsigned int l1tVertexFinder::AlgoSettings::vx_weightedmean_
private

Definition at line 95 of file AlgoSettings.h.

Referenced by vx_weightedmean().

float l1tVertexFinder::AlgoSettings::vx_width_
private

Definition at line 101 of file AlgoSettings.h.

Referenced by vx_width().

unsigned int l1tVertexFinder::AlgoSettings::vx_windowSize_
private

Definition at line 102 of file AlgoSettings.h.

Referenced by vx_windowSize().