CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/RecoEgamma/EgammaHLTProducers/interface/ESListOfFEDSProducer.h

Go to the documentation of this file.
00001 #ifndef EventFilter_ESListOfFEDSProducer_H
00002 #define EventFilter_ESListOfFEDSProducer_H
00003 
00004 #include <FWCore/Framework/interface/MakerMacros.h>
00005 #include <FWCore/Framework/interface/EDProducer.h>
00006                                                                                              
00007 #include <DataFormats/Common/interface/Handle.h>
00008 #include <FWCore/Framework/interface/Event.h>
00009 #include <FWCore/Framework/interface/EDProducer.h>
00010 #include <FWCore/MessageLogger/interface/MessageLogger.h>
00011 #include <FWCore/ParameterSet/interface/ParameterSet.h>
00012 
00013 #include "Geometry/EcalMapping/interface/EcalElectronicsMapping.h"
00014 #include "Geometry/EcalMapping/interface/ESElectronicsMapper.h"
00015 
00016 #include <iostream>
00017 #include <string>
00018 #include <vector>
00019 
00020 class ESListOfFEDSProducer : public edm::EDProducer {
00021 
00022 public:
00023         ESListOfFEDSProducer(const edm::ParameterSet& pset);
00024         virtual ~ESListOfFEDSProducer();
00025         void produce(edm::Event & e, const edm::EventSetup& c);
00026         void beginJob(void);
00027         void endJob(void);
00028         // std::vector<int> Egamma(edm::Event& e, const edm::EventSetup& es, std::vector<int>& done);
00029         // std::vector<int> Muon(edm::Event& e, const edm::EventSetup& es, std::vector<int>& done);
00030         // std::vector<int> Jets(edm::Event& e, const edm::EventSetup& es, std::vector<int>& done);
00031         void Egamma(edm::Event& e, const edm::EventSetup& es, std::vector<int>& done, std::vector<int>& FEDs);
00032         void Muon(edm::Event& e, const edm::EventSetup& es, std::vector<int>& done, std::vector<int>& FEDs);
00033         void Jets(edm::Event& e, const edm::EventSetup& es, std::vector<int>& done, std::vector<int>& FEDs);
00034 
00035 private:
00036         edm::InputTag Pi0ListToIgnore_; 
00037         bool EGamma_;
00038         edm::InputTag EMl1TagIsolated_;
00039         edm::InputTag EMl1TagNonIsolated_;
00040         bool EMdoIsolated_;
00041         bool EMdoNonIsolated_;
00042         double EMregionEtaMargin_;
00043         double EMregionPhiMargin_;
00044         double Ptmin_iso_ ;
00045         double Ptmin_noniso_;
00046 
00047         bool Muon_ ;
00048         double MUregionEtaMargin_;
00049         double MUregionPhiMargin_;
00050         double Ptmin_muon_ ;
00051         edm::InputTag MuonSource_ ;
00052 
00053         bool Jets_ ;
00054         bool JETSdoCentral_ ;
00055         bool JETSdoForward_ ;
00056         bool JETSdoTau_ ;
00057         double JETSregionEtaMargin_;
00058         double JETSregionPhiMargin_;
00059         double Ptmin_jets_ ;
00060         edm::InputTag CentralSource_;
00061         edm::InputTag ForwardSource_;
00062         edm::InputTag TauSource_;
00063 
00064         std::string OutputLabel_;
00065         EcalElectronicsMapping* TheMapping;
00066 
00068         ESElectronicsMapper *TheESMapping;
00069         
00070         bool first_ ;
00071         bool debug_ ;
00072 
00073         std::vector<int> ListOfFEDS(double etaLow, double etaHigh, double phiLow,
00074                                     double phiHigh, double etamargin, double phimargin);
00075 
00076 
00077 
00078 };
00079 
00080 #endif
00081 
00082