Skip to content

Commit

Permalink
Merge pull request #18087 from mmusich/91X_SiPixelAliThresholdsFromDB
Browse files Browse the repository at this point in the history
[91X] SiPixelAli PCL payload creation thresholds from db - CondFormats
  • Loading branch information
davidlange6 committed Mar 30, 2017
2 parents fa37d50 + 73b9831 commit 504c5ff
Show file tree
Hide file tree
Showing 26 changed files with 1,379 additions and 0 deletions.
6 changes: 6 additions & 0 deletions CondCore/PCLConfigPlugins/BuildFile.xml
@@ -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"/>
5 changes: 5 additions & 0 deletions CondCore/PCLConfigPlugins/src/plugin.cc
@@ -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);
1 change: 1 addition & 0 deletions CondCore/Utilities/BuildFile.xml
Expand Up @@ -31,6 +31,7 @@
<use name="CondFormats/Common"/>
<use name="CondFormats/BTauObjects"/>
<use name="CondFormats/MFObjects"/>
<use name="CondFormats/PCLConfig"/>
<export>
<lib name="1"/>
</export>
1 change: 1 addition & 0 deletions CondCore/Utilities/python/cond2xml.py
Expand Up @@ -99,6 +99,7 @@ def ("%(plTypeSan)s2xml", %(plTypeSan)s2xml);
<use name="CondFormats/Common"/>
<use name="CondFormats/BTauObjects"/>
<use name="CondFormats/MFObjects"/>
<use name="CondFormats/PCLConfig"/>
<export>
<lib name="1"/>
</export>
Expand Down
1 change: 1 addition & 0 deletions CondCore/Utilities/src/CondDBFetch.cc
Expand Up @@ -31,6 +31,7 @@ namespace cond {
FETCH_PAYLOAD_CASE( AlignmentErrorsExtended )
FETCH_PAYLOAD_CASE( AlignmentSurfaceDeformations )
FETCH_PAYLOAD_CASE( Alignments )
FETCH_PAYLOAD_CASE( AlignPCLThresholds )
FETCH_PAYLOAD_CASE( BeamSpotObjects )
FETCH_PAYLOAD_CASE( CSCBadChambers )
FETCH_PAYLOAD_CASE( CSCBadStrips )
Expand Down
1 change: 1 addition & 0 deletions CondCore/Utilities/src/CondDBImport.cc
Expand Up @@ -45,6 +45,7 @@ namespace cond {
IMPORT_PAYLOAD_CASE( AlignmentErrorsExtended )
IMPORT_PAYLOAD_CASE( AlignmentSurfaceDeformations )
IMPORT_PAYLOAD_CASE( Alignments )
IMPORT_PAYLOAD_CASE( AlignPCLThresholds )
IMPORT_PAYLOAD_CASE( BeamSpotObjects )
IMPORT_PAYLOAD_CASE( CSCBadChambers )
IMPORT_PAYLOAD_CASE( CSCBadStrips )
Expand Down
1 change: 1 addition & 0 deletions CondCore/Utilities/src/CondFormats.h
Expand Up @@ -249,6 +249,7 @@
#include "CondFormats/SiStripObjects/interface/SiStripPedestals.h"
#include "CondFormats/BTauObjects/interface/TrackProbabilityCalibration.h"
#include "CondFormats/MFObjects/interface/MagFieldConfig.h"
#include "CondFormats/PCLConfig/interface/AlignPCLThresholds.h"

#include "CondFormats/Common/interface/BaseKeyed.h"

Expand Down
25 changes: 25 additions & 0 deletions CondFormats/DataRecord/interface/AlignPCLThresholdsRcd.h
@@ -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
15 changes: 15 additions & 0 deletions CondFormats/DataRecord/src/AlignPCLThresholdsRcd.cc
@@ -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);
15 changes: 15 additions & 0 deletions CondFormats/PCLConfig/BuildFile.xml
@@ -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>
92 changes: 92 additions & 0 deletions CondFormats/PCLConfig/interface/AlignPCLThreshold.h
@@ -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
57 changes: 57 additions & 0 deletions CondFormats/PCLConfig/interface/AlignPCLThresholds.h
@@ -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

0 comments on commit 504c5ff

Please sign in to comment.