CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
reco::tau::PFRecoTauChargedHadronFromGenericTrackPlugin< TrackClass > Class Template Reference

#include <PFRecoTauChargedHadron.h>

Inheritance diagram for reco::tau::PFRecoTauChargedHadronFromGenericTrackPlugin< TrackClass >:
reco::tau::PFRecoTauChargedHadronBuilderPlugin reco::tau::RecoTauEventHolderPlugin reco::tau::RecoTauNamedPlugin

Public Member Functions

void beginEvent () override
 Hook called at the beginning of the event. More...
 
return_type operator() (const reco::Jet &) const override
 Build a collection of chargedHadrons from objects in the input jet. More...
 
 PFRecoTauChargedHadronFromGenericTrackPlugin (const edm::ParameterSet &, edm::ConsumesCollector &&iC)
 
 ~PFRecoTauChargedHadronFromGenericTrackPlugin () override
 
- Public Member Functions inherited from reco::tau::PFRecoTauChargedHadronBuilderPlugin
 PFRecoTauChargedHadronBuilderPlugin (const edm::ParameterSet &pset, edm::ConsumesCollector &&iC)
 
 ~PFRecoTauChargedHadronBuilderPlugin () override
 
- Public Member Functions inherited from reco::tau::RecoTauEventHolderPlugin
const edm::Eventevt () const
 
edm::Eventevt ()
 
const edm::EventSetupevtSetup () const
 
 RecoTauEventHolderPlugin (const edm::ParameterSet &pset)
 
void setup (edm::Event &, const edm::EventSetup &)
 
 ~RecoTauEventHolderPlugin () override
 
- Public Member Functions inherited from reco::tau::RecoTauNamedPlugin
const std::string & name () const
 
 RecoTauNamedPlugin (const edm::ParameterSet &pset)
 
virtual ~RecoTauNamedPlugin ()
 

Private Member Functions

bool filterTrack (const edm::Handle< std::vector< TrackClass > > &, size_t iTrack) const
 
template<>
bool filterTrack (const edm::Handle< std::vector< reco::Track > > &tracks, size_t iTrack) const
 
template<>
bool filterTrack (const edm::Handle< std::vector< pat::PackedCandidate > > &tracks, size_t iTrack) const
 
XYZTLorentzVector getTrackPos (const TrackClass &track) const
 
template<>
XYZTLorentzVector getTrackPos (const reco::Track &track) const
 
template<>
XYZTLorentzVector getTrackPos (const pat::PackedCandidate &track) const
 
double getTrackPtError (const TrackClass &track) const
 
template<>
double getTrackPtError (const reco::Track &track) const
 
template<>
double getTrackPtError (const pat::PackedCandidate &cand) const
 
void setChargedHadronTrack (PFRecoTauChargedHadron &chargedHadron, const edm::Ptr< TrackClass > &track) const
 
template<>
void setChargedHadronTrack (PFRecoTauChargedHadron &chargedHadron, const edm::Ptr< reco::Track > &track) const
 
template<>
void setChargedHadronTrack (PFRecoTauChargedHadron &chargedHadron, const edm::Ptr< pat::PackedCandidate > &track) const
 

Private Attributes

double dRcone_
 
bool dRconeLimitedToJetArea_
 
double dRmergeNeutralHadron_
 
double dRmergePhoton_
 
math::XYZVector magneticFieldStrength_
 
int maxWarnings_
 
int numWarnings_
 
RecoTauQualityCutsqcuts_
 
edm::InputTag srcTracks_
 
edm::EDGetTokenT< std::vector< TrackClass > > Tracks_token
 
int verbosity_
 
RecoTauVertexAssociator vertexAssociator_
 

Additional Inherited Members

- Public Types inherited from reco::tau::PFRecoTauChargedHadronBuilderPlugin
typedef boost::ptr_vector< PFRecoTauChargedHadronChargedHadronVector
 
typedef std::auto_ptr< ChargedHadronVectorreturn_type
 

Detailed Description

