1 #ifndef HitPixelLayersTrackSelection_h 2 #define HitPixelLayersTrackSelection_h 35 ptMin_(iConfig.getParameter<double>(
"ptMin")),
36 minRapidity_(iConfig.getParameter<double>(
"minRapidity")),
37 maxRapidity_(iConfig.getParameter<double>(
"maxRapidity")),
38 tip_(iConfig.getParameter<double>(
"tip")),
39 lip_(iConfig.getParameter<double>(
"lip")),
61 if (
signalOnly_ && !(tpr->eventId().bunchCrossing() == 0 && tpr->eventId().event() == 0))
72 unsigned int idSize =
pdgId_.size();
76 for (
unsigned int it = 0; it != idSize; ++it) {
77 if (tpr->pdgId() ==
pdgId_[it])
82 if (tpr->numberOfTrackerLayers() >=
minHit_ &&
sqrt(tpr->momentum().perp2()) >=
ptMin_ &&
84 sqrt(tpr->vertex().perp2()) <=
tip_ && fabs(tpr->vertex().z()) <=
lip_ && testId) {
94 std::vector<bool> hitpattern(5,
false);
102 if ((hitpattern[0] && hitpattern[1] && hitpattern[2]) || (hitpattern[0] && hitpattern[1] && hitpattern[3]) ||
103 (hitpattern[0] && hitpattern[3] && hitpattern[4]))
T const & getData(const ESGetToken< T, R > &iToken) const noexcept(false)
T const * product() const
std::vector< bool > pixelHitPattern(const TrackingParticleRef &simTrack, const TrackerTopology *tTopo)
TrackingParticleCollection collection
void select(const edm::Handle< collection > &TPCH, const edm::Event &iEvent, const edm::EventSetup &iSetup)
TrackingParticleRefVector container
std::vector< int > pdgId_
container::const_iterator const_iterator
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > tTopoToken_
size_type size() const
Size of the RefVector.
void clear()
Clear the vector.
const_iterator end() const
Termination of iteration.
bool goodHitPattern(const std::vector< bool > &hitpattern)
HitPixelLayersTPSelector(const edm::ParameterSet &iConfig, edm::ConsumesCollector &&iC)
const_iterator end() const
void push_back(value_type const &ref)
Add a Ref<C, T> to the RefVector.
const_iterator begin() const
std::vector< TrackingParticle > TrackingParticleCollection
const_iterator begin() const
Initialize an iterator over the RefVector.