CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Attributes
HICMeasurementEstimator Class Reference

#include <HICMeasurementEstimator.h>

Inheritance diagram for HICMeasurementEstimator:
Chi2MeasurementEstimatorBase MeasurementEstimator

Public Member Functions

virtual void chooseCuts (int &i)
 
virtual HICMeasurementEstimatorclone () const
 
virtual std::pair< bool, double > estimate (const TrajectoryStateOnSurface &, const TransientTrackingRecHit &) const
 
template<unsigned int D>
std::pair< bool, double > estimate (const TrajectoryStateOnSurface &, const TransientTrackingRecHit &) const
 
bool estimate (const TrajectoryStateOnSurface &ts, const BoundPlane &plane) const
 
virtual int getDetectorCode (const DetLayer *a)
 
const MagneticFieldgetField ()
 
cms::HICConstgetHICConst ()
 
 HICMeasurementEstimator (const GeometricSearchTracker *theTracker0, const MagneticField *mf, double maxChi2, double nSigma=3.)
 
virtual std::vector< double > setCuts (Trajectory &traj, const DetLayer *theCurrentLayer)
 
void setHICConst (cms::HICConst *hh)
 
virtual void setHICDetMap ()
 
virtual void setLastLayer (DetLayer *&ll)
 
virtual void setMult (int aMult=1)
 
virtual void setSign (int &i)
 
- Public Member Functions inherited from Chi2MeasurementEstimatorBase
 Chi2MeasurementEstimatorBase (double maxChi2, double nSigma=3.)
 
double chiSquaredCut () const
 
virtual Local2DVector maximalLocalDisplacement (const TrajectoryStateOnSurface &ts, const BoundPlane &plane) const
 
double nSigmaCut () const
 
- Public Member Functions inherited from MeasurementEstimator
virtual ~MeasurementEstimator ()
 

Private Attributes

std::vector< BarrelDetLayer * > bl
 
const MagneticFieldfield
 
std::vector< ForwardDetLayer * > fneg
 
std::vector< ForwardDetLayer * > fpos
 
std::map< const DetLayer *, int > theBackward
 
std::map< const DetLayer *, int > theBarrel
 
double theChi2Cut
 
int theCutType
 
const DetLayertheFirstLayer
 
std::map< const DetLayer *, int > theForward
 
cms::HICConsttheHICConst
 
const DetLayertheLastLayer
 
const DetLayertheLayer
 
int theLowMult
 
double theMaxChi2
 
double theNewCut
 
double theNewCutB
 
int theNSigma
 
double thePhiBound
 
double thePhiBoundMean
 
double thePhiCut
 
double thePhiCutMean
 
double thePhiWin
 
double thePhiWinB
 
double thePhiWinMean
 
double thePhiWinMeanB
 
int theSign
 
const GeometricSearchTrackertheTracker
 
int theTrajectorySize
 
double theZBound
 
double theZBoundMean
 
double theZCut
 
double theZCutMean
 
double theZWin
 
double theZWinB
 
double theZWinMean
 
double theZWinMeanB
 

Additional Inherited Members

- Public Types inherited from MeasurementEstimator
typedef std::pair< bool, double > HitReturnType
 
typedef Vector2DBase< float,
LocalTag
Local2DVector
 
typedef bool SurfaceReturnType
 
- Protected Member Functions inherited from Chi2MeasurementEstimatorBase
std::pair< bool, double > returnIt (double est) const
 

Detailed Description

A Chi2 Measurement Estimator. Computhes the Chi^2 of a TrajectoryState with a RecHit or a BoundPlane. The TrajectoryState must have errors. Works for any RecHit dimension. Ported from ORCA.

Date:
2009/08/15 07:31:43
Revision:
1.2
Author
todorov, cerati

Definition at line 22 of file HICMeasurementEstimator.h.

Constructor & Destructor Documentation

HICMeasurementEstimator::HICMeasurementEstimator ( const GeometricSearchTracker theTracker0,
const MagneticField mf,
double  maxChi2,
double  nSigma = 3. 
)
inlineexplicit

