#include <HectorTransport.h>
Public Member Functions | |
HectorTransport (const edm::ParameterSet &ps, edm::ConsumesCollector iC) | |
void | process (const HepMC::GenEvent *ev, const edm::EventSetup &es, CLHEP::HepRandomEngine *engine) override |
~HectorTransport () override | |
Public Member Functions inherited from BaseProtonTransport | |
void | addPartToHepMC (const HepMC::GenEvent *, 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 () |
virtual | ~BaseProtonTransport () |
Private Member Functions | |
bool | setBeamLine () |
bool | transportProton (const HepMC::GenParticle *) |
propagate the particles through a beamline to PPS More... | |
Private Attributes | |
const CTPPSBeamParameters * | beamParameters_ {nullptr} |
edm::ESGetToken< CTPPSBeamParameters, CTPPSBeamParametersRcd > | beamParametersToken_ |
const SimBeamSpotObjects * | beamspot_ {nullptr} |
edm::ESGetToken< SimBeamSpotObjects, SimBeamSpotObjectsRcd > | beamspotToken_ |
std::unique_ptr< H_BeamLine > | m_beamline45 |
std::unique_ptr< H_BeamLine > | m_beamline56 |
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 Member Functions inherited from BaseProtonTransport | |
void | setBeamFileNames (const std::string &nam1, const std::string &nam2) |
void | setBeamParameters (double stx, double sty, double sx, double sy, double se) |
void | setCrossingAngles (double cx45, double cx56, double cy45, double cy56) |
Protected Attributes inherited from BaseProtonTransport | |
bool | bApplyZShift_ |
std::string | beam1Filename_ {""} |
std::string | beam2Filename_ {""} |
CLHEP::HepRandomEngine * | engine_ {nullptr} |
double | etaCut_ |
double | fCrossingAngleX_45_ {0.0} |
double | fCrossingAngleX_56_ {0.0} |
double | fCrossingAngleY_45_ {0.0} |
double | fCrossingAngleY_56_ {0.0} |
double | fPPSRegionStart_45_ |
double | fPPSRegionStart_56_ |
std::map< unsigned int, TLorentzVector > | m_beamPart |
std::vector< LHCTransportLink > | m_CorrespondenceMap |
std::map< unsigned int, double > | m_xAtTrPoint |
std::map< unsigned int, double > | m_yAtTrPoint |
TransportMode | MODE |
double | momentumCut_ |
bool | produceHitsRelativeToBeam_ |
bool | useBeamPositionFromLHCInfo_ |
bool | verbosity_ |
Definition at line 39 of file HectorTransport.h.
HectorTransport::HectorTransport | ( | const edm::ParameterSet & | ps, |
edm::ConsumesCollector | iC | ||
) |
Definition at line 11 of file HectorTransport.cc.
References edm::ParameterSet::getParameter(), BaseProtonTransport::HECTOR, BaseProtonTransport::MODE, BaseProtonTransport::setBeamFileNames(), setBeamLine(), BaseProtonTransport::setBeamParameters(), BaseProtonTransport::setCrossingAngles(), AlCaHLTBitMon_QueryRunRegistry::string, fftjetcommon_cfi::sx, and fftjetcommon_cfi::sy.
|
override |
Definition at line 39 of file HectorTransport.cc.
|
overridevirtual |
Implements BaseProtonTransport.
Definition at line 44 of file HectorTransport.cc.
References beamParameters_, beamParametersToken_, beamspot_, beamspotToken_, BaseProtonTransport::clear(), BaseProtonTransport::engine_, BaseProtonTransport::etaCut_, GenParticle::GenParticle, edm::EventSetup::getData(), mps_splice::line, BaseProtonTransport::m_beamPart, BaseProtonTransport::momentumCut_, and transportProton().
|
private |
Definition at line 187 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 75 of file HectorTransport.cc.
References BaseProtonTransport::beamEnergy(), BaseProtonTransport::beamMomentum(), beamParameters_, beamspot_, ALCARECOTkAlJpsiMuMu_cff::charge, cm_to_mm, funct::cos(), MillePedeFileConverter_cfg::e, BaseProtonTransport::fCrossingAngleX_45_, BaseProtonTransport::fCrossingAngleX_56_, BaseProtonTransport::fCrossingAngleY_45_, BaseProtonTransport::fCrossingAngleY_56_, BaseProtonTransport::fPPSRegionStart_45_, BaseProtonTransport::fPPSRegionStart_56_, CTPPSBeamParameters::getVtxOffsetX45(), CTPPSBeamParameters::getVtxOffsetY45(), mps_splice::line, LogDebug, m_beamline45, m_beamline56, BaseProtonTransport::m_beamPart, BaseProtonTransport::m_xAtTrPoint, BaseProtonTransport::m_yAtTrPoint, EgHLTOffHistBins_cfi::mass, mm_to_um, funct::pow(), BaseProtonTransport::produceHitsRelativeToBeam_, ProtonMassSQ, multPhiCorr_741_25nsDY_cfi::px, multPhiCorr_741_25nsDY_cfi::py, mathSSE::sqrt(), funct::tan(), theta(), um_to_mm, urad, BaseProtonTransport::useBeamPositionFromLHCInfo_, BaseProtonTransport::verbosity_, SimBeamSpotObjects::x(), and SimBeamSpotObjects::y().
Referenced by process().
|
private |
Definition at line 62 of file HectorTransport.h.
Referenced by process(), and transportProton().
|
private |
Definition at line 59 of file HectorTransport.h.
Referenced by process().
|
private |
Definition at line 63 of file HectorTransport.h.
Referenced by process(), and transportProton().
|
private |
Definition at line 60 of file HectorTransport.h.
Referenced by process().
|
staticprivate |
Definition at line 47 of file HectorTransport.h.
Referenced by setBeamLine().
|
private |
Definition at line 56 of file HectorTransport.h.
Referenced by setBeamLine(), and transportProton().
|
private |
Definition at line 57 of file HectorTransport.h.
Referenced by setBeamLine(), and transportProton().