1 #ifndef ALIGNMENT_MILLEPEDEALIGNMENTALGORITHM_INTERFACE_MILLEPEDEFILEREADER_H_ 2 #define ALIGNMENT_MILLEPEDEALIGNMENTALGORITHM_INTERFACE_MILLEPEDEFILEREADER_H_ 28 bool isDBUpdateVetoed,
32 std::bitset<4> updateBits)
33 : m_isDBUpdated(isDBUpdated),
34 m_isDBUpdateVetoed(isDBUpdateVetoed),
37 m_exitMessage(exitMessage),
38 m_updateBits(updateBits) {}
51 edm::LogInfo(
"MillePedeFileReader") <<
" is DB updated: " << m_isDBUpdated
52 <<
" is DB update vetoed: " << m_isDBUpdateVetoed <<
" nRecords: " << m_nRecords
53 <<
" exitCode: " << m_exitCode <<
" (" << m_exitMessage <<
")" << std::endl;
61 const std::shared_ptr<const PedeLabelerBase>&,
62 const std::shared_ptr<const AlignPCLThresholds>&);
67 bool storeAlignments();
69 const std::array<double, 6>&
getXobs()
const {
return Xobs_; }
70 const std::array<double, 6>&
getXobsErr()
const {
return XobsErr_; }
71 const std::array<double, 6>&
getTXobs()
const {
return tXobs_; }
72 const std::array<double, 6>&
getTXobsErr()
const {
return tXobsErr_; }
74 const std::array<double, 6>&
getYobs()
const {
return Yobs_; }
75 const std::array<double, 6>&
getYobsErr()
const {
return YobsErr_; }
76 const std::array<double, 6>&
getTYobs()
const {
return tYobs_; }
77 const std::array<double, 6>&
getTYobsErr()
const {
return tYobsErr_; }
79 const std::array<double, 6>&
getZobs()
const {
return Zobs_; }
80 const std::array<double, 6>&
getZobsErr()
const {
return ZobsErr_; }
81 const std::array<double, 6>&
getTZobs()
const {
return tZobs_; }
82 const std::array<double, 6>&
getTZobsErr()
const {
return tZobsErr_; }
89 return mpPCLresults(updateDB_, vetoUpdateDB_, Nrec_, exitCode_, exitMessage_, updateBits_);
98 TPBHalfBarrelXplus = 2,
99 TPBHalfBarrelXminus = 3,
100 TPEHalfCylinderXplusZplus = 4,
101 TPEHalfCylinderXminusZplus = 5,
102 TPEHalfCylinderXplusZminus = 0,
103 TPEHalfCylinderXminusZminus = 1
109 void readMillePedeEndFile();
110 void readMillePedeLogFile();
111 void readMillePedeResultFile();
130 static constexpr std::array<double, 6> multiplier_ = {{10000.,
137 bool updateDB_{
false};
138 bool vetoUpdateDB_{
false};
148 int binariesAmount_{0};
154 std::array<double, 6> Xobs_ = {{0., 0., 0., 0., 0., 0.}};
155 std::array<double, 6> XobsErr_ = {{0., 0., 0., 0., 0., 0.}};
156 std::array<double, 6> tXobs_ = {{0., 0., 0., 0., 0., 0.}};
157 std::array<double, 6> tXobsErr_ = {{0., 0., 0., 0., 0., 0.}};
159 std::array<double, 6> Yobs_ = {{0., 0., 0., 0., 0., 0.}};
160 std::array<double, 6> YobsErr_ = {{0., 0., 0., 0., 0., 0.}};
161 std::array<double, 6> tYobs_ = {{0., 0., 0., 0., 0., 0.}};
162 std::array<double, 6> tYobsErr_ = {{0., 0., 0., 0., 0., 0.}};
164 std::array<double, 6> Zobs_ = {{0., 0., 0., 0., 0., 0.}};
165 std::array<double, 6> ZobsErr_ = {{0., 0., 0., 0., 0., 0.}};
166 std::array<double, 6> tZobs_ = {{0., 0., 0., 0., 0., 0.}};
167 std::array<double, 6> tZobsErr_ = {{0., 0., 0., 0., 0., 0.}};
170 const std::array<std::string, 8>
coord_str = {{
"X",
"Y",
"Z",
"theta_X",
"theta_Y",
"theta_Z",
"extra_DOF",
"none"}};
173 return os <<
"unrecongnized coordinate";
const std::array< double, 6 > & getTYobs() const
mpPCLresults(bool isDBUpdated, bool isDBUpdateVetoed, int nRecords, int exitCode, std::string exitMessage, std::bitset< 4 > updateBits)
std::map< std::string, AlignPCLThreshold > threshold_map
const std::array< double, 6 > & getTZobsErr() const
std::bitset< 4 > updateBits_
std::ostream & operator<<(std::ostream &os, const AlignPCLThresholds::coordType &c)
const std::array< double, 6 > & getZobs() const
const std::array< double, 6 > & getTXobs() const
const std::shared_ptr< const AlignPCLThresholds > theThresholds_
const std::string millePedeLogFile_
const std::array< double, 6 > & getTYobsErr() const
const bool belowSignificance()
const bool exceedsCutoffs()
const std::string getExitMessage()
const std::array< double, 6 > & getYobs() const
const std::array< double, 6 > & getZobsErr() const
const std::array< double, 6 > & getTXobsErr() const
const std::array< double, 6 > & getXobsErr() const
std::bitset< 4 > m_updateBits
const AlignPCLThresholds::threshold_map getThresholdMap() const
const std::string millePedeResFile_
std::string m_exitMessage
const std::array< std::string, 8 > coord_str
const bool getDBUpdated()
const bool exceedsThresholds()
const std::shared_ptr< const PedeLabelerBase > pedeLabeler_
const mpPCLresults getResults() const
const std::string millePedeEndFile_
const int binariesAmount() const
const std::array< double, 6 > & getXobs() const
const std::array< double, 6 > & getYobsErr() const
const bool exceedsMaxError()
const std::array< double, 6 > & getTZobs() const