CMS 3D CMS Logo

JetTracksAssociationDRCalo.cc File Reference

#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.


Function Documentation

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   }


Variable Documentation

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.

const double rVFMin = zEndcap * tan ( 2*atan (exp (-5.191))) [static]

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.


Generated on Tue Jun 9 17:55:18 2009 for CMSSW by  doxygen 1.5.4