1 #ifndef RecoHI_HiTracking_HITrackingRegionForPrimaryVtxProducer_H
2 #define RecoHI_HiTracking_HITrackingRegionForPrimaryVtxProducer _H
40 double xDir = regionPSet.
getParameter<
double>(
"directionXCoord");
41 double yDir = regionPSet.
getParameter<
double>(
"directionYCoord");
42 double zDir = regionPSet.
getParameter<
double>(
"directionZCoord");
62 std::vector<const TrackingRecHit*> theChosenHits;
65 return theChosenHits.size();
76 float aa = 1.34306e-06;
78 float estTracks = aa*estMult*estMult+bb*estMult+cc;
80 LogTrace(
"heavyIonHLTVertexing")<<
"[HIVertexing]";
81 LogTrace(
"heavyIonHLTVertexing")<<
" [HIVertexing: hits in the 1. layer:" << estMult <<
"]";
82 LogTrace(
"heavyIonHLTVertexing")<<
" [HIVertexing: estimated number of tracks:" << estTracks <<
"]";
84 float regTracking = 60.;
88 float decEta = estTracks/90.;
91 if(estTracks>regTracking) {
92 LogTrace(
"heavyIonHLTVertexing")<<
" [HIVertexing: Regional Tracking]";
93 LogTrace(
"heavyIonHLTVertexing")<<
" [Regional Tracking: eta range: -" << etaB <<
", "<< etaB <<
"]";
94 LogTrace(
"heavyIonHLTVertexing")<<
" [Regional Tracking: phi range: -" << phiB <<
", "<< phiB <<
"]";
95 LogTrace(
"heavyIonHLTVertexing")<<
" [Regional Tracking: factor of decrease: " << decEta*2. <<
"]";
99 float varPtCutoff = 1500;
102 if(estMult > 0) minpt += estMult * (
thePtMin - 0.075)/varPtCutoff;
106 std::vector<TrackingRegion* >
result;
121 for(reco::VertexCollection::const_iterator iV=vertexCollection->begin();
122 iV != vertexCollection->end() ; iV++) {
123 if (iV->isFake() || !iV->isValid())
continue;
129 if(estTracks>regTracking) {
134 LogTrace(
"heavyIonHLTVertexing")<<
" [HIVertexing: Global Tracking]";
T getParameter(std::string const &) const
double z0() const
z coordinate
void copyDetSetRange(DSTV const &dstv, std::vector< T const * > &v, std::pair< A, B > const &sel)
virtual ~HITrackingRegionForPrimaryVtxProducer()
edm::InputTag theSiPixelRecHits
Global3DPoint GlobalPoint
virtual std::vector< TrackingRegion * > regions(const edm::Event &ev, const edm::EventSetup &es) const
edm::InputTag theBeamSpotTag
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
edm::InputTag vertexCollName
double sigmaZ() const
sigma z
std::pair< DetId, DetIdPXBSameLayerComparator > pixelBarrelLayer(int layer)
double y0() const
y coordinate
int estimateMultiplicity(const edm::Event &ev, const edm::EventSetup &es) const
GlobalVector theDirection
HITrackingRegionForPrimaryVtxProducer(const edm::ParameterSet &cfg)
Global3DVector GlobalVector
double x0() const
x coordinate