CMS 3D CMS Logo

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

#include <KalmanAlignmentSetup.h>

Public Types

typedef
TransientTrackingRecHit::ConstRecHitPointer 
ConstRecHitPointer
 
enum  SortingDirection { sortInsideOut, sortOutsideIn, sortUpsideDown, sortDownsideUp }
 
typedef int SubDetId
 

Public Member Functions

KalmanAlignmentUpdatoralignmentUpdator (void) const
 
const TrajectoryFitterexternalFitter (void) const
 
const PropagatorexternalPropagator (void) const
 
const SortingDirection externalSortingDirection (void) const
 
const TrajectoryFitterfitter (void) const
 
const std::vector< SubDetId > & getExternalTrackingSubDetIds (void) const
 
const std::vector< SubDetId > & getTrackingSubDetIds (void) const
 
const std::string id (void) const
 
 KalmanAlignmentSetup (const std::string &id, const TrajectoryFitter *fitter, const Propagator *propagator, const std::vector< SubDetId > &trackingIds, const unsigned int minTrackingHits, const SortingDirection sortingDir, const TrajectoryFitter *externalFitter, const Propagator *externalPropagator, const std::vector< SubDetId > &externalIds, const unsigned int minExternalHits, const SortingDirection externalSortingDir, TrajectoryFactoryBase *trajectoryFactory, KalmanAlignmentUpdator *alignmentUpdator, KalmanAlignmentMetricsUpdator *metricsUpdator)
 
 KalmanAlignmentSetup (const KalmanAlignmentSetup &setup)
 
KalmanAlignmentMetricsUpdatormetricsUpdator (void) const
 
const unsigned int minExternalHits (void) const
 
const unsigned int minTrackingHits (void) const
 
const Propagatorpropagator (void) const
 
const SortingDirection sortingDirection (void) const
 
TrajectoryFactoryBasetrajectoryFactory (void) const
 
bool useForExternalTracking (const ConstRecHitPointer &recHit) const
 
bool useForTracking (const ConstRecHitPointer &recHit) const
 
 ~KalmanAlignmentSetup (void)
 

Private Attributes

KalmanAlignmentUpdatortheAlignmentUpdator
 
std::unique_ptr< TrajectoryFittertheExternalFitter
 
PropagatortheExternalPropagator
 
SortingDirection theExternalSortingDir
 
std::vector< SubDetIdtheExternalTrackingSubDetIds
 
std::unique_ptr< TrajectoryFittertheFitter
 
std::string theId
 
KalmanAlignmentMetricsUpdatortheMetricsUpdator
 
unsigned int theMinExternalHits
 
unsigned int theMinTrackingHits
 
PropagatorthePropagator
 
SortingDirection theSortingDir
 
std::vector< SubDetIdtheTrackingSubDetIds
 
TrajectoryFactoryBasetheTrajectoryFactory
 

Detailed Description

Definition at line 16 of file KalmanAlignmentSetup.h.

Member Typedef Documentation

Definition at line 22 of file KalmanAlignmentSetup.h.

Definition at line 21 of file KalmanAlignmentSetup.h.

Member Enumeration Documentation

Constructor & Destructor Documentation

KalmanAlignmentSetup::KalmanAlignmentSetup ( const std::string &  id,
const TrajectoryFitter fitter,
const Propagator propagator,
const std::vector< SubDetId > &  trackingIds,
const unsigned int  minTrackingHits,
const SortingDirection  sortingDir,
const TrajectoryFitter externalFitter,
const Propagator externalPropagator,
const std::vector< SubDetId > &  externalIds,
const unsigned int  minExternalHits,
const SortingDirection  externalSortingDir,
TrajectoryFactoryBase trajectoryFactory,
KalmanAlignmentUpdator alignmentUpdator,
KalmanAlignmentMetricsUpdator metricsUpdator 
)

Definition at line 10 of file KalmanAlignmentSetup.cc.