template<class TrackClass>
class reco::tau::PFRecoTauChargedHadronFromGenericTrackPlugin< TrackClass >

Definition at line 12 of file PFRecoTauChargedHadron.h.

Constructor & Destructor Documentation

Definition at line 91 of file PFRecoTauChargedHadronFromGenericTrackPlugin.cc.

References reco::tau::PFRecoTauChargedHadronFromGenericTrackPlugin< TrackClass >::dRcone_, reco::tau::PFRecoTauChargedHadronFromGenericTrackPlugin< TrackClass >::dRconeLimitedToJetArea_, reco::tau::PFRecoTauChargedHadronFromGenericTrackPlugin< TrackClass >::dRmergeNeutralHadron_, reco::tau::PFRecoTauChargedHadronFromGenericTrackPlugin< TrackClass >::dRmergePhoton_, edm::ParameterSet::getParameter(), edm::ParameterSet::getParameterSet(), reco::tau::PFRecoTauChargedHadronFromGenericTrackPlugin< TrackClass >::maxWarnings_, reco::tau::PFRecoTauChargedHadronFromGenericTrackPlugin< TrackClass >::numWarnings_, reco::tau::PFRecoTauChargedHadronFromGenericTrackPlugin< TrackClass >::qcuts_, reco::tau::PFRecoTauChargedHadronFromGenericTrackPlugin< TrackClass >::srcTracks_, reco::tau::PFRecoTauChargedHadronFromGenericTrackPlugin< TrackClass >::Tracks_token, and reco::tau::PFRecoTauChargedHadronFromGenericTrackPlugin< TrackClass >::verbosity_.

94  qcuts_(nullptr)
95 {
96  edm::ParameterSet qcuts_pset = pset.getParameterSet("qualityCuts").getParameterSet("signalQualityCuts");
97  qcuts_ = new RecoTauQualityCuts(qcuts_pset);
98 
99  srcTracks_ = pset.getParameter<edm::InputTag>("srcTracks");
100  Tracks_token = iC.consumes<std::vector<TrackClass> >(srcTracks_);
101  dRcone_ = pset.getParameter<double>("dRcone");
102  dRconeLimitedToJetArea_ = pset.getParameter<bool>("dRconeLimitedToJetArea");
103 
104  dRmergeNeutralHadron_ = pset.getParameter<double>("dRmergeNeutralHadron");
105  dRmergePhoton_ = pset.getParameter<double>("dRmergePhoton");
106 
107  numWarnings_ = 0;
108  maxWarnings_ = 3;
109 
110  verbosity_ = pset.getParameter<int>("verbosity");
111 }
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
T getParameter(std::string const &) const
ParameterSet const & getParameterSet(std::string const &) const
def move(src, dest)
Definition: eostools.py:511
PFRecoTauChargedHadronBuilderPlugin(const edm::ParameterSet &pset, edm::ConsumesCollector &&iC)

Member Function Documentation

template<class TrackClass >
void reco::tau::PFRecoTauChargedHadronFromGenericTrackPlugin< TrackClass >::beginEvent ( )
overridevirtual

Hook called at the beginning of the event.

Reimplemented from reco::tau::PFRecoTauChargedHadronBuilderPlugin.

Definition at line 121 of file PFRecoTauChargedHadronFromGenericTrackPlugin.cc.

References reco::tau::RecoTauEventHolderPlugin::evt(), reco::tau::RecoTauEventHolderPlugin::evtSetup(), edm::EventSetup::get(), MagneticField::inTesla(), seedCreatorFromRegionConsecutiveHitsEDProducer_cff::magneticField, reco::tau::PFRecoTauChargedHadronFromGenericTrackPlugin< TrackClass >::magneticFieldStrength_, reco::tau::RecoTauVertexAssociator::setEvent(), and reco::tau::PFRecoTauChargedHadronFromGenericTrackPlugin< TrackClass >::vertexAssociator_.

