CMS 3D CMS Logo

RandomtXiGunProducer.h
Go to the documentation of this file.
1 #ifndef RandomtXiGunProducer_H
2 #define RandomtXiGunProducer_H
3 
6 
7 namespace edm {
8 
10  public:
12  ~RandomtXiGunProducer() override;
13 
14  private:
15  void produce(Event& e, const EventSetup& es) override;
16 
17  HepMC::FourVector make_particle(double t, double Xi, double phi, int PartID, int direction);
18  double Minimum_t(double xi) {
19  double partE = fpEnergy * (1. - xi);
20  double massSQ = pow(PData->mass().value(), 2);
21  double partP = sqrt(partE * partE - massSQ);
22  return -2. * (sqrt(fpEnergy * fpEnergy - massSQ) * partP - fpEnergy * partE + massSQ);
23  };
24 
25  protected:
26  // data members
27 
28  double fMint;
29  double fMaxt;
30  double fMinXi;
31  double fMaxXi;
32  };
33 } // namespace edm
34 #endif
HepMC::FourVector make_particle(double t, double Xi, double phi, int PartID, int direction)
RandomtXiGunProducer(const ParameterSet &)
T sqrt(T t)
Definition: SSEVec.h:19
void produce(Event &e, const EventSetup &es) override
HLT enums.
const HepPDT::ParticleData * PData
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:29