#include <HectorTransport.h>
Public Member Functions | |
HectorTransport (const edm::ParameterSet &ps) | |
void | process (const HepMC::GenEvent *ev, const edm::EventSetup &es, CLHEP::HepRandomEngine *engine) override |
~HectorTransport () override | |
Public Member Functions inherited from BaseProtonTransport | |
void | addPartToHepMC (HepMC::GenEvent *) |
void | ApplyBeamCorrection (HepMC::GenParticle *p) |
void | ApplyBeamCorrection (TLorentzVector &p) |
BaseProtonTransport (const edm::ParameterSet &iConfig) | |
double | beamEnergy () |
double | beamMomentum () |
void | clear () |
std::vector< LHCTransportLink > & | getCorrespondenceMap () |
void | setBeamEnergy (double e) |
virtual | ~BaseProtonTransport () |
Private Member Functions | |
bool | setBeamLine () |
bool | transportProton (const HepMC::GenParticle *) |
propagate the particles through a beamline to PPS More... | |
Private Attributes | |
std::unique_ptr< H_BeamLine > | m_beamline45 |
std::unique_ptr< H_BeamLine > | m_beamline56 |
double | m_fEtacut |
double | m_fMomentumMin |
bool | m_verbosity |
Static Private Attributes | |
static constexpr double | fPPSBeamLineLength_ = 250. |
Additional Inherited Members | |
Protected Types inherited from BaseProtonTransport | |
enum | TransportMode { TransportMode::HECTOR, TransportMode::TOTEM, TransportMode::OPTICALFUNCTIONS } |
Protected Attributes inherited from BaseProtonTransport | |
bool | bApplyZShift |
std::string | beam1Filename_ |
std::string | beam2Filename_ |
double | beamEnergy_ |
double | beamMomentum_ |
CLHEP::HepRandomEngine * | engine_ |
double | etaCut_ |
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 |
std::map< unsigned int, double > | m_xAtTrPoint |
std::map< unsigned int, double > | m_yAtTrPoint |
TransportMode | MODE |
double | momentumCut_ |
int | NEvent |
bool | verbosity_ |
Definition at line 35 of file HectorTransport.h.
HectorTransport::HectorTransport | ( | const edm::ParameterSet & | ps | ) |
Definition at line 12 of file HectorTransport.cc.
References BaseProtonTransport::beam1Filename_, BaseProtonTransport::beam2Filename_, BaseProtonTransport::beamEnergy_, BaseProtonTransport::fBeamXatIP, BaseProtonTransport::fBeamYatIP, BaseProtonTransport::fCrossingAngle_45, BaseProtonTransport::fCrossingAngle_56, BaseProtonTransport::fVtxMeanX, BaseProtonTransport::fVtxMeanY, BaseProtonTransport::fVtxMeanZ, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), BaseProtonTransport::HECTOR, BaseProtonTransport::m_sig_E, BaseProtonTransport::m_sigmaSTX, BaseProtonTransport::m_sigmaSTY, BaseProtonTransport::m_sigmaSX, BaseProtonTransport::m_sigmaSY, BaseProtonTransport::MODE, setBeamLine(), and AlCaHLTBitMon_QueryRunRegistry::string.
|
override |
Definition at line 10 of file HectorTransport.cc.
|
overridevirtual |
Implements BaseProtonTransport.
Definition at line 42 of file HectorTransport.cc.
References BaseProtonTransport::clear(), BaseProtonTransport::engine_, BaseProtonTransport::etaCut_, GenParticle::GenParticle, mps_splice::line, BaseProtonTransport::m_beamPart, BaseProtonTransport::momentumCut_, and transportProton().
|
private |
Definition at line 174 of file HectorTransport.cc.
References b1, b2, BaseProtonTransport::beam1Filename_, BaseProtonTransport::beam2Filename_, fPPSBeamLineLength_, BaseProtonTransport::fPPSRegionStart_45, BaseProtonTransport::fPPSRegionStart_56, LogDebug, m_beamline45, m_beamline56, and BaseProtonTransport::verbosity_.
Referenced by HectorTransport().
|
private |
propagate the particles through a beamline to PPS
Definition at line 71 of file HectorTransport.cc.
References BaseProtonTransport::ApplyBeamCorrection(), BaseProtonTransport::bApplyZShift, BaseProtonTransport::beamEnergy_, BaseProtonTransport::beamMomentum_, ALCARECOTkAlJpsiMuMu_cff::charge, cm_to_m, cm_to_um, MillePedeFileConverter_cfg::e, BaseProtonTransport::fBeamXatIP, BaseProtonTransport::fBeamYatIP, BaseProtonTransport::fCrossingAngle_45, BaseProtonTransport::fCrossingAngle_56, BaseProtonTransport::fPPSRegionStart_45, BaseProtonTransport::fPPSRegionStart_56, BaseProtonTransport::fVtxMeanX, BaseProtonTransport::fVtxMeanY, PPSTools::HectorParticle2LorentzVector(), mps_splice::line, LogDebug, PPSTools::LorentzBoost(), m_beamline45, m_beamline56, BaseProtonTransport::m_beamPart, BaseProtonTransport::m_xAtTrPoint, BaseProtonTransport::m_yAtTrPoint, EgHLTOffHistBins_cfi::mass, mm_to_cm, funct::pow(), multPhiCorr_741_25nsDY_cfi::px, multPhiCorr_741_25nsDY_cfi::py, mathSSE::sqrt(), funct::tan(), um_to_mm, urad, and BaseProtonTransport::verbosity_.
Referenced by process().
|
staticconstexprprivate |
Definition at line 44 of file HectorTransport.h.
Referenced by setBeamLine().
|
private |
Definition at line 58 of file HectorTransport.h.
Referenced by setBeamLine(), and transportProton().
|
private |
Definition at line 59 of file HectorTransport.h.
Referenced by setBeamLine(), and transportProton().
|
private |
Definition at line 54 of file HectorTransport.h.
|
private |
Definition at line 55 of file HectorTransport.h.
|
private |
Definition at line 43 of file HectorTransport.h.