64 rho_(consumes<double>(iConfig.getParameter<edm::
InputTag>(
"rho"))),
65 caloJetPtCut(iConfig.getParameter<double>(
"caloJetPtCut")),
66 caloJetEtaCut(iConfig.getParameter<double>(
"caloJetEtaCut")),
67 doMet(iConfig.getParameter<bool>(
"doMet"))
70 produces<ScoutingCaloJetCollection>();
71 produces<ScoutingVertexCollection>();
72 produces<double>(
"rho");
73 produces<double>(
"caloMetPt");
74 produces<double>(
"caloMetPhi");
89 edm::LogError (
"HLTScoutingCaloProducer") <<
"invalid collection: caloJetCollection" <<
"\n";
99 outVertices->emplace_back(
100 vtx.x(), vtx.y(), vtx.z(), vtx.zError()
108 edm::LogError (
"HLTScoutingCaloProducer") <<
"invalid collection: rho" <<
"\n";
111 std::auto_ptr<double> outRho(
new double(*
rho));
116 edm::LogError (
"HLTScoutingCaloProducer") <<
"invalid collection: metCollection" <<
"\n";
122 for(
auto &
jet : *caloJetCollection){
124 outCaloJets->emplace_back(
126 jet.jetArea(),
jet.maxEInEmTowers(),
jet.maxEInHadTowers(),
127 jet.hadEnergyInHB(),
jet.hadEnergyInHE(),
jet.hadEnergyInHF(),
128 jet.emEnergyInEB(),
jet.emEnergyInEE(),
jet.emEnergyInHF(),
129 jet.towersArea(), 0.0
136 double metPhi = -999;
141 std::auto_ptr<double> outMetPt(
new double(metPt));
142 std::auto_ptr<double> outMetPhi(
new double(metPhi));
145 iEvent.
put(outCaloJets);
146 iEvent.
put(outVertices);
147 iEvent.
put(outRho,
"rho");
148 iEvent.
put(outMetPt,
"caloMetPt");
149 iEvent.
put(outMetPhi,
"caloMetPhi");
160 desc.
add<
double>(
"caloJetPtCut", 20.0);
161 desc.
add<
double>(
"caloJetEtaCut", 3.0);
162 desc.
add<
bool>(
"doMet",
true);
163 descriptions.
add(
"hltScoutingCaloProducer", desc);
bool getByToken(EDGetToken token, Handle< PROD > &result) const
const edm::EDGetTokenT< reco::VertexCollection > vertexCollection_
const edm::EDGetTokenT< reco::CaloMETCollection > metCollection_
#define DEFINE_FWK_MODULE(type)
HLTScoutingCaloProducer(const edm::ParameterSet &)
std::vector< Vertex > VertexCollection
collection of Vertex objects
std::vector< ScoutingCaloJet > ScoutingCaloJetCollection
const edm::EDGetTokenT< reco::CaloJetCollection > caloJetCollection_
std::vector< ScoutingVertex > ScoutingVertexCollection
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
ParameterDescriptionBase * add(U const &iLabel, T const &value)
virtual void produce(edm::StreamID sid, edm::Event &iEvent, edm::EventSetup const &setup) const overridefinal
const edm::EDGetTokenT< double > rho_
void add(std::string const &label, ParameterSetDescription const &psetDescription)
const double caloJetPtCut
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
const double caloJetEtaCut
void setup(std::vector< TH2F > &depth, std::string name, std::string units="")
std::vector< CaloJet > CaloJetCollection
collection of CaloJet objects
~HLTScoutingCaloProducer()