CMS 3D CMS Logo

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
CLHEP::HepRandomEngine * hjRandomEngine
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
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().

46  {
47  double r = initialMass * initialMass - mass * mass - antiMass * antiMass;
48  if (r * r - 4 * mass * mass * antiMass * antiMass < 0.) 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 *x, double *y, double *z)
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
const double w = 1.0 / 0.1973

Definition at line 23 of file UKUtility.cc.

Referenced by EcalSelectiveReadoutSuppressor::accept(), edm::StreamSchedule::actionTable(), FastLineRecognition::Cluster::add(), MinL3Algorithm::addEvent(), MinL3AlgoUniv< IDdet >::addEvent(), hi::GenPlane::addParticle(), edm::PreMixingModule::addSignals(), edm::WorkerManager::allWorkers(), DQMMessageLogger::analyze(), DQMSourceExample::analyze(), ValidationMisalignedTracker::analyze(), L1TDTTF::analyze(), MuonTrackValidator::analyze(), SoftLeptonTagPlotter::analyzeTag(), BaseTagInfoPlotter::analyzeTag(), IPTagPlotter< Container, Base >::analyzeTag(), TrackCountingTagPlotter::analyzeTag(), TrackProbabilityTagPlotter::analyzeTag(), TaggingVariablePlotter::analyzeTag(), JetTagPlotter::analyzeTag(), edm::PreMixingModule::beginLuminosityBlock(), edm::PreMixingModule::beginRun(), DAClusterizerInZ::beta0(), DAClusterizerInZ_vect::beta0(), DAClusterizerInZT_vect::beta0(), DTSegment4DQuality::bookHistograms(), DTRecHitQuality::bookHistograms(), HGCalGeometryLoader::build(), FWVertexProxyBuilder::build(), CSCEventData::calcALCTcrc(), L1RCTElectronIsolationCard::calcElectronCandidates(), PhysicsTools::LeastSquares::calculate(), FastCircleFit::calculate(), ClusterShapeAlgo::Calculate_Covariances(), PFPileUpAlgo::chargedHadronVertex(), PrimaryVertexAssignment::chargedHadronVertex(), PFIsolationEstimator::chargedHadronVertex(), PFPhotonIsolationCalculator::chargedHadronVertex(), JetCharge::chargeFromRef(), JetCharge::chargeFromValIterator(), CSCDCCExaminer::check(), FWGeometryTableManager::checkChildMatches(), AdaptiveVertexReconstructor::cleanUpVertices(), RPCEventSummary::clientOperation(), AdaptiveVertexReconstructor::clone(), FastLineRecognition::Cluster::Cluster(), CmsShowMain::CmsShowMain(), EcalDccWeightBuilder::computeAllWeights(), UrbanMscModel93::ComputeCrossSectionPerAtom(), GaussianSumUtilities1D::computeMode(), HFCherenkov::computeNPE(), EcalClusterToolsT< noZS >::covariances(), TtFullLepKinSolver::cubic(), EcalSelectiveReadoutValidation::dccZsFIR(), ESDataFormatterV1_1::DigiToRaw(), ESDataFormatterV4::DigiToRaw(), npstat::HistoND< Numeric, Axis >::dispatch(), FWGUISubviewArea::dock(), edm::PreMixingModule::doPileUp(), MultiTrackValidatorGenPs::dqmAnalyze(), HGCalValidator::dqmAnalyze(), MultiTrackValidator::dqmAnalyze(), DTRecHitClients::dqmEndJob(), RPCEfficiencySecond::dqmEndJob(), RPCEfficiencyShiftHisto::dqmEndJob(), DQMNet::dqmhash(), 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(), MonitorElement::Fill(), npstat::HistoND< Numeric, Axis >::fill(), npstat::HistoND< Numeric, Axis >::fillC(), JetMETHLTOfflineSource::fillMEforMonTriggerSummary(), npstat::HistoND< Numeric, Axis >::fillPreservingCentroid(), QcdUeDQM::fillProfile(), QcdUeDQM::fillUE_with_ChargedJets(), QcdUeDQM::fillUE_with_MaxpTtrack(), CSCDigiValidator::filter(), CSCHitFromStripOnly::findHitOnStripPosition(), FFTJetPFPileupCleaner::findSomeVertexWFakes(), FKDPoint< TYPE, numberOfDimensions >::FKDPoint(), FsmwClusterizer1DNameSpace::fsmw(), FWFFHelper::FWFFHelper(), FWTGLViewer::GenerateFbo(), MultiTrackSelector::getBestVertex(), FWTabularWidget::GetDefaultSize(), HFShower::getHits(), npstat::UniformAxis::getInterval(), npstat::GridAxis::getInterval(), LMFDat::getKeyList(), HGCalTriggerGeometryHexImp2::getNeighborsFromTriggerCell(), popcon::EcalTPGWeightIdMapHandler::getNewObjects(), FastLineRecognition::getOneLine(), FastLineRecognition::getPatterns(), HcalSiPMnonlinearity::getPixelsFired(), 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(), HFShowerLibrary::interpolate(), npstat::ArrayND< Numeric, StackLen, StackDim >::interpolate1(), reco::Vertex::isFake(), heppy::IsolationComputer::isoSumNeutralsWeighted(), GenericMinL3Algorithm::iterate(), CSCLayerGeometry::lengthOfWireGroup(), npstat::UniformAxis::linearInterval(), npstat::GridAxis::linearInterval(), PhysicsTools::LeastSquares::load(), CSCLayerGeometry::localCenterOfWireGroup(), EcalClusterToolsT< noZS >::localCovariances(), HFClusterAlgo::makeCluster(), FWTGLViewer::MakeFboScale(), MuScleFitUtils::massProb(), FWHistSliceSelector::matchCell(), RPCClusterSizeTest::myBooker(), RPCNoisyStripTest::myBooker(), RPCOccupancyTest::myBooker(), RPCChamberQuality::myBooker(), TracksClusteringFromDisplacedSeed::nearTracks(), CSCRecoConditions::noiseMatrix(), ESRecHitSimAlgo::oldEvalAmplitude(), GhostTrackComputer::operator()(), PropagationDirectionChooser::operator()(), funct::GaussLegendreIntegrator::operator()(), CombinedSVComputer::operator()(), funct::GaussIntegrator::operator()(), npstat::LinInterpolatedTableND< Numeric, Axis >::operator()(), edm::OStreamColumn::OStreamColumn(), output(), L1GTDigiToRaw::packGMT(), InnerDeltaPhi::phiRange(), edm::PreMixingModule::pileWorker(), PlotCombiner(), TrackingMaterialPlotter::plotSegmentInLayer(), TrackingMaterialPlotter::plotSegmentUnassigned(), l1t::PrescalesVetosHelper::PrescalesVetosHelper(), GctDigiToRaw::print(), VFATFrame::Print(), DTConfigBti::print(), Phase2Tracker::printHex(), sistrip::printHex(), ctpps::RawDataUnpacker::processOptoRxFrameSerial(), ctpps::RawDataUnpacker::processVFATDataParallel(), TOFPIDProducer::produce(), GEMDigiToRawModule::produce(), CTPPSProtonProducer::produce(), PrimaryVertexProducer::produce(), TemplatedInclusiveVertexFinder< InputContainer, VTX >::produce(), EvtPlaneProducer::produce(), CTPPSProtonReconstructionSimulationValidator::PlotGroup::profileToRMSGraph(), TagCorrelationPlotter::psPlot(), LA_Filler_Fitter::pull(), edm::PreMixingModule::put(), PrimaryVertexMonitor::pvTracksPlots(), TtFullLepKinSolver::quartic(), emtf::Forest::rankVariables(), RPCPackingModule::rawData(), StoreESCondition::readESTimeSampleWeightsFromFile(), popcon::EcalTPGWeightIdMapHandler::readtxtFile(), 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(), TagProbeFitter::setWeightVar(), RPCSimParam::simulate(), DDErrorDetection::so(), DAClusterizerInZ::split(), DAClusterizerInZ_vect::split(), TFileAdaptor::statsXML(), CSCRecoConditions::stripWeight(), FWGUIManager::subviewDestroyAll(), TestPythiaDecays::TestPythiaDecays(), reco::Vertex::tracks_end(), TrackVertexArbitration< VTX >::trackVertexArbitrator(), DAClusterizerInZ::update(), DAClusterizerInZ_vect::update(), DAClusterizerInZT_vect::update(), svhelper::updateVertexTime(), MultiVertexFitter::updateWeights(), MultiVertexFitter::vertices(), CSCDCCUnpacker::visual_raw(), PHcalTB04Info::vtxSecEk(), PHcalTB06Info::vtxSecEKin(), G4SimEvent::weight(), muonisolation::IsolatorByNominalEfficiency::weightedSum(), muonisolation::IsolatorByDeposit::weightedSum(), PosteriorWeightsCalculator::weights(), RPCCompDetId::wheel(), FWCollectionSummaryModelCellRenderer::width(), FWTextTreeCellRenderer::width(), FEConfigFgrParamDat::writeArrayDB(), MonLaserPulseDat::writeArrayDB(), FEConfigLinDat::writeArrayDB(), MonPNPedDat::writeArrayDB(), MonLaserRedDat::writeArrayDB(), MonLed2Dat::writeArrayDB(), MonLaserGreenDat::writeArrayDB(), MonLaserIRedDat::writeArrayDB(), MonLaserBlueDat::writeArrayDB(), MonLed1Dat::writeArrayDB(), FEConfigParamDat::writeArrayDB(), MonMemChConsistencyDat::writeArrayDB(), MonPedestalsDat::writeArrayDB(), MonTTConsistencyDat::writeArrayDB(), MonCrystalConsistencyDat::writeArrayDB(), MonTestPulseDat::writeArrayDB(), MonMemTTConsistencyDat::writeArrayDB(), MonPNIRedDat::writeArrayDB(), MonPNGreenDat::writeArrayDB(), MonPNLed2Dat::writeArrayDB(), MonPNBlueDat::writeArrayDB(), MonPNMGPADat::writeArrayDB(), MonPNLed1Dat::writeArrayDB(), MonPNRedDat::writeArrayDB(), DCULVRVoltagesDat::writeArrayDB(), EcalDccWeightBuilder::writeWeightToDB(), CSCLayerGeometry::yLimitsOfStripPlane(), BaseTagInfoPlotter::~BaseTagInfoPlotter(), EcalDccWeightBuilder::~EcalDccWeightBuilder(), OverlapValidation::~OverlapValidation(), and TrackIPHistograms< T >::~TrackIPHistograms().