src
Utilities
PPS
interface
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
class
H_BeamParticle;
10
11
namespace
HepMC
{
12
class
GenParticle
;
13
}
14
15
namespace
PPSTools
{
16
17
struct
FullBeamInfo
{
18
double
fCrossingAngleBeam1
;
19
double
fCrossingAngleBeam2
;
20
double
fBeamMomentum
;
21
double
fBeamEnergy
;
22
};
23
24
struct
LimitedBeamInfo
{
25
double
fBeamMomentum
;
26
double
fBeamEnergy
;
27
};
28
29
const
double
urad
= 1. / 1000000.;
30
const
double
ProtonMass
= CLHEP::proton_mass_c2 / GeV;
31
const
double
ProtonMassSQ
=
pow
(
ProtonMass
, 2);
32
33
TLorentzVector
HectorParticle2LorentzVector
(H_BeamParticle
hp
,
int
);
34
35
H_BeamParticle
LorentzVector2HectorParticle
(TLorentzVector
p
);
36
37
void
LorentzBoost
(H_BeamParticle& h_p,
int
dir
,
const
std::string
&
frame
,
FullBeamInfo
const
& bi);
38
39
void
LorentzBoost
(TLorentzVector& p_out,
const
std::string
&
frame
,
FullBeamInfo
const
& bi);
40
41
void
LorentzBoost
(
HepMC::GenParticle
& p_out,
const
std::string
&
frame
,
FullBeamInfo
const
& bi);
42
43
void
Get_t_and_xi
(
const
TLorentzVector* proton,
double
&
t
,
double
&
xi
,
LimitedBeamInfo
const
& bi);
44
45
};
// namespace PPSTools
46
#endif
PPSTools::LorentzBoost
void LorentzBoost(H_BeamParticle &h_p, int dir, const std::string &frame, FullBeamInfo const &bi)
GenParticle.GenParticle
GenParticle
Definition:
GenParticle.py:18
PPSTools::HectorParticle2LorentzVector
TLorentzVector HectorParticle2LorentzVector(H_BeamParticle hp, int)
Definition:
PPSUtilities.cc:6
frame
Definition:
G4muDarkBremsstrahlungModel.h:27
GenParticle
Definition:
GenParticle.py:1
submitPVValidationJobs.t
string t
Definition:
submitPVValidationJobs.py:650
PPSTools::LimitedBeamInfo::fBeamMomentum
double fBeamMomentum
Definition:
PPSUtilities.h:25
PPSTools::LorentzVector2HectorParticle
H_BeamParticle LorentzVector2HectorParticle(TLorentzVector p)
Definition:
PPSUtilities.cc:16
conifer::pow
constexpr int pow(int x)
Definition:
conifer.h:24
PPSTools::LimitedBeamInfo::fBeamEnergy
double fBeamEnergy
Definition:
PPSUtilities.h:26
protons_cff.xi
xi
Definition:
protons_cff.py:21
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition:
AlCaHLTBitMon_QueryRunRegistry.py:256
DeadROC_duringRun.dir
dir
Definition:
DeadROC_duringRun.py:23
trackingPlots.hp
hp
Definition:
trackingPlots.py:1234
PPSTools::urad
const double urad
Definition:
PPSUtilities.h:29
PPSTools::FullBeamInfo::fBeamEnergy
double fBeamEnergy
Definition:
PPSUtilities.h:21
PPSTools::FullBeamInfo::fCrossingAngleBeam1
double fCrossingAngleBeam1
Definition:
PPSUtilities.h:18
PPSTools::ProtonMassSQ
const double ProtonMassSQ
Definition:
PPSUtilities.h:31
PPSTools::FullBeamInfo
Definition:
PPSUtilities.h:17
PPSTools::ProtonMass
const double ProtonMass
Definition:
PPSUtilities.h:30
PPSTools
Definition:
PPSUtilities.h:15
PPSTools::FullBeamInfo::fBeamMomentum
double fBeamMomentum
Definition:
PPSUtilities.h:20
HepMC
Definition:
GenParticle.h:15
PPSTools::LimitedBeamInfo
Definition:
PPSUtilities.h:24
PPSTools::Get_t_and_xi
void Get_t_and_xi(const TLorentzVector *proton, double &t, double &xi, LimitedBeamInfo const &bi)
Definition:
PPSUtilities.cc:72
PPSTools::FullBeamInfo::fCrossingAngleBeam2
double fCrossingAngleBeam2
Definition:
PPSUtilities.h:19
AlCaHLTBitMon_ParallelJobs.p
def p
Definition:
AlCaHLTBitMon_ParallelJobs.py:153
Generated for CMSSW Reference Manual by
1.8.14