CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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 
58 
60 };
61 std::ostream &operator<<(std::ostream &os, RPConfig &rc);
62 
63 //---------------------------------------------------------------------------------------------
64 
65 struct SectorConfig {
68  double slope_;
69 
72 
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 
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 
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);
136  void setResultsDir(std::string &resultsDir);
137 
138  void setSectorConfig45(SectorConfig &sectorConfig45);
139  void setSectorConfig56(SectorConfig &sectorConfig56);
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);
145  void setY_mode_unc_max_valid(double y_mode_unc_max_valid);
146  void setY_mode_max_valid(double y_mode_max_valid);
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);
155  void setFitProfileMinBinEntries(unsigned int fitProfileMinBinEntries);
156  void setFitProfileMinNReasonable(unsigned int fitProfileMinNReasonable);
157  void setMethOGraphMinN(unsigned int methOGraphMinN);
158  void setMethOUncFitRange(double methOUncFitRange);
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);
165  void setMultSelProjYMinEntries(unsigned int multSelProjYMinEntries);
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 
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_;
203 
205 
207 };
208 
209 std::ostream &operator<<(std::ostream &os, PPSAlignmentConfig c);
210 
211 #endif
void setBinning(Binning &binning)
unsigned int fitProfileMinNReasonable() const
SectorConfig sectorConfig45_
const edm::EventSetup & c
double bin_size_x_
double n_si() const
void setMaxRPTracksSize(unsigned int maxRPTracksSize)
double x_min_fit_mode_
unsigned int fitProfileMinBinEntries() const
unsigned int multSelProjYMinEntries() const
const Binning & binning() const
double methOUncFitRange() const
const std::string & resultsDir() const
std::map< unsigned int, SelectionRange > alignment_x_meth_o_ranges_
const std::map< unsigned int, SelectionRange > & matchingShiftRanges() const
const std::map< unsigned int, SelectionRange > & alignment_y_ranges() const
std::string name_
double y_width_mult_
void setSequence(std::vector< std::string > &sequence)
double chiSqThreshold() const
std::ostream & operator<<(std::ostream &out, const ALILine &li)
Definition: ALILine.cc:167
unsigned int n_bins_x_
unsigned int nearFarMinEntries() const
std::map< unsigned int, SelectionRange > alignment_x_relative_ranges_
void setFitProfileMinBinEntries(unsigned int fitProfileMinBinEntries)
SectorConfig sectorConfig56_
std::vector< std::string > sequence_
const std::map< unsigned int, std::vector< PointErrors > > & matchingReferencePoints() const
unsigned int fitProfileMinBinEntries_
std::map< unsigned int, SelectionRange > alignment_y_ranges_
void setY_mode_unc_max_valid(double y_mode_unc_max_valid)
unsigned int methOGraphMinN_
double y_mode_sys_unc() const
double x_max_fit_mode_
unsigned int fitProfileMinNReasonable_
void setChiSqThreshold(double chiSqThreshold)
void setAlignment_x_relative_ranges(std::map< unsigned int, SelectionRange > &alignment_x_relative_ranges)
void setAlignment_y_ranges(std::map< unsigned int, SelectionRange > &alignment_y_ranges)
void setNearFarMinEntries(unsigned int nearFarMinEntries)
void setMatchingReferencePoints(std::map< unsigned int, std::vector< PointErrors >> &matchingReferencePoints)
friend std::ostream & operator<<(std::ostream &os, PPSAlignmentConfig c)
const SectorConfig & sectorConfig56() const
std::map< unsigned int, std::vector< PointErrors > > matchingReferencePoints_
void setFitProfileMinNReasonable(unsigned int fitProfileMinNReasonable)
std::string name_
unsigned int id_
const std::map< unsigned int, SelectionRange > & alignment_x_meth_o_ranges() const
double y_max_fit_mode_
void setMultSelProjYMinEntries(unsigned int multSelProjYMinEntries)
void setResultsDir(std::string &resultsDir)
double x_slice_min_
void setAlignment_x_meth_o_ranges(std::map< unsigned int, SelectionRange > &alignment_x_meth_o_ranges)
void setMatchingShiftRanges(std::map< unsigned int, SelectionRange > &matchingShiftRanges)
void setY_mode_sys_unc(double y_mode_sys_unc)
void setY_mode_max_valid(double y_mode_max_valid)
std::map< unsigned int, SelectionRange > matchingShiftRanges_
void setMethOGraphMinN(unsigned int methOGraphMinN)
unsigned int nearFarMinEntries_
double y_cen_add_
void setMethOUncFitRange(double methOUncFitRange)
const std::vector< std::string > & sequence() const
void setSectorConfig45(SectorConfig &sectorConfig45)
void setX_ali_sh_step(double x_ali_sh_step)
std::string position_
double x_slice_w_
double b
Definition: hdecay.h:118
#define COND_SERIALIZABLE
Definition: Serializable.h:39
unsigned int modeGraphMinN() const
unsigned int maxRPTracksSize_
unsigned int n_bins_y_
void setModeGraphMinN(unsigned int modeGraphMinN)
const SectorConfig & sectorConfig45() const
unsigned int methOGraphMinN() const
const std::map< unsigned int, SelectionRange > & alignment_x_relative_ranges() const
unsigned int multSelProjYMinEntries_
double y_mode_unc_max_valid() const
double y_mode_max_valid() const
double x_ali_sh_step() const
void setN_si(double n_si)
double pixel_x_offset_
double maxRPTracksSize() const
unsigned int modeGraphMinN_
void setSectorConfig56(SectorConfig &sectorConfig56)