Construct with cuts on chi2 and nSigma. The cut on Chi2 is used to define the acceptance of RecHits. The errors of the trajectory state are multiplied by nSigma to define acceptance of BoundPlane and maximalLocalDisplacement.

Definition at line 30 of file HICMeasurementEstimator.h.

References GeometricSearchTracker::barrelLayers(), bl, field, fneg, fpos, GeometricSearchTracker::negForwardLayers(), GeometricSearchTracker::posForwardLayers(), setHICDetMap(), and theTracker.

Referenced by clone().

31  :
32  Chi2MeasurementEstimatorBase(maxChi2,nSigma)
33  {
34  theTracker = theTracker0;
38  field = mf;
39  setHICDetMap();
40  }
std::vector< BarrelDetLayer * > bl
std::vector< BarrelDetLayer * > const & barrelLayers() const
Chi2MeasurementEstimatorBase(double maxChi2, double nSigma=3.)
std::vector< ForwardDetLayer * > const & negForwardLayers() const
std::vector< ForwardDetLayer * > fneg
std::vector< ForwardDetLayer * > const & posForwardLayers() const
std::vector< ForwardDetLayer * > fpos
const GeometricSearchTracker * theTracker

Member Function Documentation

void HICMeasurementEstimator::chooseCuts ( int &  i)
virtual

Definition at line 278 of file HICMeasurementEstimator.cc.

References i.

Referenced by HICTrajectoryBuilder::findCompatibleMeasurements(), and HICTrajectoryBuilder::updateTrajectory().

279 {
280 
282 // cout<<" Choose Chi2Cut "<<theChi2Cut<<endl;
283 
284  if( i == 1 )
285  {
287  theZBound = theZWin;
290 // cout<<" HICMeasurementEstimator::chooseCuts "<<i<<" "<<thePhiBound<<" "<<theZBound<<endl;
291  }
292  if( i == 2 )
293  {
298 // cout<<" HICMeasurementEstimator::chooseCuts "<<i<<" "<<thePhiBound<<" "<<theZBound<<endl;
299  }
300  if( i == 3 )
301  {
303  theZBound = theZCut;
306 // cout<<" HICMeasurementEstimator::chooseCuts "<<i<<" "<<thePhiBound<<" "<<theZBound<<endl;
307  }
308 
309  theCutType = i;
310 }
int i
Definition: DBlmapReader.cc:9
virtual HICMeasurementEstimator* HICMeasurementEstimator::clone ( void  ) const
inlinevirtual

Implements MeasurementEstimator.

Definition at line 71 of file HICMeasurementEstimator.h.

References HICMeasurementEstimator().

71  {
72  return new HICMeasurementEstimator(*this);
73  }
HICMeasurementEstimator(const GeometricSearchTracker *theTracker0, const MagneticField *mf, double maxChi2, double nSigma=3.)
std::pair< bool, double > HICMeasurementEstimator::estimate ( const TrajectoryStateOnSurface ts,
const TransientTrackingRecHit hit 
) const
virtual

Returns pair( true, value) if the TrajectoryStateOnSurface is compatible with the RecHit, and pair( false, value) if it is not compatible. The TrajectoryStateOnSurface must be on the same Surface as the RecHit. For an estimator where there is no value computed, e.g. fixed window estimator, only the first(bool) part is of interest.

Implements Chi2MeasurementEstimatorBase.

Definition at line 12 of file HICMeasurementEstimator.cc.

References gather_cfg::cout, TrackingRecHit::dimension(), edm::hlt::Exception, and TrajectoryStateOnSurface::isValid().

Referenced by HICTrajectoryBuilder::findCompatibleMeasurements(), and HICTrajectoryBuilder::updateTrajectory().