122 {
123  vertexAssociator_.setEvent(*this->evt());
124 
126  const edm::EventSetup* evtSetup(this->evtSetup());
127  evtSetup->get<IdealMagneticFieldRecord>().get(magneticField);
128  magneticFieldStrength_ = magneticField->inTesla(GlobalPoint(0.,0.,0.));
129 }
Global3DPoint GlobalPoint
Definition: GlobalPoint.h:10
void setEvent(const edm::Event &evt)
Load the vertices from the event.
const edm::EventSetup * evtSetup() const
virtual GlobalVector inTesla(const GlobalPoint &gp) const =0
Field value ad specified global point, in Tesla.
T get() const
Definition: EventSetup.h:71
template<class TrackClass >
bool reco::tau::PFRecoTauChargedHadronFromGenericTrackPlugin< TrackClass >::filterTrack ( const edm::Handle< std::vector< TrackClass > > &  ,
size_t  iTrack 
) const
private
template<>
bool reco::tau::PFRecoTauChargedHadronFromGenericTrackPlugin< reco::Track >::filterTrack ( const edm::Handle< std::vector< reco::Track > > &  tracks,
size_t  iTrack 
) const
private

Definition at line 132 of file PFRecoTauChargedHadronFromGenericTrackPlugin.cc.

References reco::tau::RecoTauQualityCuts::filterTrack(), reco::tau::PFRecoTauChargedHadronFromGenericTrackPlugin< TrackClass >::qcuts_, and l1t::tracks.

132  {
133 // ignore tracks which fail quality cuts
134  reco::TrackRef trackRef(tracks, iTrack);
135  return qcuts_->filterTrack(trackRef);
136 }
bool filterTrack(const reco::TrackBaseRef &track) const
Filter a single Track.
template<>
bool reco::tau::PFRecoTauChargedHadronFromGenericTrackPlugin< pat::PackedCandidate >::filterTrack ( const edm::Handle< std::vector< pat::PackedCandidate > > &  tracks,
size_t  iTrack 
) const
private

Definition at line 139 of file PFRecoTauChargedHadronFromGenericTrackPlugin.cc.

References pat::PackedCandidate::charge(), reco::tau::RecoTauQualityCuts::filterChargedCand(), and reco::tau::PFRecoTauChargedHadronFromGenericTrackPlugin< TrackClass >::qcuts_.

139  {
140  // ignore tracks which fail quality cuts
141  const pat::PackedCandidate& cand = (*tracks)[iTrack];
142  if (cand.charge() == 0)
143  return false;
144 
145  return qcuts_->filterChargedCand(cand);
146 }
int charge() const override
electric charge
bool filterChargedCand(const reco::Candidate &cand) const
or a single charged candidate
template<class TrackClass >
XYZTLorentzVector reco::tau::PFRecoTauChargedHadronFromGenericTrackPlugin< TrackClass >::getTrackPos ( const TrackClass track) const
private
template<>
XYZTLorentzVector reco::tau::PFRecoTauChargedHadronFromGenericTrackPlugin< reco::Track >::getTrackPos ( const reco::Track track) const
private

Definition at line 179 of file PFRecoTauChargedHadronFromGenericTrackPlugin.cc.

References reco::TrackBase::referencePoint().

179  {
180  return XYZTLorentzVector(track.referencePoint().x(), track.referencePoint().y(), track.referencePoint().z(), 0.);
181 }
const Point & referencePoint() const
Reference point on the track.
Definition: TrackBase.h:714
math::XYZTLorentzVector XYZTLorentzVector
Definition: RawParticle.h:27

Definition at line 184 of file PFRecoTauChargedHadronFromGenericTrackPlugin.cc.

References pat::PackedCandidate::vertex().

184  {
185  return XYZTLorentzVector(track.vertex().x(), track.vertex().y(), track.vertex().z(), 0.);
186 }
const Point & vertex() const override
vertex position
math::XYZTLorentzVector XYZTLorentzVector
Definition: RawParticle.h:27
template<class TrackClass >
double reco::tau::PFRecoTauChargedHadronFromGenericTrackPlugin< TrackClass >::getTrackPtError ( const TrackClass track) const
private
template<>
double reco::tau::PFRecoTauChargedHadronFromGenericTrackPlugin< reco::Track >::getTrackPtError ( const reco::Track track) const
private

