CMS 3D CMS Logo

PPSUtilities.h
Go to the documentation of this file.
1 #ifndef PPSTOOLS_UTILITIES
2 #define PPSTOOLS_UTILITIES
3 #include <cmath>
4 #include <string>
5 #include <CLHEP/Units/PhysicalConstants.h>
6 #include <CLHEP/Units/GlobalSystemOfUnits.h>
7 #include "TLorentzVector.h"
8 
9 
10 class H_BeamParticle;
11 
12 namespace HepMC
13 {
14  class GenParticle;
15 }
16 
17 namespace PPSTools {
18 
19  struct FullBeamInfo {
22  double fBeamMomentum;
23  double fBeamEnergy;
24  };
25 
26  struct LimitedBeamInfo {
27  double fBeamMomentum;
28  double fBeamEnergy;
29  };
30 
31 const double urad = 1./1000000.;
32 const double ProtonMass=CLHEP::proton_mass_c2/GeV;
33 const double ProtonMassSQ=pow(ProtonMass,2);
34 
35 TLorentzVector HectorParticle2LorentzVector(H_BeamParticle hp,int );
36 
37 H_BeamParticle LorentzVector2HectorParticle(TLorentzVector p);
38 
39 void LorentzBoost(H_BeamParticle& h_p,int dir, const std::string& frame, FullBeamInfo const& bi);
40 
41 void LorentzBoost(TLorentzVector& p_out, const std::string& frame, FullBeamInfo const& bi);
42 
43 void LorentzBoost(HepMC::GenParticle& p_out, const std::string& frame, FullBeamInfo const& bi);
44 
45 void Get_t_and_xi(const TLorentzVector* proton,double& t,double& xi, LimitedBeamInfo const& bi) ;
46 
47 };
48 #endif
TLorentzVector HectorParticle2LorentzVector(H_BeamParticle hp, int)
Definition: PPSUtilities.cc:6
const double GeV
Definition: MathUtil.h:16
H_BeamParticle LorentzVector2HectorParticle(TLorentzVector p)
Definition: PPSUtilities.cc:17
static const double urad
void LorentzBoost(HepMC::GenParticle &p_out, const std::string &frame, FullBeamInfo const &bi)
susybsm::HSCParticleRefProd hp
Definition: classes.h:27
static const double ProtonMass
dbl *** dir
Definition: mlp_gen.cc:35
static const double ProtonMassSQ
void Get_t_and_xi(const TLorentzVector *proton, double &t, double &xi, LimitedBeamInfo const &bi)
Definition: PPSUtilities.cc:65
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:40