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
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
00038 double threshold_;
00039 double noise_;
00040 double calibfactor_;
00041
00042 const RandomEngine* random_;
00043 bool noisified_;
00044
00045
00046 std::vector<float> theCalorimeterHits_;
00047
00048 std::vector<int> theFiredCells_;
00049
00050
00051 std::vector<float> theCalibConstants_;
00052
00053
00054 std::vector<uint32_t> endcapRawId_;
00055
00056
00057
00058 float adcToGeV_;
00059 float geVToAdc1_,geVToAdc2_,geVToAdc3_;
00060 unsigned minAdc_;
00061 unsigned maxAdc_;
00062 float t1_,t2_,sat_;
00063 };
00064
00065 #endif