#include <HectorTransport.h>
Public Member Functions | |
HectorTransport () | |
HectorTransport (const edm::ParameterSet &ps, bool verbosity) | |
void | process (const HepMC::GenEvent *, const edm::EventSetup &, CLHEP::HepRandomEngine *) override |
~HectorTransport () override | |
Public Member Functions inherited from ProtonTransport | |
void | addPartToHepMC (HepMC::GenEvent *) |
void | ApplyBeamCorrection (HepMC::GenParticle *p) |
void | ApplyBeamCorrection (TLorentzVector &p) |
void | clear () |
std::vector< LHCTransportLink > & | getCorrespondenceMap () |
ProtonTransport () | |
virtual | ~ProtonTransport () |
Private Member Functions | |
void | genProtonsLoop (const HepMC::GenEvent *, const edm::EventSetup &) |
Clears BeamParticle, prepares PPSHector for a next Aperture check or/and a next event. More... | |
double | getBeamEnergy () |
double | getBeamMomentum () |
void | setBeamEnergy (double e) |
bool | setBeamLine () |
bool | transportProton (const HepMC::GenParticle *) |
propagate the particles through a beamline to PPS More... | |
Private Attributes | |
double | m_b_ctpps_b |
std::string | m_beam1filename |
std::string | m_beam2filename |
std::unique_ptr< H_BeamLine > | m_beamline45 |
std::unique_ptr< H_BeamLine > | m_beamline56 |
double | m_f_ctpps_f |
double | m_fEtacut |
double | m_fMomentumMin |
double | m_lengthctpps |
edm::ESHandle< ParticleDataTable > | m_pdt |
Additional Inherited Members | |
Protected Types inherited from ProtonTransport | |
enum | TransportMode { TransportMode::HECTOR, TransportMode::TOTEM } |
Protected Attributes inherited from ProtonTransport | |
bool | bApplyZShift |
CLHEP::HepRandomEngine * | engine |
double | fBeamEnergy |
double | fBeamMomentum |
double | fBeamXatIP |
double | fBeamYatIP |
double | fCrossingAngle_45 |
double | fCrossingAngle_56 |
double | fPPSRegionStart_45 |
double | fPPSRegionStart_56 |
double | fVtxMeanX |
double | fVtxMeanY |
double | fVtxMeanZ |
std::map< unsigned int, TLorentzVector > | m_beamPart |
std::vector< LHCTransportLink > | m_CorrespondenceMap |
double | m_sig_E |
double | m_sigmaSTX |
double | m_sigmaSTY |
double | m_sigmaSX |
double | m_sigmaSY |
bool | m_verbosity |
std::map< unsigned int, double > | m_xAtTrPoint |
std::map< unsigned int, double > | m_yAtTrPoint |
TransportMode | MODE |
int | NEvent |
Definition at line 37 of file HectorTransport.h.
HectorTransport::HectorTransport | ( | ) |
Definition at line 10 of file HectorTransport.cc.
HectorTransport::HectorTransport | ( | const edm::ParameterSet & | ps, |
bool | verbosity | ||
) |
Definition at line 12 of file HectorTransport.cc.
References ProtonTransport::bApplyZShift, ProtonTransport::fBeamEnergy, ProtonTransport::fBeamMomentum, ProtonTransport::fBeamXatIP, ProtonTransport::fBeamYatIP, ProtonTransport::fCrossingAngle_45, ProtonTransport::fCrossingAngle_56, objects.autophobj::float, ProtonTransport::fPPSRegionStart_45, ProtonTransport::fPPSRegionStart_56, ProtonTransport::fVtxMeanX, ProtonTransport::fVtxMeanY, ProtonTransport::fVtxMeanZ, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), ProtonTransport::HECTOR, m_b_ctpps_b, m_beam1filename, m_beam2filename, m_f_ctpps_f, m_fEtacut, m_fMomentumMin, m_lengthctpps, ProtonTransport::m_sig_E, ProtonTransport::m_sigmaSTX, ProtonTransport::m_sigmaSTY, ProtonTransport::m_sigmaSX, ProtonTransport::m_sigmaSY, ProtonTransport::m_verbosity, ProtonTransport::MODE, PPSTools::ProtonMassSQ, setBeamLine(), mathSSE::sqrt(), and HIPAlignmentAlgorithm_cfi::verbosity.
|
override |
Definition at line 53 of file HectorTransport.cc.
References ProtonTransport::clear().
|
private |
Clears BeamParticle, prepares PPSHector for a next Aperture check or/and a next event.
Adds the stable protons from the event ev to a beamline
Definition at line 156 of file HectorTransport.cc.
References GenParticle::GenParticle, mps_splice::line, ProtonTransport::m_beamPart, m_fEtacut, m_fMomentumMin, and transportProton().
Referenced by process().
|
inlineprivate |
Definition at line 57 of file HectorTransport.h.
|
inlineprivate |
Definition at line 59 of file HectorTransport.h.
|
overridevirtual |
Implements ProtonTransport.
Definition at line 58 of file HectorTransport.cc.
References ProtonTransport::addPartToHepMC(), ProtonTransport::engine, genProtonsLoop(), edm::EventSetup::getData(), and m_pdt.
|
inlineprivate |
Definition at line 55 of file HectorTransport.h.
References MillePedeFileConverter_cfg::e, ProtonMassSQ, and mathSSE::sqrt().
|
private |
Definition at line 175 of file HectorTransport.cc.
References LogDebug, m_b_ctpps_b, m_beam1filename, m_beam2filename, m_beamline45, m_beamline56, m_f_ctpps_f, m_lengthctpps, and ProtonTransport::m_verbosity.
Referenced by HectorTransport().
|
private |
propagate the particles through a beamline to PPS
Definition at line 65 of file HectorTransport.cc.
References ProtonTransport::ApplyBeamCorrection(), ProtonTransport::bApplyZShift, ALCARECOTkAlJpsiMuMu_cff::charge, cm_to_m, cm_to_um, MillePedeFileConverter_cfg::e, ProtonTransport::fBeamEnergy, ProtonTransport::fBeamMomentum, ProtonTransport::fBeamXatIP, ProtonTransport::fBeamYatIP, ProtonTransport::fCrossingAngle_45, ProtonTransport::fCrossingAngle_56, ProtonTransport::fVtxMeanX, ProtonTransport::fVtxMeanY, PPSTools::HectorParticle2LorentzVector(), mps_splice::line, LogDebug, PPSTools::LorentzBoost(), m_b_ctpps_b, m_beamline45, m_beamline56, ProtonTransport::m_beamPart, m_f_ctpps_f, ProtonTransport::m_verbosity, ProtonTransport::m_xAtTrPoint, ProtonTransport::m_yAtTrPoint, ResonanceBuilder::mass, mm_to_cm, funct::pow(), mathSSE::sqrt(), funct::tan(), um_to_mm, and urad.
Referenced by genProtonsLoop().
|
private |
Definition at line 75 of file HectorTransport.h.
Referenced by HectorTransport(), setBeamLine(), and transportProton().
|
private |
Definition at line 82 of file HectorTransport.h.
Referenced by HectorTransport(), and setBeamLine().
|
private |
Definition at line 83 of file HectorTransport.h.
Referenced by HectorTransport(), and setBeamLine().
|
private |
Definition at line 79 of file HectorTransport.h.
Referenced by setBeamLine(), and transportProton().
|
private |
Definition at line 80 of file HectorTransport.h.
Referenced by setBeamLine(), and transportProton().
|
private |
Definition at line 74 of file HectorTransport.h.
Referenced by HectorTransport(), setBeamLine(), and transportProton().
|
private |
Definition at line 70 of file HectorTransport.h.
Referenced by genProtonsLoop(), and HectorTransport().
|
private |
Definition at line 71 of file HectorTransport.h.
Referenced by genProtonsLoop(), and HectorTransport().
|
private |
Definition at line 73 of file HectorTransport.h.
Referenced by HectorTransport(), and setBeamLine().
|
private |
Definition at line 68 of file HectorTransport.h.
Referenced by process().