#include <SiStripGain.h>
Public Member Functions | |
float | getApvGain (const uint16_t &apv, const SiStripApvGain::Range &range, const uint32_t index) const |
void | getDetIds (std::vector< uint32_t > &DetIds_) const |
ATTENTION: we assume the detIds are the same as those from the first gain. More... | |
std::string | getLabelName (const uint32_t index) const |
size_t | getNumberOfTags () const |
const SiStripApvGain::Range | getRange (uint32_t detID) const |
const SiStripApvGain::Range | getRange (const uint32_t &detID, const uint32_t index) const |
SiStripApvGain::Range | getRangeByPos (unsigned short pos) const |
std::string | getRcdName (const uint32_t index) const |
float | getStripGain (const uint16_t &strip, const SiStripApvGain::Range &range, const uint32_t index) const |
double | getTagNorm (const uint32_t index) const |
void | multiply (const SiStripApvGain &apvgain, const double &factor, const std::pair< std::string, std::string > &recordLabelPair, const SiStripDetInfo &detInfo) |
const SiStripGain & | operator= (const SiStripGain &)=delete |
void | printDebug (std::stringstream &ss, const TrackerTopology *trackerTopo) const |
void | printSummary (std::stringstream &ss, const TrackerTopology *trackerTopo) const |
SiStripGain () | |
SiStripGain (const SiStripGain &)=delete | |
SiStripGain (const SiStripApvGain &apvgain, const double &factor, const SiStripDetInfo &detInfo) | |
Kept for compatibility. More... | |
SiStripGain (const SiStripApvGain &apvgain, const double &factor, const std::pair< std::string, std::string > &recordLabelPair, const SiStripDetInfo &detInfo) | |
Static Public Member Functions | |
static float | getApvGain (const uint16_t &apv, const SiStripApvGain::Range &range) |
static float | getStripGain (const uint16_t &strip, const SiStripApvGain::Range &range) |
Private Member Functions | |
void | fillNewGain (const SiStripApvGain *apvgain, const double &factor, SiStripDetInfo const &detInfo, const SiStripApvGain *apvgain2=nullptr, const double &factor2=1.) |
Private Attributes | |
const SiStripApvGain * | apvgain_ |
std::unique_ptr< SiStripApvGain > | apvgainAutoPtr_ |
std::vector< const SiStripApvGain * > | apvgainVector_ |
std::vector< double > | normVector_ |
std::vector< std::pair< std::string, std::string > > | recordLabelPair_ |
CalibFormats/SiStripObjects/interface/SiStripGain.h
Description: give detector view for the cabling classes
Usage: <usage>
Original Author: gbruno Created: Wed Mar 22 12:24:20 CET 2006
Modifications by M. De Mattia (demat) on 11/11/2009: It now holds a std::vector of pointers to ApvGain and a std::vector of corresponding normalization factors. tia@ pd.in fn.i t
It returns the product of all the Gain/norm ratios.
The multiply method allows to input additional gain records.
ATTENTION: the code assumes that the second tag has at least the same DetIds that the first tag and only the DetIds present in the first tag will be used.
There are two set of methods to access the gain value. The first one returns the products of all ApvGain/norm. The second set of methods take an additional integer paramter and return the corresponding ApvGain (without normalization). Note that no check is done inside these methods to see if the ApvGain really exists. It is responsibility of the user to not pass an index value that exceeds the number of ApvGains.
The normalization factors for each of the stored ApvGains are also accessible passing the corresponding index.
Additional method are provided to get the number of ApvGains used to build this object, the names of the records that stored those ApvGains and the labels (they can be used to go back to the tags looking in the cfg).
Definition at line 45 of file SiStripGain.h.
|
inline |
Definition at line 47 of file SiStripGain.h.
|
delete |
|
inline |
Kept for compatibility.
Definition at line 52 of file SiStripGain.h.
References multiply().
|
inline |
Definition at line 57 of file SiStripGain.h.
References multiply().
|
private |
Definition at line 40 of file SiStripGain.cc.
References apvgain_, apvgainAutoPtr_, SiStripDetInfo::getAllData(), SiStripApvGain::getApvGain(), SiStripApvGain::getDetIds(), SiStripApvGain::getRange(), pileupCalc::inputRange, ALPAKA_ACCELERATOR_NAMESPACE::vertexFinder::it, SiStripApvGain::put(), and isotrackApplyRegressor::range.
Referenced by multiply().
|
inlinestatic |
Definition at line 80 of file SiStripGain.h.
References SiStripApvGain::getApvGain(), and isotrackApplyRegressor::range.
Referenced by SiStripGainPayloadCopyAndExclude::analyze(), SiStripApvGainInspector::analyze(), SiStripGainCalibTableProducer::fillTable(), getApvGain(), printDebug(), printSummary(), and ShallowGainCalibration::produce().
float SiStripGain::getApvGain | ( | const uint16_t & | apv, |
const SiStripApvGain::Range & | range, | ||
const uint32_t | index | ||
) | const |
Definition at line 94 of file SiStripGain.cc.
References apvgainVector_, getApvGain(), normVector_, and isotrackApplyRegressor::range.
void SiStripGain::getDetIds | ( | std::vector< uint32_t > & | DetIds_ | ) | const |
ATTENTION: we assume the detIds are the same as those from the first gain.
Definition at line 102 of file SiStripGain.cc.
References apvgain_, and SiStripApvGain::getDetIds().
Referenced by printDebug(), and printSummary().
|
inline |
Definition at line 101 of file SiStripGain.h.
References recordLabelPair_.
|
inline |
Definition at line 99 of file SiStripGain.h.
References apvgainVector_.
Referenced by SiStripApvGainInspector::analyze().
|
inline |
Definition at line 75 of file SiStripGain.h.
References apvgain_, and SiStripApvGain::getRange().
Referenced by SiStripMonitorCluster::analyze(), SiStripGainPayloadCopyAndExclude::analyze(), SiStripApvGainInspector::analyze(), SiStripMonitorTrack::clusterInfos(), SiStripGainCalibTableProducer::fillTable(), printDebug(), printSummary(), ShallowGainCalibration::produce(), DigiSimLinkAlgorithm::run(), SiStripClusterToDigiProducer::setDetId(), SiStripClusterInfo::stripGains(), and SiStripClusterInfo::stripNoisesRescaledByGain().
const SiStripApvGain::Range SiStripGain::getRange | ( | const uint32_t & | detID, |
const uint32_t | index | ||
) | const |
The second parameter allows to specify which gain to retrieve, considering that they are in input order. NOTE that no protection is inside the method (because we want to keep it very light) therefore it is the caller duty to check that the index is in the correct range.
Definition at line 107 of file SiStripGain.cc.
References apvgainVector_.
|
inline |
Definition at line 76 of file SiStripGain.h.
References apvgain_, and SiStripApvGain::getRangeByPos().
|
inline |
Definition at line 100 of file SiStripGain.h.
References recordLabelPair_.
|
inlinestatic |
Definition at line 77 of file SiStripGain.h.
References SiStripApvGain::getStripGain(), isotrackApplyRegressor::range, and nano_mu_digi_cff::strip.
Referenced by SiStripMonitorCluster::analyze(), SiStripMonitorTrack::clusterInfos(), SiStripClusterToDigiProducer::gain(), getStripGain(), DigiSimLinkAlgorithm::run(), stripgpu::SiStripClusterizerConditionsGPU::SiStripClusterizerConditionsGPU(), SiStripClusterInfo::stripGains(), and SiStripClusterInfo::stripNoisesRescaledByGain().
float SiStripGain::getStripGain | ( | const uint16_t & | strip, |
const SiStripApvGain::Range & | range, | ||
const uint32_t | index | ||
) | const |
Definition at line 86 of file SiStripGain.cc.
References apvgainVector_, getStripGain(), isotrackApplyRegressor::range, and nano_mu_digi_cff::strip.
|
inline |
void SiStripGain::multiply | ( | const SiStripApvGain & | apvgain, |
const double & | factor, | ||
const std::pair< std::string, std::string > & | recordLabelPair, | ||
const SiStripDetInfo & | detInfo | ||
) |
Used to input additional gain values that will be multiplied to the first one
Definition at line 17 of file SiStripGain.cc.
References apvgain_, apvgainVector_, fillNewGain(), normVector_, and recordLabelPair_.
Referenced by SiStripGain().
|
delete |
void SiStripGain::printDebug | ( | std::stringstream & | ss, |
const TrackerTopology * | trackerTopo | ||
) | const |
Definition at line 111 of file SiStripGain.cc.
References ALCARECOPPSCalTrackBasedSel_cff::detid, getApvGain(), getDetIds(), getRange(), ALPAKA_ACCELERATOR_NAMESPACE::vertexFinder::it, isotrackApplyRegressor::range, and contentValuesCheck::ss.
void SiStripGain::printSummary | ( | std::stringstream & | ss, |
const TrackerTopology * | trackerTopo | ||
) | const |
Definition at line 127 of file SiStripGain.cc.
References ALCARECOPPSCalTrackBasedSel_cff::detid, getApvGain(), getDetIds(), getRange(), ALPAKA_ACCELERATOR_NAMESPACE::vertexFinder::it, isotrackApplyRegressor::range, and contentValuesCheck::ss.
|
private |
Definition at line 118 of file SiStripGain.h.
Referenced by fillNewGain(), getDetIds(), getRange(), getRangeByPos(), and multiply().
|
private |
Definition at line 119 of file SiStripGain.h.
Referenced by fillNewGain().
|
private |
Definition at line 116 of file SiStripGain.h.
Referenced by getApvGain(), getNumberOfTags(), getRange(), getStripGain(), and multiply().
|
private |
Definition at line 117 of file SiStripGain.h.
Referenced by getApvGain(), getTagNorm(), and multiply().
|
private |
Definition at line 120 of file SiStripGain.h.
Referenced by getLabelName(), getRcdName(), and multiply().