Definition at line 159 of file PFRecoTauChargedHadronFromGenericTrackPlugin.cc.

References reco::TrackBase::ptError().

159  {
160  return track.ptError();
161 }
double ptError() const
error on Pt (set to 1000 TeV if charge==0 for safety)
Definition: TrackBase.h:808
template<>
double reco::tau::PFRecoTauChargedHadronFromGenericTrackPlugin< pat::PackedCandidate >::getTrackPtError ( const pat::PackedCandidate cand) const
private

Definition at line 164 of file PFRecoTauChargedHadronFromGenericTrackPlugin.cc.

References funct::abs(), pat::PackedCandidate::bestTrack(), pat::PackedCandidate::eta(), and HiIsolationCommonParameters_cff::track.

164  {
165  double trackPtError = 0.06; // MB: Approximate avarage track PtError by 2.5% (barrel), 4% (transition), 6% (endcaps) lostTracks w/o detailed track information available (after TRK-11-001)
166  const reco::Track* track(cand.bestTrack());
167  if(track != nullptr) {
168  trackPtError = track->ptError();
169  } else {
170  if( std::abs(cand.eta()) < 0.9 )
171  trackPtError = 0.025;
172  else if( std::abs(cand.eta()) < 1.4 )
173  trackPtError = 0.04;
174  }
175  return trackPtError;
176 }
const reco::Track * bestTrack() const override
return a pointer to the track if present. otherwise, return a null pointer
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
double eta() const override
momentum pseudorapidity

Build a collection of chargedHadrons from objects in the input jet.

Implements reco::tau::PFRecoTauChargedHadronBuilderPlugin.

Definition at line 204 of file PFRecoTauChargedHadronFromGenericTrackPlugin.cc.

References funct::abs(), reco::tau::RecoTauVertexAssociator::associatedVertex(), reco::tau::atECALEntrance(), muons2muons_cfi::chargedHadron, reco::CompositePtrCandidate::daughterPtrVector(), reco::deltaR(), PFRecoTauDiscriminationAgainstElectronDeadECAL_cfi::dR, reco::tau::PFRecoTauChargedHadronFromGenericTrackPlugin< TrackClass >::dRcone_, reco::tau::PFRecoTauChargedHadronFromGenericTrackPlugin< TrackClass >::dRconeLimitedToJetArea_, CaloRecoTauDiscriminationAgainstMuon_cfi::dRmatch, reco::tau::PFRecoTauChargedHadronFromGenericTrackPlugin< TrackClass >::dRmergeNeutralHadron_, reco::tau::PFRecoTauChargedHadronFromGenericTrackPlugin< TrackClass >::dRmergePhoton_, reco::LeafCandidate::eta(), reco::tau::RecoTauEventHolderPlugin::evt(), reco::tau::PFRecoTauChargedHadronFromGenericTrackPlugin< TrackClass >::filterTrack(), edm::Event::getByToken(), reco::tau::PFRecoTauChargedHadronFromGenericTrackPlugin< TrackClass >::getTrackPos(), reco::tau::PFRecoTauChargedHadronFromGenericTrackPlugin< TrackClass >::getTrackPtError(), edm::Ref< C, T, F >::isNonnull(), reco::Jet::jetArea(), reco::PFRecoTauChargedHadron::kTrack, M_PI, reco::tau::PFRecoTauChargedHadronFromGenericTrackPlugin< TrackClass >::magneticFieldStrength_, reco::tau::PFRecoTauChargedHadronFromGenericTrackPlugin< TrackClass >::maxWarnings_, min(), reco::tau::RecoTauNamedPlugin::name(), reco::tau::PFRecoTauChargedHadronFromGenericTrackPlugin< TrackClass >::numWarnings_, convertSQLitetoXML_cfg::output, AlCaHLTBitMon_ParallelJobs::p, common_cff::pdgId, reco::LeafCandidate::phi(), BaseParticlePropagator::propagateToEcalEntrance(), reco::LeafCandidate::pt(), reco::tau::PFRecoTauChargedHadronFromGenericTrackPlugin< TrackClass >::qcuts_, fftjetproducer_cfi::resolution, RawParticle::setCharge(), reco::tau::setChargedHadronP4(), reco::tau::PFRecoTauChargedHadronFromGenericTrackPlugin< TrackClass >::setChargedHadronTrack(), reco::tau::RecoTauQualityCuts::setPV(), mathSSE::sqrt(), HiIsolationCommonParameters_cff::track, l1t::tracks, reco::tau::PFRecoTauChargedHadronFromGenericTrackPlugin< TrackClass >::Tracks_token, reco::tau::PFRecoTauChargedHadronFromGenericTrackPlugin< TrackClass >::verbosity_, reco::tau::PFRecoTauChargedHadronFromGenericTrackPlugin< TrackClass >::vertexAssociator_, and badGlobalMuonTaggersAOD_cff::vtx.

