CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/RecoLocalCalo/EcalRecProducers/plugins/EcalTPSkimmer.h

Go to the documentation of this file.
00001 #ifndef RecoLocalCalo_EcalRecProducers_EcalTPSkimmer_hh
00002 #define RecoLocalCalo_EcalRecProducers_EcalTPSkimmer_hh
00003 
00014 #include "FWCore/Framework/interface/EDProducer.h"
00015 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00016 #include "FWCore/Framework/interface/Event.h"
00017 #include "FWCore/Framework/interface/ESHandle.h"
00018 #include "FWCore/Framework/interface/EventSetup.h"
00019 
00020 #include "DataFormats/EcalDetId/interface/EcalTrigTowerDetId.h"
00021 #include "DataFormats/EcalDigi/interface/EcalDigiCollections.h"
00022 
00023 #include "Geometry/CaloTopology/interface/EcalTrigTowerConstituentsMap.h"
00024 
00025 class EcalTPSkimmer : public edm::EDProducer {
00026 
00027         public:
00028                 explicit EcalTPSkimmer(const edm::ParameterSet& ps);
00029                 ~EcalTPSkimmer();
00030                 virtual void produce(edm::Event& evt, const edm::EventSetup& es);
00031 
00032         private:
00033 
00034                 bool alreadyInserted( EcalTrigTowerDetId ttId );
00035                 void insertTP( EcalTrigTowerDetId ttId, edm::Handle<EcalTrigPrimDigiCollection> &in, EcalTrigPrimDigiCollection &out );
00036 
00037                 std::string tpCollection_;
00038 
00039                 bool skipModule_;
00040                 bool doBarrel_;
00041                 bool doEndcap_;
00042 
00043                 std::vector<uint32_t> chStatusToSelectTP_;
00044                 edm::ESHandle<EcalTrigTowerConstituentsMap> ttMap_;
00045 
00046                 std::set<EcalTrigTowerDetId> insertedTP_;
00047 
00048                 edm::InputTag tpInputCollection_;
00049 
00050                 std::string tpOutputCollection_;
00051 };
00052 
00053 #endif