#include <GenMuonRadiationAlgorithm.h>
Public Member Functions | |
reco::Candidate::LorentzVector | compFSR (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::PhotosInterface * | 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 34 of file GenMuonRadiationAlgorithm.h.
|
private |
|
explicit |
Definition at line 164 of file GenMuonRadiationAlgorithm.cc.
References decayRandomEngine, edm::hlt::Exception, edm::ParameterSet::exists(), edm::RandomNumberGenerator::getEngine(), edm::ParameterSet::getParameter(), edm::Service< T >::isAvailable(), kPHOTOS, kPYTHIA, mode_, photos_, pythia_, AlCaHLTBitMon_QueryRunRegistry::string, and verbosity_.
GenMuonRadiationAlgorithm::~GenMuonRadiationAlgorithm | ( | ) |
Definition at line 192 of file GenMuonRadiationAlgorithm.cc.
References photos_, and pythia_.
reco::Candidate::LorentzVector GenMuonRadiationAlgorithm::compFSR | ( | const reco::Candidate::LorentzVector & | muonP4, |
int | muonCharge, | ||
const reco::Candidate::LorentzVector & | otherP4, | ||
int & | errorFlag | ||
) |
Definition at line 234 of file GenMuonRadiationAlgorithm.cc.
References gen::PhotosInterface::apply(), beamEnergy_, call_pyedit(), gen::call_pygive(), gen::call_pylist(), conv, gather_cfg::cout, configurableAnalysis::GenParticle, gen::PhotosInterface::init(), kPHOTOS, kPYTHIA, mode_, photos_, photos_isInitialized_, protonMass, pythia_, pythia_isInitialized_, repairBarcodes(), myPythia6ServiceWithCallback::setEvent(), gen::Pythia6Service::setGeneralParams(), mathSSE::sqrt(), Clusterizer1DCommons::square(), and verbosity_.
Referenced by GenMuonRadCorrAnalyzer::analyze(), and ParticleReplacerZtautau::produce().
|
private |
Definition at line 43 of file GenMuonRadiationAlgorithm.h.
Referenced by compFSR().
|
private |
Definition at line 46 of file GenMuonRadiationAlgorithm.h.
Referenced by compFSR(), and GenMuonRadiationAlgorithm().
|
private |
Definition at line 48 of file GenMuonRadiationAlgorithm.h.
Referenced by compFSR(), GenMuonRadiationAlgorithm(), and ~GenMuonRadiationAlgorithm().
|
staticprivate |
Definition at line 49 of file GenMuonRadiationAlgorithm.h.
Referenced by compFSR().
|
private |
Definition at line 51 of file GenMuonRadiationAlgorithm.h.
Referenced by compFSR(), GenMuonRadiationAlgorithm(), and ~GenMuonRadiationAlgorithm().
|
staticprivate |
Definition at line 52 of file GenMuonRadiationAlgorithm.h.
Referenced by compFSR().
|
private |
Definition at line 54 of file GenMuonRadiationAlgorithm.h.
Referenced by compFSR(), and GenMuonRadiationAlgorithm().