#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 () |
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 | |
const CTPPSBeamParameters * | beamParameters_ |
edm::ESGetToken < CTPPSBeamParameters, CTPPSBeamParametersRcd > | beamParametersToken_ |
const BeamSpotObjects * | beamspot_ |
edm::ESGetToken < BeamSpotObjects, BeamSpotObjectsRcd > | beamspotToken_ |
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 | fCrossingAngleX_45 |
double | fCrossingAngleX_56 |
double | fCrossingAngleY_45 |
double | fCrossingAngleY_56 |
double | fPPSRegionStart_45 |
double | fPPSRegionStart_56 |
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 | 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 14 of file HectorTransport.cc.
References BaseProtonTransport::beam1Filename_, BaseProtonTransport::beam2Filename_, BaseProtonTransport::fCrossingAngleX_45, BaseProtonTransport::fCrossingAngleX_56, BaseProtonTransport::fCrossingAngleY_45, BaseProtonTransport::fCrossingAngleY_56, edm::ParameterSet::getParameter(), 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 12 of file HectorTransport.cc.
|
overridevirtual |
Implements BaseProtonTransport.
Definition at line 45 of file HectorTransport.cc.
References beamParameters_, beamParametersToken_, beamspot_, beamspotToken_, BaseProtonTransport::clear(), BaseProtonTransport::engine_, BaseProtonTransport::etaCut_, GenParticle::GenParticle, edm::EventSetup::getData(), geometryCSVtoXML::line, BaseProtonTransport::m_beamPart, BaseProtonTransport::momentumCut_, and transportProton().
|
private |
Definition at line 193 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 77 of file HectorTransport.cc.
References BaseProtonTransport::beamEnergy_, BaseProtonTransport::beamMomentum_, beamParameters_, beamspot_, RecoTauCleanerPlugins::charge, cm_to_mm, funct::cos(), alignCSCRings::e, BaseProtonTransport::fCrossingAngleX_45, BaseProtonTransport::fCrossingAngleX_56, BaseProtonTransport::fCrossingAngleY_45, BaseProtonTransport::fCrossingAngleY_56, BaseProtonTransport::fPPSRegionStart_45, BaseProtonTransport::fPPSRegionStart_56, CTPPSBeamParameters::getVtxOffsetX45(), CTPPSBeamParameters::getVtxOffsetY45(), CTPPSBeamParameters::getVtxOffsetZ45(), BeamSpotObjects::GetX(), BeamSpotObjects::GetY(), BeamSpotObjects::GetZ(), geometryCSVtoXML::line, LogDebug, m_beamline45, m_beamline56, BaseProtonTransport::m_beamPart, BaseProtonTransport::m_xAtTrPoint, BaseProtonTransport::m_yAtTrPoint, ResonanceBuilder::mass, mm_to_um, funct::pow(), BaseProtonTransport::produceHitsRelativeToBeam_, ProtonMassSQ, mathSSE::sqrt(), funct::tan(), theta(), um_to_mm, urad, BaseProtonTransport::useBeamPositionFromLHCInfo_, and BaseProtonTransport::verbosity_.
Referenced by process().
|
private |
Definition at line 69 of file HectorTransport.h.
Referenced by process(), and transportProton().
|
private |
Definition at line 66 of file HectorTransport.h.
Referenced by process().
|
private |
Definition at line 70 of file HectorTransport.h.
Referenced by process(), and transportProton().
|
private |
Definition at line 67 of file HectorTransport.h.
Referenced by process().
|
staticprivate |
Definition at line 49 of file HectorTransport.h.
Referenced by setBeamLine().
|
private |
Definition at line 63 of file HectorTransport.h.
Referenced by setBeamLine(), and transportProton().
|
private |
Definition at line 64 of file HectorTransport.h.
Referenced by setBeamLine(), and transportProton().
|
private |
Definition at line 59 of file HectorTransport.h.
|
private |
Definition at line 60 of file HectorTransport.h.
|
private |
Definition at line 47 of file HectorTransport.h.