CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Functions | Variables
UKUtility.cc File Reference
#include "TLorentzVector.h"
#include "TVector3.h"
#include "GeneratorInterface/Hydjet2Interface/interface/Particle.h"
#include "GeneratorInterface/Hydjet2Interface/interface/UKUtility.h"
#include "CLHEP/Random/RandomEngine.h"
#include "CLHEP/Random/RandFlat.h"

Go to the source code of this file.

Functions

void IsotropicR3 (double r, double *x, double *y, double *z)
 
void IsotropicR3 (double r, TVector3 &pos)
 
void MomAntiMom (TLorentzVector &mom, double mass, TLorentzVector &antiMom, double antiMass, double initialMass)
 

Variables

const double fermi = 1.
 
const double GeV = 1.
 
const double hbarc = 0.197 * GeV * fermi
 
const double hbarc_squared = hbarc * hbarc
 
CLHEP::HepRandomEngine * hjRandomEngine
 
const double w = 1.0 / 0.1973
 

Function Documentation

void IsotropicR3 ( double  r,
double *  x,
double *  y,
double *  z 
)

Definition at line 26 of file UKUtility.cc.

References funct::cos(), hjRandomEngine, PVValHelper::phi, Pi, alignCSCRings::r, and funct::sin().

Referenced by MomAntiMom().

26  {
27  double pZ = 1. - 2. * (CLHEP::RandFlat::shoot(hjRandomEngine));
28  double st = TMath::Sqrt(1. - pZ * pZ) * r;
29  double phi = 2. * TMath::Pi() * (CLHEP::RandFlat::shoot(hjRandomEngine));
30 
31  *x = st * cos(phi);
32  *y = st * sin(phi);
33  *z = pZ * r;
34 }
const double Pi
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
float float float z
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
uint16_t const *__restrict__ x
Definition: gpuClustering.h:39
CLHEP::HepRandomEngine * hjRandomEngine
void IsotropicR3 ( double  r,
TVector3 &  pos 
)

Definition at line 36 of file UKUtility.cc.

References hjRandomEngine, PVValHelper::phi, Pi, and alignCSCRings::r.

36  {
37  double pZ = 1. - 2. * (CLHEP::RandFlat::shoot(hjRandomEngine));
38  double st = TMath::Sqrt(1. - pZ * pZ) * r;
39  double phi = 2. * TMath::Pi() * (CLHEP::RandFlat::shoot(hjRandomEngine));
40  pos.SetX(st * TMath::Cos(phi));
41  pos.SetY(st * TMath::Sin(phi));
42  pos.SetZ(pZ * r);
43 }
const double Pi
CLHEP::HepRandomEngine * hjRandomEngine
void MomAntiMom ( TLorentzVector &  mom,
double  mass,
TLorentzVector &  antiMom,
double  antiMass,
double  initialMass 
)

Definition at line 45 of file UKUtility.cc.

References IsotropicR3(), and alignCSCRings::r.

Referenced by Decay().

45  {
46  double r = initialMass * initialMass - mass * mass - antiMass * antiMass;
47  if (r * r - 4 * mass * mass * antiMass * antiMass < 0.)
48  throw "MomAntiMom";
49 
50  double pAbs = .5 * TMath::Sqrt(r * r - 4 * mass * mass * antiMass * antiMass) / initialMass;
51  TVector3 mom3;
52  IsotropicR3(pAbs, mom3);
53  mom.SetVectM(mom3, mass);
54  antiMom.SetVectM(-mom3, antiMass);
55 }
void IsotropicR3(double r, double *pX, double *pY, double *pZ)
Definition: UKUtility.cc:26

Variable Documentation

const double fermi = 1.

Definition at line 21 of file UKUtility.cc.

const double GeV = 1.

Definition at line 20 of file UKUtility.cc.

const double hbarc = 0.197 * GeV * fermi

Definition at line 22 of file UKUtility.cc.

const double hbarc_squared = hbarc * hbarc

Definition at line 24 of file UKUtility.cc.

CLHEP::HepRandomEngine* hjRandomEngine

Definition at line 78 of file Hydjet2Hadronizer.cc.

const double w = 1.0 / 0.1973