205 {
206  if ( verbosity_ ) {
207  edm::LogPrint("TauChHFromTrack") << "<PFRecoTauChargedHadronFromGenericTrackPlugin::operator()>:" ;
208  edm::LogPrint("TauChHFromTrack") << " pluginName = " << name() ;
209  }
210 
212 
213  const edm::Event& evt = (*this->evt());
214 
216  evt.getByToken(Tracks_token, tracks);
217 
219  float jEta=jet.eta();
220  float jPhi=jet.phi();
221  size_t numTracks = tracks->size();
222  for ( size_t iTrack = 0; iTrack < numTracks; ++iTrack ) {
223  const TrackClass& track = (*tracks)[iTrack];
224 
225  // consider tracks in vicinity of tau-jet candidate only
226  double dR = deltaR(track.eta(), track.phi(), jEta,jPhi);
227  double dRmatch = dRcone_;
228  if ( dRconeLimitedToJetArea_ ) {
229  double jetArea = jet.jetArea();
230  if ( jetArea > 0. ) {
231  dRmatch = std::min(dRmatch, sqrt(jetArea/M_PI));
232  } else {
233  if ( numWarnings_ < maxWarnings_ ) {
234  edm::LogInfo("PFRecoTauChargedHadronFromGenericTrackPlugin::operator()")
235  << "Jet: Pt = " << jet.pt() << ", eta = " << jet.eta() << ", phi = " << jet.phi() << " has area = " << jetArea << " !!" << std::endl;
236  ++numWarnings_;
237  }
238  dRmatch = 0.1;
239  }
240  }
241  if ( dR > dRmatch ) continue;
242 
243  if (!this->filterTrack(tracks, iTrack)) continue;
244 
245  reco::Candidate::Charge trackCharge_int = 0;
246  if ( track.charge() > 0. ) trackCharge_int = +1;
247  else if ( track.charge() < 0. ) trackCharge_int = -1;
248 
249  const double chargedPionMass = 0.13957; // GeV
250  double chargedPionP = track.p();
251  double chargedPionEn = TMath::Sqrt(chargedPionP*chargedPionP + chargedPionMass*chargedPionMass);
252  reco::Candidate::LorentzVector chargedPionP4(track.px(), track.py(), track.pz(), chargedPionEn);
253 
254  reco::Vertex::Point vtx(0.,0.,0.);
256 
257  std::auto_ptr<PFRecoTauChargedHadron> chargedHadron(new PFRecoTauChargedHadron(trackCharge_int, chargedPionP4, vtx, 0, true, PFRecoTauChargedHadron::kTrack));
258 
260 
261  // CV: Take code for propagating track to ECAL entrance
262  // from RecoParticleFlow/PFTracking/src/PFTrackTransformer.cc
263  // to make sure propagation is done in the same way as for charged PFCandidates.
264  //
265  // The following replacements need to be made
266  // outerMomentum -> momentum
267  // outerPosition -> referencePoint
268  // in order to run on AOD input
269  // (outerMomentum and outerPosition require access to reco::TrackExtra objects, which are available in RECO only)
270  //
271  XYZTLorentzVector chargedPionPos(getTrackPos(track));
272  RawParticle p(chargedPionP4, chargedPionPos);
273  p.setCharge(track.charge());
274  BaseParticlePropagator trackPropagator(p, 0., 0., magneticFieldStrength_.z());
275  trackPropagator.propagateToEcalEntrance(false);
276  if ( trackPropagator.getSuccess() != 0 ) {
277  chargedHadron->positionAtECALEntrance_ = trackPropagator.particle().vertex();
278  } else {
279  if ( chargedPionP4.pt() > 2. and std::abs(chargedPionP4.eta()) < 3. ) {
280  edm::LogWarning("PFRecoTauChargedHadronFromGenericTrackPlugin::operator()")
281  << "Failed to propagate track: Pt = " << track.pt() << ", eta = " << track.eta() << ", phi = " << track.phi() << " to ECAL entrance !!" << std::endl;
282  }
283  chargedHadron->positionAtECALEntrance_ = math::XYZPointF(0.,0.,0.);
284  }
285 
286  std::vector<Candidate_withDistance> neutralJetConstituents_withDistance;
287  for ( const auto& jetConstituent : jet.daughterPtrVector() ) {
288  int pdgId = jetConstituent->pdgId();
289  if ( !(pdgId == 130 || pdgId == 22) ) continue;
290  double dR = deltaR(atECALEntrance(&*jetConstituent, magneticFieldStrength_.z()), chargedHadron->positionAtECALEntrance_);
291  double dRmerge = -1.;
292  if ( pdgId == 130 ) dRmerge = dRmergeNeutralHadron_;
293  else if ( pdgId == 22 ) dRmerge = dRmergePhoton_;
294  if ( dR < dRmerge ) {
295  Candidate_withDistance jetConstituent_withDistance;
296  jetConstituent_withDistance.pfCandidate_ = jetConstituent;
297  jetConstituent_withDistance.distance_ = dR;
298  neutralJetConstituents_withDistance.push_back(jetConstituent_withDistance);
299  chargedHadron->addDaughter(jetConstituent);
300  }
301  }
302  std::sort(neutralJetConstituents_withDistance.begin(), neutralJetConstituents_withDistance.end(), isSmallerDistance);
303 
304  const double caloResolutionCoeff = 1.0; // CV: approximate ECAL + HCAL calorimeter resolution for hadrons by 100%*sqrt(E)
305  double resolutionTrackP = track.p()*(getTrackPtError(track)/track.pt());
306  double neutralEnSum = 0.;
307  for ( std::vector<Candidate_withDistance>::const_iterator nextNeutral = neutralJetConstituents_withDistance.begin();
308  nextNeutral != neutralJetConstituents_withDistance.end(); ++nextNeutral ) {
309  double nextNeutralEn = nextNeutral->pfCandidate_->energy();
310  double resolutionCaloEn = caloResolutionCoeff*sqrt(neutralEnSum + nextNeutralEn);
311  double resolution = sqrt(resolutionTrackP*resolutionTrackP + resolutionCaloEn*resolutionCaloEn);
312  if ( (neutralEnSum + nextNeutralEn) < (track.p() + 2.*resolution) ) {
313  chargedHadron->neutralPFCandidates_.push_back(nextNeutral->pfCandidate_);
314  neutralEnSum += nextNeutralEn;
315  } else {
316  break;
317  }
318  }
319 
321 
322  if ( verbosity_ ) {
323  edm::LogPrint("TauChHFromTrack") << *chargedHadron;
324  }
325 
326  output.push_back(chargedHadron);
327  }
328 
329  return output.release();
330 }
int Charge
electric charge type
Definition: Candidate.h:35
math::XYZPointF atECALEntrance(const reco::Candidate *part, double bField)
bool isNonnull() const
Checks for non-null.
Definition: Ref.h:251
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:517
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< float > > XYZPointF
point in space with cartesian internal representation
Definition: Point3D.h:10
boost::ptr_vector< PFRecoTauChargedHadron > ChargedHadronVector
void setPV(const reco::VertexRef &vtx) const
Update the primary vertex.
double getTrackPtError(const TrackClass &track) const
T sqrt(T t)
Definition: SSEVec.h:18
XYZTLorentzVector getTrackPos(const TrackClass &track) const
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
math::XYZPoint Point
point in the space
Definition: Vertex.h:39
T min(T a, T b)
Definition: MathUtil.h:58
bool propagateToEcalEntrance(bool first=true)
#define M_PI
constexpr auto deltaR(const T1 &t1, const T2 &t2) -> decltype(t1.eta())
Definition: deltaR.h:28
math::XYZTLorentzVector LorentzVector
Lorentz vector.
Definition: Candidate.h:37
reco::VertexRef associatedVertex(const Jet &jet) const
void setChargedHadronTrack(PFRecoTauChargedHadron &chargedHadron, const edm::Ptr< TrackClass > &track) const
const std::string & name() const
void setChargedHadronP4(reco::PFRecoTauChargedHadron &chargedHadron, double scaleFactor_neutralPFCands=1.0)
bool filterTrack(const edm::Handle< std::vector< TrackClass > > &, size_t iTrack) const
math::XYZTLorentzVector XYZTLorentzVector
Definition: RawParticle.h:27
template<class TrackClass >
void reco::tau::PFRecoTauChargedHadronFromGenericTrackPlugin< TrackClass >::setChargedHadronTrack ( PFRecoTauChargedHadron chargedHadron,
const edm::Ptr< TrackClass > &  track 
) const
private
template<>
void reco::tau::PFRecoTauChargedHadronFromGenericTrackPlugin< reco::Track >::setChargedHadronTrack ( PFRecoTauChargedHadron chargedHadron,
const edm::Ptr< reco::Track > &  track 
) const
private
template<>
void reco::tau::PFRecoTauChargedHadronFromGenericTrackPlugin< pat::PackedCandidate >::setChargedHadronTrack ( PFRecoTauChargedHadron chargedHadron,
const edm::Ptr< pat::PackedCandidate > &  track 
) const
private