13  {
14  std::pair<bool,double> flag(false,0.);
15  if(!tsos.isValid()) {
16 #ifdef DEBUG
17  std::cout<<" HICMeasurementEstimator::estimate::trajectory is not valid "<<std::endl;
18 #endif
19  return flag;
20  }
21 
22  switch (aRecHit.dimension()) {
23  case 1: return estimate<1>(tsos,aRecHit);
24  case 2: return estimate<2>(tsos,aRecHit);
25  case 3: return estimate<3>(tsos,aRecHit);
26  case 4: return estimate<4>(tsos,aRecHit);
27  case 5: return estimate<5>(tsos,aRecHit);
28  }
29  throw cms::Exception("RecHit of invalid size (not 1,2,3,4,5)");
30 }
long int flag
Definition: mlp_lapack.h:47
tuple cout
Definition: gather_cfg.py:121
template<unsigned int D>
std::pair<bool,double> HICMeasurementEstimator::estimate ( const TrajectoryStateOnSurface ts,
const TransientTrackingRecHit hit 
) const
virtual

Returns pair( true, value) if the TrajectoryStateOnSurface is compatible with the RecHit, and pair( false, value) if it is not compatible. The TrajectoryStateOnSurface must be on the same Surface as the RecHit. For an estimator where there is no value computed, e.g. fixed window estimator, only the first(bool) part is of interest.

Implements Chi2MeasurementEstimatorBase.

bool HICMeasurementEstimator::estimate ( const TrajectoryStateOnSurface ts,
const BoundPlane plane 
) const
virtual

Returns true if the TrajectoryStateOnSurface is compatible with the BoundPlane, false otherwise. The TrajectoryStateOnSurface must be on the plane.

Reimplemented from Chi2MeasurementEstimatorBase.

Definition at line 98 of file HICMeasurementEstimator.cc.

References BoundSurface::bounds(), gather_cfg::cout, TrajectoryStateOnSurface::globalPosition(), Bounds::length(), PV3DBase< T, PVType, FrameType >::perp(), PV3DBase< T, PVType, FrameType >::phi(), pi, GloballyPositioned< T >::position(), Bounds::width(), and PV3DBase< T, PVType, FrameType >::z().

100 {
101 
102 // cout<<" start estimate plane "<<endl;
103  double pi = 4.*atan(1.);
104  double twopi = 2.*pi;
105  float theZError = plane.bounds().length() + 4.;
106  float thePhiError = 2.*plane.bounds().width()/plane.position().perp();
107 // Change 02.07.08
108 // float thePhiError = 4.*plane.bounds().width()/plane.position().perp();
109 
110 #ifdef DEBUG
111  cout<<" ======================================================================================== ";
112  cout<<" Estimate detector:: tsos : detector : Error "<<endl;
113  cout<<" R "<<ts.globalPosition().perp()<<" "<<plane.position().perp()<<" "<<theZError<<endl;
114  cout<<" Phi "<<ts.globalPosition().phi()<<" "<<plane.position().phi()<<" "<<thePhiError<<endl;
115  cout<<" Z "<<ts.globalPosition().z()<<" "<<plane.position().z()<<" "<<theZError<<endl;
116 #endif
117 
118  bool flag = false;
119  if(fabs(ts.globalPosition().perp()-plane.position().perp())<theZError){
120  if(fabs(ts.globalPosition().z()-plane.position().z())<theZError){
121  float phi1 = ts.globalPosition().phi();
122  float phi2 = plane.position().phi();
123  if(phi1<0.) phi1 = twopi+phi1;
124  if(phi2<0.) phi2 = twopi+phi2;
125  float dfi = fabs(phi1-phi2);
126  if(dfi>pi) dfi = twopi-dfi;
127  if(dfi<thePhiError) flag = true;
128  }
129  }
130 #ifdef DEBUG
131  cout<<" Estimate = "<<flag<<endl;
132 #endif
133 
134  return flag;
135 
136 }
long int flag
Definition: mlp_lapack.h:47
virtual float length() const =0
T perp() const
Definition: PV3DBase.h:71
Geom::Phi< T > phi() const
Definition: PV3DBase.h:68
GlobalPoint globalPosition() const
const Double_t pi
T z() const
Definition: PV3DBase.h:63
const Bounds & bounds() const
Definition: BoundSurface.h:89
tuple cout
Definition: gather_cfg.py:121
virtual float width() const =0
const PositionType & position() const
int HICMeasurementEstimator::getDetectorCode ( const DetLayer a)
virtual