23  :
24  theId( id ),
25  theFitter( fitter->clone() ),
26  thePropagator( propagator->clone() ),
27  theTrackingSubDetIds( trackingIds ),
29  theSortingDir( sortingDir ),
30  theExternalFitter( externalFitter->clone() ),
31  theExternalPropagator( externalPropagator->clone() ),
32  theExternalTrackingSubDetIds( externalIds ),
34  theExternalSortingDir( externalSortingDir ),
35  theTrajectoryFactory( trajectoryFactory ),
36  theAlignmentUpdator( alignmentUpdator ),
37  theMetricsUpdator( metricsUpdator )
38 {}
SortingDirection theExternalSortingDir
TrajectoryFactoryBase * theTrajectoryFactory
Propagator * theExternalPropagator
virtual Propagator * clone() const =0
const unsigned int minExternalHits(void) const
std::unique_ptr< TrajectoryFitter > theFitter
std::vector< SubDetId > theExternalTrackingSubDetIds
KalmanAlignmentMetricsUpdator * theMetricsUpdator
KalmanAlignmentUpdator * theAlignmentUpdator
const unsigned int minTrackingHits(void) const
SortingDirection theSortingDir
std::vector< SubDetId > theTrackingSubDetIds
virtual std::unique_ptr< TrajectoryFitter > clone() const =0
std::unique_ptr< TrajectoryFitter > theExternalFitter
KalmanAlignmentSetup::KalmanAlignmentSetup ( const KalmanAlignmentSetup setup)

Definition at line 41 of file KalmanAlignmentSetup.cc.

41  :
42  theId( setup.theId ),
43  theFitter( setup.theFitter->clone() ),
44  thePropagator( setup.thePropagator->clone() ),
48  theExternalFitter( setup.theExternalFitter->clone() ),
56 {}
SortingDirection theExternalSortingDir
TrajectoryFactoryBase * theTrajectoryFactory
Propagator * theExternalPropagator
virtual Propagator * clone() const =0
const std::vector< SubDetId > & getTrackingSubDetIds(void) const
std::unique_ptr< TrajectoryFitter > theFitter
const std::vector< SubDetId > & getExternalTrackingSubDetIds(void) const
std::vector< SubDetId > theExternalTrackingSubDetIds
KalmanAlignmentMetricsUpdator * theMetricsUpdator
KalmanAlignmentUpdator * theAlignmentUpdator
SortingDirection theSortingDir
std::vector< SubDetId > theTrackingSubDetIds
std::unique_ptr< TrajectoryFitter > theExternalFitter
KalmanAlignmentSetup::~KalmanAlignmentSetup ( void  )

Definition at line 59 of file KalmanAlignmentSetup.cc.

References theExternalPropagator, and thePropagator.

60 {
61  if ( thePropagator ) delete thePropagator;
63 }
Propagator * theExternalPropagator

Member Function Documentation

KalmanAlignmentUpdator* KalmanAlignmentSetup::alignmentUpdator ( void  ) const
inline

Definition at line 66 of file KalmanAlignmentSetup.h.

References theAlignmentUpdator.

66 { return theAlignmentUpdator; }
KalmanAlignmentUpdator * theAlignmentUpdator
const TrajectoryFitter* KalmanAlignmentSetup::externalFitter ( void  ) const
inline

Definition at line 48 of file KalmanAlignmentSetup.h.

References theExternalFitter.

48 { return theExternalFitter.get(); }
std::unique_ptr< TrajectoryFitter > theExternalFitter
const Propagator* KalmanAlignmentSetup::externalPropagator ( void  ) const
inline

Definition at line 51 of file KalmanAlignmentSetup.h.

References theExternalPropagator.

51 { return theExternalPropagator; }
Propagator * theExternalPropagator
const SortingDirection KalmanAlignmentSetup::externalSortingDirection ( void  ) const
inline

Definition at line 60 of file KalmanAlignmentSetup.h.

References theExternalSortingDir.

