CMS 3D CMS Logo

VeryLooseNuclearInteractionTrackImporter.cc
Go to the documentation of this file.
3 
4 namespace {
5  class VeryLooseNuclAdaptor {
6  public:
7  static bool check_importable(const reco::PFDisplacedTrackerVertexCollection::value_type& t) {
8  const auto& vtx = t.displacedVertexRef();
9  return ((vtx->isNucl() && vtx->position().rho() > 2.7) || (vtx->isNucl_Loose()) || (vtx->isNucl_Kink()));
10  }
11  static const reco::PFRecTrackRefVector& get_track_refs(
13  return t.pfRecTracks();
14  }
15  static void set_element_info(reco::PFBlockElement* elem,
17  const reco::PFBlockElementTrack* tkelem = static_cast<const reco::PFBlockElementTrack*>(elem);
18  const reco::PFRecTrackRef& reftrack = tkelem->trackRefPF();
20  if (parref->isIncomingTrack(reftrack))
22  else if (parref->isOutgoingTrack(reftrack))
24  elem->setDisplacedVertexRef(parref, tkType);
25  }
26  };
27 } // namespace
28 
31 
34  "VeryLooseNuclearInteractionTrackImporter");
pflow::importers::TrackFromParentImporter
Definition: TrackFromParentImporter.h:25
TrackFromParentImporter.h
reco::PFBlockElement::T_TO_DISP
Definition: PFBlockElement.h:47
edm::RefVector< PFRecTrackCollection >
edm::Ref
Definition: AssociativeIterator.h:58
reco::PFBlockElementTrack::trackRefPF
const PFRecTrackRef & trackRefPF() const override
Definition: PFBlockElementTrack.h:46
OrderedSet.t
t
Definition: OrderedSet.py:90
DEFINE_EDM_PLUGIN
#define DEFINE_EDM_PLUGIN(factory, type, name)
Definition: PluginFactory.h:124
badGlobalMuonTaggersAOD_cff.vtx
vtx
Definition: badGlobalMuonTaggersAOD_cff.py:5
reco::PFBlockElement::TrackType
TrackType
Definition: PFBlockElement.h:47
reco::PFBlockElement::T_FROM_DISP
Definition: PFBlockElement.h:47
edmplugin::PluginFactory
Definition: PluginFactory.h:34
PFDisplacedTrackerVertex.h
reco::PFBlockElement::DEFAULT
Definition: PFBlockElement.h:47
VeryLooseNuclearInteractionTrackImporter
pflow::importers::TrackFromParentImporter< reco::PFDisplacedTrackerVertexCollection, VeryLooseNuclAdaptor > VeryLooseNuclearInteractionTrackImporter
Definition: VeryLooseNuclearInteractionTrackImporter.cc:30
reco::JetExtendedAssociation::value_type
Container::value_type value_type
Definition: JetExtendedAssociation.h:30
reco::PFBlockElement
Abstract base class for a PFBlock element (track, cluster...)
Definition: PFBlockElement.h:26
reco::PFBlockElementTrack
Track Element.
Definition: PFBlockElementTrack.h:17
reco::PFBlockElement::setDisplacedVertexRef
virtual void setDisplacedVertexRef(const PFDisplacedTrackerVertexRef &niref, TrackType trType)
Definition: PFBlockElement.h:95