#include <GenMuonRadiationAlgorithm.h>
Public Member Functions | |
reco::Candidate::LorentzVector | compFSR (const edm::StreamID &streamID, const reco::Candidate::LorentzVector &, int, const reco::Candidate::LorentzVector &, int &) |
GenMuonRadiationAlgorithm (const edm::ParameterSet &) | |
~GenMuonRadiationAlgorithm () | |
Private Types | |
enum | { kPYTHIA, kPHOTOS } |
Private Attributes | |
double | beamEnergy_ |
int | mode_ |
gen::PhotosInterfaceBase * | photos_ |
myPythia6ServiceWithCallback * | pythia_ |
int | verbosity_ |
Static Private Attributes | |
static bool | photos_isInitialized_ = false |
static bool | pythia_isInitialized_ = false |
Auxiliary class to correct for muon –> muon + photon final state radiation (FSR) in selected Z –> mu+ mu- events. The FSR is estimated on event-by-event basis via a Monte Carlo technique: for each reconstructed muon, PHOTOS is used to obtain a random amount of radiated photon energy. The radiated photon energy is then added to the energy of the reconstructed muon and the energy of generator level tau leptons is set to the sum.
NOTE: FSR increases with the energy of the muon. So, in principle the energy of muon + photon (energy of muon before FSR), not the energy of the reconstructed muon (energy of muon after FSR) would need to be used as input to PHOTOS. As the amount of radiated photon energy is typically small (< 1 GeV on average), taking the energy of the reconstructed muon is a good approximation.
Definition at line 36 of file GenMuonRadiationAlgorithm.h.
|
private |
|
explicit |
Definition at line 163 of file GenMuonRadiationAlgorithm.cc.
References edm::hlt::Exception, edm::ParameterSet::exists(), reco::get(), edm::ParameterSet::getParameter(), kPHOTOS, kPYTHIA, mode_, photos_, pythia_, AlCaHLTBitMon_QueryRunRegistry::string, and verbosity_.
GenMuonRadiationAlgorithm::~GenMuonRadiationAlgorithm | ( | ) |
Definition at line 185 of file GenMuonRadiationAlgorithm.cc.
References photos_, and pythia_.
reco::Candidate::LorentzVector GenMuonRadiationAlgorithm::compFSR | ( | const edm::StreamID & | streamID, |
const reco::Candidate::LorentzVector & | muonP4, | ||
int | muonCharge, | ||
const reco::Candidate::LorentzVector & | otherP4, | ||
int & | errorFlag | ||
) |
Definition at line 227 of file GenMuonRadiationAlgorithm.cc.
References gen::PhotosInterfaceBase::apply(), assert(), beamEnergy_, call_pyedit(), gen::call_pygive(), gen::call_pylist(), conv, gather_cfg::cout, decayRandomEngine, GenParticle::GenParticle, edm::RandomNumberGenerator::getEngine(), gen::PhotosInterfaceBase::init(), edm::Service< T >::isAvailable(), kPHOTOS, kPYTHIA, mode_, photos_, photos_isInitialized_, protonMass, pythia_, pythia_isInitialized_, repairBarcodes(), myPythia6ServiceWithCallback::setEvent(), gen::Pythia6Service::setGeneralParams(), gen::PhotosInterfaceBase::setRandomEngine(), mathSSE::sqrt(), Clusterizer1DCommons::square(), and verbosity_.
Referenced by GenMuonRadCorrAnalyzer::analyze(), and ParticleReplacerZtautau::produce().
|
private |
Definition at line 45 of file GenMuonRadiationAlgorithm.h.
Referenced by compFSR().
|
private |
Definition at line 48 of file GenMuonRadiationAlgorithm.h.
Referenced by compFSR(), and GenMuonRadiationAlgorithm().
|
private |
Definition at line 50 of file GenMuonRadiationAlgorithm.h.
Referenced by compFSR(), GenMuonRadiationAlgorithm(), and ~GenMuonRadiationAlgorithm().
|
staticprivate |
Definition at line 51 of file GenMuonRadiationAlgorithm.h.
Referenced by compFSR().
|
private |
Definition at line 53 of file GenMuonRadiationAlgorithm.h.
Referenced by compFSR(), GenMuonRadiationAlgorithm(), and ~GenMuonRadiationAlgorithm().
|
staticprivate |
Definition at line 54 of file GenMuonRadiationAlgorithm.h.
Referenced by compFSR().
|
private |
Definition at line 56 of file GenMuonRadiationAlgorithm.h.
Referenced by compFSR(), and GenMuonRadiationAlgorithm().