1 #ifndef RecoHI_HiTracking_HITrackingRegionProducer_H
2 #define RecoHI_HiTracking_HITrackingRegionProducer_H
33 double xDir = regionPSet.
getParameter<
double>(
"directionXCoord");
34 double yDir = regionPSet.
getParameter<
double>(
"directionYCoord");
35 double zDir = regionPSet.
getParameter<
double>(
"directionZCoord");
58 recHitIdIterator != recHitIdIteratorEnd; recHitIdIterator++) {
61 unsigned int detType=detId.
det();
65 layer=tTopo->pxbLayer(detId);
66 if(detType==1 && subid==1 && layer==1) {
67 numRecHits += hits.
size();
78 float aa = 1.90935e-04;
79 float bb = -2.90167e-01;
80 float cc = 3.86125e+02;
82 float estTracks = aa*estMult*estMult+bb*estMult+cc;
84 LogTrace(
"heavyIonHLTVertexing")<<
"[HIVertexing]";
85 LogTrace(
"heavyIonHLTVertexing")<<
" [HIVertexing: hits in the 1. layer:" << estMult <<
"]";
86 LogTrace(
"heavyIonHLTVertexing")<<
" [HIVertexing: estimated number of tracks:" << estTracks <<
"]";
88 float regTracking = 400.;
92 float decEta = estTracks/600.;
95 if(estTracks>regTracking) {
96 LogTrace(
"heavyIonHLTVertexing")<<
" [HIVertexing: Regional Tracking]";
97 LogTrace(
"heavyIonHLTVertexing")<<
" [Regional Tracking: eta range: -" << etaB <<
", "<< etaB <<
"]";
98 LogTrace(
"heavyIonHLTVertexing")<<
" [Regional Tracking: phi range: -" << phiB <<
", "<< phiB <<
"]";
99 LogTrace(
"heavyIonHLTVertexing")<<
" [Regional Tracking: factor of decrease: " << decEta*2. <<
"]";
103 std::vector<TrackingRegion* >
result;
104 if(estTracks>regTracking) {
108 LogTrace(
"heavyIonHLTVertexing")<<
" [HIVertexing: Global Tracking]";
T getParameter(std::string const &) const
int estimateMultiplicity(const edm::Event &ev, const edm::EventSetup &es) const
boost::transform_iterator< IterHelp, const_IdIter > const_iterator
HITrackingRegionProducer(const edm::ParameterSet &cfg)
Global3DPoint GlobalPoint
virtual ~HITrackingRegionProducer()
GlobalVector theDirection
std::string theSiPixelRecHits
int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum) ...
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
double theOriginHalfLength
Detector det() const
get the detector field from this detid
virtual std::vector< TrackingRegion * > regions(const edm::Event &ev, const edm::EventSetup &es) const
Global3DVector GlobalVector