1 #ifndef PixelCalibConfiguration_h
2 #define PixelCalibConfiguration_h
36 class PixelHdwAddress;
75 void nextFECState(std::map<unsigned int, PixelFECConfigInterface*>& pixelFECs,
78 std::map<pos::PixelModuleName, pos::PixelMaskBase*>* masks,
79 std::map<pos::PixelModuleName, pos::PixelTrimBase*>* trims,
80 std::map<pos::PixelModuleName, pos::PixelDACSettings*>* dacss,
81 unsigned int state)
const;
100 const std::map<std::string, PixelPortCardConfig*>& mapNamePortCard,
112 unsigned int points = 1;
113 for (
unsigned int i = 0;
i <
dacs_.size();
i++) {
126 std::set<std::pair<unsigned int, unsigned int> >
pixelsWithHits(
unsigned int state)
const;
159 const std::vector<std::vector<unsigned int> >&
rowList()
const {
return rows_; }
160 const std::vector<PixelROCName>&
rocList()
const {
195 std::ofstream* out1 =
nullptr,
196 std::ofstream* out2 =
nullptr)
const override;
197 void writeXML(std::ofstream*
out, std::ofstream* out1 =
nullptr, std::ofstream* out2 =
nullptr)
const override;
199 std::ofstream* out1 =
nullptr,
200 std::ofstream* out2 =
nullptr)
const override;
204 unsigned int rowCounter(
unsigned int state)
const;
207 unsigned int colCounter(
unsigned int state)
const;
210 unsigned int scanROC(
unsigned int state)
const;
214 unsigned int scanCounter(
unsigned int iscan,
unsigned int state)
const;
216 unsigned int scanValue(
unsigned int iscan,
218 unsigned int ROCNumber,
219 unsigned int ROCsOnChannel)
const;
222 std::vector<unsigned int>
scanValues(
unsigned int iscan)
const {
return dacs_[iscan].values(); }
241 std::vector<std::vector<unsigned int> >
rows_;
242 std::vector<std::vector<unsigned int> >
cols_;
244 mutable std::vector<PixelROCName>
rocs_;
260 std::vector<PixelDACScanRange>
dacs_;
bool rocAndModuleListsBuilt_
This class specifies which TKFEC boards are used and how they are addressed.
std::set< unsigned int > getFEDCrates(const PixelNameTranslation *translation, const PixelFEDConfig *fedconfig) const
This class specifies which detector components are used in the configuration (and eventually should s...
std::vector< std::vector< unsigned int > > rows_
bool scanningROCForState(PixelROCName roc, unsigned int state) const
This class specifies which FEC boards are used and how they are addressed.
unsigned int nScanPoints() const
This file contains the base class for "pixel configuration data" management.
unsigned int numberOfScanVariables() const
std::set< PixelChannel > channels_
unsigned int scanValue(std::string dac, unsigned int state) const
void disablePixels(PixelFECConfigInterface *pixelFEC, unsigned int irows, unsigned int icols, pos::PixelROCTrimBits *trims, const PixelHdwAddress &theROC) const
std::vector< std::pair< unsigned int, std::vector< unsigned int > > > fedCardsAndChannels_
PixelROCTrimBits * trims_
~PixelCalibConfiguration() override
const std::set< PixelModuleName > & moduleList() const
This class provides the mapping between portcards and the modules controlled by the card...
unsigned int nROC() const
std::string mode() const override
void buildROCAndModuleLists(const PixelNameTranslation *translation, const PixelDetectorConfig *detconfig)
std::vector< PixelROCInfo > rocInfo_
double scanValueMin(unsigned int iscan) const
std::set< unsigned int > getFECCrates(const PixelNameTranslation *translation, const PixelFECConfig *fecconfig) const
double scanValueStep(unsigned int iscan) const
std::set< unsigned int > getTKFECCrates(const PixelPortcardMap *portcardmap, const std::map< std::string, PixelPortCardConfig * > &mapNamePortCard, const PixelTKFECConfig *tkfecconfig) const
unsigned int rowCounter(unsigned int state) const
This class specifies which FEC boards are used and how they are addressed.
unsigned int numROCsCalibratedOnChannel(PixelROCName roc) const
std::vector< std::pair< unsigned int, std::vector< unsigned int > > > & fedCardsAndChannels(unsigned int crate, PixelNameTranslation *translation, PixelFEDConfig *fedconfig, PixelDetectorConfig *detconfig) const
void buildROCAndModuleListsFromROCSet(const std::set< PixelROCName > &rocSet)
unsigned int nParameters() const
std::ostream & operator<<(std::ostream &s, const PixelCalibConfiguration &calib)
bool objectsDependingOnTheNameTranslationBuilt_
unsigned int nTriggersTotal() const
std::vector< PixelDACScanRange > dacs_
bool containsScan(std::string name) const
const std::vector< std::vector< unsigned int > > & columnList() const
void writeXML(pos::PixelConfigKey key, int version, std::string path) const override
This class provides a translation from the naming documents standard to specify the ROC to the corres...
const PixelHdwAddress * hdwadd_
bool scanValuesMixedAcrossROCs(std::string dac) const
unsigned int maxNumHitsPerROC() const
PixelCalibConfiguration(std::string filename="")
This file contains the base class for "pixel configuration data" management.
std::vector< std::pair< unsigned int, unsigned int > > defaultDACs_
Base class for pixel calibration procedures.
void writeXMLTrailer(std::ofstream *out, std::ofstream *out1=nullptr, std::ofstream *out2=nullptr) const override
This class intends to define an abstract interface for the commands to talk to the PixelFEC...
This class specifies which TKFEC boards are used and how they are addressed.
unsigned int iScan(std::string dac) const
std::map< unsigned int, std::set< unsigned int > > getFEDsAndChannels(PixelNameTranslation *translation)
This class implements the steps that are used in a scan over Threshold and CalDelay.
unsigned int nScanPoints(unsigned int iscan) const
const std::vector< PixelROCName > & rocList() const
tuple key
prepare the HTCondor submission files and eventually submit them
std::vector< unsigned int > scanValues(std::string dac) const
unsigned int colCounter(unsigned int state) const
This is the documentation about PixelDetectorConfig...
Store mfec, mfecchannel etc.
unsigned int nConfigurations() const
std::vector< std::string > rocListInstructions_
double scanValueMax(std::string dac) const
double scanValueMax(unsigned int iscan) const
std::set< std::pair< unsigned int, unsigned int > > pixelsWithHits(unsigned int state) const
std::string parameterValue(std::string parameterName) const
This class provide a base class for the pixel ROC dac data for the pixel FEC configuration.
PixelROCMaskBits * masks_
std::vector< unsigned int > scanValues(unsigned int iscan) const
void nextFECState(std::map< unsigned int, PixelFECConfigInterface * > &pixelFECs, PixelDetectorConfig *detconfig, PixelNameTranslation *trans, std::map< pos::PixelModuleName, pos::PixelMaskBase * > *masks, std::map< pos::PixelModuleName, pos::PixelTrimBase * > *trims, std::map< pos::PixelModuleName, pos::PixelDACSettings * > *dacss, unsigned int state) const
std::map< PixelROCName, unsigned int > ROCNumberOnChannelAmongThoseCalibrated_
unsigned int scanCounter(std::string dac, unsigned int state) const
double scanValueMin(std::string dac) const
void writeXMLHeader(pos::PixelConfigKey key, int version, std::string path, std::ofstream *out, std::ofstream *out1=nullptr, std::ofstream *out2=nullptr) const override
std::set< PixelModuleName > modules_
void writeASCII(std::string dir="") const override
This class provides a base class for the pixel trim data for the pixel FEC configuration.
double scanValueStep(std::string dac) const
void enablePixels(PixelFECConfigInterface *pixelFEC, unsigned int irows, unsigned int icols, pos::PixelROCMaskBits *masks, pos::PixelROCTrimBits *trims, const PixelHdwAddress &theROC) const
std::map< std::string, std::string > parameters_
unsigned int ROCNumberOnChannelAmongThoseCalibrated(PixelROCName roc) const
const std::set< PixelChannel > & channelList() const
This is the documentation about PixelNameTranslation...
std::vector< int > old_irows
bool scanValuesMixedAcrossROCs(unsigned int iscan) const
const std::vector< std::vector< unsigned int > > & rowList() const
unsigned int nTriggersPerPattern() const
unsigned int scanROC(unsigned int state) const
This is the documentation about PixelFEDConfig...
std::vector< PixelROCName > rocs_
std::string scanName(unsigned int iscan) const
std::string getStreamedContent(void) const
unsigned int nPixelPatterns() const
unsigned int scanValue(std::string dac, unsigned int state, PixelROCName roc) const
void buildObjectsDependingOnTheNameTranslation(const PixelNameTranslation *aNameTranslation)
unsigned int nScanPoints(std::string dac) const
std::map< PixelROCName, unsigned int > numROCsCalibratedOnChannel_
This class specifies the settings on the TKPCIFEC and the settings on the portcard.
std::vector< std::vector< unsigned int > > cols_
std::string calibFileContent_
This class stores the name and related hardware mappings for a ROC.
std::map< std::string, std::string > parametersList() const
std::vector< int > old_icols