#include <test/EmbeddingLHEProducer/plugins/EmbeddingLHEProducer.cc>
Static Public Member Functions | |
static void | fillDescriptions (edm::ConfigurationDescriptions &descriptions) |
Static Public Member Functions inherited from edm::one::EDProducerBase | |
static const std::string & | baseType () |
static void | fillDescriptions (ConfigurationDescriptions &descriptions) |
static void | prevalidate (ConfigurationDescriptions &descriptions) |
Private Member Functions | |
void | assign_4vector (TLorentzVector &Lepton, const pat::Muon *muon, std::string FSRmode) |
void | beginJob () override |
void | beginRunProduce (edm::Run &run, edm::EventSetup const &es) override |
void | endJob () override |
void | endRunProduce (edm::Run &, edm::EventSetup const &) override |
void | fill_lhe_from_mumu (TLorentzVector &positiveLepton, TLorentzVector &negativeLepton, lhef::HEPEUP &outlhe, CLHEP::HepRandomEngine *engine) |
void | fill_lhe_with_particle (lhef::HEPEUP &outlhe, TLorentzVector &particle, int pdgid, double spin, double ctau) |
const reco::Candidate * | find_original_muon (const reco::Candidate *muon) |
LHERunInfoProduct::Header | give_slha () |
void | mirror (TLorentzVector &positiveLepton, TLorentzVector &negativeLepton) |
void | produce (edm::Event &, const edm::EventSetup &) override |
void | rotate180 (TLorentzVector &positiveLepton, TLorentzVector &negativeLepton) |
void | transform_mumu_to_tautau (TLorentzVector &positiveLepton, TLorentzVector &negativeLepton) |
Private Attributes | |
const double | elMass_ = 0.00051 |
const int | embeddingParticles [3] {11, 13, 15} |
std::ofstream | file |
bool | mirror_ |
edm::EDGetTokenT< edm::View< pat::Muon > > | muonsCollection_ |
int | particleToEmbed_ |
bool | rotate180_ |
std::string | studyFSRmode_ |
const double | tauMass_ = 1.77682 |
edm::EDGetTokenT< reco::VertexCollection > | vertexCollection_ |
bool | write_lheout |
Additional Inherited Members | |
Public Types inherited from edm::one::EDProducerBase | |
typedef EDProducerBase | ModuleType |
Public Types inherited from edm::ProducerBase | |
using | ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex > > |
typedef ProductRegistryHelper::TypeLabelList | TypeLabelList |
Public Types inherited from edm::EDConsumerBase | |
typedef ProductLabels | Labels |
Protected Member Functions inherited from edm::ProducerBase | |
template<Transition Tr = Transition::Event> | |
auto | produces (std::string instanceName) noexcept |
declare what type of product will make and with which optional label More... | |
template<Transition B> | |
BranchAliasSetter | produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true) |
template<BranchType B> | |
BranchAliasSetter | produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true) |
BranchAliasSetter | produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true) |
template<typename ProductType , Transition B> | |
BranchAliasSetterT< ProductType > | produces (std::string instanceName) |
template<class ProductType > | |
BranchAliasSetterT< ProductType > | produces () |
template<typename ProductType , BranchType B> | |
BranchAliasSetterT< ProductType > | produces (std::string instanceName) |
template<typename ProductType , BranchType B> | |
BranchAliasSetterT< ProductType > | produces () |
template<class ProductType > | |
BranchAliasSetterT< ProductType > | produces (std::string instanceName) |
template<typename ProductType , Transition B> | |
BranchAliasSetterT< ProductType > | produces () |
template<Transition Tr = Transition::Event> | |
auto | produces () noexcept |
ProducesCollector | producesCollector () |
Protected Member Functions inherited from edm::EDConsumerBase | |
template<typename ProductType , BranchType B = InEvent> | |
EDGetTokenT< ProductType > | consumes (edm::InputTag const &tag) |
template<BranchType B = InEvent> | |
EDConsumerBaseAdaptor< B > | consumes (edm::InputTag tag) noexcept |
EDGetToken | consumes (const TypeToGet &id, edm::InputTag const &tag) |
template<BranchType B> | |
EDGetToken | consumes (TypeToGet const &id, edm::InputTag const &tag) |
ConsumesCollector | consumesCollector () |
Use a ConsumesCollector to gather consumes information from helper functions. More... | |
template<typename ProductType , BranchType B = InEvent> | |
void | consumesMany () |
void | consumesMany (const TypeToGet &id) |
template<BranchType B> | |
void | consumesMany (const TypeToGet &id) |
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event> | |
auto | esConsumes () |
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event> | |
auto | esConsumes (ESInputTag const &tag) |
template<Transition Tr = Transition::Event> | |
constexpr auto | esConsumes () |
template<Transition Tr = Transition::Event> | |
auto | esConsumes (ESInputTag tag) |
template<Transition Tr = Transition::Event> | |
ESGetTokenGeneric | esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey) |
Used with EventSetupRecord::doGet. More... | |
template<typename ProductType , BranchType B = InEvent> | |
EDGetTokenT< ProductType > | mayConsume (edm::InputTag const &tag) |
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
template<BranchType B> | |
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
void | resetItemsToGetFrom (BranchType iType) |
Description: [one line class summary]
Implementation: [Notes on implementation]
Definition at line 67 of file EmbeddingLHEProducer.cc.
|
explicit |
Definition at line 116 of file EmbeddingLHEProducer.cc.
References embeddingParticles, mps_fire::end, Exception, file, spr::find(), edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), edm::Service< T >::isAvailable(), mirror_, muonsCollection_, MillePedeFileConverter_cfg::out, particleToEmbed_, rotate180_, AlCaHLTBitMon_QueryRunRegistry::string, studyFSRmode_, pileupReCalc_HLTpaths::trunc, vertexCollection_, and write_lheout.
|
override |
Definition at line 151 of file EmbeddingLHEProducer.cc.
|
private |
Definition at line 373 of file EmbeddingLHEProducer.cc.
References find_original_muon(), reco::Candidate::p4(), and reco::LeafCandidate::p4().
Referenced by produce().
|
overrideprivatevirtual |
Reimplemented from edm::one::EDProducerBase.
Definition at line 210 of file EmbeddingLHEProducer.cc.
|
overrideprivate |
Definition at line 217 of file EmbeddingLHEProducer.cc.
References filterCSVwithJSON::copy, file, give_slha(), lhef::HEPRUP::IDWTUP, lhe2HepMCConverter_cff::LHERunInfoProduct, lhef::HEPRUP::LPRUP, eostools::move(), lhef::HEPRUP::resize(), writedatasetfile::run, submitPVValidationJobs::runInfo, write_lheout, lhef::HEPRUP::XERRUP, lhef::HEPRUP::XMAXUP, and lhef::HEPRUP::XSECUP.
|
overrideprivatevirtual |
Reimplemented from edm::one::EDProducerBase.
Definition at line 213 of file EmbeddingLHEProducer.cc.
|
overrideprivate |
Definition at line 259 of file EmbeddingLHEProducer.cc.
References LHERunInfoProduct::endOfFile(), file, and write_lheout.
|
private |
Definition at line 266 of file EmbeddingLHEProducer.cc.
References fill_lhe_with_particle(), particleToEmbed_, and BeamSpotPI::Z.
Referenced by produce().
|
private |
Definition at line 288 of file EmbeddingLHEProducer.cc.
References funct::abs(), embeddingParticles, mps_fire::end, spr::find(), lhef::HEPEUP::ICOLUP, lhef::HEPEUP::IDUP, lhef::HEPEUP::ISTUP, lhef::HEPEUP::MOTHUP, lhef::HEPEUP::NUP, EgammaValidation_cff::pdgid, lhef::HEPEUP::PUP, lhef::HEPEUP::resize(), lhef::HEPEUP::SPINUP, and lhef::HEPEUP::VTIMUP.
Referenced by fill_lhe_from_mumu().
|
static |
Definition at line 551 of file EmbeddingLHEProducer.cc.
References edm::ConfigurationDescriptions::addDefault(), and submitPVResolutionJobs::desc.
|
private |
Definition at line 388 of file EmbeddingLHEProducer.cc.
References HLT_2022v14_cff::muon.
Referenced by assign_4vector().
|
private |
Definition at line 455 of file EmbeddingLHEProducer.cc.
References LHERunInfoProduct::Header::addLine().
Referenced by beginRunProduce().
|
private |
Definition at line 427 of file EmbeddingLHEProducer.cc.
References EcalCondDBWriter_cfi::beam, mirror_, and BeamSpotPI::Z.
Referenced by produce().
|
overrideprivatevirtual |
Implements edm::one::EDProducerBase.
Definition at line 158 of file EmbeddingLHEProducer.cc.
References lhef::HEPEUP::AQCDUP, lhef::HEPEUP::AQEDUP, assign_4vector(), edm::View< T >::begin(), filterCSVwithJSON::copy, edm::View< T >::end(), file, fill_lhe_from_mumu(), edm::RandomNumberGenerator::getEngine(), lhef::HEPEUP::IDPRUP, iEvent, lhe2HepMCConverter_cff::LHEEventProduct, mirror(), eostools::move(), HLT_2022v14_cff::muon, muonsCollection_, rotate180(), lhef::HEPEUP::SCALUP, studyFSRmode_, transform_mumu_to_tautau(), vertexCollection_, write_lheout, and lhef::HEPEUP::XWGTUP.
|
private |
Definition at line 397 of file EmbeddingLHEProducer.cc.
References rotate180_, and BeamSpotPI::Z.
Referenced by produce().
|
private |
Definition at line 326 of file EmbeddingLHEProducer.cc.
References elMass_, particleToEmbed_, L1EGammaClusterEmuProducer_cfi::scale, mathSSE::sqrt(), tauMass_, and BeamSpotPI::Z.
Referenced by produce().
|
private |
Definition at line 101 of file EmbeddingLHEProducer.cc.
Referenced by transform_mumu_to_tautau().
|
private |
Definition at line 102 of file EmbeddingLHEProducer.cc.
Referenced by EmbeddingLHEProducer(), and fill_lhe_with_particle().
|
private |
Definition at line 104 of file EmbeddingLHEProducer.cc.
Referenced by beginRunProduce(), EmbeddingLHEProducer(), endRunProduce(), and produce().
|
private |
Definition at line 99 of file EmbeddingLHEProducer.cc.
Referenced by EmbeddingLHEProducer(), and mirror().
|
private |
Definition at line 96 of file EmbeddingLHEProducer.cc.
Referenced by EmbeddingLHEProducer(), and produce().
|
private |
Definition at line 98 of file EmbeddingLHEProducer.cc.
Referenced by EmbeddingLHEProducer(), fill_lhe_from_mumu(), and transform_mumu_to_tautau().
|
private |
Definition at line 99 of file EmbeddingLHEProducer.cc.
Referenced by EmbeddingLHEProducer(), and rotate180().
|
private |
Definition at line 110 of file EmbeddingLHEProducer.cc.
Referenced by EmbeddingLHEProducer(), and produce().
|
private |
Definition at line 100 of file EmbeddingLHEProducer.cc.
Referenced by transform_mumu_to_tautau().
|
private |
Definition at line 97 of file EmbeddingLHEProducer.cc.
Referenced by EmbeddingLHEProducer(), and produce().
|
private |
Definition at line 105 of file EmbeddingLHEProducer.cc.
Referenced by beginRunProduce(), EmbeddingLHEProducer(), endRunProduce(), and produce().