CMS 3D CMS Logo

PPSAlignmentConfig.h
Go to the documentation of this file.
1 /****************************************************************************
2  *
3  * CondFormats/PPSObjects/interface/PPSAlignmentConfig.h
4  *
5  * Description : Class with alignment parameters
6  *
7  * Authors:
8  * - Jan Kašpar
9  * - Mateusz Kocot
10  *
11  ****************************************************************************/
12 
13 #ifndef CondFormats_PPSObjects_PPSAlignmentConfig_h
14 #define CondFormats_PPSObjects_PPSAlignmentConfig_h
15 
17 
18 #include <vector>
19 #include <string>
20 #include <map>
21 
22 //---------------------------------------------------------------------------------------------
23 
24 struct PointErrors {
25  double x_;
26  double y_;
27  double ex_; // error x
28  double ey_; // error y
29 
31 };
32 
33 //---------------------------------------------------------------------------------------------
34 
36  double x_min_;
37  double x_max_;
38 
40 };
41 
42 //---------------------------------------------------------------------------------------------
43 
44 struct RPConfig {
46  unsigned int id_;
48  double slope_;
49  double sh_x_;
50 
53  double y_cen_add_;
54  double y_width_mult_;
55 
57  double x_slice_min_, x_slice_w_;
58 
60 };
61 std::ostream &operator<<(std::ostream &os, RPConfig &rc);
62 
63 //---------------------------------------------------------------------------------------------
64 
65 struct SectorConfig {
68  double slope_;
69 
71  double cut_h_a_, cut_h_c_, cut_h_si_;
72 
74  double cut_v_a_, cut_v_c_, cut_v_si_;
75 
77 };
78 std::ostream &operator<<(std::ostream &os, SectorConfig &sc);
79 
80 //---------------------------------------------------------------------------------------------
81 
82 struct Binning {
83  double bin_size_x_; // mm
84  unsigned int n_bins_x_;
85 
86  double pixel_x_offset_;
87 
88  unsigned int n_bins_y_;
89  double y_min_, y_max_;
90 
92 };
93 std::ostream &operator<<(std::ostream &os, Binning &b);
94 
95 //---------------------------------------------------------------------------------------------
96 
97 class PPSAlignmentConfig {
98 public:
99  // Getters
100  const std::vector<std::string> &sequence() const;
101  const std::string &resultsDir() const;
102 
103  const SectorConfig &sectorConfig45() const;
104  const SectorConfig &sectorConfig56() const;
105 
106  double x_ali_sh_step() const;
107 
108  double y_mode_sys_unc() const;
109  double chiSqThreshold() const;
110  double y_mode_unc_max_valid() const;
111  double y_mode_max_valid() const;
112 
113  double maxRPTracksSize() const;
114  double n_si() const;
115 
116  const std::map<unsigned int, std::vector<PointErrors>> &matchingReferencePoints() const;
117  const std::map<unsigned int, SelectionRange> &matchingShiftRanges() const;
118 
119  const std::map<unsigned int, SelectionRange> &alignment_x_meth_o_ranges() const;
120  unsigned int fitProfileMinBinEntries() const;
121  unsigned int fitProfileMinNReasonable() const;
122  unsigned int methOGraphMinN() const;
123  double methOUncFitRange() const;
124 
125  const std::map<unsigned int, SelectionRange> &alignment_x_relative_ranges() const;
126  unsigned int nearFarMinEntries() const;
127 
128  const std::map<unsigned int, SelectionRange> &alignment_y_ranges() const;
129  unsigned int modeGraphMinN() const;
130  unsigned int multSelProjYMinEntries() const;
131 
132  const Binning &binning() const;
133 
134  // Setters
135  void setSequence(std::vector<std::string> &sequence);
137 
140 
141  void setX_ali_sh_step(double x_ali_sh_step);
142 
143  void setY_mode_sys_unc(double y_mode_sys_unc);
144  void setChiSqThreshold(double chiSqThreshold);
147 
148  void setMaxRPTracksSize(unsigned int maxRPTracksSize);
149  void setN_si(double n_si);
150 
151  void setMatchingReferencePoints(std::map<unsigned int, std::vector<PointErrors>> &matchingReferencePoints);
152  void setMatchingShiftRanges(std::map<unsigned int, SelectionRange> &matchingShiftRanges);
153 
154  void setAlignment_x_meth_o_ranges(std::map<unsigned int, SelectionRange> &alignment_x_meth_o_ranges);
157  void setMethOGraphMinN(unsigned int methOGraphMinN);
159 
160  void setAlignment_x_relative_ranges(std::map<unsigned int, SelectionRange> &alignment_x_relative_ranges);
161  void setNearFarMinEntries(unsigned int nearFarMinEntries);
162 
163  void setAlignment_y_ranges(std::map<unsigned int, SelectionRange> &alignment_y_ranges);
164  void setModeGraphMinN(unsigned int modeGraphMinN);
166 
167  void setBinning(Binning &binning);
168 
169  // << operator
170  friend std::ostream &operator<<(std::ostream &os, PPSAlignmentConfig c);
171 
172 private:
173  std::vector<std::string> sequence_;
175 
177 
178  double x_ali_sh_step_; // mm
179 
183  double y_mode_max_valid_;
184 
185  unsigned int maxRPTracksSize_;
186  double n_si_;
187 
188  std::map<unsigned int, std::vector<PointErrors>> matchingReferencePoints_;
189  std::map<unsigned int, SelectionRange> matchingShiftRanges_;
190 
191  std::map<unsigned int, SelectionRange> alignment_x_meth_o_ranges_;
194  unsigned int methOGraphMinN_;
195  double methOUncFitRange_; // mm
196 
197  std::map<unsigned int, SelectionRange> alignment_x_relative_ranges_;
198  unsigned int nearFarMinEntries_;
199 
200  std::map<unsigned int, SelectionRange> alignment_y_ranges_;
201  unsigned int modeGraphMinN_;
202  unsigned int multSelProjYMinEntries_;
203 
205 
207 };
208 
209 std::ostream &operator<<(std::ostream &os, PPSAlignmentConfig c);
210 
211 #endif
RPConfig::x_slice_min_
double x_slice_min_
Definition: PPSAlignmentConfig.h:56
Binning::bin_size_x_
double bin_size_x_
Definition: PPSAlignmentConfig.h:82
SectorConfig::name_
std::string name_
Definition: PPSAlignmentConfig.h:65
PPSAlignmentConfig::sectorConfig45
const SectorConfig & sectorConfig45() const
Definition: PPSAlignmentConfig.cc:23
SectorConfig::cut_h_c_
double cut_h_c_
Definition: PPSAlignmentConfig.h:70
RPConfig::slope_
double slope_
Definition: PPSAlignmentConfig.h:47
SectorConfig::rp_F_
RPConfig rp_F_
Definition: PPSAlignmentConfig.h:66
PPSAlignmentConfig::matchingShiftRanges_
std::map< unsigned int, SelectionRange > matchingShiftRanges_
Definition: PPSAlignmentConfig.h:188
PPSAlignmentConfig::maxRPTracksSize_
unsigned int maxRPTracksSize_
Definition: PPSAlignmentConfig.h:184
PPSAlignmentConfig::sectorConfig56
const SectorConfig & sectorConfig56() const
Definition: PPSAlignmentConfig.cc:24
PPSAlignmentConfig::setBinning
void setBinning(Binning &binning)
Definition: PPSAlignmentConfig.cc:121
PPSAlignmentConfig::alignment_x_relative_ranges
const std::map< unsigned int, SelectionRange > & alignment_x_relative_ranges() const
Definition: PPSAlignmentConfig.cc:51
PPSAlignmentConfig::setMethOUncFitRange
void setMethOUncFitRange(double methOUncFitRange)
Definition: PPSAlignmentConfig.cc:103
PPSAlignmentConfig::maxRPTracksSize
double maxRPTracksSize() const
Definition: PPSAlignmentConfig.cc:33
PPSAlignmentConfig::y_mode_max_valid_
double y_mode_max_valid_
Definition: PPSAlignmentConfig.h:182
PPSAlignmentConfig::nearFarMinEntries_
unsigned int nearFarMinEntries_
Definition: PPSAlignmentConfig.h:197
PPSAlignmentConfig::chiSqThreshold
double chiSqThreshold() const
Definition: PPSAlignmentConfig.cc:29
RPConfig::x_slice_w_
double x_slice_w_
Definition: PPSAlignmentConfig.h:56
PPSAlignmentConfig::setFitProfileMinNReasonable
void setFitProfileMinNReasonable(unsigned int fitProfileMinNReasonable)
Definition: PPSAlignmentConfig.cc:99
PPSAlignmentConfig::binning_
Binning binning_
Definition: PPSAlignmentConfig.h:203
PPSAlignmentConfig::y_mode_sys_unc_
double y_mode_sys_unc_
Definition: PPSAlignmentConfig.h:179
PPSAlignmentConfig
Definition: PPSAlignmentConfig.h:96
COND_SERIALIZABLE
#define COND_SERIALIZABLE
Definition: Serializable.h:39
PPSAlignmentConfig::setChiSqThreshold
void setChiSqThreshold(double chiSqThreshold)
Definition: PPSAlignmentConfig.cc:75
PPSAlignmentConfig::fitProfileMinBinEntries
unsigned int fitProfileMinBinEntries() const
Definition: PPSAlignmentConfig.cc:46
PPSAlignmentConfig::alignment_x_meth_o_ranges
const std::map< unsigned int, SelectionRange > & alignment_x_meth_o_ranges() const
Definition: PPSAlignmentConfig.cc:43
PPSAlignmentConfig::x_ali_sh_step_
double x_ali_sh_step_
Definition: PPSAlignmentConfig.h:177
PPSAlignmentConfig::setAlignment_x_relative_ranges
void setAlignment_x_relative_ranges(std::map< unsigned int, SelectionRange > &alignment_x_relative_ranges)
Definition: PPSAlignmentConfig.cc:105
SectorConfig::slope_
double slope_
Definition: PPSAlignmentConfig.h:67
PPSAlignmentConfig::n_si_
double n_si_
Definition: PPSAlignmentConfig.h:185
SectorConfig::cut_v_si_
double cut_v_si_
Definition: PPSAlignmentConfig.h:73
PPSAlignmentConfig::setFitProfileMinBinEntries
void setFitProfileMinBinEntries(unsigned int fitProfileMinBinEntries)
Definition: PPSAlignmentConfig.cc:96
PPSAlignmentConfig::n_si
double n_si() const
Definition: PPSAlignmentConfig.cc:34
SelectionRange::x_min_
double x_min_
Definition: PPSAlignmentConfig.h:35
RPConfig::x_min_fit_mode_
double x_min_fit_mode_
Definition: PPSAlignmentConfig.h:50
RPConfig::position_
std::string position_
Definition: PPSAlignmentConfig.h:46
PPSAlignmentConfig::setN_si
void setN_si(double n_si)
Definition: PPSAlignmentConfig.cc:82
PPSAlignmentConfig::resultsDir_
std::string resultsDir_
Definition: PPSAlignmentConfig.h:173
PointErrors::y_
double y_
Definition: PPSAlignmentConfig.h:34
PPSAlignmentConfig::modeGraphMinN
unsigned int modeGraphMinN() const
Definition: PPSAlignmentConfig.cc:59
PointErrors
Definition: PPSAlignmentConfig.h:23
PPSAlignmentConfig::alignment_y_ranges_
std::map< unsigned int, SelectionRange > alignment_y_ranges_
Definition: PPSAlignmentConfig.h:199
PPSAlignmentConfig::sectorConfig45_
SectorConfig sectorConfig45_
Definition: PPSAlignmentConfig.h:175
PPSAlignmentConfig::matchingShiftRanges
const std::map< unsigned int, SelectionRange > & matchingShiftRanges() const
Definition: PPSAlignmentConfig.cc:39
PPSAlignmentConfig::setMatchingShiftRanges
void setMatchingShiftRanges(std::map< unsigned int, SelectionRange > &matchingShiftRanges)
Definition: PPSAlignmentConfig.cc:88
PPSAlignmentConfig::setY_mode_max_valid
void setY_mode_max_valid(double y_mode_max_valid)
Definition: PPSAlignmentConfig.cc:79
PPSAlignmentConfig::setX_ali_sh_step
void setX_ali_sh_step(double x_ali_sh_step)
Definition: PPSAlignmentConfig.cc:72
PPSAlignmentConfig::setMethOGraphMinN
void setMethOGraphMinN(unsigned int methOGraphMinN)
Definition: PPSAlignmentConfig.cc:102
PPSAlignmentConfig::nearFarMinEntries
unsigned int nearFarMinEntries() const
Definition: PPSAlignmentConfig.cc:54
PPSAlignmentConfig::operator<<
friend std::ostream & operator<<(std::ostream &os, PPSAlignmentConfig c)
Definition: PPSAlignmentConfig.cc:160
RPConfig::y_cen_add_
double y_cen_add_
Definition: PPSAlignmentConfig.h:52
PPSAlignmentConfig::methOUncFitRange_
double methOUncFitRange_
Definition: PPSAlignmentConfig.h:194
PPSAlignmentConfig::setNearFarMinEntries
void setNearFarMinEntries(unsigned int nearFarMinEntries)
Definition: PPSAlignmentConfig.cc:109
Binning::y_max_
double y_max_
Definition: PPSAlignmentConfig.h:88
PPSAlignmentConfig::fitProfileMinNReasonable_
unsigned int fitProfileMinNReasonable_
Definition: PPSAlignmentConfig.h:192
PPSAlignmentConfig::y_mode_sys_unc
double y_mode_sys_unc() const
Definition: PPSAlignmentConfig.cc:28
RPConfig::x_slice_n_
int x_slice_n_
Definition: PPSAlignmentConfig.h:55
b
double b
Definition: hdecay.h:118
PPSAlignmentConfig::multSelProjYMinEntries
unsigned int multSelProjYMinEntries() const
Definition: PPSAlignmentConfig.cc:60
PPSAlignmentConfig::methOGraphMinN
unsigned int methOGraphMinN() const
Definition: PPSAlignmentConfig.cc:48
PPSAlignmentConfig::y_mode_max_valid
double y_mode_max_valid() const
Definition: PPSAlignmentConfig.cc:31
PPSAlignmentConfig::fitProfileMinNReasonable
unsigned int fitProfileMinNReasonable() const
Definition: PPSAlignmentConfig.cc:47
PPSAlignmentConfig::sequence
const std::vector< std::string > & sequence() const
Definition: PPSAlignmentConfig.cc:20
SectorConfig::cut_v_apply_
bool cut_v_apply_
Definition: PPSAlignmentConfig.h:72
RPConfig::x_max_fit_mode_
double x_max_fit_mode_
Definition: PPSAlignmentConfig.h:50
PPSAlignmentConfig::methOUncFitRange
double methOUncFitRange() const
Definition: PPSAlignmentConfig.cc:49
RPConfig::name_
std::string name_
Definition: PPSAlignmentConfig.h:44
RPConfig
Definition: PPSAlignmentConfig.h:43
Binning
Definition: PPSAlignmentConfig.h:81
SectorConfig::cut_v_c_
double cut_v_c_
Definition: PPSAlignmentConfig.h:73
PPSAlignmentConfig::setSectorConfig45
void setSectorConfig45(SectorConfig &sectorConfig45)
Definition: PPSAlignmentConfig.cc:69
PPSAlignmentConfig::setY_mode_unc_max_valid
void setY_mode_unc_max_valid(double y_mode_unc_max_valid)
Definition: PPSAlignmentConfig.cc:76
PPSAlignmentConfig::setY_mode_sys_unc
void setY_mode_sys_unc(double y_mode_sys_unc)
Definition: PPSAlignmentConfig.cc:74
PPSAlignmentConfig::matchingReferencePoints_
std::map< unsigned int, std::vector< PointErrors > > matchingReferencePoints_
Definition: PPSAlignmentConfig.h:187
PointErrors::x_
double x_
Definition: PPSAlignmentConfig.h:33
RPConfig::y_max_fit_mode_
double y_max_fit_mode_
Definition: PPSAlignmentConfig.h:51
PPSAlignmentConfig::setMatchingReferencePoints
void setMatchingReferencePoints(std::map< unsigned int, std::vector< PointErrors >> &matchingReferencePoints)
Definition: PPSAlignmentConfig.cc:84
PPSAlignmentConfig::sectorConfig56_
SectorConfig sectorConfig56_
Definition: PPSAlignmentConfig.h:175
RPConfig::sh_x_
double sh_x_
Definition: PPSAlignmentConfig.h:48
PPSAlignmentConfig::multSelProjYMinEntries_
unsigned int multSelProjYMinEntries_
Definition: PPSAlignmentConfig.h:201
RPConfig::id_
unsigned int id_
Definition: PPSAlignmentConfig.h:45
Binning::n_bins_y_
unsigned int n_bins_y_
Definition: PPSAlignmentConfig.h:87
PPSAlignmentConfig::setAlignment_y_ranges
void setAlignment_y_ranges(std::map< unsigned int, SelectionRange > &alignment_y_ranges)
Definition: PPSAlignmentConfig.cc:113
Serializable.h
SelectionRange::x_max_
double x_max_
Definition: PPSAlignmentConfig.h:36
PPSAlignmentConfig::x_ali_sh_step
double x_ali_sh_step() const
Definition: PPSAlignmentConfig.cc:26
PPSAlignmentConfig::setMultSelProjYMinEntries
void setMultSelProjYMinEntries(unsigned int multSelProjYMinEntries)
Definition: PPSAlignmentConfig.cc:117
PPSAlignmentConfig::setResultsDir
void setResultsDir(std::string &resultsDir)
Definition: PPSAlignmentConfig.cc:67
PointErrors::ey_
double ey_
Definition: PPSAlignmentConfig.h:36
PPSAlignmentConfig::resultsDir
const std::string & resultsDir() const
Definition: PPSAlignmentConfig.cc:21
operator<<
std::ostream & operator<<(std::ostream &os, RPConfig &rc)
Definition: PPSAlignmentConfig.cc:125
PPSAlignmentConfig::alignment_x_meth_o_ranges_
std::map< unsigned int, SelectionRange > alignment_x_meth_o_ranges_
Definition: PPSAlignmentConfig.h:190
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
PPSAlignmentConfig::y_mode_unc_max_valid_
double y_mode_unc_max_valid_
Definition: PPSAlignmentConfig.h:181
SectorConfig::cut_h_apply_
bool cut_h_apply_
Definition: PPSAlignmentConfig.h:69
PPSAlignmentConfig::setModeGraphMinN
void setModeGraphMinN(unsigned int modeGraphMinN)
Definition: PPSAlignmentConfig.cc:116
PPSAlignmentConfig::chiSqThreshold_
double chiSqThreshold_
Definition: PPSAlignmentConfig.h:180
PPSAlignmentConfig::matchingReferencePoints
const std::map< unsigned int, std::vector< PointErrors > > & matchingReferencePoints() const
Definition: PPSAlignmentConfig.cc:36
RPConfig::y_width_mult_
double y_width_mult_
Definition: PPSAlignmentConfig.h:53
SectorConfig::rp_N_
RPConfig rp_N_
Definition: PPSAlignmentConfig.h:66
Binning::pixel_x_offset_
double pixel_x_offset_
Definition: PPSAlignmentConfig.h:85
PPSAlignmentConfig::sequence_
std::vector< std::string > sequence_
Definition: PPSAlignmentConfig.h:172
PPSAlignmentConfig::alignment_x_relative_ranges_
std::map< unsigned int, SelectionRange > alignment_x_relative_ranges_
Definition: PPSAlignmentConfig.h:196
SelectionRange
Definition: PPSAlignmentConfig.h:34
PPSAlignmentConfig::y_mode_unc_max_valid
double y_mode_unc_max_valid() const
Definition: PPSAlignmentConfig.cc:30
PPSAlignmentConfig::setMaxRPTracksSize
void setMaxRPTracksSize(unsigned int maxRPTracksSize)
Definition: PPSAlignmentConfig.cc:81
PointErrors::ex_
double ex_
Definition: PPSAlignmentConfig.h:35
SectorConfig::cut_v_a_
double cut_v_a_
Definition: PPSAlignmentConfig.h:73
SectorConfig::cut_h_si_
double cut_h_si_
Definition: PPSAlignmentConfig.h:70
PPSAlignmentConfig::alignment_y_ranges
const std::map< unsigned int, SelectionRange > & alignment_y_ranges() const
Definition: PPSAlignmentConfig.cc:56
PPSAlignmentConfig::modeGraphMinN_
unsigned int modeGraphMinN_
Definition: PPSAlignmentConfig.h:200
genParticles_cff.map
map
Definition: genParticles_cff.py:11
PPSAlignmentConfig::fitProfileMinBinEntries_
unsigned int fitProfileMinBinEntries_
Definition: PPSAlignmentConfig.h:191
PPSAlignmentConfig::setSectorConfig56
void setSectorConfig56(SectorConfig &sectorConfig56)
Definition: PPSAlignmentConfig.cc:70
SectorConfig::cut_h_a_
double cut_h_a_
Definition: PPSAlignmentConfig.h:70
SectorConfig
Definition: PPSAlignmentConfig.h:64
PPSAlignmentConfig::setAlignment_x_meth_o_ranges
void setAlignment_x_meth_o_ranges(std::map< unsigned int, SelectionRange > &alignment_x_meth_o_ranges)
Definition: PPSAlignmentConfig.cc:92
c
auto & c
Definition: CAHitNtupletGeneratorKernelsImpl.h:56
PPSAlignmentConfig::binning
const Binning & binning() const
Definition: PPSAlignmentConfig.cc:62
Binning::y_min_
double y_min_
Definition: PPSAlignmentConfig.h:88
PPSAlignmentConfig::methOGraphMinN_
unsigned int methOGraphMinN_
Definition: PPSAlignmentConfig.h:193
Binning::n_bins_x_
unsigned int n_bins_x_
Definition: PPSAlignmentConfig.h:83
PPSAlignmentConfig::setSequence
void setSequence(std::vector< std::string > &sequence)
Definition: PPSAlignmentConfig.cc:66