49 produces<pat::MHTCollection>();
63 double number_of_jets =
getJets(iEvent, iSetup);
65 double number_of_electrons =
getElectrons(iEvent, iSetup);
67 double number_of_muons =
getMuons(iEvent, iSetup);
70 std::cout <<
">>>---> Number of jets: " << number_of_jets << std::endl;
71 std::cout <<
">>>---> Number of electrons: " << number_of_jets << std::endl;
72 std::cout <<
">>>---> Number of muons: " << number_of_muons << std::endl;
81 auto themetsigcoll = std::make_unique<pat::MHTCollection>();
91 met_x = met_et *
cos(met_phi);
92 met_y = met_et *
sin(met_phi);
95 std::cout <<
">>>----> MHT Sgificance = " << significance << std::endl;
105 themetsigcoll->push_back(themetsigobj);
118 double number_of_jets_ = 0.0;
130 double jet_et = jet_iter->et();
131 double jet_phi = jet_iter->phi();
134 std::cout <<
"jet pt : " << jet_iter->pt() <<
" eta : " << jet_iter->eta()
135 <<
" EMF: " << jet_iter->emEnergyFraction() << std::endl;
138 double sigma_et, sigma_phi;
149 std::cout <<
"jet sigma_et : " << sigma_et <<
", jet sigma_phi : " << sigma_phi << std::endl;
152 if (sigma_et <= 0 || sigma_phi <= 0)
153 edm::LogWarning(
"PATMHTProducer") <<
" uncertainties for " << objectname <<
" are (et, phi): " << sigma_et <<
"," 154 << sigma_phi <<
" (et,phi): " << jet_et <<
"," << jet_phi;
167 std::cout <<
"v101> " << number_of_jets_ <<
" " << jet_et <<
" " << sigma_et <<
" " << jet_phi <<
" " 168 << sigma_phi << std::endl;
176 std::vector<CaloTowerPtr> v_towers = jet_iter->getCaloConstituents();
179 for (
unsigned int ii = 0;
ii < v_towers.size();
ii++) {
186 std::cout <<
"v101> --------------------------------------------" << std::endl;
189 return number_of_jets_;
198 double number_of_electrons_ = 0.0;
216 std::cout <<
"electron pt = " << electron_iter->pt() <<
" eta : " << electron_iter->eta() << std::endl;
219 double electron_et = electron_iter->et();
220 double electron_phi = electron_iter->phi();
222 double sigma_et, sigma_phi;
233 std::cout <<
"electron sigma_et : " << sigma_et <<
", electron sigma_phi : " << sigma_phi << std::endl;
236 if (sigma_et < 0 || sigma_phi < 0)
237 edm::LogWarning(
"PATMHTProducer") <<
" uncertainties for " << objectname <<
" are (et, phi): " << sigma_et <<
"," 238 << sigma_phi <<
" (et,phi): " << electron_et <<
"," << electron_phi;
245 metsig::SigInputObj tmp_electron(objectname, electron_et, electron_phi, sigma_et, sigma_phi);
247 number_of_electrons_++;
272 return number_of_electrons_;
286 std::cout <<
">>> PATMHTSelector not valid muon Handle!" << std::endl;
290 double number_of_muons_ = 0.0;
297 std::cout <<
"muon pt = " << muon_iter->pt() <<
" eta : " << muon_iter->eta() << std::endl;
300 double muon_pt = muon_iter->pt();
301 double muon_phi = muon_iter->phi();
303 double sigma_et, sigma_phi;
314 std::cout <<
"muon sigma_et : " << sigma_et <<
", muon sigma_phi : " << sigma_phi << std::endl;
317 if (sigma_et < 0 || sigma_phi < 0)
318 edm::LogWarning(
"PATMHTProducer") <<
" uncertainties for " << objectname <<
" are (et, phi): " << sigma_et <<
"," 319 << sigma_phi <<
" (pt,phi): " << muon_pt <<
"," << muon_phi;
332 return number_of_muons_;
T getParameter(std::string const &) const
const void addObjects(const std::vector< metsig::SigInputObj > &EventVec)
T getUntrackedParameter(std::string const &, T const &) const
edm::EDGetTokenT< edm::View< pat::Photon > > phoToken_
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
double eleEtUncertaintyParameter0_
uncertaintyFunctions hcalHEUncertainty
void setNumberOfMuons(const double &numberOfMuons)
~PATMHTProducer() override
double getJets(edm::Event &, const edm::EventSetup &)
bool controlledUncertainty_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
double muonPhiUncertaintyParameter0_
std::unique_ptr< TF1 > phiUncertainty
const double significance(double &met_r, double &met_phi, double &met_set)
void setNumberOfJets(const double &numberOfJets)
edm::EDGetTokenT< edm::View< pat::Muon > > muoToken_
uncertaintyFunctions muonUncertainty
Sin< T >::type sin(const T &t)
uncertaintyFunctions ecalEEUncertainty
uncertaintyFunctions jetUncertainty
double jetEtUncertaintyParameter1_
double elePhiUncertaintyParameter0_
double jetEtUncertaintyParameter2_
double jetPhiUncertaintyParameter2_
uncertaintyFunctions hcalHBUncertainty
double getMuons(edm::Event &, const edm::EventSetup &)
#define DEFINE_FWK_MODULE(type)
const_iterator begin() const
edm::EDGetTokenT< edm::View< pat::Tau > > tauToken_
double muonEtUncertaintyParameter0_
PATMHTProducer(const edm::ParameterSet &)
Cos< T >::type cos(const T &t)
void setUncertaintyParameters()
double getElectrons(edm::Event &, const edm::EventSetup &)
uncertaintyFunctions hcalHFUncertainty
std::vector< metsig::SigInputObj > physobjvector_
edm::EDGetTokenT< edm::View< pat::Electron > > eleToken_
double uncertaintyScaleFactor_
edm::InputTag CaloTowerTag_
double jetPhiUncertaintyParameter1_
void produce(edm::Event &, const edm::EventSetup &) override
double jetPhiUncertaintyParameter0_
boost::indirect_iterator< typename seq_t::const_iterator > const_iterator
edm::EDGetTokenT< edm::View< pat::Jet > > jetToken_
const_iterator end() const
uncertaintyFunctions ecalEBUncertainty
double jetEtUncertaintyParameter0_
uncertaintyFunctions hcalHOUncertainty
void setNumberOfElectrons(const double &numberOfElectrons)
math::XYZTLorentzVector LorentzVector
Lorentz vector.
std::unique_ptr< TF1 > etUncertainty
uncertaintyFunctions eleUncertainty
std::set< CaloTowerDetId > s_clusteredTowers