CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros 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, 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
CLHEP::HepRandomEngine * hjRandomEngine
Definition: DDAxes.h:10
Definition: DDAxes.h:10
void IsotropicR3 ( double  r,
TVector3 &  pos 
)

Definition at line 36 of file UKUtility.cc.

References hjRandomEngine, 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
Definition: DDAxes.h:10
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 *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
const double w = 1.0 / 0.1973

Definition at line 23 of file UKUtility.cc.

Referenced by EcalSelectiveReadoutSuppressor::accept(), MinL3Algorithm::addEvent(), MinL3AlgoUniv< IDdet >::addEvent(), EvtPlaneProducer::GenPlane::addParticle(), PedsFullNoiseAlgorithm::analyse(), MultiTrackValidatorGenPs::analyze(), MultiTrackValidator::analyze(), TrackerSeedValidator::analyze(), DQMMessageLogger::analyze(), DQMSourceExample::analyze(), ValidationMisalignedTracker::analyze(), L1TDTTF::analyze(), PrimaryVertexAnalyzer::analyze(), MuonTrackValidator::analyze(), SoftLeptonTagPlotter::analyzeTag(), BaseTagInfoPlotter::analyzeTag(), TrackCountingTagPlotter::analyzeTag(), TrackIPTagPlotter::analyzeTag(), TrackProbabilityTagPlotter::analyzeTag(), JetTagPlotter::analyzeTag(), TaggingVariablePlotter::analyzeTag(), PrimaryVertexAnalyzer4PU::analyzeVertexCollection(), RPCBxTest::beginRun(), DTSegment4DQuality::beginRun(), DTRecHitQuality::beginRun(), DAClusterizerInZ::beta0(), DAClusterizerInZ_vect::beta0(), MultiTrackValidator::bookHistograms(), TrackerSeedValidator::bookHistograms(), MuonTrackValidator::bookHistograms(), FWVertexProxyBuilder::build(), CSCEventData::calcALCTcrc(), L1RCTElectronIsolationCard::calcElectronCandidates(), PhysicsTools::LeastSquares::calculate(), ClusterShapeAlgo::Calculate_Covariances(), PFPileUpAlgo::chargedHadronVertex(), PFIsolationEstimator::chargedHadronVertex(), PFPhotonIsolationCalculator::chargedHadronVertex(), JetCharge::chargeFromRef(), JetCharge::chargeFromValIterator(), CSCDCCExaminer::check(), AdaptiveVertexReconstructor::cleanUpVertices(), RPCEventSummary::clientOperation(), CmsShowMain::CmsShowMain(), EcalDccWeightBuilder::computeAllWeights(), UrbanMscModel93::ComputeCrossSectionPerAtom(), GaussianSumUtilities1D::computeMode(), HFCherenkov::computeNPE(), PFClusterShapeAlgo::covariances(), EcalClusterToolsT< noZS >::covariances(), TtFullLepKinSolver::cubic(), EcalSelectiveReadoutValidation::dccZsFIR(), dd_rot_bin_in(), ESDataFormatterV1_1::DigiToRaw(), ESDataFormatterV4::DigiToRaw(), npstat::HistoND< Numeric, Axis >::dispatch(), FWGUISubviewArea::dock(), RPCEfficiencySecond::dqmEndJob(), RPCEfficiencyShiftHisto::dqmEndJob(), FWFramedTextTableCellRenderer::draw(), FWTextTableCellRenderer::draw(), FWColorRow::DrawHighlight(), DTNoiseTest::endLuminosityBlock(), MultiTrackValidator::endRun(), TrackerSeedValidator::endRun(), MuonTrackValidator::endRun(), ESRecHitAnalyticAlgo::EvalAmplitude(), ESRecHitSimAlgo::evalAmplitude(), EcalTBEventHeader::eventType(), HFShowerLibrary::extrapolate(), 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(), FsmwClusterizer1DNameSpace::fsmw(), FWFFHelper::FWFFHelper(), FWTGLViewer::GenerateFbo(), FWTabularWidget::GetDefaultSize(), HFShower::getHits(), npstat::UniformAxis::getInterval(), npstat::GridAxis::getInterval(), popcon::EcalTPGWeightIdMapHandler::getNewObjects(), PrimaryVertexAnalyzer4PU::getTc(), GlobalTrackerMuonAlignment::gradientGlobal(), graph_tree_output(), TtGenEvent::hadronicDecayQuark(), CmsAnnotation::Handle(), FWGUIEventFilter::HandleKey(), FWEveViewManager::highlightAdded(), TtFullHadHypothesis::hypo(), popcon::EcalSRPHandler::importDccConfigFile(), EcalSRCondTools::importParameterSet(), InduceChargeFP420::InduceChargeFP420(), edm::StreamSchedule::initializeEarlyDelete(), HFShowerLibrary::interpolate(), npstat::ArrayND< Numeric, StackLen, StackDim >::interpolate1(), 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()(), CombinedSVComputer::operator()(), npstat::LinInterpolatedTableND< Numeric, Axis >::operator()(), output(), L1GTDigiToRaw::packGMT(), RawParticle::PDGcTau(), cond::PayLoadInspector< DataT >::plot(), PlotCombiner(), TrackingMaterialPlotter::plotSegmentInLayer(), TrackingMaterialPlotter::plotSegmentUnassigned(), GctDigiToRaw::print(), DTConfigBti::print(), Phase2Tracker::printHex(), sistrip::printHex(), TemplatedInclusiveVertexFinder< InputContainer, VTX >::produce(), HLTJetCollectionsForBoostedLeptonPlusJets< jetType >::produce(), EvtPlaneProducer::produce(), LA_Filler_Fitter::pull(), PrimaryVertexMonitor::pvTracksPlots(), TtFullLepKinSolver::quartic(), RPCPackingModule::rawData(), edm::maker::ModuleHolderT< T >::replaceModuleFor(), ParabolaFit::result(), LandauFP420::SampleFluctuations(), SiG4UniversalFluctuation::SampleFluctuations(), EcalClusterToolsT< noZS >::scLocalCovariances(), MuonHitsChamberResidual::segment_fit(), GFHistManager::SetCanvasWidth(), helper::MuonCollectionStoreManager::setCloneClusters(), helper::TrackCollectionStoreManager::setCloneClusters(), DTConfigBti::setDefaults(), AdaptiveVertexFitter::setWeightThreshold(), RPCSimParam::simulate(), RPCSimAverage::simulate(), RPCSimAverageNoiseEff::simulate(), RPCSimAverageNoise::simulate(), RPCSimAsymmetricCls::simulate(), RPCSimAverageNoiseEffCls::simulate(), DDErrorDetection::so(), DAClusterizerInZ::split(), DAClusterizerInZ_vect::split(), TFileAdaptor::statsXML(), CSCRecoConditions::stripWeight(), FWGUIManager::subviewDestroyAll(), TestPythiaDecays::TestPythiaDecays(), TrackVertexArbitration< VTX >::trackVertexArbitrator(), DAClusterizerInZ::update(), DAClusterizerInZ_vect::update(), MultiVertexFitter::updateWeights(), MultiVertexFitter::vertices(), CSCDCCUnpacker::visual_raw(), G4SimEvent::weight(), DDCompactViewImpl::weight(), muonisolation::IsolatorByNominalEfficiency::weightedSum(), muonisolation::IsolatorByDeposit::weightedSum(), RPCCompDetId::wheel(), FWCollectionSummaryModelCellRenderer::width(), FWTextTreeCellRenderer::width(), FEConfigFgrParamDat::writeArrayDB(), MonLaserPulseDat::writeArrayDB(), FEConfigLinDat::writeArrayDB(), MonPNPedDat::writeArrayDB(), MonLed2Dat::writeArrayDB(), MonLaserBlueDat::writeArrayDB(), MonLaserIRedDat::writeArrayDB(), MonLaserGreenDat::writeArrayDB(), MonLaserRedDat::writeArrayDB(), MonLed1Dat::writeArrayDB(), FEConfigParamDat::writeArrayDB(), MonMemChConsistencyDat::writeArrayDB(), MonTestPulseDat::writeArrayDB(), MonMemTTConsistencyDat::writeArrayDB(), MonTTConsistencyDat::writeArrayDB(), MonCrystalConsistencyDat::writeArrayDB(), MonPedestalsDat::writeArrayDB(), MonPNBlueDat::writeArrayDB(), MonPNRedDat::writeArrayDB(), MonPNLed1Dat::writeArrayDB(), MonPNMGPADat::writeArrayDB(), MonPNIRedDat::writeArrayDB(), MonPNLed2Dat::writeArrayDB(), MonPNGreenDat::writeArrayDB(), DCULVRVoltagesDat::writeArrayDB(), and EcalDccWeightBuilder::writeWeightToDB().