CMS 3D CMS Logo

SiStripNoiseFakeESSource Class Reference

Fake source of SiStripNoises object. More...

#include <CalibTracker/SiStripESProducers/plugins/fake/SiStripNoiseFakeESSource.h>

Inheritance diagram for SiStripNoiseFakeESSource:

SiStripNoiseESSource edm::ESProducer edm::EventSetupRecordIntervalFinder edm::ESProxyFactoryProducer edm::eventsetup::DataProxyProvider

List of all members.

Public Member Functions

 SiStripNoiseFakeESSource (const edm::ParameterSet &)
virtual ~SiStripNoiseFakeESSource ()

Private Member Functions

SiStripNoisesmakeNoise ()

Private Attributes

double electronsPerADC_
edm::FileInPath fp_
double noiseStripLengthLinearQuote_
double noiseStripLengthLinearSlope_
bool printdebug_


Detailed Description

Fake source of SiStripNoises object.

Author:
G. Bruno

Definition at line 21 of file SiStripNoiseFakeESSource.h.


Constructor & Destructor Documentation

SiStripNoiseFakeESSource::SiStripNoiseFakeESSource ( const edm::ParameterSet pset  ) 

Definition at line 9 of file SiStripNoiseFakeESSource.cc.

References electronsPerADC_, fp_, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), noiseStripLengthLinearQuote_, noiseStripLengthLinearSlope_, and printdebug_.

00009                                                                                 : SiStripNoiseESSource(pset) {
00010 
00011   edm::LogInfo("SiStripNoiseFakeESSource::SiStripNoiseFakeESSource");
00012 
00013   noiseStripLengthLinearSlope_ = pset.getParameter<double>("NoiseStripLengthSlope");  
00014   noiseStripLengthLinearQuote_ = pset.getParameter<double>("NoiseStripLengthQuote");  
00015   electronsPerADC_ = pset.getParameter<double>("electronPerAdc");
00016 
00017   fp_ = pset.getParameter<edm::FileInPath>("file");
00018 
00019   printdebug_ = pset.getUntrackedParameter<bool>("printDebug", false);
00020  
00021 
00022   //  edm::LogInfo("SiStripNoiseFakeESSource::SiStripNoiseFakeESSource - exiting");
00023 
00024 }

virtual SiStripNoiseFakeESSource::~SiStripNoiseFakeESSource (  )  [inline, virtual]

Definition at line 26 of file SiStripNoiseFakeESSource.h.

00026 {;}


Member Function Documentation

SiStripNoises * SiStripNoiseFakeESSource::makeNoise (  )  [private, virtual]

Implements SiStripNoiseESSource.

Definition at line 27 of file SiStripNoiseFakeESSource.cc.

References electronsPerADC_, lat::endl(), fp_, edm::FileInPath::fullPath(), j, noiseStripLengthLinearQuote_, noiseStripLengthLinearSlope_, VarParsing::obj, printdebug_, SiStripNoises::put(), SiStripNoises::setData(), and strip().

00027                                                     { 
00028   
00029   SiStripNoises * obj = new SiStripNoises();
00030 
00031   SiStripDetInfoFileReader reader(fp_.fullPath());
00032   //  SiStripDetInfoFileReader reader("");
00033 
00034   const std::vector<uint32_t> DetIds = reader.getAllDetIds();
00035 
00036   bool firstdet=true;
00037 
00038   for(std::vector<uint32_t>::const_iterator detit=DetIds.begin(); detit!=DetIds.end(); detit++){
00039 
00040     SiStripNoises::InputVector theSiStripVector;
00041 
00042     const std::pair<unsigned short, double> ApvsAndStripLengths = reader.getNumberOfApvsAndStripLength(*detit);
00043 
00044     for(unsigned short j=0; j<ApvsAndStripLengths.first; j++){
00045 
00046       for(int strip=0; strip<128; ++strip){
00047 
00048         float noise = ( noiseStripLengthLinearSlope_ * (ApvsAndStripLengths.second) + noiseStripLengthLinearQuote_) / electronsPerADC_;
00049         
00050         
00051         if (printdebug_ && firstdet) {
00052 
00053           edm::LogInfo("SiStripNoiseFakeESSource::makeNoise(): ") << "detid: " << *detit  << " strip: " << j*128+strip <<  " noise: " << noise     << " \t"   << std::endl;         
00054 
00055 
00056         }
00057 
00058 
00059         obj->setData(noise,theSiStripVector);
00060 
00061       }
00062 
00063     }       
00064       
00065     firstdet=false;
00066 
00067     if ( ! obj->put(*detit, theSiStripVector) )
00068       edm::LogError("SiStripNoiseFakeESSource::produce ")<<" detid already exists"<<std::endl;
00069 
00070   }
00071   
00072 
00073   return obj;
00074 
00075 
00076 }


Member Data Documentation

double SiStripNoiseFakeESSource::electronsPerADC_ [private]

Definition at line 40 of file SiStripNoiseFakeESSource.h.

Referenced by makeNoise(), and SiStripNoiseFakeESSource().

edm::FileInPath SiStripNoiseFakeESSource::fp_ [private]

Definition at line 43 of file SiStripNoiseFakeESSource.h.

Referenced by makeNoise(), and SiStripNoiseFakeESSource().

double SiStripNoiseFakeESSource::noiseStripLengthLinearQuote_ [private]

Definition at line 39 of file SiStripNoiseFakeESSource.h.

Referenced by makeNoise(), and SiStripNoiseFakeESSource().

double SiStripNoiseFakeESSource::noiseStripLengthLinearSlope_ [private]

Definition at line 38 of file SiStripNoiseFakeESSource.h.

Referenced by makeNoise(), and SiStripNoiseFakeESSource().

bool SiStripNoiseFakeESSource::printdebug_ [private]

Definition at line 42 of file SiStripNoiseFakeESSource.h.

Referenced by makeNoise(), and SiStripNoiseFakeESSource().


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