CMS 3D CMS Logo

PxCPEdbUploader Class Reference

Description: Uploads Pixel CPE Parametrization Errors to a database. More...

#include <CalibTracker/SiPixelErrorEstimation/plugins/PxCPEUploader.cc>

Inheritance diagram for PxCPEdbUploader:

edm::EDAnalyzer

List of all members.

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


Detailed Description

Description: Uploads Pixel CPE Parametrization Errors to a database.

Implementation: <Notes on="" implementation>="">

Definition at line 14 of file PxCPEdbUploader.h.


Constructor & Destructor Documentation

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 (  ) 

Definition at line 34 of file PxCPEdbUploader.cc.

00035 {
00036 }


Member Function Documentation

void PxCPEdbUploader::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
) [private, virtual]

Implements edm::EDAnalyzer.

Definition at line 39 of file PxCPEdbUploader.cc.

00040 {
00041 }

void PxCPEdbUploader::beginJob ( const edm::EventSetup  )  [private, virtual]

Reimplemented from edm::EDAnalyzer.

Definition at line 44 of file PxCPEdbUploader.cc.

00045 {
00046 }

void PxCPEdbUploader::endJob ( void   )  [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 }


Member Data Documentation

std::string PxCPEdbUploader::theFileName [private]

Definition at line 24 of file PxCPEdbUploader.h.

Referenced by endJob().


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:30:30 2009 for CMSSW by  doxygen 1.5.4