CMS 3D CMS Logo

AlgoSettings.h
Go to the documentation of this file.
1 #ifndef __L1Trigger_VertexFinder_AlgoSettings_h__
2 #define __L1Trigger_VertexFinder_AlgoSettings_h__
3 
4 #include <vector>
5 #include <string>
6 
9 
10 namespace l1tVertexFinder {
11 
12  enum class Algorithm {
13  FastHisto,
17  DBSCAN,
18  PVR,
20  HPV,
21  Kmeans
22  };
23 
24  class AlgoSettings {
25  public:
26  AlgoSettings(const edm::ParameterSet& iConfig);
28 
29  //=== Vertex Reconstruction configuration
30  // Vertex Reconstruction algo
31  Algorithm vx_algo() const { return vx_algo_; }
33  unsigned int vx_distanceType() const { return vx_distanceType_; }
34  // Assumed Vertex Distance
35  float vx_distance() const { return vx_distance_; }
36  // Assumed Vertex Resolution
37  float vx_resolution() const { return vx_resolution_; }
38  // Minimum number of tracks to accept vertex
39  unsigned int vx_minTracks() const { return vx_minTracks_; }
40  // Compute the z0 position of the vertex with a mean weighted with track momenta
41  unsigned int vx_weightedmean() const { return vx_weightedmean_; }
43  float vx_chi2cut() const { return vx_chi2cut_; }
45  unsigned int vx_windowSize() const { return vx_windowSize_; }
47  std::vector<double> vx_histogram_parameters() const { return vx_histogram_parameters_; }
48  double vx_histogram_min() const { return vx_histogram_parameters_.at(0); }
49  double vx_histogram_max() const { return vx_histogram_parameters_.at(1); }
50  double vx_histogram_binwidth() const { return vx_histogram_parameters_.at(2); }
52  float vx_width() const { return vx_width_; }
54  bool vx_DoPtComp() const { return vx_DoPtComp_; }
55  bool vx_DoTightChi2() const { return vx_DoTightChi2_; }
57  unsigned int vx_nvtx() const { return vx_nvtx_; }
58  float vx_dbscan_pt() const { return vx_dbscan_pt_; }
59  unsigned int vx_dbscan_mintracks() const { return vx_dbscan_mintracks_; }
60 
61  unsigned int vx_kmeans_iterations() const { return vx_kmeans_iterations_; }
62  unsigned int vx_kmeans_nclusters() const { return vx_kmeans_nclusters_; }
63  float vx_TrackMinPt() const { return vx_TrackMinPt_; }
64  float vx_TrackMaxPt() const { return vx_TrackMaxPt_; }
66  float vx_TrackMaxChi2() const { return vx_TrackMaxChi2_; }
67  unsigned int vx_NStubMin() const { return vx_NStubMin_; }
68  unsigned int vx_NStubPSMin() const { return vx_NStubPSMin_; }
69 
70  //=== Debug printout
71  unsigned int debug() const { return debug_; }
72 
73  //=== Hard-wired constants
74  // EJC Check this. Found stub at r = 109.504 with flat geometry in 81X, so increased tracker radius for now.
75  double trackerOuterRadius() const { return 120.2; } // max. occuring stub radius.
76  // EJC Check this. Found stub at r = 20.664 with flat geometry in 81X, so decreased tracker radius for now.
77  double trackerInnerRadius() const { return 20; } // min. occuring stub radius.
78  double trackerHalfLength() const { return 270.; } // half-length of tracker.
79  double layerIDfromRadiusBin() const {
80  return 6.;
81  } // When counting stubs in layers, actually histogram stubs in distance from beam-line with this bin size.
82 
83  private:
84  static const std::map<std::string, Algorithm> algoNameMap;
85 
86  // Parameter sets for differents types of configuration parameter.
88 
89  // Vertex Reconstruction configuration
91  float vx_distance_;
93  unsigned int vx_distanceType_;
94  unsigned int vx_minTracks_;
95  unsigned int vx_weightedmean_;
96  float vx_chi2cut_;
99  std::vector<double> vx_histogram_parameters_;
100  unsigned int vx_nvtx_;
101  float vx_width_;
102  unsigned int vx_windowSize_;
107  unsigned int vx_NStubMin_;
108  unsigned int vx_NStubPSMin_;
111  unsigned int vx_kmeans_iterations_;
112  unsigned int vx_kmeans_nclusters_;
113 
114  // Debug printout
115  unsigned int debug_;
116  };
117 
118 } // end namespace l1tVertexFinder
119 
120 #endif
l1tVertexFinder
Definition: AlgoSettings.h:10
l1tVertexFinder::AlgoSettings::AlgoSettings
AlgoSettings(const edm::ParameterSet &iConfig)
=== Get configuration parameters
Definition: AlgoSettings.cc:7
l1tVertexFinder::AlgoSettings::vx_distance
float vx_distance() const
Definition: AlgoSettings.h:35
l1tVertexFinder::AlgoSettings::vertex_
edm::ParameterSet vertex_
Definition: AlgoSettings.h:87
l1tVertexFinder::Algorithm::Kmeans
l1tVertexFinder::AlgoSettings::vx_distanceType_
unsigned int vx_distanceType_
Definition: AlgoSettings.h:93
l1tVertexFinder::Algorithm::HPV
l1tVertexFinder::AlgoSettings::vx_nvtx_
unsigned int vx_nvtx_
Definition: AlgoSettings.h:100
l1tVertexFinder::AlgoSettings::vx_histogram_parameters_
std::vector< double > vx_histogram_parameters_
Definition: AlgoSettings.h:99
l1tVertexFinder::Algorithm::FastHisto
l1tVertexFinder::AlgoSettings::vx_weightedmean
unsigned int vx_weightedmean() const
Definition: AlgoSettings.h:41
l1tVertexFinder::AlgoSettings::vx_distanceType
unsigned int vx_distanceType() const
For Agglomerative cluster algorithm, select a definition of distance between clusters.
Definition: AlgoSettings.h:33
l1tVertexFinder::AlgoSettings::vx_windowSize_
unsigned int vx_windowSize_
Definition: AlgoSettings.h:102
l1tVertexFinder::Algorithm::FastHistoLooseAssociation
l1tVertexFinder::AlgoSettings::vx_DoTightChi2
bool vx_DoTightChi2() const
Definition: AlgoSettings.h:55
l1tVertexFinder::AlgoSettings::vx_algo
Algorithm vx_algo() const
Definition: AlgoSettings.h:31
l1tVertexFinder::AlgoSettings::vx_DoPtComp_
bool vx_DoPtComp_
Definition: AlgoSettings.h:97
l1tVertexFinder::Algorithm::AdaptiveVertexReconstruction
l1tVertexFinder::AlgoSettings::vx_kmeans_nclusters_
unsigned int vx_kmeans_nclusters_
Definition: AlgoSettings.h:112
l1tVertexFinder::AlgoSettings::vx_nvtx
unsigned int vx_nvtx() const
Number of vertices to return for FastHisto.
Definition: AlgoSettings.h:57
l1tVertexFinder::AlgoSettings::vx_kmeans_iterations
unsigned int vx_kmeans_iterations() const
Definition: AlgoSettings.h:61
l1tVertexFinder::Algorithm
Algorithm
Definition: AlgoSettings.h:12
l1tVertexFinder::AlgoSettings::debug_
unsigned int debug_
Definition: AlgoSettings.h:115
l1tVertexFinder::AlgoSettings::vx_TrackMaxPtBehavior_
int vx_TrackMaxPtBehavior_
Definition: AlgoSettings.h:105
l1tVertexFinder::AlgoSettings::vx_TrackMaxPt_
float vx_TrackMaxPt_
Definition: AlgoSettings.h:104
l1tVertexFinder::AlgoSettings::vx_kmeans_iterations_
unsigned int vx_kmeans_iterations_
Definition: AlgoSettings.h:111
l1tVertexFinder::AlgoSettings::vx_windowSize
unsigned int vx_windowSize() const
Window size of the sliding window.
Definition: AlgoSettings.h:45
l1tVertexFinder::AlgoSettings::vx_DoPtComp
bool vx_DoPtComp() const
FastHisto track selection control.
Definition: AlgoSettings.h:54
l1tVertexFinder::AlgoSettings::vx_NStubPSMin_
unsigned int vx_NStubPSMin_
Definition: AlgoSettings.h:108
l1tVertexFinder::AlgoSettings::vx_dbscan_mintracks
unsigned int vx_dbscan_mintracks() const
Definition: AlgoSettings.h:59
l1tVertexFinder::AlgoSettings::vx_histogram_parameters
std::vector< double > vx_histogram_parameters() const
FastHisto histogram parameters (min, max, width)
Definition: AlgoSettings.h:47
l1tVertexFinder::AlgoSettings::vx_dbscan_mintracks_
float vx_dbscan_mintracks_
Definition: AlgoSettings.h:110
edm::ParameterSet
Definition: ParameterSet.h:47
l1tVertexFinder::AlgoSettings::~AlgoSettings
~AlgoSettings()
Definition: AlgoSettings.h:27
l1tVertexFinder::AlgoSettings::vx_histogram_min
double vx_histogram_min() const
Definition: AlgoSettings.h:48
l1tVertexFinder::Algorithm::AgglomerativeHierarchical
l1tVertexFinder::Algorithm::DBSCAN
l1tVertexFinder::Algorithm::GapClustering
l1tVertexFinder::AlgoSettings::vx_TrackMaxPtBehavior
float vx_TrackMaxPtBehavior() const
Definition: AlgoSettings.h:65
l1tVertexFinder::AlgoSettings::vx_chi2cut_
float vx_chi2cut_
Definition: AlgoSettings.h:96
l1tVertexFinder::AlgoSettings
Definition: AlgoSettings.h:24
l1tVertexFinder::AlgoSettings::vx_width
float vx_width() const
FastHisto assumed vertex width.
Definition: AlgoSettings.h:52
l1tVertexFinder::AlgoSettings::vx_TrackMaxChi2
float vx_TrackMaxChi2() const
Definition: AlgoSettings.h:66
l1tVertexFinder::AlgoSettings::algoNameMap
static const std::map< std::string, Algorithm > algoNameMap
Definition: AlgoSettings.h:84
l1tVertexFinder::AlgoSettings::vx_NStubPSMin
unsigned int vx_NStubPSMin() const
Definition: AlgoSettings.h:68
l1tVertexFinder::AlgoSettings::vx_resolution
float vx_resolution() const
Definition: AlgoSettings.h:37
l1tVertexFinder::AlgoSettings::vx_NStubMin_
unsigned int vx_NStubMin_
Definition: AlgoSettings.h:107
l1tVertexFinder::AlgoSettings::vx_weightedmean_
unsigned int vx_weightedmean_
Definition: AlgoSettings.h:95
l1tVertexFinder::AlgoSettings::vx_distance_
float vx_distance_
Definition: AlgoSettings.h:91
l1tVertexFinder::AlgoSettings::vx_dbscan_pt
float vx_dbscan_pt() const
Definition: AlgoSettings.h:58
l1tVertexFinder::AlgoSettings::vx_minTracks_
unsigned int vx_minTracks_
Definition: AlgoSettings.h:94
l1tVertexFinder::AlgoSettings::vx_TrackMaxPt
float vx_TrackMaxPt() const
Definition: AlgoSettings.h:64
l1tVertexFinder::AlgoSettings::vx_dbscan_pt_
float vx_dbscan_pt_
Definition: AlgoSettings.h:109
l1tVertexFinder::AlgoSettings::trackerInnerRadius
double trackerInnerRadius() const
Definition: AlgoSettings.h:77
l1tVertexFinder::AlgoSettings::layerIDfromRadiusBin
double layerIDfromRadiusBin() const
Definition: AlgoSettings.h:79
l1tVertexFinder::AlgoSettings::vx_width_
float vx_width_
Definition: AlgoSettings.h:101
l1tVertexFinder::AlgoSettings::vx_algo_
Algorithm vx_algo_
Definition: AlgoSettings.h:90
l1tVertexFinder::AlgoSettings::trackerOuterRadius
double trackerOuterRadius() const
Definition: AlgoSettings.h:75
l1tVertexFinder::AlgoSettings::vx_histogram_binwidth
double vx_histogram_binwidth() const
Definition: AlgoSettings.h:50
l1tVertexFinder::Algorithm::PVR
l1tVertexFinder::AlgoSettings::trackerHalfLength
double trackerHalfLength() const
Definition: AlgoSettings.h:78
l1tVertexFinder::AlgoSettings::vx_kmeans_nclusters
unsigned int vx_kmeans_nclusters() const
Definition: AlgoSettings.h:62
Exception.h
l1tVertexFinder::AlgoSettings::vx_NStubMin
unsigned int vx_NStubMin() const
Definition: AlgoSettings.h:67
l1tVertexFinder::AlgoSettings::vx_histogram_max
double vx_histogram_max() const
Definition: AlgoSettings.h:49
l1tVertexFinder::AlgoSettings::vx_chi2cut
float vx_chi2cut() const
Chi2 cut for the Adaptive Vertex Recostruction Algorithm.
Definition: AlgoSettings.h:43
l1tVertexFinder::AlgoSettings::vx_TrackMinPt_
float vx_TrackMinPt_
Definition: AlgoSettings.h:103
l1tVertexFinder::AlgoSettings::vx_resolution_
float vx_resolution_
Definition: AlgoSettings.h:92
ParameterSet.h
l1tVertexFinder::AlgoSettings::debug
unsigned int debug() const
Definition: AlgoSettings.h:71
l1tVertexFinder::AlgoSettings::vx_TrackMinPt
float vx_TrackMinPt() const
Definition: AlgoSettings.h:63
l1tVertexFinder::AlgoSettings::vx_DoTightChi2_
bool vx_DoTightChi2_
Definition: AlgoSettings.h:98
l1tVertexFinder::AlgoSettings::vx_minTracks
unsigned int vx_minTracks() const
Definition: AlgoSettings.h:39
l1tVertexFinder::AlgoSettings::vx_TrackMaxChi2_
float vx_TrackMaxChi2_
Definition: AlgoSettings.h:106