 |
ATLAS Offline Software
|
Go to the documentation of this file.
11 #include "TLorentzVector.h"
71 assert(low == fabs(low) && high == fabs(high));
102 for (
unsigned int i=0;
i<
ranges.size();) {
117 float runningwidth = 0.0;
130 assert(
x >= 0 &&
x <= 1);
131 unsigned int idx = -1, rem = 0;
165 float val = TMath::Exp(logval);
193 std::cout <<
"Initializing CyclicSeqSampler..." << std::endl;
194 while ((
pos =
s.find(
',')) != std::string::npos) {
195 token =
s.substr(0,
pos);
198 std::cout <<
" adding " <<
m_sequence[
m_sequence.size()-1] <<
" from " << token.c_str() << std::endl;
272 return TLorentzVector(
x,
y,
z,
t);
319 TLorentzVector tlv; tlv.SetPtEtaPhiM(
pt,
eta,
phi,
m);
367 std::vector<SampledParticle>
shoot() {
369 std::cout <<
"ParticleSampler throwing " << numparticles <<
" particles" << std::endl;
370 std::vector<SampledParticle> rtn;
371 for (
int i=0;
i<numparticles ;
i++){
374 std::cout <<
" shot pid=" <<
pid << std::endl;
385 std::cout <<
" (" <<
p.m_mom.Eta() <<
", " <<
p.m_mom.Phi() <<
", " <<
p.m_mom.E() <<
", " <<
p.m_mom.M() <<
")" << std::endl;
constexpr double photonMassInMeV
various mass-less particles
PosSampler(float x, float y, float z, float t=0)
std::map< unsigned int, float > m_massdict
constexpr double tauMassInMeV
the mass of the tau (in MeV)
void mean(std::vector< double > &bins, std::vector< double > &values, const std::vector< std::string > &files, const std::string &histname, const std::string &tplotname, const std::string &label="")
virtual ~Sampler()=default
Scalar phi() const
phi method
NullMomSampler(float mass=0.0)
Scalar eta() const
pseudorapidity method
virtual TLorentzVector shoot()
constexpr double muonMassInMeV
the mass of the muon (in MeV)
constexpr double etaMassInMeV
the mass of the eta meson (in MeV)
constexpr double chargedKaonMassInMeV
the mass of the charged kaon (in MeV)
GaussianSampler(float mean, float sigma)
constexpr double piZeroMassInMeV
the mass of the pi zero (in MeV)
constexpr double tauNeutrinoMassInMeV
CyclicSeqSampler(const CyclicSeqSampler &orig)
~ParticleSampler()=default
constexpr double muonNeutrinoMassInMeV
SampledParticle(int pid=0, TLorentzVector mom=TLorentzVector(0, 0, 0, 0), TLorentzVector pos=TLorentzVector(0, 0, 0, 0))
constexpr double chargedPionMassInMeV
the mass of the charged pion (in MeV)
constexpr double KZeroMassInMeV
the mass of the neutral kaon (K0) (in MeV)
PtEtaMPhiSampler(const PtEtaMPhiSampler &other)=delete
CyclicSeqSampler(std::string s)
std::vector< SampledParticle > shoot()
ParticleSampler(Sampler *pid, MomSampler *mom, int n=1)
LogSampler(float low, float high)
constexpr double electronNeutrinoMassInMeV
constexpr double protonMassInMeV
the mass of the proton (in MeV)
PtEtaMPhiSampler & operator=(const PtEtaMPhiSampler &other)=delete
std::vector< int > m_sequence
PtEtaMPhiSampler(float ptmin, float ptmax, float etamin, float etamax, float mass=0.0, float phimin=0, float phimax=2.*TMath::Pi())
constexpr double neutronMassInMeV
the mass of the neutron (in MeV)
constexpr double electronMassInMeV
the mass of the electron (in MeV)