Definition at line 312 of file HICMeasurementEstimator.cc.

References GeomDetEnumerators::barrel, GeomDetEnumerators::endcap, DetLayer::location(), GloballyPositioned< T >::position(), edm::second(), GeometricSearchDet::surface(), and PV3DBase< T, PVType, FrameType >::z().

313 {
314  int layer = 0;
315  if( a->location() == GeomDetEnumerators::barrel )
316  {
317  layer = (*theBarrel.find(a)).second;
318  }
319  if( a->location() == GeomDetEnumerators::endcap )
320  {
321  if( a->surface().position().z() > 0. ) { layer = 100+(*theForward.find(a)).second;}
322  if( a->surface().position().z() < 0. ) { layer = -100-(*theBackward.find(a)).second;}
323  }
324  return layer;
325 }
std::map< const DetLayer *, int > theBackward
std::map< const DetLayer *, int > theBarrel
virtual const BoundSurface & surface() const =0
The surface of the GeometricSearchDet.
virtual Location location() const =0
Which part of the detector (barrel, endcap)
std::map< const DetLayer *, int > theForward
U second(std::pair< T, U > const &p)
T z() const
Definition: PV3DBase.h:63
const PositionType & position() const
const MagneticField* HICMeasurementEstimator::getField ( )
inline
cms::HICConst* HICMeasurementEstimator::getHICConst ( )
inline

Definition at line 55 of file HICMeasurementEstimator.h.

References theHICConst.

Referenced by HICTrajectoryBuilder::trajectories().

55 {return theHICConst;}
vector< double > HICMeasurementEstimator::setCuts ( Trajectory traj,
const DetLayer theCurrentLayer 
)
virtual

Definition at line 138 of file HICMeasurementEstimator.cc.

References a, b, GeomDetEnumerators::barrel, gather_cfg::cout, Trajectory::data(), GeomDetEnumerators::endcap, edm::first(), DetLayer::location(), Trajectory::measurements(), GeomDetEnumerators::PixelBarrel, GeomDetEnumerators::PixelEndcap, GloballyPositioned< T >::position(), edm::second(), DetLayer::subDetector(), GeometricSearchDet::surface(), and PV3DBase< T, PVType, FrameType >::z().

Referenced by HICTrajectoryBuilder::findCompatibleMeasurements(), and HICTrajectoryBuilder::updateTrajectory().

