|
|
Go to the documentation of this file. 1 #ifndef RecoHI_HiTracking_HITrackingRegionProducer_H
2 #define RecoHI_HiTracking_HITrackingRegionProducer_H
28 double xPos = regionPSet.
getParameter<
double>(
"originXPos");
29 double yPos = regionPSet.
getParameter<
double>(
"originYPos");
30 double zPos = regionPSet.
getParameter<
double>(
"originZPos");
31 double xDir = regionPSet.
getParameter<
double>(
"directionXCoord");
32 double yDir = regionPSet.
getParameter<
double>(
"directionYCoord");
33 double zDir = regionPSet.
getParameter<
double>(
"directionZCoord");
55 recHitIdIteratorEnd = recHitColl->
end();
56 recHitIdIterator != recHitIdIteratorEnd;
60 unsigned int detType = detId.
det();
61 unsigned int subid = detId.
subdetId();
63 unsigned int layer = 0;
65 if (detType == 1 && subid == 1 &&
layer == 1) {
66 numRecHits +=
hits.size();
77 float aa = 1.90935e-04;
78 float bb = -2.90167e-01;
79 float cc = 3.86125e+02;
81 float estTracks = aa * estMult * estMult + bb * estMult +
cc;
83 LogTrace(
"heavyIonHLTVertexing") <<
"[HIVertexing]";
84 LogTrace(
"heavyIonHLTVertexing") <<
" [HIVertexing: hits in the 1. layer:" << estMult <<
"]";
85 LogTrace(
"heavyIonHLTVertexing") <<
" [HIVertexing: estimated number of tracks:" << estTracks <<
"]";
87 float regTracking = 400.;
91 float decEta = estTracks / 600.;
94 if (estTracks > regTracking) {
95 LogTrace(
"heavyIonHLTVertexing") <<
" [HIVertexing: Regional Tracking]";
96 LogTrace(
"heavyIonHLTVertexing") <<
" [Regional Tracking: eta range: -" << etaB <<
", " << etaB <<
"]";
97 LogTrace(
"heavyIonHLTVertexing") <<
" [Regional Tracking: phi range: -" << phiB <<
", " << phiB <<
"]";
98 LogTrace(
"heavyIonHLTVertexing") <<
" [Regional Tracking: factor of decrease: " << decEta * 2.
103 std::vector<std::unique_ptr<TrackingRegion> >
result;
104 if (estTracks > regTracking) {
105 result.push_back(std::make_unique<RectangularEtaPhiTrackingRegion>(
116 LogTrace(
"heavyIonHLTVertexing") <<
" [HIVertexing: Global Tracking]";
117 result.push_back(std::make_unique<GlobalTrackingRegion>(
constexpr Detector det() const
get the detector field from this detid
boost::transform_iterator< IterHelp, const_IdIter > const_iterator
const_iterator begin(bool update=false) const
Global3DVector GlobalVector
unsigned int pxbLayer(const DetId &id) const
Global3DPoint GlobalPoint
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum)
double theOriginHalfLength
constexpr std::array< uint8_t, layerIndexSize > layer
HITrackingRegionProducer(const edm::ParameterSet &cfg, edm::ConsumesCollector &&iC)
std::vector< std::unique_ptr< TrackingRegion > > regions(const edm::Event &ev, const edm::EventSetup &es) const override
int estimateMultiplicity(const edm::Event &ev, const edm::EventSetup &es) const
GlobalVector theDirection
edm::EDGetTokenT< SiPixelRecHitCollection > theSiPixelRecHitsToken
~HITrackingRegionProducer() override
const_iterator end(bool update=false) const
T getParameter(std::string const &) const
edm::InputTag theSiPixelRecHits