Public Member Functions | |
CTPPSDirectProtonSimulation (const edm::ParameterSet &) | |
~CTPPSDirectProtonSimulation () override | |
Public Member Functions inherited from edm::stream::EDProducer<> | |
EDProducer ()=default | |
bool | hasAbilityToProduceInBeginLumis () const final |
bool | hasAbilityToProduceInBeginProcessBlocks () const final |
bool | hasAbilityToProduceInBeginRuns () const final |
bool | hasAbilityToProduceInEndLumis () const final |
bool | hasAbilityToProduceInEndProcessBlocks () const final |
bool | hasAbilityToProduceInEndRuns () const final |
Static Public Member Functions | |
static void | fillDescriptions (edm::ConfigurationDescriptions &descriptions) |
Private Member Functions | |
void | processProton (const HepMC::GenVertex *in_vtx, const HepMC::GenParticle *in_trk, const CTPPSGeometry &geometry, const LHCInfo &lhcInfo, const CTPPSBeamParameters &beamParameters, const LHCInterpolatedOpticalFunctionsSetCollection &opticalFunctions, CLHEP::HepRandomEngine *rndEngine, std::vector< CTPPSLocalTrackLite > &out_tracks, edm::DetSetVector< TotemRPRecHit > &out_strip_hits, edm::DetSetVector< CTPPSPixelRecHit > &out_pixel_hits, edm::DetSetVector< CTPPSDiamondRecHit > &out_diamond_hits, std::map< int, edm::DetSetVector< TotemRPRecHit >> &out_strip_hits_per_particle, std::map< int, edm::DetSetVector< CTPPSPixelRecHit >> &out_pixel_hits_per_particle, std::map< int, edm::DetSetVector< CTPPSDiamondRecHit >> &out_diamond_hits_per_particle) const |
void | produce (edm::Event &, const edm::EventSetup &) override |
Private Attributes | |
bool | checkApertures_ |
simulation parameters More... | |
bool | checkIsHit_ |
std::unique_ptr< TF2 > | empiricalAperture45_ |
std::unique_ptr< TF2 > | empiricalAperture56_ |
edm::EDGetTokenT< edm::HepMCProduct > | hepMCToken_ |
double | insensitiveMarginStrips_ |
size of insensitive margin at sensor's edge facing the beam, in mm More... | |
std::string | lhcInfoLabel_ |
input More... | |
std::string | opticsLabel_ |
double | pitchPixelsHor_ |
double | pitchPixelsVer_ |
double | pitchStrips_ |
strip pitch in mm More... | |
bool | produceHitsRelativeToBeam_ |
bool | produceRecHits_ |
bool | produceScoringPlaneHits_ |
flags what output to be produced More... | |
bool | roundToPitch_ |
double | stripZeroPosition_ |
internal variable: v position of strip 0, in mm More... | |
std::unique_ptr< TF1 > | timeResolutionDiamonds45_ |
std::unique_ptr< TF1 > | timeResolutionDiamonds56_ |
x-dependent time resolution of diamonds (per rec hit) in ns More... | |
bool | useEmpiricalApertures_ |
unsigned int | verbosity_ |
Additional Inherited Members | |
Public Types inherited from edm::stream::EDProducer<> | |
typedef CacheContexts< T... > | CacheTypes |
typedef CacheTypes::GlobalCache | GlobalCache |
typedef AbilityChecker< T... > | HasAbility |
typedef CacheTypes::LuminosityBlockCache | LuminosityBlockCache |
typedef LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCache > | LuminosityBlockContext |
typedef CacheTypes::LuminosityBlockSummaryCache | LuminosityBlockSummaryCache |
typedef CacheTypes::RunCache | RunCache |
typedef RunContextT< RunCache, GlobalCache > | RunContext |
typedef CacheTypes::RunSummaryCache | RunSummaryCache |
Definition at line 57 of file CTPPSDirectProtonSimulation.cc.
|
explicit |
Definition at line 128 of file CTPPSDirectProtonSimulation.cc.
References RPTopology::last_strip_to_border_dist_, RPTopology::no_of_strips_, RPTopology::pitch_, produceRecHits_, produceScoringPlaneHits_, stripZeroPosition_, and RPTopology::y_width_.
|
inlineoverride |
Definition at line 63 of file CTPPSDirectProtonSimulation.cc.
|
static |
Definition at line 178 of file CTPPSDirectProtonSimulation.cc.
References edm::ConfigurationDescriptions::add(), submitPVResolutionJobs::desc, HLT_FULL_cff::InputTag, and AlCaHLTBitMon_QueryRunRegistry::string.
|
private |
xi is positive for diffractive protons, thus proton momentum p = (1-xi) * p_nom horizontal component of proton momentum: p_x = th_x * (1-xi) * p_nom
Definition at line 294 of file CTPPSDirectProtonSimulation.cc.
References MaterialEffects_cfi::A, CTPPSDetId::arm(), TtFullHadDaughter::B, checkIsHit_, LHCInfo::crossingAngle(), DDD_CTPPS_PIXELS_SENSOR_TYPE_2x2, empiricalAperture45_, empiricalAperture56_, edm::DetSetVector< T >::find_or_insert(), CTPPSBeamParameters::getBeamMom45(), CTPPSBeamParameters::getBeamMom56(), CTPPSBeamParameters::getHalfXangleX45(), CTPPSBeamParameters::getHalfXangleX56(), hfClusterShapes_cfi::hits, insensitiveMarginStrips_, createfilelist::int, invalid, RPTopology::IsHit(), CTPPSPixelTopology::isPixelHit(), visualization-live-secondInstance_cfg::m, OpticalFunctionsConfig_cfi::opticalFunctions, AlCaHLTBitMon_ParallelJobs::p, pitchPixelsHor_, pitchPixelsVer_, pitchStrips_, CTPPSPixelDetId::plane(), produceHitsRelativeToBeam_, produceRecHits_, produceScoringPlaneHits_, edm::DetSet< T >::push_back(), roundToPitch_, year_2016_postTS2_cff::rpId, CTPPSDetId::sdTimingDiamond, CTPPSDetId::sdTrackingPixel, CTPPSDetId::sdTrackingStrip, mathSSE::sqrt(), digitizers_cfi::strip, stripZeroPosition_, DetId::subdetId(), FrontierCondition_GT_autoExpress_cfi::t0, LHCInterpolatedOpticalFunctionsSet::Kinematics::th_x, LHCInterpolatedOpticalFunctionsSet::Kinematics::th_y, timeResolutionDiamonds45_, timeResolutionDiamonds56_, useEmpiricalApertures_, findQualityFiles::v, verbosity_, LHCInterpolatedOpticalFunctionsSet::Kinematics::x, OpticalFunctionsConfig_cfi::xangle, hybridSuperClusters_cfi::xi, and LHCInterpolatedOpticalFunctionsSet::Kinematics::y.
Referenced by produce().
|
overrideprivate |
Definition at line 212 of file CTPPSDirectProtonSimulation.cc.
References geometry, edm::EventSetup::get(), get, edm::RandomNumberGenerator::getEngine(), edm::HepMCProduct::GetEvent(), hepMCToken_, iEvent, lhcInfoLabel_, eostools::move(), opticsLabel_, processProton(), produceRecHits_, produceScoringPlaneHits_, and extraflags_cff::vtx.
|
private |
simulation parameters
Definition at line 101 of file CTPPSDirectProtonSimulation.cc.
|
private |
Definition at line 110 of file CTPPSDirectProtonSimulation.cc.
Referenced by processProton().
|
private |
Definition at line 105 of file CTPPSDirectProtonSimulation.cc.
Referenced by processProton().
|
private |
Definition at line 106 of file CTPPSDirectProtonSimulation.cc.
Referenced by processProton().
|
private |
Definition at line 94 of file CTPPSDirectProtonSimulation.cc.
Referenced by produce().
|
private |
size of insensitive margin at sensor's edge facing the beam, in mm
Definition at line 113 of file CTPPSDirectProtonSimulation.cc.
Referenced by processProton().
|
private |
|
private |
Definition at line 92 of file CTPPSDirectProtonSimulation.cc.
Referenced by produce().
|
private |
Definition at line 115 of file CTPPSDirectProtonSimulation.cc.
Referenced by processProton().
|
private |
Definition at line 116 of file CTPPSDirectProtonSimulation.cc.
Referenced by processProton().
|
private |
strip pitch in mm
Definition at line 112 of file CTPPSDirectProtonSimulation.cc.
Referenced by processProton().
|
private |
Definition at line 108 of file CTPPSDirectProtonSimulation.cc.
Referenced by processProton().
|
private |
Definition at line 98 of file CTPPSDirectProtonSimulation.cc.
Referenced by CTPPSDirectProtonSimulation(), processProton(), and produce().
|
private |
flags what output to be produced
Definition at line 97 of file CTPPSDirectProtonSimulation.cc.
Referenced by CTPPSDirectProtonSimulation(), processProton(), and produce().
|
private |
Definition at line 109 of file CTPPSDirectProtonSimulation.cc.
Referenced by processProton().
|
private |
internal variable: v position of strip 0, in mm
Definition at line 126 of file CTPPSDirectProtonSimulation.cc.
Referenced by CTPPSDirectProtonSimulation(), and processProton().
|
private |
Definition at line 118 of file CTPPSDirectProtonSimulation.cc.
Referenced by processProton().
|
private |
x-dependent time resolution of diamonds (per rec hit) in ns
Definition at line 118 of file CTPPSDirectProtonSimulation.cc.
Referenced by processProton().
|
private |
Definition at line 103 of file CTPPSDirectProtonSimulation.cc.
Referenced by processProton().
|
private |
Definition at line 121 of file CTPPSDirectProtonSimulation.cc.
Referenced by processProton().