139 {
140  vector<double> theCuts;
141  const DetLayer* a = traj.data().back().layer();
142  const DetLayer* first = traj.data().front().layer();
143 // const DetLayer* last = traj.data().front().layer();
144  thePhiWinMean = 0.;
145  theZWinMean = 0.;
146  thePhiWin = 0.;
147  theZWin = 0.;
148  theNewCut = 11.; // change 5->10 03.07.2008 //10-11 23.06.09
149  theNewCutB = 5.;
150 
151  thePhiWinMeanB = 0.002;
152  theZWinMeanB = 0.;
153  thePhiWinB = 0.008;
154  theZWinB = 17.;
155 
156  theZCutMean = 0.;
157  thePhiCutMean = 0.;
158  thePhiCut = 0.;
159  theZCut = 0.;
160 
161  theLayer = b;
162  theLastLayer = a;
163 
164 
165  theTrajectorySize = traj.data().size();
166 
167 
168  if( theBarrel.size() == 0 || theForward.size() == 0 )
169  {
170 #ifdef DEBUG
171  cout<<" HICMeasurementEstimator::setCuts:: no datector map "<<endl;
172 #endif
173  return theCuts;
174  }
175 
177  {
178  if( first->location() == GeomDetEnumerators::barrel )
179  {
180  thePhiWin = (*theHICConst).phiwinbar[(*theBarrel.find(first)).second][(*theBarrel.find(a)).second][(*theBarrel.find(b)).second];
181  theZWin = (*theHICConst).zwinbar[(*theBarrel.find(first)).second][(*theBarrel.find(a)).second][(*theBarrel.find(b)).second];
182  thePhiCut = (*theHICConst).phicutbar[(*theBarrel.find(first)).second][(*theBarrel.find(theLastLayer)).second][(*theBarrel.find(b)).second];
183  theZCut = (*theHICConst).zcutbar[(*theBarrel.find(first)).second][(*theBarrel.find(theLastLayer)).second][(*theBarrel.find(b)).second];
184 // cout<<" Barrel first -Barrel cuts::layers "<<(*theBarrel.find(first)).second<<" "<<(*theBarrel.find(a)).second<<" "<<(*theBarrel.find(b)).second<<endl;
185 // cout<<" Barrel first -Barrel cuts "<< thePhiWin<<" "<<theZWin <<" "<<thePhiCut <<" "<<theZCut<<endl;
186  }
187  else
188  {
189  if(first->surface().position().z() > 0. )
190  {
191  thePhiWin = (*theHICConst).phiwinfbb[(*theForward.find(first)).second][(*theBarrel.find(a)).second][(*theBarrel.find(b)).second];
192  theZWin = (*theHICConst).zwinfbb[(*theForward.find(first)).second][(*theBarrel.find(a)).second][(*theBarrel.find(b)).second];
193  thePhiCut = (*theHICConst).phicutfbb[(*theForward.find(first)).second][(*theBarrel.find(theLastLayer)).second][(*theBarrel.find(b)).second];
194  theZCut = (*theHICConst).zcutfbb[(*theForward.find(first)).second][(*theBarrel.find(theLastLayer)).second][(*theBarrel.find(b)).second];
195 // cout<<" Endcap first positive -Barrel cuts::layers "<<(*theForward.find(first)).second<<" "<<(*theBarrel.find(a)).second<<" "<<(*theBarrel.find(b)).second<<endl;
196 // cout<<" Endcap first positive -Barrel cuts "<< thePhiWin<<" "<<theZWin <<" "<<thePhiCut <<" "<<theZCut<<endl;
197  } else {
198  thePhiWin = (*theHICConst).phiwinfbb[(*theBackward.find(first)).second][(*theBarrel.find(a)).second][(*theBarrel.find(b)).second];
199  theZWin = (*theHICConst).zwinfbb[(*theBackward.find(first)).second][(*theBarrel.find(a)).second][(*theBarrel.find(b)).second];
200  thePhiCut = (*theHICConst).phicutfbb[(*theBackward.find(first)).second][(*theBarrel.find(theLastLayer)).second][(*theBarrel.find(b)).second];
201  theZCut = (*theHICConst).zcutfbb[(*theBackward.find(first)).second][(*theBarrel.find(theLastLayer)).second][(*theBarrel.find(b)).second];
202 // cout<<" Endcap first negative -Barrel cuts::layers "<<(*theBackward.find(first)).second<<" "<<(*theBarrel.find(a)).second<<" "<<(*theBarrel.find(b)).second<<endl;
203 // cout<<" Endcap first negative -Barrel cuts "<< thePhiWin<<" "<<theZWin <<" "<<thePhiCut <<" "<<theZCut<<endl;
204  }
205  } //
206 
207 
208  theCuts.push_back(thePhiWin); theCuts.push_back(theZWin);
209  theCuts.push_back(thePhiCut); theCuts.push_back(theZCut);
210 
211  return theCuts;
212  }
213  if( a->location() == GeomDetEnumerators::endcap && b->location() == GeomDetEnumerators::endcap)
214  {
215  if( a->surface().position().z() > 0. )
216  {
217  thePhiWin = (*theHICConst).phiwinfrw[(*theForward.find(first)).second][(*theForward.find(a)).second][(*theForward.find(b)).second];
218  theZWin = (*theHICConst).zwinfrw[(*theForward.find(first)).second][(*theForward.find(a)).second][(*theForward.find(b)).second];
219  thePhiCut = (*theHICConst).phicutfrw[(*theForward.find(first)).second][(*theForward.find(theLastLayer)).second][(*theForward.find(b)).second];
220  theZCut = (*theHICConst).zcutfrw[(*theForward.find(first)).second][(*theForward.find(theLastLayer)).second][(*theForward.find(b)).second];
221  }
222  else
223  {
224  thePhiWin = (*theHICConst).phiwinfrw[(*theBackward.find(first)).second][(*theBackward.find(a)).second][(*theBackward.find(b)).second];
225  theZWin = (*theHICConst).zwinfrw[(*theBackward.find(first)).second][(*theBackward.find(a)).second][(*theBackward.find(b)).second];
226  thePhiCut = (*theHICConst).phicutfrw[(*theBackward.find(first)).second][(*theBackward.find(theLastLayer)).second][(*theBackward.find(b)).second];
227  theZCut = (*theHICConst).zcutfrw[(*theBackward.find(first)).second][(*theBackward.find(theLastLayer)).second][(*theBackward.find(b)).second];
228  }
229 
230  if( theLowMult == 1 )
231  {
232  if( b->subDetector() == GeomDetEnumerators::PixelEndcap ) theNewCut = 20.;
233  if( traj.measurements().size() == 1 ) theNewCut = 20.;
234  theNewCutB = 30.;
235  }
236 
237  thePhiWinMeanB = 0.004;
238  thePhiWinB = 0.05;
239 
240 
241  theCuts.push_back(thePhiWin); theCuts.push_back(theZWin);
242  theCuts.push_back(thePhiCut); theCuts.push_back(theZCut);
243 
244  return theCuts;
245  }
246  if( a->location() == GeomDetEnumerators::endcap && b->location() == GeomDetEnumerators::barrel )
247  {
248 
249  if( a->surface().position().z() > 0. )
250  {
251  thePhiWin = (*theHICConst).phiwinbfrw[(*theForward.find(first)).second][(*theForward.find(a)).second][(*theBarrel.find(b)).second];
252  theZWin = (*theHICConst).zwinbfrw[(*theForward.find(first)).second][(*theForward.find(a)).second][(*theBarrel.find(b)).second];
253  thePhiCut = (*theHICConst).phicutbfrw[(*theForward.find(first)).second][(*theForward.find(theLastLayer)).second][(*theBarrel.find(b)).second];
254  theZCut = (*theHICConst).zcutbfrw[(*theForward.find(first)).second][(*theForward.find(theLastLayer)).second][(*theBarrel.find(b)).second];
255  }
256  else
257  {
258  thePhiWin = (*theHICConst).phiwinbfrw[(*theBackward.find(first)).second][(*theBackward.find(a)).second][(*theBarrel.find(b)).second];
259  theZWin = (*theHICConst).zwinbfrw[(*theBackward.find(first)).second][(*theBackward.find(a)).second][(*theBarrel.find(b)).second];
260  thePhiCut = (*theHICConst).phicutbfrw[(*theBackward.find(first)).second][(*theBackward.find(theLastLayer)).second][(*theBarrel.find(b)).second];
261  theZCut = (*theHICConst).zcutbfrw[(*theBackward.find(first)).second][(*theBackward.find(theLastLayer)).second][(*theBarrel.find(b)).second];
262  }
263 
264  if( b->subDetector() == GeomDetEnumerators::PixelBarrel) theNewCut = 20.;
265 
266  thePhiWinMeanB = 0.004;
267  thePhiWinB = 0.016;
268 
269  theCuts.push_back(thePhiWin); theCuts.push_back(theZWin);
270  theCuts.push_back(thePhiCut); theCuts.push_back(theZCut);
271 
272  return theCuts;
273  }
274 // cout<<" HICMeasurementEstimator::setCuts::Error: unknown detector layer "<<endl;
275  return theCuts;
276 }
std::map< const DetLayer *, int > theBackward
std::map< const DetLayer *, int > theBarrel
virtual const BoundSurface & surface() const =0
The surface of the GeometricSearchDet.
virtual Location location() const =0
Which part of the detector (barrel, endcap)
std::map< const DetLayer *, int > theForward
U second(std::pair< T, U > const &p)
DataContainer const & measurements() const
Definition: Trajectory.h:203
T z() const
Definition: PV3DBase.h:63
bool first
Definition: L1TdeRCT.cc:94
double b
Definition: hdecay.h:120
DataContainer const & data() const
obsolete name, use measurements() instead.
Definition: Trajectory.h:205
double a
Definition: hdecay.h:121
tuple cout
Definition: gather_cfg.py:121
const PositionType & position() const
void HICMeasurementEstimator::setHICConst ( cms::HICConst hh)
inline

