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
00029
00030
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