CMS 3D CMS Logo

MuonBremsstrahlungSimulator.h
Go to the documentation of this file.
1 #ifndef MUONBREMSSTRAHLUNGSIMULATOR_H
2 #define MUONBREMSSTRAHLUNGSIMULATOR_H
3 
5 
22 #include <string>
23 
24 class TF1;
25 
26 class ParticlePropagator;
28 
30 public:
33  double A, double Z, double density, double radLen, double photonEnergyCut, double photonFractECut);
34 
37 
38  // Returns the actual Muon brem Energy
39  inline const XYZTLorentzVector& deltaP_BremMuon() const { return deltaPMuon; }
40 
41  // Returns the actual photon brem Energy
42  inline const XYZTLorentzVector& deltaP_BremPhoton() const { return brem_photon; }
43 
44 private:
45  TF1* f1;
46 
47  int npar;
48 
50  double photonEnergy;
51  double bremProba;
53  double photonFractE;
54 
56  double xmin, xmax, rand;
57  double d; //distance
58 
60  unsigned int poisson(double ymu);
61 
64 
67 
69  double gbteth(const double ener, const double partm, const double efrac, RandomEngineAndDistribution const*) const;
70 
71  // The actual Muon Brem
73  //The photon brem
75 };
76 #endif
MuonBremsstrahlungSimulator::rand
double rand
Definition: MuonBremsstrahlungSimulator.h:56
MaterialEffectsSimulator.h
AlCaHLTBitMon_ParallelJobs.p
p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
MuonBremsstrahlungSimulator::compute
void compute(ParticlePropagator &Particle, RandomEngineAndDistribution const *) override
Generate Bremsstrahlung photons.
Definition: MuonBremsstrahlungSimulator.cc:31
MuonBremsstrahlungSimulator::deltaPMuon
XYZTLorentzVector deltaPMuon
Definition: MuonBremsstrahlungSimulator.h:72
XYZTLorentzVector
math::XYZTLorentzVector XYZTLorentzVector
Definition: RawParticle.h:25
MuonBremsstrahlungSimulator::f1
TF1 * f1
Definition: MuonBremsstrahlungSimulator.h:45
MuonBremsstrahlungSimulator::xmin
double xmin
The fractional photon energy cut (determined from the above two)
Definition: MuonBremsstrahlungSimulator.h:56
MuonBremsstrahlungSimulator::brem_photon
XYZTLorentzVector brem_photon
Definition: MuonBremsstrahlungSimulator.h:74
MuonBremsstrahlungSimulator::d
double d
Definition: MuonBremsstrahlungSimulator.h:57
MuonBremsstrahlungSimulator::npar
int npar
Definition: MuonBremsstrahlungSimulator.h:47
MuonBremsstrahlungSimulator::xmax
double xmax
Definition: MuonBremsstrahlungSimulator.h:56
MuonBremsstrahlungSimulator::poisson
unsigned int poisson(double ymu)
Generate numbers according to a Poisson distribution of mean ymu.
MaterialEffectsSimulator::Z
double Z
Definition: MaterialEffectsSimulator.h:88
fastSimProducer_cff.photonEnergyCut
photonEnergyCut
Definition: fastSimProducer_cff.py:22
MaterialEffectsSimulator
Definition: MaterialEffectsSimulator.h:25
MuonBremsstrahlungSimulator::~MuonBremsstrahlungSimulator
~MuonBremsstrahlungSimulator() override
Default destructor.
Definition: MuonBremsstrahlungSimulator.h:36
MuonBremsstrahlungSimulator::photonFractE
double photonFractE
The minimum photon fractional energy (wrt that of the electron)
Definition: MuonBremsstrahlungSimulator.h:53
MuonBremsstrahlungSimulator::brem
XYZTLorentzVector brem(ParticlePropagator &p, RandomEngineAndDistribution const *) const
Compute Brem photon energy and angles, if any.
Definition: MuonBremsstrahlungSimulator.cc:116
MaterialEffectsSimulator::density
double density
Definition: MaterialEffectsSimulator.h:89
A
ParticlePropagator
Definition: ParticlePropagator.h:28
MuonBremsstrahlungSimulator::bremProba
double bremProba
Definition: MuonBremsstrahlungSimulator.h:51
MuonBremsstrahlungSimulator::gbteth
double gbteth(const double ener, const double partm, const double efrac, RandomEngineAndDistribution const *) const
A universal angular distribution - still from GEANT.
Definition: MuonBremsstrahlungSimulator.cc:153
MaterialEffectsSimulator::radLen
double radLen
Definition: MaterialEffectsSimulator.h:90
MuonBremsstrahlungSimulator::deltaP_BremMuon
const XYZTLorentzVector & deltaP_BremMuon() const
Definition: MuonBremsstrahlungSimulator.h:39
MuonBremsstrahlungSimulator
Definition: MuonBremsstrahlungSimulator.h:29
Particle
Definition: Particle.py:1
MuonBremsstrahlungSimulator::MuonBremsstrahlungSimulator
MuonBremsstrahlungSimulator(double A, double Z, double density, double radLen, double photonEnergyCut, double photonFractECut)
Constructor.
Definition: MuonBremsstrahlungSimulator.cc:20
MuonBremsstrahlungSimulator::photonEnergy
double photonEnergy
The minimum photon energy to be radiated, in GeV.
Definition: MuonBremsstrahlungSimulator.h:50
MuonBremsstrahlungSimulator::deltaP_BremPhoton
const XYZTLorentzVector & deltaP_BremPhoton() const
Definition: MuonBremsstrahlungSimulator.h:42
RandomEngineAndDistribution
Definition: RandomEngineAndDistribution.h:18