Definition at line 57 of file HICMeasurementEstimator.h.

References theHICConst.

Referenced by cms::HITrackVertexMaker::produceTracks().

57 {theHICConst = hh;}
void HICMeasurementEstimator::setHICDetMap ( )
virtual

Definition at line 327 of file HICMeasurementEstimator.cc.

References gather_cfg::cout.

Referenced by HICMeasurementEstimator().

328 {
329 
330 #ifdef DEBUG
331  std::cout<<" Set Detector Map... "<<std::endl;
332 #endif
333 
334  int ila=0;
335  for ( std::vector<BarrelDetLayer*>::const_iterator ilayer = bl.begin(); ilayer != bl.end(); ilayer++)
336  {
337  theBarrel[(*ilayer)]=ila;
338  ila++;
339  }
340 //
341 // The same for forward part.
342 //
343 
344  int ilf1 = 0;
345  int ilf2 = 0;
346  for ( vector<ForwardDetLayer*>::const_iterator ilayer = fpos.begin();
347  ilayer != fpos.end(); ilayer++)
348  {
349  theForward[(*ilayer)] = ilf1;
350  ilf1++;
351  }
352  for ( vector<ForwardDetLayer*>::const_iterator ilayer = fneg.begin();
353  ilayer != fneg.end(); ilayer++)
354  {
355 #ifdef DEBUG
356  cout<<" HICDetectorMap::negative layers "<<(**ilayer).position().z()<<" "<<ilf2<<endl;
357 #endif
358  theBackward[(*ilayer)] = ilf2;
359  ilf2++;
360  }
361 
362 }
std::map< const DetLayer *, int > theBackward
std::map< const DetLayer *, int > theBarrel
std::map< const DetLayer *, int > theForward
std::vector< BarrelDetLayer * > bl
std::vector< ForwardDetLayer * > fneg
tuple cout
Definition: gather_cfg.py:121
std::vector< ForwardDetLayer * > fpos
virtual void HICMeasurementEstimator::setLastLayer ( DetLayer *&  ll)
inlinevirtual

