#include "RecoJets/JetAssociationAlgorithms/interface/JetTracksAssociationDRCalo.h"
#include "DataFormats/JetReco/interface/Jet.h"
#include "DataFormats/TrackReco/interface/Track.h"
#include "DataFormats/Math/interface/deltaR.h"
#include "DataFormats/Math/interface/Vector3D.h"
#include "DataFormats/GeometrySurface/interface/Cylinder.h"
#include "DataFormats/GeometrySurface/interface/Plane.h"
#include "TrackingTools/GeomPropagators/interface/Propagator.h"
#include "TrackingTools/TrajectoryParametrization/interface/GlobalTrajectoryParameters.h"
#include "TrackingTools/TrajectoryState/interface/FreeTrajectoryState.h"
#include "TrackingTools/TrajectoryState/interface/TrajectoryStateOnSurface.h"
#include "MagneticField/Engine/interface/MagneticField.h"
Go to the source code of this file.
Functions | |
GlobalPoint | propagateTrackToCalo (const reco::Track &fTrack, const MagneticField &fField, const Propagator &fPropagator) |
Variables | |
const double | rBarrel = 143. |
const double | rEndcapMin = zEndcap * tan ( 2*atan (exp (-3.))) |
const double | rVFMin = zEndcap * tan ( 2*atan (exp (-5.191))) |
const double | zEndcap = 320. |
const double | zVF = 1100. |
GlobalPoint @13100::propagateTrackToCalo | ( | const reco::Track & | fTrack, | |
const MagneticField & | fField, | |||
const Propagator & | fPropagator | |||
) | [static] |
Definition at line 37 of file JetTracksAssociationDRCalo.cc.
References Plane::build(), Cylinder::build(), reco::TrackBase::charge(), reco::Track::extra(), TrajectoryStateOnSurface::globalPosition(), TrajectoryStateOnSurface::isValid(), reco::Track::outerPx(), reco::Track::outerPy(), reco::Track::outerPz(), reco::Track::outerX(), reco::Track::outerY(), reco::Track::outerZ(), Propagator::propagate(), reco::TrackBase::px(), reco::TrackBase::py(), reco::TrackBase::pz(), HLT_VtxMuL3::result, reco::btau::trackMomentum, reco::TrackBase::vx(), reco::TrackBase::vy(), and reco::TrackBase::vz().
Referenced by JetTracksAssociationDRCalo::produce(), and JetTracksAssociationDRCalo::propagateTrackToCalorimeter().
00040 { 00041 GlobalPoint trackPosition (fTrack.vx(), fTrack.vy(), fTrack.vz()); // reference point 00042 GlobalVector trackMomentum (fTrack.px(), fTrack.py(), fTrack.pz()); // reference momentum 00043 if (fTrack.extra().product ()) { // use outer point information, if available 00044 trackPosition = GlobalPoint (fTrack.outerX(), fTrack.outerY(), fTrack.outerZ()); 00045 trackMomentum = GlobalVector (fTrack.outerPx(), fTrack.outerPy(), fTrack.outerPz()); 00046 } 00047 // std::cout << "propagateTrackToCalo-> start propagating track" 00048 // << " x/y/z: " << trackPosition.x() << '/' << trackPosition.y() << '/' << trackPosition.z() 00049 // << ", pt/eta/phi: " << trackMomentum.perp() << '/' << trackMomentum.eta() << '/' << trackMomentum.barePhi() 00050 // << std::endl; 00051 GlobalTrajectoryParameters trackParams(trackPosition, trackMomentum, fTrack.charge(), &fField); 00052 FreeTrajectoryState trackState (trackParams); 00053 00054 // first propagate to barrel 00055 TrajectoryStateOnSurface 00056 propagatedInfo = fPropagator.propagate (trackState, 00057 *Cylinder::build (Surface::PositionType (0,0,0), 00058 Surface::RotationType(), 00059 rBarrel) 00060 ); 00061 if (propagatedInfo.isValid()) { 00062 GlobalPoint result (propagatedInfo.globalPosition ()); 00063 if (fabs (result.z()) < zEndcap) { 00064 // std::cout << "propagateTrackToCalo-> propagated to barrel:" 00065 // << " x/y/z/r: " << result.x() << '/' << result.y() << '/' << result.z() << '/' << result.perp() 00066 // << std::endl; 00067 return result; 00068 } 00069 } 00070 00071 // failed with barrel, try endcap 00072 double zTarget = trackMomentum.z() > 0 ? zEndcap : -zEndcap; 00073 propagatedInfo = fPropagator.propagate (trackState, 00074 *Plane::build( Surface::PositionType(0, 0, zTarget), 00075 Surface::RotationType()) 00076 ); 00077 if (propagatedInfo.isValid()) { 00078 GlobalPoint result (propagatedInfo.globalPosition ()); 00079 if (fabs (result.perp()) > rEndcapMin) { 00080 // std::cout << "propagateTrackToCalo-> propagated to endcap:" 00081 // << " x/y/z/r: " << result.x() << '/' << result.y() << '/' << result.z() << '/' << result.perp() 00082 // << std::endl; 00083 return result; 00084 } 00085 } 00086 // failed with endcap, try VF 00087 zTarget = trackMomentum.z() > 0 ? zVF : -zVF; 00088 propagatedInfo = fPropagator.propagate (trackState, 00089 *Plane::build( Surface::PositionType(0, 0, zTarget), 00090 Surface::RotationType()) 00091 ); 00092 if (propagatedInfo.isValid()) { 00093 GlobalPoint result (propagatedInfo.globalPosition ()); 00094 if (fabs (result.perp()) > rVFMin) { 00095 // std::cout << "propagateTrackToCalo-> propagated to VF:" 00096 // << " x/y/z/r: " << result.x() << '/' << result.y() << '/' << result.z() << '/' << result.perp() 00097 // << std::endl; 00098 return result; 00099 } 00100 } 00101 // no luck 00102 // std::cout << "propagateTrackToCalo-> failed to propagate track to calorimeter" << std::endl; 00103 return GlobalPoint (0, 0, 0); 00104 }
double eta |
Definition at line 33 of file JetTracksAssociationDRCalo.cc.
Referenced by FastL1GlobalAlgo::addJet(), StKinFitter::addKinFitInfo(), XMLProcessor::addLMapHBEFDataset(), LMapLoader::addLMapHBEFDataset(), XMLHTRZeroSuppressionLoader::addZS(), allCells(), VisPFRecHit::analyze(), VisHORecHit::analyze(), VisHFRecHit::analyze(), VisHERecHit::analyze(), VisHBRecHit::analyze(), VisEERecHit::analyze(), VisEcalRecHit::analyze(), VisEBRecHit::analyze(), TrackerHitAnalyzer::analyze(), HCALRecHitAnalyzer::analyze(), HcalRecHitsValidation::analyze(), GlobalHitsHistogrammer::analyze(), TopElecAnalyzer::analyze(), TPGntupler::analyze(), JetValidation::analyze(), DijetMass::analyze(), SimplePhotonAnalyzer::analyze(), ElectronPixelSeedAnalyzer::analyze(), DTTrigTest::analyze(), PlotJetCorrections::analyze(), SinglePionEfficiencyNew::analyze(), cms::JetPlusTrackAnalysis::analyze(), edm::FlatEGunASCIIWriter::analyze(), TopValidation::analyze(), HLTTauValidation::analyze(), HLTMuonGenericRate::analyze(), EmDQM::analyze(), PhiSymmetryCalibration::analyze(), HLTJetMETDQMSource::analyze(), PhotonAnalyzer::analyze(), FourVectorHLTOnline::analyze(), HLTTauElDQMOfflineSource::analyze(), cms::GammaJetAnalysis::analyze(), HcalSummaryClient::analyze(), FourVectorHLT::analyze(), HLTMuonDQMSource::analyze(), FourVectorHLTOffline::analyze(), HcalSummaryClient::analyze_subtask(), HcalSimHitStudy::analyzeHits(), AlignmentMuonSelector::basicCuts(), CalibrationTrackSelector::basicCuts(), AlignmentTrackSelector::basicCuts(), PhiSymmetryCalibration::beginJob(), HLTJetMETDQMSource::beginJob(), ElectronCalibration::beginJob(), FourVectorHLT::beginJob(), TFitParticleEtEtaPhi::calc4Vec(), TopologyWorker::CalcEta(), TopologyWorker::CalcEta2(), CSCTFPtLUT::calcPt(), HcalNumberingFromDDD::cell(), EcalTBDaqFormatter::cellIndex(), EcalTB07DaqFormatter::cellIndex(), TB06TreeH2::check(), TB06Tree::check(), DirectTrackerNavigation::checkCompatible(), PhotonIDAlgo::classify(), CutBasedElectronID::classify(), HFClusterAlgo::clusterize(), egammaisolation::EgammaRecHitExtractor::collect(), SimG4HcalValidation::collectEnergyRdir(), CandIsolatorFromDeposits::SingleDeposit::compute(), SimpleMCJetCorrector::correctionEtEta(), SimplePUJetCorrector::correctionEtEta(), SimpleZSPJetCorrector::correctionEtEtaPhiP(), DisplayManager::createGCluster(), DisplayManager::createGGenParticle(), DisplayManager::createGPart(), DisplayManager::createGRecHit(), DisplayManager::createGTrack(), L1MuGMTMerger::createMergedCand(), pat::ElectronSelector::customSelection_(), muonisolation::IsolatorByNominalEfficiency::cuts(), JetAnalyzer::DiJetBalance(), DisplayManager::displayCanvas(), HLTTauRefProducer::doCaloTaus(), HLTTauRefProducer::doElectrons(), HLTTauRefProducer::doJets(), HLTTauRefProducer::doMuons(), HcalDeadCellMonitor::done(), HcalHotCellMonitor::done(), HLTTauRefProducer::doPFTaus(), ZeeCalibration::duringLoop(), EcalEleCalibLooper::EBRegionDefinition(), EcalEleCalibLooper::EcalEleCalibLooper(), EcalTBMCInfoProducer::EcalTBMCInfoProducer(), ResolutionCreator::endJob(), ElectronCalibration::endJob(), ElectronCalibrationUniv::endJob(), PFEnergyCalibration::energyEm(), MuonSeedCreator::estimatePtCSC(), MuonSeedCreator::estimatePtDT(), MuonSeedCreator::estimatePtOverlap(), MuonSeedCreator::estimatePtSingle(), RPCConst::etaFromTowerNum(), MuonCaloCompatibility::evaluate(), AlignmentMonitorTracksFromTrajectories::event(), GflashHadronShowerModel::excludeDetectorRegion(), GflashEMShowerModel::excludeDetectorRegion(), SimG4HcalValidation::fetchHits(), SimG4HcalValidation::fill(), HcalTestAnalysis::fill(), GenericBenchmark::fill(), pat::HistoPhoton::fill(), HcalDigiMonitor::fill_Nevents(), HcalTB06Analysis::fillBuffer(), HcalTB04Analysis::fillBuffer(), JetAnalyzer::fillCaloTowerHists(), fillDefaults(), MuonSimHitsValidAnalyzer::fillDT(), HCALRecHitAnalyzer::FillGeometry(), ECALRecHitAnalyzer::FillGeometry(), CaloTowerAnalyzer::FillGeometry(), EmDQM::fillHistos(), HLTMon::fillHistos(), HLTTauElDQMOfflineSource::fillHistos(), HLTMonElectron::fillHistos(), TrackAnalyzer::fillHistosForState(), HcalTestHistoClass::fillHits(), FastL1GlobalAlgo::FillL1RegionsTP(), ZeeCalibration::fillMCmap(), FastL1GlobalAlgo::FillMET(), GlobalHitsProducer::fillMuon(), GlobalHitsProdHist::fillMuon(), GlobalHitsAnalyzer::fillMuon(), HcalRecHitMonitor::fillNevents(), HcalHotCellMonitor::fillNevents_energy(), HcalDeadCellMonitor::fillNevents_energy(), HcalDeadCellMonitor::fillNevents_neighbor(), HcalHotCellMonitor::fillNevents_neighbor(), HcalDeadCellMonitor::fillNevents_occupancy(), HcalDeadCellMonitor::fillNevents_pedestal(), HcalHotCellMonitor::fillNevents_pedestal(), HcalHotCellMonitor::fillNevents_persistentenergy(), HcalHotCellMonitor::fillNevents_problemCells(), HcalDeadCellMonitor::fillNevents_problemCells(), HcalPedestalMonitor::fillPedestalHistos(), JetAnalyzer::fillRecHitHists(), HcalRecHitsValidation::fillRecHitsTmp(), MuonSimHitsValidAnalyzer::fillRPC(), EnergyScaleAnalyzer::fillTree(), GlobalHitsProducer::fillTrk(), GlobalHitsProdHist::fillTrk(), GlobalHitsAnalyzer::fillTrk(), HcalBaseMonitor::FillUnphysicalHEHFBins(), pat::CaloJetSelector::filter(), HLTPi0RecHitsFilter::filter(), HLTMuonL1Filter::filter(), PythiaFilterZJetWithOutBg::filter(), PythiaFilterZJet::filter(), PythiaFilterIsolatedTrack::filter(), PythiaFilterGammaJetWithOutBg::filter(), PythiaFilterGammaJetWithBg::filter(), PythiaFilterGammaJetIsoPi0::filter(), PythiaFilterGammaJet::filter(), PythiaFilterEMJetHeep::filter(), PythiaFilterEMJet::filter(), ZToMuMuSelector::filter(), L1GctHardwareJetFinder::findFinalClusters(), FastL1GlobalAlgo::findJets(), L1GctHardwareJetFinder::findProtoClusters(), TtSemiLepKinFitter::fit(), cms::HICFTSfromL1orL2::FTSfromL1(), L1ExtraParticlesProd::gctLorentzVector(), get3x3(), get5x5(), VisEventSetupService::getBinNumber(), calib::CalibElectron::getCalibModulesWeights(), GflashHadronShowerProfile::getCalorimeterNumber(), EcalEndcapGeometry::getCells(), EcalBarrelGeometry::getCells(), CaloSubdetectorGeometry::getCells(), EcalBarrelGeometry::getClosestCell(), CaloSubdetectorGeometry::getClosestCell(), calogeom::IdealZPrism::getCorners(), calogeom::IdealObliquePrism::getCorners(), TFitParticleEtEtaPhi::getDerivative(), L2TauNarrowConeIsolationProducer::getECALHits(), L2TauIsolationProducer::getECALHits(), ZdcSD::getEnergyDeposit(), CastorSD::getEnergyDeposit(), TEBNumbering::GetEta(), MuonErrorMatrix::getFast(), EgammaHcalIsolation::getHcalEtSum(), L2TauNarrowConeIsolationProducer::getHCALHits(), CalibrationCluster::getMap(), HcalDbOnline::getObject(), HcalQIEManager::getQIETableFromFile(), FastL1Region::getRegionCenterEtaPhi(), FastL1RegionMap::getRegionCenterEtaPhi(), H4Geom::getSMCrystalNumber(), EgammaRecHitIsolation::getSum_(), H4Geom::getTowerCrystalNumber(), HcalTB02HcalNumberingScheme::getUnitID(), EcalBarrelNumberingScheme::getUnitID(), pat::helper::IsoDepositIsolator::getValue(), L1MuGMTSortRankUnit::getVeryLowQualityLevel(), H4Geom::getVFE(), H4Geom::getWindow(), ConvBremSeedProducer::GoodCluster(), EcalHitMaker::hcalCellLine(), HcalNumberingFromDDD::HcalCellTypes(), JetMaker::hcalSubdetector(), HResolution::HResolution(), HcalHotCellClient::htmlOutput(), HcalDeadCellClient::htmlOutput(), HcalPedestalClient::htmlOutput(), HcalBeamClient::htmlOutput(), HcalRecHitClient::htmlOutput(), HcalDigiClient::htmlOutput(), SiStripRegionCabling::increment(), MSLayersKeeperX0Averaged::init(), RectangularEtaPhiTrackingRegion::initEtaRange(), L1MuGMTSortRankUnit::isDisabled(), H4Geom::isInFirstHalf(), EgammaHLTHcalIsolationDoubleCone::isolPtSum(), EgammaHLTHcalIsolation::isolPtSum(), EcalRawToRecHitRoI::Jet_OneL1JetCollection(), EcalListOfFEDSProducer::Jets(), FML3EfficiencyHandler::kill(), FMGLfromL3EfficiencyHandler::kill(), FMGLfromTKEfficiencyHandler::kill(), FMGLfromL3TKEfficiencyHandler::kill(), L1CaloEcalScale::L1CaloEcalScale(), L1CaloHcalScale::L1CaloHcalScale(), L1GctEmCand::L1GctEmCand(), L1MuDTEtaPatternLut::load(), L1MuDTQualPatternLut::load(), DisplayManager::lookForGenParticle(), DisplayManager::lookForMaxRecHit(), main(), L1RCTORCAMap::makeBarrelData(), HcalHardcodeGeometryLoader::makeCell(), HcalDDDGeometryLoader::makeCell(), CaloTowerHardcodeGeometryLoader::makeCell(), XMLDocument::makeChId(), HFClusterAlgo::makeCluster(), MuonOverlapSeedFromRecHits::makeSeed(), lhef::JetMatchingMLM::match(), L1MuGMTMerger::merge_rank(), mtrTransfer(), EcalListOfFEDSProducer::Muon(), EcalRawToRecHitRoI::Muon(), edm::PythiaMuEnrichSource::muon_cut(), muonisolation::CaloExtractorByAssociator::noiseEcal(), muonisolation::CaloExtractor::noiseEcal(), SimG4HcalValidation::nxNAnalysis(), EgammaHLTOffline::obtainFiltersElePasses(), OnDemandMeasurementTracker::OnDemandMeasurementTracker(), EcalRawToRecHitRoI::OneCandCollection(), VisL1MuDTTrackContainerTwig::onNewEvent(), TrackClassFilter::operator()(), TrackClassMatch::operator()(), EtaRangeSelector::operator()(), Generator::particlePassesPrimaryCuts(), L1GctJetCounterLut::passesCut(), TopologyWorker::planes_sphe(), TopologyWorker::planes_sphe_wei(), SiStripRegionCabling::positionIndex(), CaloMiscalibMapHcal::prefillMap(), PFRootEventManager::printGenParticles(), FBaseSimEvent::printMCTruth(), HcalCaloTowerMonitor::processEvent(), HcalTrigPrimMonitor::processEvent(), HcalBeamMonitor::processEvent(), processHits(), PFRootEventManagerColin::processNeutral(), JetVetoedTracksAssociationDRVertex::produce(), L2MuonSeedGenerator::produce(), JetTracksAssociationDRVertex::produce(), JetTracksAssociationDRCalo::produce(), CentralityProducer::produce(), JetCrystalsAssociator::produce(), SoftElectronProducer::produce(), reco::modules::CaloRecHitCandidateProducer< HitCollection >::produce(), PATHemisphereProducer::produce(), FlavorHistoryProducer::produce(), L1ExtraFromMCTruthProd::produce(), L1ExtraParticlesProd::produce(), RPCFileReader::produce(), edm::MultiParticleInConeGunSource::produce(), edm::FlatRandomPtGunSource::produce(), edm::FlatRandomEGunSource::produce(), edm::ExpoRandomPtGunSource::produce(), edm::PythiaSource::produce(), edm::PythiaProducer::produce(), ParamL3MuonProducer::produce(), FastL1MuonProducer::produce(), cms::AlCaDiJetsProducer::produce(), SiStripRegionConnectivity::produceRegionCabling(), MuonSeedPtExtractor::pT_extract(), HITSiStripRawToClustersRoI::ptracks(), StoreEcalCondition::readEcalGainRatiosFromFile(), L1MuGMTHWFileReader::readNextEvent(), HemisphereAlgo::reconstruct(), MuonTrackingRegionBuilder::region(), L1GctInternEmCand::regionId(), L1GctEmCand::regionId(), L1GctJetCand::regionId(), TB06RecoH2::reset(), TB06TreeH2::reset(), TB06Reco::reset(), TB06Tree::reset(), HcalSummaryClient::resetSummaryPlot(), muonisolation::IsolatorByDepositCount::result(), muonisolation::IsolatorByDeposit::result(), CutBasedElectronID::result(), MuonErrorMatrix::Rms(), RoadSearchSeedFinderAlgorithm::run(), L1MuonPixelTrackFitter::run(), CMSIterativeConeAlgorithm::run(), L1MuGMTPhiProjectionUnit::run(), L1MuGMTEtaProjectionUnit::run(), HIPAlignmentAlgorithm::run(), reco::modules::AnalyticalTrackSelector::select(), EgammaHLTOffline::setFiltersElePasses(), TFitParticleEtEtaPhi::setIni4Vec(), JetPlusTrackCorrector::setParameters(), HcalPedestalMonitor::setup(), L1DummyProducer::SimpleDigi(), reco::PFRecHit::size(), pat::ObjectSpatialResolution< T >::smearAngles(), L1MuGMTSortRankUnit::sort_rank(), TB06TreeH2::store(), TB06Tree::store(), PFRootEventManager::tauBenchmark(), TBposition(), TrackEfficiencyMonitor::testSTATracks(), TrackEfficiencyMonitor::testTrackerTracks(), HcalTestAnalysis::towersToAdd(), MuonNavigableLayer::trackingRange(), translateCoeff(), undefinedCells(), VisTkSimTrackTwig::update(), VisPCaloHitTwig::update(), VisTrackerRechit2DTwig::update(), VisTrackerRechit2DMatchedTwig::update(), VisTrackerPiRechitTwig::update(), VisTrackerPiDigiTwig::update(), VisTrackerPiClusterTwig::update(), VisTrackerDigiTwig::update(), VisTrackerClusterTwig::update(), VisPixelDigiTwig::update(), VisCSCSeg2HETwig::update(), VisCandidateTwig::update(), VisCaloTowerTwig::update(), VisCaloJetTwig::update(), VisPFRecHitTwig::update(), VisPFClusterTwig::update(), VisCSCStripDigiTwig::update(), VisHORecHitTwig::update(), VisHFRecHitTwig::update(), VisHBHERecHitTwig::update(), VisSuperClusterTwig::update(), VisSuperClusterCollectionTwig::update(), VisEcalUncalibratedRecHitTwig::update(), VisEcalRecHitTwig::update(), VisBasicClusterTwig::update(), VisBasicClusterCollectionTwig::update(), FP420Test::update(), ZdcTestAnalysis::update(), CastorTestAnalysis::update(), BscTest::update(), HcalTestAnalysis::update(), MuonErrorMatrix::Value(), writeCalibTxt(), writeCMSSWCoeff(), ECALRecHitAnalyzer::WriteECALRecHits(), DumpEvent::WriteElectrons(), DumpEvent::WriteJets(), Pi0CalibXMLwriter::writeLine(), calibXMLwriter::writeLine(), DumpEvent::WriteMuons(), DumpEvent::WritePhotons(), and EtaCorrection::xEtaShift().
unsigned index |
Definition at line 32 of file JetTracksAssociationDRCalo.cc.
double phi |
Definition at line 34 of file JetTracksAssociationDRCalo.cc.
const double rBarrel = 143. [static] |
Definition at line 25 of file JetTracksAssociationDRCalo.cc.
const double rEndcapMin = zEndcap * tan ( 2*atan (exp (-3.))) [static] |
Definition at line 28 of file JetTracksAssociationDRCalo.cc.
Definition at line 29 of file JetTracksAssociationDRCalo.cc.
const double zEndcap = 320. [static] |
Definition at line 26 of file JetTracksAssociationDRCalo.cc.
const double zVF = 1100. [static] |
Definition at line 27 of file JetTracksAssociationDRCalo.cc.