#include <CalibTracker/SiPixelErrorEstimation/plugins/PxCPEUploader.cc>
Public Member Functions | |
PxCPEdbUploader (const edm::ParameterSet &) | |
~PxCPEdbUploader () | |
Private Member Functions | |
virtual void | analyze (const edm::Event &, const edm::EventSetup &) |
virtual void | beginJob (const edm::EventSetup &) |
virtual void | endJob () |
Private Attributes | |
std::string | theFileName |
Implementation: <Notes on="" implementation>="">
Definition at line 14 of file PxCPEdbUploader.h.
PxCPEdbUploader::PxCPEdbUploader | ( | const edm::ParameterSet & | iConfig | ) | [explicit] |
Definition at line 28 of file PxCPEdbUploader.cc.
00028 : 00029 theFileName( iConfig.getParameter<std::string>("fileName") ) 00030 { 00031 }
PxCPEdbUploader::~PxCPEdbUploader | ( | ) |
void PxCPEdbUploader::analyze | ( | const edm::Event & | iEvent, | |
const edm::EventSetup & | iSetup | |||
) | [private, virtual] |
void PxCPEdbUploader::beginJob | ( | const edm::EventSetup & | ) | [private, virtual] |
Reimplemented from edm::EDAnalyzer.
Definition at line 49 of file PxCPEdbUploader.cc.
References SiPixelCPEParmErrors::DbEntryBinSize::alphaBin_size, SiPixelCPEParmErrors::DbEntry::ave_Qclus, SiPixelCPEParmErrors::DbEntryBinSize::betaBin_size, SiPixelCPEParmErrors::DbEntry::bias, GenMuonPlsPt100GeV_cfg::cout, lat::endl(), in, edm::Service< T >::isAvailable(), SiPixelCPEParmErrors::DbEntryBinSize::partBin_size, SiPixelCPEParmErrors::DbEntry::pix_height, SiPixelCPEParmErrors::push_back(), SiPixelCPEParmErrors::push_back_bin(), SiPixelCPEParmErrors::reserve(), SiPixelCPEParmErrors::DbEntry::rms, SiPixelCPEParmErrors::set_version(), SiPixelCPEParmErrors::DbEntry::sigma, SiPixelCPEParmErrors::DbEntryBinSize::sizeBin_size, theFileName, and version().
00050 { 00051 //--- Make the POOL-ORA thingy to store the vector of error structs (DbEntry) 00052 SiPixelCPEParmErrors* pErrors = new SiPixelCPEParmErrors(); 00053 pErrors->reserve(); // Default 1000 elements. Optimize? &&& 00054 00055 //--- Open the file 00056 std::ifstream in; 00057 in.open(theFileName.c_str()); 00058 00059 int part; 00060 float version = 1.3; 00061 00062 SiPixelCPEParmErrors::DbEntry Entry; 00063 in >> part >> Entry.bias >> Entry.pix_height >> Entry.ave_Qclus >> Entry.sigma >> Entry.rms; 00064 00065 while(!in.eof()) { 00066 pErrors->push_back( Entry ); 00067 00068 in >> part >> Entry.bias >> Entry.pix_height 00069 >> Entry.ave_Qclus >> Entry.sigma >> Entry.rms; 00070 } 00071 //--- Finished parsing the file, we're done. 00072 in.close(); 00073 00074 //--- Specify the current binning sizes to use 00075 SiPixelCPEParmErrors::DbEntryBinSize ErrorsBinSize; 00076 //--- Part = 1 By 00077 ErrorsBinSize.partBin_size = 0; 00078 ErrorsBinSize.sizeBin_size = 40; 00079 ErrorsBinSize.alphaBin_size = 10; 00080 ErrorsBinSize.betaBin_size = 1; 00081 pErrors->push_back_bin(ErrorsBinSize); 00082 //--- Part = 2 Bx 00083 ErrorsBinSize.partBin_size = 240; 00084 ErrorsBinSize.alphaBin_size = 1; 00085 ErrorsBinSize.betaBin_size = 10; 00086 pErrors->push_back_bin(ErrorsBinSize); 00087 //--- Part = 3 Fy 00088 ErrorsBinSize.partBin_size = 360; 00089 ErrorsBinSize.alphaBin_size = 10; 00090 ErrorsBinSize.betaBin_size = 1; 00091 pErrors->push_back_bin(ErrorsBinSize); 00092 //--- Part = 4 Fx 00093 ErrorsBinSize.partBin_size = 400; 00094 ErrorsBinSize.alphaBin_size = 1; 00095 ErrorsBinSize.betaBin_size = 10; 00096 pErrors->push_back_bin(ErrorsBinSize); 00097 00098 //--- Specify the Version 00099 pErrors->set_version(version); 00100 00101 00102 //--- Create a new IOV 00103 edm::Service<cond::service::PoolDBOutputService> poolDbService; 00104 00105 if( poolDbService.isAvailable() ) { 00106 if ( poolDbService->isNewTagRequest("SiPixelCPEParmErrorsRcd") ) 00107 poolDbService-> 00108 createNewIOV<SiPixelCPEParmErrors>( pErrors, 00109 poolDbService->beginOfTime(), 00110 poolDbService->endOfTime(), 00111 "SiPixelCPEParmErrorsRcd" ); 00112 else 00113 poolDbService-> 00114 appendSinceTime<SiPixelCPEParmErrors>( pErrors, 00115 poolDbService->currentTime(), 00116 "SiPixelCPEParmErrorsRcd" ); 00117 } 00118 else { 00119 std::cout << "Pool Service Unavailable" << std::endl; 00120 // &&& throw an exception??? 00121 } 00122 }
std::string PxCPEdbUploader::theFileName [private] |