19 const std::pair<std::string, std::string> & recordLabelPair)
28 boost::unordered_map<uint32_t, double>::const_iterator it =
delays_.find(detId);
40 std::vector<const SiStripBaseDelay*>::const_iterator it =
baseDelayVector_.begin();
44 if( (*it)->delaysSize() != (*(it+1))->delaysSize() ) {
45 std::cout <<
"makeDelay: Error, size of base delays is different!!" << std::endl;
78 std::vector<uint32_t> detIds;
79 (*it)->detIds(detIds);
80 std::vector<uint32_t>::const_iterator detIdIt = detIds.begin();
81 for( ; detIdIt != detIds.end(); ++detIdIt ) {
82 delays_[*detIdIt] = (*it)->delay(*detIdIt)*sumSign;
88 std::vector<uint32_t> detIds;
89 (*it)->detIds(detIds);
90 detIdIt = detIds.begin();
92 for( ; detIdIt != detIds.end(); ++detIdIt ) {
94 boost::unordered_map<uint32_t, double>::iterator delayIt =
delays_.find(*detIdIt);
95 if( delayIt !=
delays_.end() ) {
96 delays_[*detIdIt] += (*it)->delay(*detIdIt)*sumSign;
99 std::cout <<
"makeDelay: Warning, detId = " << *detIdIt <<
" not present, summing to 0..." << std::endl;
100 std::cout <<
"This means that the two baseDelay tags have different detIds. PLEASE, CHECK THAT THIS IS EXPECTED." << std::endl;
101 delays_[*detIdIt] = (*it)->delay(*detIdIt)*sumSign;
119 boost::unordered_map<uint32_t, double>::const_iterator it =
delays_.begin();
120 for( ; it !=
delays_.end(); ++it ) {
121 ss <<
"detId = " << it->first <<
" delay = " << it->second << std::endl;
128 boost::unordered_map<uint32_t, double>::const_iterator it =
delays_.begin();
129 for( ; it !=
delays_.end(); ++it ) {
130 summaryDelays.
add(it->first, it->second);
132 summaryDelays.
print(ss);
void printSummary(std::stringstream &ss) const
Prints the average value of the delays for all layers and wheels in the SiStripTracker.
void fillNewDelay(const SiStripBaseDelay &baseDelay, const int sumSign, const std::pair< std::string, std::string > &recordLabelPair)
std::vector< std::pair< std::string, std::string > > recordLabelPair_
std::vector< const SiStripBaseDelay * > baseDelayVector_
void printDebug(std::stringstream &ss) const
Prints the delays for all the detIds.
bool makeDelay()
Builds the boost::unordered_map.
void print(std::stringstream &ss, const bool mean=true) const
boost::unordered_map< uint32_t, double > delays_
float getDelay(const uint32_t detId) const
Return the delay combining all the baseDelays.
void clear()
Empty all the containers.
std::vector< int > sumSignVector_
void add(const DetId &detid, const float &value)
Used to compute the mean value of the value variable divided by subdetector, layer and mono/stereo...