CMS 3D CMS Logo

/data/doxygen/doxygen-1.7.3/gen/CMSSW_4_2_8/src/RecoLocalCalo/CaloTowersCreator/src/CaloTowersCreator.h

Go to the documentation of this file.
00001 #ifndef RECOLOCALCALO_CALOTOWERSCREATOR_CALOTOWERSCREATOR_H
00002 #define RECOLOCALCALO_CALOTOWERSCREATOR_CALOTOWERSCREATOR_H 1
00003 
00004 #include "FWCore/Framework/interface/EDProducer.h"
00005 #include "DataFormats/Common/interface/EDProduct.h"
00006 #include "FWCore/Framework/interface/Event.h"
00007 #include "FWCore/Framework/interface/ESWatcher.h"
00008 #include "DataFormats/Common/interface/Handle.h"
00009 
00010 #include "FWCore/Framework/interface/EventSetup.h"
00011 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00012 #include "Geometry/Records/interface/IdealGeometryRecord.h"
00013 #include "RecoLocalCalo/CaloTowersCreator/interface/CaloTowersCreationAlgo.h"
00014 
00015 
00023 // Now we allow for the creation of towers from 
00024 // rejected hists as well: requested by the MET group
00025 // for studies of the effect of noise clean up.
00026 
00027 class CaloTowersCreator : public edm::EDProducer {
00028 public:
00029   explicit CaloTowersCreator(const edm::ParameterSet& ps);
00030   virtual ~CaloTowersCreator() { }
00031   virtual void produce(edm::Event& e, const edm::EventSetup& c);
00032   double EBEScale, EEEScale, HBEScale, HESEScale;
00033   double HEDEScale, HOEScale, HF1EScale, HF2EScale;
00034 
00035 private:
00036 
00037   static const std::vector<double>& getGridValues();
00038 
00039   CaloTowersCreationAlgo algo_;
00040   edm::InputTag hbheLabel_,hoLabel_,hfLabel_;
00041   std::vector<edm::InputTag> ecalLabels_;
00042   bool allowMissingInputs_;
00043 
00044 
00045   // more compact flags: all HCAL are combined
00046   
00047   unsigned int theHcalAcceptSeverityLevel_;
00048   unsigned int theEcalAcceptSeverityLevel_;
00049   
00050   // flag to use recovered hits
00051   bool theRecoveredHcalHitsAreUsed_;
00052   bool theRecoveredEcalHitsAreUsed_;
00053 
00054 
00055   // paramaters for creating towers from rejected hits
00056 
00057   bool useRejectedHitsOnly_;
00058   unsigned int theHcalAcceptSeverityLevelForRejectedHit_;
00059   unsigned int theEcalAcceptSeverityLevelForRejectedHit_;
00060   bool useRejectedRecoveredHcalHits_;
00061   bool useRejectedRecoveredEcalHits_;
00062 
00063   edm::ESWatcher<HcalSeverityLevelComputerRcd> hcalSevLevelWatcher_;
00064   edm::ESWatcher<HcalChannelQualityRcd> hcalChStatusWatcher_;
00065   edm::ESWatcher<IdealGeometryRecord> caloTowerConstituentsWatcher_;
00066 
00067 };
00068 
00069 #endif