Definition at line 23 of file UKUtility.cc.

Referenced by EcalSelectiveReadoutSuppressor::accept(), reco::Vertex::add(), FastLineRecognition::Cluster::add(), MinL3Algorithm::addEvent(), MinL3AlgoUniv< IDdet >::addEvent(), hi::GenPlane::addParticle(), edm::PreMixingModule::addSignals(), DQMMessageLogger::analyze(), L1TDTTF::analyze(), ValidationMisalignedTracker::analyze(), MuonTrackValidator::analyze(), EcalSimHitStudy::analyzeHits(), BaseTagInfoPlotter::analyzeTag(), SoftLeptonTagPlotter::analyzeTag(), TrackCountingTagPlotter::analyzeTag(), IPTagPlotter< Container, Base >::analyzeTag(), TrackProbabilityTagPlotter::analyzeTag(), TaggingVariablePlotter::analyzeTag(), JetTagPlotter::analyzeTag(), pat::PATLostTracks::associateTrkToVtx(), edm::PreMixingModule::beginLuminosityBlock(), edm::PreMixingModule::beginRun(), DAClusterizerInZ::beta0(), DAClusterizerInZ_vect::beta0(), DAClusterizerInZT_vect::beta0(), DTSegment4DQuality::bookHistograms(), DTRecHitQuality::bookHistograms(), HGCalGeometryLoader::build(), FWVertexProxyBuilder::build(), CTPPSCompositeESSource::buildLHCInfo(), PPSAlignmentHarvester::buildModeGraph(), CSCEventData::calcALCTcrc(), L1RCTElectronIsolationCard::calcElectronCandidates(), BoostedDoubleSVProducer::calcNsubjettiness(), FastCircleFit::calculate(), ClusterShapeAlgo::Calculate_Covariances(), PFPileUpAlgo::chargedHadronVertex(), PrimaryVertexAssignment::chargedHadronVertex(), PFIsolationEstimator::chargedHadronVertex(), JetCharge::chargeFromRef(), JetCharge::chargeFromValIterator(), CSCDCCExaminer::check(), AdaptiveVertexReconstructor::cleanUpVertices(), RPCEventSummary::clientOperation(), CmsShowMain::CmsShowMain(), EcalDccWeightBuilder::computeAllWeights(), GaussianSumUtilities1D::computeMode(), HFCherenkov::computeNPE(), l1tpf_impl::PuppiAlgo::computePuppiAlphas(), l1tpf_impl::PuppiAlgo::computePuppiMedRMS(), EcalClusterToolsT< noZS >::covariances(), pdg::cTau(), TtFullLepKinSolver::cubic(), EcalSelectiveReadoutValidation::dccZsFIR(), ESDataFormatterV1_1::DigiToRaw(), ESDataFormatterV4::DigiToRaw(), npstat::HistoND< Numeric, Axis >::dispatch(), FWGUISubviewArea::dock(), edm::PreMixingModule::doPileUp(), MultiTrackValidatorGenPs::dqmAnalyze(), MultiTrackValidator::dqmAnalyze(), HGCalValidator::dqmAnalyze(), DTRecHitClients::dqmEndJob(), FWFramedTextTableCellRenderer::draw(), FWTextTableCellRenderer::draw(), FWColorRow::DrawHighlight(), l1t::EndCapParamsHelper::EndCapParamsHelper(), edm::PreMixingModule::endRun(), AbsPlan1RechitCombiner::energyWeightedAverage(), edmtest::ESTestDataB::ESTestDataB(), ESRecHitAnalyticAlgo::EvalAmplitude(), ESRecHitSimAlgo::evalAmplitude(), EcalTBEventHeader::eventType(), HFShowerLibrary::extrapolate(), npstat::HistoND< Numeric, Axis >::fill(), GEMDQMBase::MEMapInfT< M, K >::Fill(), GEMDQMBase::MEMapInfT< M, K >::FillBits(), npstat::HistoND< Numeric, Axis >::fillC(), EvtPlaneProducer::fillCastor(), EvtPlaneProducer::fillHF(), tadqm::TrackAnalyzer::fillHistosForState(), JetMETHLTOfflineSource::fillMEforMonTriggerSummary(), npstat::HistoND< Numeric, Axis >::fillPreservingCentroid(), EvtPlaneProducer::fillTracker(), QcdUeDQM::fillUE_with_ChargedJets(), CSCDigiValidator::filter(), CSCHitFromStripOnly::findHitOnStripPosition(), FFTJetPFPileupCleaner::findSomeVertexWFakes(), hgcalsimclustertime::ComputeClusterTime::fixSizeHighestDensity(), FKDPoint< TYPE, numberOfDimensions >::FKDPoint(), calo::multifit::fnnls(), FsmwClusterizer1DNameSpace::fsmw(), FWFFHelper::FWFFHelper(), FWTGLViewer::GenerateFbo(), MultiTrackSelector::getBestVertex(), FWTabularWidget::GetDefaultSize(), ECFAdder::getECF(), HFShower::getHits(), npstat::UniformAxis::getInterval(), npstat::GridAxis::getInterval(), popcon::EcalTPGOddWeightIdMapHandler::getNewObjects(), popcon::EcalTPGWeightIdMapHandler::getNewObjects(), FastLineRecognition::getOneLine(), FastLineRecognition::getPatterns(), HcalSiPMnonlinearity::getPixelsFired(), NjettinessAdder::getTau(), l1t::GlobalParamsHelper::GlobalParamsHelper(), GlobalTrackerMuonAlignment::gradientGlobal(), graph_tree_output(), TtGenEvent::hadronicDecayQuark(), CmsAnnotation::Handle(), FWGUIEventFilter::HandleKey(), FWEveViewManager::highlightAdded(), TtFullHadHypothesis::hypo(), popcon::EcalSRPHandler::importDccConfigFile(), EcalSRCondTools::importParameterSet(), InduceChargeFP420::InduceChargeFP420(), l1t::ClusterShapes::Init(), edm::StreamSchedule::initializeEarlyDelete(), edm::PreMixingModule::initializeEvent(), VirtualJetProducer::inputTowers(), HFShowerLibrary::interpolate(), npstat::ArrayND< Numeric, StackLen, StackDim >::interpolate1(), heppy::IsolationComputer::isoSumNeutralsWeighted(), GenericMinL3Algorithm::iterate(), CSCLayerGeometry::lengthOfWireGroup(), npstat::UniformAxis::linearInterval(), npstat::GridAxis::linearInterval(), brokenline::lineFit(), CSCLayerGeometry::localCenterOfWireGroup(), EcalClusterToolsT< noZS >::localCovariances(), HFClusterAlgo::makeCluster(), FWTGLViewer::MakeFboScale(), MuScleFitUtils::massProb(), FWHistSliceSelector::matchCell(), CSCDigiMatcher::matchWiresToSimTrack(), RPCNoisyStripTest::myBooker(), RPCOccupancyTest::myBooker(), RPCClusterSizeTest::myBooker(), RPCChamberQuality::myBooker(), TracksClusteringFromDisplacedSeed::nearTracks(), CSCRecoConditions::noiseMatrix(), ESRecHitSimAlgo::oldEvalAmplitude(), GhostTrackComputer::operator()(), PropagationDirectionChooser::operator()(), CombinedSVComputer::operator()(), npstat::LinInterpolatedTableND< Numeric, Axis >::operator()(), output(), L1GTDigiToRaw::packGMT(), InnerDeltaPhi::phiRange(), edm::PreMixingModule::pileWorker(), DD4hep_TrackingMaterialPlotter::plotSegmentInLayer(), TrackingMaterialPlotter::plotSegmentInLayer(), TrackingMaterialPlotter::plotSegmentUnassigned(), DD4hep_TrackingMaterialPlotter::plotSegmentUnassigned(), l1t::PrescalesVetosFractHelper::PrescalesVetosFractHelper(), l1t::PrescalesVetosHelper::PrescalesVetosHelper(), GctDigiToRaw::print(), VFATFrame::Print(), DTConfigBti::print(), Phase2Tracker::printHex(), sistrip::printHex(), pps::RawDataUnpacker::processOptoRxFrameSerial(), pps::RawDataUnpacker::processVFATDataParallel(), TOFPIDProducer::produce(), GEMDigiToRawModule::produce(), CTPPSProtonProducer::produce(), PrimaryVertexProducer::produce(), TemplatedInclusiveVertexFinder< InputContainer, VTX >::produce(), TemplatedSecondaryVertexProducer< IPTI, VTX >::produce(), JetFlavourClustering::produce(), CTPPSProtonReconstructionSimulationValidator::PlotGroup::profileToRMSGraph(), LA_Filler_Fitter::pull(), edm::PreMixingModule::put(), PrimaryVertexMonitor::pvTracksPlots(), TtFullLepKinSolver::quartic(), emtf::Forest::rankVariables(), RPCPackingModule::rawData(), StoreESCondition::readESTimeSampleWeightsFromFile(), popcon::EcalTPGWeightIdMapHandler::readtxtFile(), popcon::EcalTPGOddWeightIdMapHandler::readtxtFile(), popcon::EcalTPGOddWeightIdMapHandler::readxmlFile(), popcon::EcalTPGWeightIdMapHandler::readxmlFile(), edm::maker::ModuleHolderT< T >::replaceModuleFor(), ParabolaFit::result(), SiG4UniversalFluctuation::SampleFluctuations(), LandauFP420::SampleFluctuations(), EcalClusterToolsT< noZS >::scLocalCovariances(), MuonHitsChamberResidual::segment_fit(), GFHistManager::SetCanvasWidth(), helper::MuonCollectionStoreManager::setCloneClusters(), helper::TrackCollectionStoreManager::setCloneClusters(), DTConfigBti::setDefaults(), FWMuonBuilder::setLineWidth(), AdaptiveVertexFitter::setWeightThreshold(), RPCSimParam::simulate(), SiPixelDigiMorphing::SiPixelDigiMorphing(), DDErrorDetection::so(), DAClusterizerInZ::split(), DAClusterizerInZ_vect::split(), TFileAdaptor::statsXML(), CSCRecoConditions::stripWeight(), FWGUIManager::subviewDestroyAll(), TestPythiaDecays::TestPythiaDecays(), TrackVertexArbitration< VTX >::trackVertexArbitrator(), DAClusterizerInZ::update(), DAClusterizerInZ_vect::update(), DAClusterizerInZT_vect::update(), svhelper::updateVertexTime(), MultiVertexFitter::updateWeights(), MultiVertexFitter::vertices(), CSCDCCUnpacker::visual_raw(), G4SimEvent::weight(), muonisolation::IsolatorByNominalEfficiency::weightedSum(), muonisolation::IsolatorByDeposit::weightedSum(), RPCCompDetId::wheel(), FWCollectionSummaryModelCellRenderer::width(), FWTextTreeCellRenderer::width(), CSCDigiMatcher::wiregroupsInChamber(), FEConfigFgrParamDat::writeArrayDB(), MonLaserPulseDat::writeArrayDB(), FEConfigLinDat::writeArrayDB(), MonLaserBlueDat::writeArrayDB(), MonLed1Dat::writeArrayDB(), MonLed2Dat::writeArrayDB(), MonLaserGreenDat::writeArrayDB(), MonLaserRedDat::writeArrayDB(), FEConfigParamDat::writeArrayDB(), MonLaserIRedDat::writeArrayDB(), MonPNPedDat::writeArrayDB(), FEConfigOddWeightGroupDat::writeArrayDB(), MonMemChConsistencyDat::writeArrayDB(), MonPedestalsDat::writeArrayDB(), MonCrystalConsistencyDat::writeArrayDB(), MonMemTTConsistencyDat::writeArrayDB(), MonTTConsistencyDat::writeArrayDB(), MonTestPulseDat::writeArrayDB(), MonPNBlueDat::writeArrayDB(), MonPNMGPADat::writeArrayDB(), MonPNRedDat::writeArrayDB(), MonPNLed1Dat::writeArrayDB(), MonPNIRedDat::writeArrayDB(), MonPNGreenDat::writeArrayDB(), MonPNLed2Dat::writeArrayDB(), DCULVRVoltagesDat::writeArrayDB(), EcalDccWeightBuilder::writeWeightToDB(), and OverlapValidation::~OverlapValidation().