![]() |
![]() |
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