CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Member Functions
JetTracksAssociationXtrpCalo Class Reference

#include <JetTracksAssociationXtrpCalo.h>

Public Types

typedef reco::JetTracksAssociation::Container Association
 
typedef edm::RefToBase< reco::JetJetRef
 
typedef std::vector< JetRefJetRefs
 
typedef std::vector< reco::TrackRefTrackRefs
 

Public Member Functions

void associateInputTracksToJet (reco::TrackRefVector &associated, const reco::Jet &fJet, std::vector< reco::TrackExtrapolation > const &fExtrapolations, double dR)
 
 JetTracksAssociationXtrpCalo ()
 Constructor. More...
 
void produce (Association *, JetRefs const &, std::vector< reco::TrackExtrapolation > const &, CaloGeometry const &, double dR)
 Associates tracks to jets. More...
 
virtual ~JetTracksAssociationXtrpCalo ()
 Destructor. More...
 

Private Member Functions

virtual void associateTracksToJet (reco::TrackRefVector &, const reco::Jet &, const TrackRefs &)
 Unused. More...
 

Detailed Description

Definition at line 25 of file JetTracksAssociationXtrpCalo.h.

Member Typedef Documentation

◆ Association

Definition at line 27 of file JetTracksAssociationXtrpCalo.h.

◆ JetRef

Definition at line 28 of file JetTracksAssociationXtrpCalo.h.

◆ JetRefs

Definition at line 29 of file JetTracksAssociationXtrpCalo.h.

◆ TrackRefs

Definition at line 30 of file JetTracksAssociationXtrpCalo.h.

Constructor & Destructor Documentation

◆ JetTracksAssociationXtrpCalo()

JetTracksAssociationXtrpCalo::JetTracksAssociationXtrpCalo ( )

Constructor.

Definition at line 21 of file JetTracksAssociationXtrpCalo.cc.

21 {}

◆ ~JetTracksAssociationXtrpCalo()

JetTracksAssociationXtrpCalo::~JetTracksAssociationXtrpCalo ( )
virtual

Destructor.

Definition at line 25 of file JetTracksAssociationXtrpCalo.cc.

25 {}

Member Function Documentation

◆ associateInputTracksToJet()

void JetTracksAssociationXtrpCalo::associateInputTracksToJet ( reco::TrackRefVector associated,
const reco::Jet fJet,
std::vector< reco::TrackExtrapolation > const &  fExtrapolations,
double  dR 
)

Definition at line 43 of file JetTracksAssociationXtrpCalo.cc.

References Options::const, reco::CaloJet::detectorP4(), HGC3DClusterGenMatchSelector_cfi::dR, l1ctLayer1_cff::dr, Exception, reco::btau::jetEta, reco::btau::jetPhi, reco::LeafCandidate::phi(), point, and edm::RefVector< C, T, F >::push_back().

Referenced by produce().

47  {
48  reco::CaloJet const* pCaloJet = dynamic_cast<reco::CaloJet const*>(&fJet);
49  if (pCaloJet == nullptr) {
50  throw cms::Exception("InvalidInput") << "Expecting calo jets only in JetTracksAssociationXtrpCalo";
51  }
52  // Loop over CaloTowers
53  double jetPhi = pCaloJet->phi();
54  double jetEta = pCaloJet->detectorP4().eta();
55 
56  // now cache the mapping of (det ID --> track)
57 
58  // std::cout<<" New jet "<<jetEta<<" "<<jetPhi<<" Jet ET "<<pCaloJet->et()<<std::endl;
59 
60  for (std::vector<reco::TrackExtrapolation>::const_iterator xtrpBegin = fExtrapolations.begin(),
61  xtrpEnd = fExtrapolations.end(),
62  ixtrp = xtrpBegin;
63  ixtrp != xtrpEnd;
64  ++ixtrp) {
65  if (ixtrp->positions().empty())
66  continue;
67  reco::TrackBase::Point const& point = ixtrp->positions().at(0);
68 
69  double dr = reco::deltaR<double>(jetEta, jetPhi, point.eta(), point.phi());
70  if (dr < dR) {
71  // std::cout<<" JetTracksAssociationXtrpCalo::associateInputTracksToJet:: initial track "<<ixtrp->track()->pt()<<" "<<ixtrp->track()->eta()<<
72  // " "<<ixtrp->track()->phi()<< " Extrapolated position "<<point.eta()<<" "<<point.phi()<<" Valid? "<<ixtrp->isValid().at(0)<<" Jet eta, phi "<<jetEta<<" "<<jetPhi<<" Jet ET "<<pCaloJet->et()<<
73  // " dr "<<dr<<" dR "<<dR<<std::endl;
74 
75  reco::TrackRef matchedTrack = ixtrp->track();
76  associated.push_back(matchedTrack);
77  }
78  }
79 }
Jets made from CaloTowers.
Definition: CaloJet.h:27
LorentzVector detectorP4() const
detector p4 for full 3d vertex correction.
Definition: CaloJet.cc:55
math::XYZPoint Point
point in the space
Definition: TrackBase.h:80
void push_back(value_type const &ref)
Add a Ref<C, T> to the RefVector.
Definition: RefVector.h:67
double phi() const final
momentum azimuthal angle
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point
Definition: invegas.h:5

◆ associateTracksToJet()

virtual void JetTracksAssociationXtrpCalo::associateTracksToJet ( reco::TrackRefVector ,
const reco::Jet ,
const TrackRefs  
)
inlineprivatevirtual

Unused.

Definition at line 48 of file JetTracksAssociationXtrpCalo.h.

48 {}

◆ produce()

void JetTracksAssociationXtrpCalo::produce ( Association fAssociation,
JetRefs const &  fJets,
std::vector< reco::TrackExtrapolation > const &  fExtrapolations,
CaloGeometry const &  fGeo,
double  dR 
)

Associates tracks to jets.

Definition at line 30 of file JetTracksAssociationXtrpCalo.cc.

References associateInputTracksToJet(), HGC3DClusterGenMatchSelector_cfi::dR, and reco::JetTracksAssociation::setValue().

Referenced by JetTracksAssociatorAtCaloFace::produce().

34  {
35  for (JetRefs::const_iterator jetsBegin = fJets.begin(), jetsEnd = fJets.end(), ijet = jetsBegin; ijet != jetsEnd;
36  ++ijet) {
37  reco::TrackRefVector associated;
38  associateInputTracksToJet(associated, **ijet, fExtrapolations, dR);
39  reco::JetTracksAssociation::setValue(fAssociation, *ijet, associated);
40  }
41 }
void associateInputTracksToJet(reco::TrackRefVector &associated, const reco::Jet &fJet, std::vector< reco::TrackExtrapolation > const &fExtrapolations, double dR)
bool setValue(Container &, const reco::JetBaseRef &, reco::TrackRefVector)
associate jet with value. Returns false and associate nothing if jet is already associated ...