CMS 3D CMS Logo

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