60 { return theExternalSortingDir; }
SortingDirection theExternalSortingDir
const TrajectoryFitter* KalmanAlignmentSetup::fitter ( void  ) const
inline

Definition at line 47 of file KalmanAlignmentSetup.h.

References theFitter.

47 { return theFitter.get(); }
std::unique_ptr< TrajectoryFitter > theFitter
const std::vector< SubDetId >& KalmanAlignmentSetup::getExternalTrackingSubDetIds ( void  ) const
inline

Definition at line 54 of file KalmanAlignmentSetup.h.

References theExternalTrackingSubDetIds.

std::vector< SubDetId > theExternalTrackingSubDetIds
const std::vector< SubDetId >& KalmanAlignmentSetup::getTrackingSubDetIds ( void  ) const
inline

Definition at line 53 of file KalmanAlignmentSetup.h.

References theTrackingSubDetIds.

53 { return theTrackingSubDetIds; }
std::vector< SubDetId > theTrackingSubDetIds
const std::string KalmanAlignmentSetup::id ( void  ) const
inline

Definition at line 45 of file KalmanAlignmentSetup.h.

References theId.

45 { return theId; }
KalmanAlignmentMetricsUpdator* KalmanAlignmentSetup::metricsUpdator ( void  ) const
inline

Definition at line 67 of file KalmanAlignmentSetup.h.

References theMetricsUpdator.

67 { return theMetricsUpdator; }
KalmanAlignmentMetricsUpdator * theMetricsUpdator
const unsigned int KalmanAlignmentSetup::minExternalHits ( void  ) const
inline

Definition at line 57 of file KalmanAlignmentSetup.h.

References theMinExternalHits.

57 { return theMinExternalHits; }
const unsigned int KalmanAlignmentSetup::minTrackingHits ( void  ) const
inline

Definition at line 56 of file KalmanAlignmentSetup.h.

References theMinTrackingHits.

56 { return theMinTrackingHits; }
const Propagator* KalmanAlignmentSetup::propagator ( void  ) const
inline

Definition at line 50 of file KalmanAlignmentSetup.h.

References thePropagator.

50 { return thePropagator; }
const SortingDirection KalmanAlignmentSetup::sortingDirection ( void  ) const
inline

Definition at line 59 of file KalmanAlignmentSetup.h.

References theSortingDir.

59 { return theSortingDir; }
SortingDirection theSortingDir
TrajectoryFactoryBase* KalmanAlignmentSetup::trajectoryFactory ( void  ) const
inline

Definition at line 65 of file KalmanAlignmentSetup.h.

References theTrajectoryFactory.

65 { return theTrajectoryFactory; }
TrajectoryFactoryBase * theTrajectoryFactory
bool KalmanAlignmentSetup::useForExternalTracking ( const ConstRecHitPointer recHit) const

Definition at line 94 of file KalmanAlignmentSetup.cc.

References spr::find(), and theExternalTrackingSubDetIds.

95 {
96 
97  const DetId detId( recHit->det()->geographicalId() );
98  const SubDetId subdetId( detId.subdetId() );
99 
100  // const GlobalPoint position( recHit->det()->position() );
101  // if ( ( position.phi() < 0.785 ) || ( position.phi() > 2.356 ) ) return false;
102 
103  std::vector< SubDetId >::const_iterator itFindSubDetId =
105 
106  // bool doubleSided = false;
107  // if ( subdetId == 3 )
108  // {
109  //
110  // if ( tTopo->tibLayer( detId.rawId) < 3 ) doubleSided = true;
111  // }
112  // else if ( subdetId == 5 )
113  // {
114  //
115  // if ( tTopo->tobLayer( detId.rawId) < 3 ) doubleSided = true;
116  // }
117 
118  return ( itFindSubDetId != theExternalTrackingSubDetIds.end() );// && !doubleSided;
119 }
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:7
std::vector< SubDetId > theExternalTrackingSubDetIds
Definition: DetId.h:18
bool KalmanAlignmentSetup::useForTracking ( const ConstRecHitPointer recHit) const

