Main Page
Namespaces
Classes
Package Documentation
src
IOMC
EventVertexGenerators
interface
BetafuncEvtVtxGenerator.h
Go to the documentation of this file.
1
#ifndef IOMC_BetafuncEvtVtxGenerator_H
2
#define IOMC_BetafuncEvtVtxGenerator_H
3
4
/*
5
________________________________________________________________________
6
7
BetafuncEvtVtxGenerator
8
9
Smear vertex according to the Beta function on the transverse plane
10
and a Gaussian on the z axis. It allows the beam to have a crossing
11
angle (dx/dz and dy/dz).
12
13
Based on GaussEvtVtxGenerator.h
14
implemented by Francisco Yumiceva (yumiceva@fnal.gov)
15
16
FERMILAB
17
2006
18
________________________________________________________________________
19
*/
20
21
#include "
IOMC/EventVertexGenerators/interface/BaseEvtVtxGenerator.h
"
22
#include "
FWCore/Framework/interface/ESWatcher.h
"
23
#include "
CondFormats/DataRecord/interface/SimBeamSpotObjectsRcd.h
"
24
25
namespace
CLHEP
{
26
class
HepRandomEngine;
27
}
28
29
class
BetafuncEvtVtxGenerator
:
public
BaseEvtVtxGenerator
30
{
31
public
:
32
BetafuncEvtVtxGenerator
(
const
edm::ParameterSet
&
p
);
33
~
BetafuncEvtVtxGenerator
()
override
;
34
35
void
beginRun(
const
edm::Run
& ,
const
edm::EventSetup
&)
override
;
36
void
beginLuminosityBlock(
edm::LuminosityBlock
const
&,
edm::EventSetup
const
&)
override
;
37
39
//virtual CLHEP::Hep3Vector * newVertex();
40
HepMC::FourVector newVertex(CLHEP::HepRandomEngine*)
const override
;
41
42
TMatrixD
const
* GetInvLorentzBoost()
const override
;
43
44
46
void
sigmaZ
(
double
s
=1.0);
47
49
void
X0
(
double
m
=0) { fX0=
m
; }
51
void
Y0
(
double
m
=0) { fY0=
m
; }
53
void
Z0
(
double
m
=0) { fZ0=
m
; }
54
56
void
betastar
(
double
m
=0) { fbetastar=
m
; }
58
void
emittance
(
double
m
=0) { femittance=
m
; }
59
61
double
BetaFunction(
double
z,
double
z0)
const
;
62
63
private
:
65
BetafuncEvtVtxGenerator
(
const
BetafuncEvtVtxGenerator
&p) =
delete
;
67
BetafuncEvtVtxGenerator
& operator = (
const
BetafuncEvtVtxGenerator
& rhs ) =
delete
;
68
69
void
setBoost(
double
alpha
,
double
phi);
70
private
:
71
72
bool
readDB_
;
73
74
double
fX0, fY0,
fZ0
;
75
double
fSigmaZ
;
76
//double fdxdz, fdydz;
77
double
fbetastar,
femittance
;
78
// double falpha;
79
double
fTimeOffset
;
80
81
TMatrixD
boost_
;
82
83
void
update
(
const
edm::EventSetup
& iEventSetup);
84
edm::ESWatcher<SimBeamSpotObjectsRcd>
parameterWatcher_
;
85
};
86
87
#endif
alpha
float alpha
Definition:
AMPTWrapper.h:95
BetafuncEvtVtxGenerator::X0
void X0(double m=0)
set mean in X in cm
Definition:
BetafuncEvtVtxGenerator.h:49
ESWatcher.h
AlCaHLTBitMon_ParallelJobs.p
p
Definition:
AlCaHLTBitMon_ParallelJobs.py:153
edm::LuminosityBlock
Definition:
LuminosityBlock.h:47
alignCSCRings.s
s
Definition:
alignCSCRings.py:92
SimBeamSpotObjectsRcd.h
BetafuncEvtVtxGenerator::fZ0
double fZ0
Definition:
BetafuncEvtVtxGenerator.h:74
BaseEvtVtxGenerator.h
fftjetvertexadder_cfi.sigmaZ
sigmaZ
Definition:
fftjetvertexadder_cfi.py:32
BetafuncEvtVtxGenerator::fTimeOffset
double fTimeOffset
Definition:
BetafuncEvtVtxGenerator.h:79
BetafuncEvtVtxGenerator::femittance
double femittance
Definition:
BetafuncEvtVtxGenerator.h:77
CLHEP
Definition:
CocoaGlobals.h:27
BetafuncEvtVtxGenerator
Definition:
BetafuncEvtVtxGenerator.h:29
BetafuncEvtVtxGenerator::fSigmaZ
double fSigmaZ
Definition:
BetafuncEvtVtxGenerator.h:75
BetafuncEvtVtxGenerator::betastar
void betastar(double m=0)
set beta_star
Definition:
BetafuncEvtVtxGenerator.h:56
BetafuncEvtVtxGenerator::Y0
void Y0(double m=0)
set mean in Y in cm
Definition:
BetafuncEvtVtxGenerator.h:51
edm::EventSetup
Definition:
EventSetup.h:57
edm::ESWatcher< SimBeamSpotObjectsRcd >
BetafuncEvtVtxGenerator::readDB_
bool readDB_
Definition:
BetafuncEvtVtxGenerator.h:72
BetafuncEvtVtxGenerator::parameterWatcher_
edm::ESWatcher< SimBeamSpotObjectsRcd > parameterWatcher_
Definition:
BetafuncEvtVtxGenerator.h:84
BaseEvtVtxGenerator
Definition:
BaseEvtVtxGenerator.h:23
BetafuncEvtVtxGenerator::Z0
void Z0(double m=0)
set mean in Z in cm
Definition:
BetafuncEvtVtxGenerator.h:53
funct::m
m
Definition:
Factorize.h:56
update
#define update(a, b)
Definition:
TrackClassifier.cc:10
edm::ParameterSet
Definition:
ParameterSet.h:36
BetafuncEvtVtxGenerator::boost_
TMatrixD boost_
Definition:
BetafuncEvtVtxGenerator.h:81
BetafuncEvtVtxGenerator::emittance
void emittance(double m=0)
emittance (no the normalized)
Definition:
BetafuncEvtVtxGenerator.h:58
edm::Run
Definition:
Run.h:45
Generated for CMSSW Reference Manual by
1.8.11