CMS 3D CMS Logo

EcalEndcapRecHitsMaker.h

Go to the documentation of this file.
00001 #ifndef FastSimulation__EcalEndcapRecHitsMaker__h
00002 #define FastSimulation__EcalEndcapRecHitsMaker__h
00003 
00004 #include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h"
00005 #include "DataFormats/EcalDigi/interface/EcalDigiCollections.h"
00006 #include "FWCore/ParameterSet/interface/InputTag.h"
00007 //#include <boost/cstdint.hpp>
00008 
00009 class RandomEngine;
00010 
00011 namespace edm { 
00012   class ParameterSet;
00013   class Event;
00014   class EventSetup;
00015 }
00016 
00017 class EcalEndcapRecHitsMaker
00018 {
00019  public:
00020   EcalEndcapRecHitsMaker(edm::ParameterSet const & p,edm::ParameterSet const & p2,const RandomEngine* random);
00021   ~EcalEndcapRecHitsMaker();
00022 
00023   void loadEcalEndcapRecHits(edm::Event &iEvent, EERecHitCollection & ecalHits,EEDigiCollection & ecalDigis);
00024   void init(const edm::EventSetup &es,bool dodigis,bool domiscalib);
00025 
00026  private:
00027   void clean();
00028   void loadPCaloHits(const edm::Event & iEvent);
00029   void geVtoGainAdc(float e,unsigned & gain, unsigned &adc) const;
00030 
00031  private:
00032   edm::InputTag inputCol_;
00033   bool doDigis_;
00034   bool doMisCalib_;
00035   double refactor_;
00036   double refactor_mean_;
00037   // poor-man Selective Readout
00038   double threshold_;
00039   double noise_;
00040   double calibfactor_;
00041 
00042   const RandomEngine* random_;
00043   bool noisified_;
00044 
00045   // array (size = 20000) of the energy in the barrel
00046   std::vector<float> theCalorimeterHits_;
00047   // array of the hashedindices in the previous array of the cells that received a hit
00048   std::vector<int> theFiredCells_;
00049 
00050   // equivalent of the EcalIntercalibConstants from RecoLocalCalo/EcalRecProducers/src/EcalRecHitProduer.cc
00051   std::vector<float> theCalibConstants_;
00052 
00053   //array conversion hashedIndex rawId
00054   std::vector<uint32_t> endcapRawId_;
00055 
00056   
00057   // digitization
00058   float adcToGeV_;
00059   float geVToAdc1_,geVToAdc2_,geVToAdc3_;
00060   unsigned minAdc_;
00061   unsigned maxAdc_;
00062   float t1_,t2_,sat_;
00063 };
00064 
00065 #endif

Generated on Tue Jun 9 17:35:02 2009 for CMSSW by  doxygen 1.5.4