Definition at line 66 of file KalmanAlignmentSetup.cc.

References spr::find(), and theTrackingSubDetIds.

67 {
68  const DetId detId( recHit->det()->geographicalId() );
69  const SubDetId subdetId( detId.subdetId() );
70 
71  // const GlobalPoint position( recHit->det()->position() );
72  // if ( ( position.phi() < 0.785 ) || ( position.phi() > 2.356 ) ) return false;
73 
74  std::vector< SubDetId >::const_iterator itFindSubDetId =
75  std::find( theTrackingSubDetIds.begin(), theTrackingSubDetIds.end(), subdetId );
76 
77  // bool doubleSided = false;
78  // if ( subdetId == 3 )
79  // {
80  //
81  // if ( tTopo->tibLayer( detId.rawId) < 3 ) doubleSided = true;
82  // }
83  // else if ( subdetId == 5 )
84  // {
85  //
86  // if ( tTopo->tobLayer( detId.rawId) < 3 ) doubleSided = true;
87  // }
88 
89  return ( itFindSubDetId != theTrackingSubDetIds.end() );// && doubleSided;
90 
91 }
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:7
Definition: DetId.h:18
std::vector< SubDetId > theTrackingSubDetIds

Member Data Documentation

KalmanAlignmentUpdator* KalmanAlignmentSetup::theAlignmentUpdator
private

Definition at line 86 of file KalmanAlignmentSetup.h.

Referenced by alignmentUpdator().

std::unique_ptr<TrajectoryFitter> KalmanAlignmentSetup::theExternalFitter
private

Definition at line 79 of file KalmanAlignmentSetup.h.

Referenced by externalFitter().

Propagator* KalmanAlignmentSetup::theExternalPropagator
private

Definition at line 80 of file KalmanAlignmentSetup.h.

Referenced by externalPropagator(), and ~KalmanAlignmentSetup().

SortingDirection KalmanAlignmentSetup::theExternalSortingDir
private

Definition at line 83 of file KalmanAlignmentSetup.h.

Referenced by externalSortingDirection().

std::vector< SubDetId > KalmanAlignmentSetup::theExternalTrackingSubDetIds
private

Definition at line 81 of file KalmanAlignmentSetup.h.

Referenced by getExternalTrackingSubDetIds(), and useForExternalTracking().

std::unique_ptr<TrajectoryFitter> KalmanAlignmentSetup::theFitter
private

Definition at line 73 of file KalmanAlignmentSetup.h.

Referenced by fitter().

std::string KalmanAlignmentSetup::theId
private

Definition at line 71 of file KalmanAlignmentSetup.h.

Referenced by id().

KalmanAlignmentMetricsUpdator* KalmanAlignmentSetup::theMetricsUpdator
private

Definition at line 87 of file KalmanAlignmentSetup.h.

Referenced by metricsUpdator().

unsigned int KalmanAlignmentSetup::theMinExternalHits
private

Definition at line 82 of file KalmanAlignmentSetup.h.

Referenced by minExternalHits().

unsigned int KalmanAlignmentSetup::theMinTrackingHits
private

Definition at line 76 of file KalmanAlignmentSetup.h.

Referenced by minTrackingHits().

Propagator* KalmanAlignmentSetup::thePropagator
private

Definition at line 74 of file KalmanAlignmentSetup.h.

Referenced by propagator(), and ~KalmanAlignmentSetup().

SortingDirection KalmanAlignmentSetup::theSortingDir
private

Definition at line 77 of file KalmanAlignmentSetup.h.

Referenced by sortingDirection().

std::vector< SubDetId > KalmanAlignmentSetup::theTrackingSubDetIds
private

Definition at line 75 of file KalmanAlignmentSetup.h.

Referenced by getTrackingSubDetIds(), and useForTracking().

TrajectoryFactoryBase* KalmanAlignmentSetup::theTrajectoryFactory
private

Definition at line 85 of file KalmanAlignmentSetup.h.

Referenced by trajectoryFactory().