Definition at line 59 of file HICMeasurementEstimator.h.

References theLastLayer.

59 {theLastLayer = ll;};
virtual void HICMeasurementEstimator::setMult ( int  aMult = 1)
inlinevirtual

Definition at line 65 of file HICMeasurementEstimator.h.

References theLowMult.

Referenced by cms::HITrackVertexMaker::produceTracks().

virtual void HICMeasurementEstimator::setSign ( int &  i)
inlinevirtual

Definition at line 67 of file HICMeasurementEstimator.h.

References i, and theSign.

Referenced by HICTrajectoryBuilder::limitedCandidates().

Member Data Documentation

std::vector<BarrelDetLayer*> HICMeasurementEstimator::bl
private

Definition at line 112 of file HICMeasurementEstimator.h.

Referenced by HICMeasurementEstimator().

const MagneticField* HICMeasurementEstimator::field
private

Definition at line 116 of file HICMeasurementEstimator.h.

Referenced by getField(), and HICMeasurementEstimator().

std::vector<ForwardDetLayer*> HICMeasurementEstimator::fneg
private

Definition at line 114 of file HICMeasurementEstimator.h.

Referenced by HICMeasurementEstimator().

std::vector<ForwardDetLayer*> HICMeasurementEstimator::fpos
private

Definition at line 113 of file HICMeasurementEstimator.h.

Referenced by HICMeasurementEstimator().

std::map<const DetLayer*,int> HICMeasurementEstimator::theBackward
private

Definition at line 81 of file HICMeasurementEstimator.h.

std::map<const DetLayer*,int> HICMeasurementEstimator::theBarrel
private

