![]() |
![]() |
#include <HitMatchingAlgorithm_window2012.h>
Public Member Functions | |
ES_HitMatchingAlgorithm_window2012 (const edm::ParameterSet &p) | |
Constructor. | |
boost::shared_ptr < HitMatchingAlgorithm< T > > | produce (const HitMatchingAlgorithmRecord &record) |
Implement the producer. | |
virtual | ~ES_HitMatchingAlgorithm_window2012 () |
Destructor. | |
Private Attributes | |
boost::shared_ptr < HitMatchingAlgorithm< T > > | _theAlgo |
Data members. | |
double | mIPWidth |
double | mPtThreshold |
********************** DECLARATION OF THE ALGORITHM TO THE FRAMEWORK **********************
Definition at line 200 of file HitMatchingAlgorithm_window2012.h.
ES_HitMatchingAlgorithm_window2012< T >::ES_HitMatchingAlgorithm_window2012 | ( | const edm::ParameterSet & | p | ) | [inline] |
Constructor.
Definition at line 210 of file HitMatchingAlgorithm_window2012.h.
References edm::ESProducer::setWhatProduced().
: mPtThreshold( p.getParameter< double >("minPtThreshold") ) // mIPWidth( p.getParameter<double>("ipWidth") ), { setWhatProduced( this ); }
virtual ES_HitMatchingAlgorithm_window2012< T >::~ES_HitMatchingAlgorithm_window2012 | ( | ) | [inline, virtual] |
boost::shared_ptr< HitMatchingAlgorithm< T > > ES_HitMatchingAlgorithm_window2012< T >::produce | ( | const HitMatchingAlgorithmRecord & | record | ) | [inline] |
Implement the producer.
Get magnetic field
Calculate scaling factor based on B and Pt threshold
Definition at line 221 of file HitMatchingAlgorithm_window2012.h.
References ES_HitMatchingAlgorithm_window2012< T >::_theAlgo, edm::eventsetup::DependentRecordImplementation< RecordT, ListT >::getRecord(), and ES_HitMatchingAlgorithm_window2012< T >::mPtThreshold.
{ edm::ESHandle< MagneticField > magnet; record.getRecord< IdealMagneticFieldRecord >().get(magnet); double mMagneticFieldStrength = magnet->inTesla(GlobalPoint(0,0,0)).z(); //double mPtScalingFactor = 0.0015*mMagneticFieldStrength/mPtThreshold; //double mPtScalingFactor = (CLHEP::c_light * mMagneticFieldStrength) / (100.0 * 2.0e+9 * mPtThreshold); double mPtScalingFactor = (floor(mMagneticFieldStrength*10.0 + 0.5))/10.0*0.0015/mPtThreshold; edm::ESHandle< StackedTrackerGeometry > StackedTrackerGeomHandle; record.getRecord< StackedTrackerGeometryRecord >().get( StackedTrackerGeomHandle ); HitMatchingAlgorithm< T >* HitMatchingAlgo = new HitMatchingAlgorithm_window2012< T >( &(*StackedTrackerGeomHandle), mPtScalingFactor ); _theAlgo = boost::shared_ptr< HitMatchingAlgorithm< T > >( HitMatchingAlgo ); return _theAlgo; }
boost::shared_ptr< HitMatchingAlgorithm< T > > ES_HitMatchingAlgorithm_window2012< T >::_theAlgo [private] |
Data members.
Definition at line 204 of file HitMatchingAlgorithm_window2012.h.
Referenced by ES_HitMatchingAlgorithm_window2012< T >::produce().
double ES_HitMatchingAlgorithm_window2012< T >::mIPWidth [private] |
Definition at line 206 of file HitMatchingAlgorithm_window2012.h.
double ES_HitMatchingAlgorithm_window2012< T >::mPtThreshold [private] |
Definition at line 205 of file HitMatchingAlgorithm_window2012.h.
Referenced by ES_HitMatchingAlgorithm_window2012< T >::produce().