Member Data Documentation

template<class TrackClass >
double reco::tau::PFRecoTauChargedHadronFromGenericTrackPlugin< TrackClass >::dRcone_
private
template<class TrackClass >
bool reco::tau::PFRecoTauChargedHadronFromGenericTrackPlugin< TrackClass >::dRconeLimitedToJetArea_
private
template<class TrackClass >
double reco::tau::PFRecoTauChargedHadronFromGenericTrackPlugin< TrackClass >::dRmergeNeutralHadron_
private
template<class TrackClass >
double reco::tau::PFRecoTauChargedHadronFromGenericTrackPlugin< TrackClass >::dRmergePhoton_
private
template<class TrackClass >
math::XYZVector reco::tau::PFRecoTauChargedHadronFromGenericTrackPlugin< TrackClass >::magneticFieldStrength_
private
template<class TrackClass >
int reco::tau::PFRecoTauChargedHadronFromGenericTrackPlugin< TrackClass >::maxWarnings_
private
template<class TrackClass >
int reco::tau::PFRecoTauChargedHadronFromGenericTrackPlugin< TrackClass >::numWarnings_
mutableprivate
template<class TrackClass >
edm::InputTag reco::tau::PFRecoTauChargedHadronFromGenericTrackPlugin< TrackClass >::srcTracks_
private
template<class TrackClass >
edm::EDGetTokenT<std::vector<TrackClass> > reco::tau::PFRecoTauChargedHadronFromGenericTrackPlugin< TrackClass >::Tracks_token
private
template<class TrackClass >
int reco::tau::PFRecoTauChargedHadronFromGenericTrackPlugin< TrackClass >::verbosity_
private
template<class TrackClass >
RecoTauVertexAssociator reco::tau::PFRecoTauChargedHadronFromGenericTrackPlugin< TrackClass >::vertexAssociator_
private