Definition at line 79 of file HICMeasurementEstimator.h.

double HICMeasurementEstimator::theChi2Cut
private

Definition at line 105 of file HICMeasurementEstimator.h.

int HICMeasurementEstimator::theCutType
private

Definition at line 110 of file HICMeasurementEstimator.h.

const DetLayer* HICMeasurementEstimator::theFirstLayer
private

Definition at line 89 of file HICMeasurementEstimator.h.

std::map<const DetLayer*,int> HICMeasurementEstimator::theForward
private

Definition at line 80 of file HICMeasurementEstimator.h.

cms::HICConst* HICMeasurementEstimator::theHICConst
private

Definition at line 76 of file HICMeasurementEstimator.h.

Referenced by getHICConst(), and setHICConst().

const DetLayer* HICMeasurementEstimator::theLastLayer
private

Definition at line 87 of file HICMeasurementEstimator.h.

Referenced by setLastLayer().

const DetLayer* HICMeasurementEstimator::theLayer
private

Definition at line 88 of file HICMeasurementEstimator.h.

int HICMeasurementEstimator::theLowMult
private

Definition at line 109 of file HICMeasurementEstimator.h.

Referenced by setMult().

double HICMeasurementEstimator::theMaxChi2
private

Definition at line 77 of file HICMeasurementEstimator.h.

double HICMeasurementEstimator::theNewCut
private

Definition at line 106 of file HICMeasurementEstimator.h.

double HICMeasurementEstimator::theNewCutB
private

Definition at line 107 of file HICMeasurementEstimator.h.

int HICMeasurementEstimator::theNSigma
private

Definition at line 78 of file HICMeasurementEstimator.h.

double HICMeasurementEstimator::thePhiBound
private

Definition at line 83 of file HICMeasurementEstimator.h.

double HICMeasurementEstimator::thePhiBoundMean
private

Definition at line 85 of file HICMeasurementEstimator.h.

double HICMeasurementEstimator::thePhiCut
private

Definition at line 101 of file HICMeasurementEstimator.h.

double HICMeasurementEstimator::thePhiCutMean
private

Definition at line 103 of file HICMeasurementEstimator.h.

double HICMeasurementEstimator::thePhiWin
private

Definition at line 91 of file HICMeasurementEstimator.h.

double HICMeasurementEstimator::thePhiWinB
private

Definition at line 96 of file HICMeasurementEstimator.h.

double HICMeasurementEstimator::thePhiWinMean
private

Definition at line 93 of file HICMeasurementEstimator.h.

double HICMeasurementEstimator::thePhiWinMeanB
private

Definition at line 98 of file HICMeasurementEstimator.h.

int HICMeasurementEstimator::theSign
private

Definition at line 115 of file HICMeasurementEstimator.h.

Referenced by setSign().

const GeometricSearchTracker* HICMeasurementEstimator::theTracker
private

Definition at line 111 of file HICMeasurementEstimator.h.

Referenced by HICMeasurementEstimator().

int HICMeasurementEstimator::theTrajectorySize
private

Definition at line 90 of file HICMeasurementEstimator.h.

double HICMeasurementEstimator::theZBound
private

Definition at line 84 of file HICMeasurementEstimator.h.

double HICMeasurementEstimator::theZBoundMean
private

Definition at line 86 of file HICMeasurementEstimator.h.

double HICMeasurementEstimator::theZCut
private

Definition at line 102 of file HICMeasurementEstimator.h.

double HICMeasurementEstimator::theZCutMean
private

Definition at line 104 of file HICMeasurementEstimator.h.

double HICMeasurementEstimator::theZWin
private

Definition at line 92 of file HICMeasurementEstimator.h.

double HICMeasurementEstimator::theZWinB
private

Definition at line 97 of file HICMeasurementEstimator.h.

double HICMeasurementEstimator::theZWinMean
private

Definition at line 94 of file HICMeasurementEstimator.h.

double HICMeasurementEstimator::theZWinMeanB
private

Definition at line 99 of file HICMeasurementEstimator.h.