Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #18087 from mmusich/91X_SiPixelAliThresholdsFromDB
[91X] SiPixelAli PCL payload creation thresholds from db - CondFormats
- Loading branch information
Showing
26 changed files
with
1,379 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
<use name="FWCore/Framework"/> | ||
<use name="FWCore/PluginManager"/> | ||
<use name="CondCore/ESSources"/> | ||
<use name="CondFormats/PCLConfig"/> | ||
<use name="CondFormats/DataRecord"/> | ||
<flags EDM_PLUGIN="1"/> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
#include "CondCore/ESSources/interface/registration_macros.h" | ||
#include "CondFormats/PCLConfig/interface/AlignPCLThresholds.h" | ||
#include "CondFormats/DataRecord/interface/AlignPCLThresholdsRcd.h" | ||
|
||
REGISTER_PLUGIN(AlignPCLThresholdsRcd,AlignPCLThresholds); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
#ifndef AlignPCLThresholdsRcd_AlignPCLThresholdsRcd_h | ||
#define AlignPCLThresholdsRcd_AlignPCLThresholdsRcd_h | ||
// -*- C++ -*- | ||
// | ||
// Package: CondFormats/DataRecord | ||
// Class : AlignPCLThresholdsRcd | ||
// | ||
/**\class AlignPCLThresholdsRcd AlignPCLThresholdsRcd.h CondFormats/DataRecord/interface/AlignPCLThresholdsRcd.h | ||
Description: [one line class summary] | ||
Usage: | ||
<usage> | ||
*/ | ||
// | ||
// Author: Marco Musich | ||
// Created: Wed, 22 Feb 2017 10:31:30 GMT | ||
// | ||
|
||
#include "FWCore/Framework/interface/EventSetupRecordImplementation.h" | ||
|
||
class AlignPCLThresholdsRcd : public edm::eventsetup::EventSetupRecordImplementation<AlignPCLThresholdsRcd> {}; | ||
|
||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
// -*- C++ -*- | ||
// | ||
// Package: CondFormats/DataRecord | ||
// Class : AlignPCLThresholdsRcd | ||
// | ||
// Implementation: | ||
// [Notes on implementation] | ||
// | ||
// Author: Marco Musich | ||
// Created: Wed, 22 Feb 2017 10:31:30 GMT | ||
|
||
#include "CondFormats/DataRecord/interface/AlignPCLThresholdsRcd.h" | ||
#include "FWCore/Framework/interface/eventsetuprecord_registration_macro.h" | ||
|
||
EVENTSETUP_RECORD_REG(AlignPCLThresholdsRcd); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
<flags GENREFLEX_ARGS="--"/> | ||
<use name="CondFormats/Common"/> | ||
<!-- // comment out | ||
<use name="FWCore/ParameterSet"/> | ||
<use name="FWCore/MessageLogger"/> | ||
<use name="xerces-c"/> | ||
<use name="rootmath"/> | ||
--> | ||
<use name="FWCore/Utilities"/> | ||
<use name="CondFormats/Serialization"/> | ||
<use name="boost_serialization"/> | ||
|
||
<export> | ||
<lib name="1"/> | ||
</export> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,92 @@ | ||
#ifndef CondFormats_PCLConfig_AlignPCLThreshold_h | ||
#define CondFormats_PCLConfig_AlignPCLThreshold_h | ||
|
||
#include "CondFormats/Serialization/interface/Serializable.h" | ||
|
||
class AlignPCLThreshold | ||
{ | ||
public: | ||
|
||
struct coordThresholds{ | ||
coordThresholds(){ | ||
m_Cut=5.; | ||
m_sigCut=2.5; | ||
m_errorCut=10.; | ||
m_maxMoveCut=200; | ||
m_label="default"; | ||
} | ||
~coordThresholds(){} | ||
void setThresholds(float theCut,float theSigCut,float theErrorCut,float theMaxMoveCut,const std::string &theLabel){ | ||
m_Cut=theCut; | ||
m_sigCut=theSigCut; | ||
m_errorCut=theErrorCut; | ||
m_maxMoveCut=theMaxMoveCut; | ||
m_label=theLabel; | ||
} | ||
|
||
float m_Cut; | ||
float m_sigCut; | ||
float m_errorCut; | ||
float m_maxMoveCut; | ||
std::string m_label; | ||
|
||
COND_SERIALIZABLE; | ||
|
||
}; | ||
|
||
virtual ~AlignPCLThreshold(){} | ||
|
||
AlignPCLThreshold(coordThresholds X=coordThresholds(),coordThresholds tX=coordThresholds(), | ||
coordThresholds Y=coordThresholds(),coordThresholds tY=coordThresholds(), | ||
coordThresholds Z=coordThresholds(),coordThresholds tZ=coordThresholds(), | ||
std::vector< coordThresholds > extraDOF=std::vector< coordThresholds >() | ||
); | ||
|
||
float getXcut() const {return m_xCoord.m_Cut;} | ||
float getYcut() const {return m_yCoord.m_Cut;} | ||
float getZcut() const {return m_zCoord.m_Cut;} | ||
float getThetaXcut() const {return m_thetaXCoord.m_Cut;} | ||
float getThetaYcut() const {return m_thetaYCoord.m_Cut;} | ||
float getThetaZcut() const {return m_thetaZCoord.m_Cut;} | ||
|
||
float getSigXcut() const {return m_xCoord.m_sigCut;} | ||
float getSigYcut() const {return m_yCoord.m_sigCut;} | ||
float getSigZcut() const {return m_zCoord.m_sigCut;} | ||
float getSigThetaXcut() const {return m_thetaXCoord.m_sigCut;} | ||
float getSigThetaYcut() const {return m_thetaYCoord.m_sigCut;} | ||
float getSigThetaZcut() const {return m_thetaZCoord.m_sigCut;} | ||
|
||
float getErrorXcut() const {return m_xCoord.m_errorCut;} | ||
float getErrorYcut() const {return m_yCoord.m_errorCut;} | ||
float getErrorZcut() const {return m_zCoord.m_errorCut;} | ||
float getErrorThetaXcut() const {return m_thetaXCoord.m_errorCut;} | ||
float getErrorThetaYcut() const {return m_thetaYCoord.m_errorCut;} | ||
float getErrorThetaZcut() const {return m_thetaZCoord.m_errorCut;} | ||
|
||
float getMaxMoveXcut() const {return m_xCoord.m_maxMoveCut;} | ||
float getMaxMoveYcut() const {return m_yCoord.m_maxMoveCut;} | ||
float getMaxMoveZcut() const {return m_zCoord.m_maxMoveCut;} | ||
float getMaxMoveThetaXcut() const {return m_thetaXCoord.m_maxMoveCut;} | ||
float getMaxMoveThetaYcut() const {return m_thetaYCoord.m_maxMoveCut;} | ||
float getMaxMoveThetaZcut() const {return m_thetaZCoord.m_maxMoveCut;} | ||
|
||
bool hasExtraDOF() const {return (m_extraDOF.size()>0);} | ||
unsigned int extraDOFSize() const {return m_extraDOF.size();} | ||
std::array<float,4> getExtraDOFCuts(const unsigned int i) const; | ||
std::string getExtraDOFLabel(const unsigned int i) const; | ||
|
||
private: | ||
|
||
coordThresholds m_xCoord; | ||
coordThresholds m_yCoord; | ||
coordThresholds m_zCoord; | ||
coordThresholds m_thetaXCoord; | ||
coordThresholds m_thetaYCoord; | ||
coordThresholds m_thetaZCoord; | ||
std::vector< coordThresholds > m_extraDOF; | ||
|
||
COND_SERIALIZABLE; | ||
|
||
}; | ||
|
||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
#ifndef CondFormats_PCLConfig_AlignPCLThresholds_h | ||
#define CondFormats_PCLConfig_AlignPCLThresholds_h | ||
|
||
#include "CondFormats/PCLConfig/interface/AlignPCLThreshold.h" | ||
#include "CondFormats/Serialization/interface/Serializable.h" | ||
|
||
#include <map> | ||
#include <string> | ||
#include <vector> | ||
|
||
class AlignPCLThresholds{ | ||
public: | ||
typedef std::map<std::string,AlignPCLThreshold> threshold_map; | ||
enum coordType {X, Y, Z, theta_X, theta_Y, theta_Z, extra_DOF, endOfTypes}; | ||
|
||
AlignPCLThresholds(){} | ||
virtual ~AlignPCLThresholds(){} | ||
|
||
void setAlignPCLThreshold(const std::string &AlignableId, const AlignPCLThreshold &Threshold); | ||
void setAlignPCLThresholds(const int &Nrecords,const threshold_map &Thresholds); | ||
void setNRecords(const int &Nrecords); | ||
|
||
const threshold_map& getThreshold_Map () const {return m_thresholds;} | ||
const int& getNrecords() const {return m_nrecords;} | ||
|
||
AlignPCLThreshold getAlignPCLThreshold(const std::string &AlignableId) const; | ||
AlignPCLThreshold & getAlignPCLThreshold(const std::string &AlignableId); | ||
|
||
float getSigCut (const std::string &AlignableId,const coordType &type) const; | ||
float getCut (const std::string &AlignableId,const coordType &type) const; | ||
float getMaxMoveCut (const std::string &AlignableId,const coordType &type) const; | ||
float getMaxErrorCut(const std::string &AlignableId,const coordType &type) const; | ||
|
||
// overloaded methods to get all the coordinates | ||
std::array<float,6> getSigCut (const std::string &AlignableId) const; | ||
std::array<float,6> getCut (const std::string &AlignableId) const; | ||
std::array<float,6> getMaxMoveCut (const std::string &AlignableId) const; | ||
std::array<float,6> getMaxErrorCut(const std::string &AlignableId) const; | ||
|
||
std::array<float,4> getExtraDOFCutsForAlignable(const std::string &AlignableId,const unsigned int i) const; | ||
std::string getExtraDOFLabelForAlignable(const std::string &AlignableId,const unsigned int i) const; | ||
|
||
double size()const {return m_thresholds.size();} | ||
std::vector<std::string> getAlignableList() const; | ||
|
||
void printAll() const; | ||
|
||
private: | ||
|
||
threshold_map m_thresholds; | ||
int m_nrecords; | ||
|
||
COND_SERIALIZABLE; | ||
|
||
}; | ||
|
||
#endif |
Oops, something went wrong.