CMS 3D CMS Logo

TrajectoryFactoryBase.h
Go to the documentation of this file.
1 #ifndef Alignment_ReferenceTrajectories_TrajectoryFactoryBase_h
2 #define Alignment_ReferenceTrajectories_TrajectoryFactoryBase_h
3 
6 
8 
10 
12 
15 
16 namespace reco {
17  class BeamSpot;
18 }
19 
21 public:
26  typedef std::vector<ReferenceTrajectoryPtr> ReferenceTrajectoryCollection;
27  typedef std::pair<TrajectoryStateOnSurface, TransientTrackingRecHit::ConstRecHitContainer> TrajectoryInput;
28  typedef std::vector<TrajectoryStateOnSurface> ExternalPredictionCollection;
29 
32  virtual ~TrajectoryFactoryBase(void);
33 
36  const reco::BeamSpot& beamSpot) const = 0;
37 
41  const reco::BeamSpot& beamSpot) const = 0;
42 
43  virtual TrajectoryFactoryBase* clone(void) const = 0;
44 
45  inline MaterialEffects materialEffects(void) const { return materialEffects_; }
46  inline PropagationDirection propagationDirection(void) const { return propDir_; }
47  inline const edm::ParameterSet& configuration() const { return cfg_; }
48  inline unsigned int tracksPerTrajectory() const { return tracksPerTrajectory_; }
49 
50 protected:
52  virtual const Trajectory::DataContainer orderedTrajectoryMeasurements(const Trajectory& trajectory) const;
53  bool sameSurface(const Surface& s1, const Surface& s2) const;
55 
56 private:
57  MaterialEffects materialEffects(const std::string& strME) const;
59 
60  const edm::ParameterSet cfg_; // need to keep for possible re-use after constructor... :-(
61  const unsigned int tracksPerTrajectory_;
64 
65  const bool useWithoutDet_;
66  const bool useInvalidHits_;
67  const bool useProjectedHits_;
68 
69 protected:
70  const bool useBeamSpot_;
71  const bool includeAPEs_;
72  const bool allowZeroMaterial_;
73 };
74 
75 #endif
TrajectoryFactoryBase::useRecHit
bool useRecHit(const TransientTrackingRecHit::ConstRecHitPointer &hitPtr) const
Definition: TrajectoryFactoryBase.cc:94
AlignmentAlgorithmBase::ConstTrajTrackPairCollection
std::vector< ConstTrajTrackPair > ConstTrajTrackPairCollection
Definition: AlignmentAlgorithmBase.h:67
pwdgSkimBPark_cfi.beamSpot
beamSpot
Definition: pwdgSkimBPark_cfi.py:5
HLT_FULL_cff.track
track
Definition: HLT_FULL_cff.py:11713
align::BeamSpot
Definition: StructureType.h:95
TrajectoryFactoryBase::tracksPerTrajectory
unsigned int tracksPerTrajectory() const
Definition: TrajectoryFactoryBase.h:48
TrajectoryFactoryBase::includeAPEs_
const bool includeAPEs_
Definition: TrajectoryFactoryBase.h:71
Surface
Definition: Surface.h:36
TrajectoryFactoryBase::clone
virtual TrajectoryFactoryBase * clone(void) const =0
ReferenceCountingPointer
Definition: ReferenceCounted.h:60
indexGen.s2
s2
Definition: indexGen.py:107
MaterialEffects
Definition: MaterialEffects.h:51
reco
fixed size matrix
Definition: AlignmentAlgorithmBase.h:45
singleTopDQM_cfi.setup
setup
Definition: singleTopDQM_cfi.py:37
ReferenceTrajectoryBase.h
config
Definition: config.py:1
external
Definition: HEPTopTaggerV2.h:20
TrajectoryFactoryBase::configuration
const edm::ParameterSet & configuration() const
Definition: TrajectoryFactoryBase.h:47
TrajectoryFactoryBase::MaterialEffects
ReferenceTrajectoryBase::MaterialEffects MaterialEffects
Definition: TrajectoryFactoryBase.h:23
TrajectoryFactoryBase::useInvalidHits_
const bool useInvalidHits_
Definition: TrajectoryFactoryBase.h:66
Trajectory::DataContainer
std::vector< TrajectoryMeasurement > DataContainer
Definition: Trajectory.h:40
TrajectoryFactoryBase::sameSurface
bool sameSurface(const Surface &s1, const Surface &s2) const
Definition: TrajectoryFactoryBase.cc:88
TrajectoryFactoryBase::ConstTrajTrackPair
AlignmentAlgorithmBase::ConstTrajTrackPair ConstTrajTrackPair
Definition: TrajectoryFactoryBase.h:24
TrajectoryFactoryBase::ReferenceTrajectoryPtr
ReferenceTrajectoryBase::ReferenceTrajectoryPtr ReferenceTrajectoryPtr
Definition: TrajectoryFactoryBase.h:22
TrajectoryFactoryBase::useBeamSpot_
const bool useBeamSpot_
Definition: TrajectoryFactoryBase.h:70
reco::BeamSpot
Definition: BeamSpot.h:21
TrajectoryFactoryBase::propagationDirection
PropagationDirection propagationDirection(void) const
Definition: TrajectoryFactoryBase.h:46
TrajectoryFactoryBase::tracksPerTrajectory_
const unsigned int tracksPerTrajectory_
Definition: TrajectoryFactoryBase.h:61
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
TrajectoryFactoryBase::useProjectedHits_
const bool useProjectedHits_
Definition: TrajectoryFactoryBase.h:67
AlignmentAlgorithmBase::ConstTrajTrackPair
std::pair< const Trajectory *, const reco::Track * > ConstTrajTrackPair
Definition: AlignmentAlgorithmBase.h:66
TrajectoryFactoryBase::ReferenceTrajectoryCollection
std::vector< ReferenceTrajectoryPtr > ReferenceTrajectoryCollection
Definition: TrajectoryFactoryBase.h:26
edm::ParameterSet
Definition: ParameterSet.h:47
TrajectoryFactoryBase::innermostStateAndRecHits
virtual const TrajectoryInput innermostStateAndRecHits(const ConstTrajTrackPair &track) const
Definition: TrajectoryFactoryBase.cc:37
tracks
const uint32_t *__restrict__ const HitContainer *__restrict__ TkSoA *__restrict__ tracks
Definition: CAHitNtupletGeneratorKernelsImpl.h:159
TrajectoryFactoryBase::TrajectoryInput
std::pair< TrajectoryStateOnSurface, TransientTrackingRecHit::ConstRecHitContainer > TrajectoryInput
Definition: TrajectoryFactoryBase.h:27
TrajectoryFactoryBase
Definition: TrajectoryFactoryBase.h:20
TrajectoryFactoryBase::useWithoutDet_
const bool useWithoutDet_
Definition: TrajectoryFactoryBase.h:65
TrackingRecHit::ConstRecHitPointer
std::shared_ptr< TrackingRecHit const > ConstRecHitPointer
Definition: TrackingRecHit.h:25
TrajectoryFactoryBase::propDir_
const PropagationDirection propDir_
Definition: TrajectoryFactoryBase.h:63
edm::EventSetup
Definition: EventSetup.h:58
TrajectoryFactoryBase::materialEffects
MaterialEffects materialEffects(void) const
Definition: TrajectoryFactoryBase.h:45
PropagationDirection.h
TrajectoryFactoryBase::allowZeroMaterial_
const bool allowZeroMaterial_
Definition: TrajectoryFactoryBase.h:72
TrajectoryFactoryBase::trajectories
virtual const ReferenceTrajectoryCollection trajectories(const edm::EventSetup &setup, const ConstTrajTrackPairCollection &tracks, const reco::BeamSpot &beamSpot) const =0
Trajectory.h
TrajectoryFactoryBase::ConstTrajTrackPairCollection
AlignmentAlgorithmBase::ConstTrajTrackPairCollection ConstTrajTrackPairCollection
Definition: TrajectoryFactoryBase.h:25
ReferenceTrajectoryBase::MaterialEffects
MaterialEffects
Definition: ReferenceTrajectoryBase.h:109
Trajectory
Definition: Trajectory.h:38
TrajectoryFactoryBase::cfg_
const edm::ParameterSet cfg_
Definition: TrajectoryFactoryBase.h:60
PropagationDirection
PropagationDirection
Definition: PropagationDirection.h:4
ConstTrajTrackPair
std::pair< const Trajectory *, const reco::Track * > ConstTrajTrackPair
Definition: AlignmentAlgorithmBase.h:51
TrajectoryFactoryBase::materialEffects_
const MaterialEffects materialEffects_
Definition: TrajectoryFactoryBase.h:62
AlignmentAlgorithmBase.h
Interface/Base class for alignment algorithms, each alignment algorithm has to be derived from this c...
ParameterSet.h
TrajectoryFactoryBase::TrajectoryFactoryBase
TrajectoryFactoryBase(const edm::ParameterSet &config)
Definition: TrajectoryFactoryBase.cc:9
TrajectoryFactoryBase::orderedTrajectoryMeasurements
virtual const Trajectory::DataContainer orderedTrajectoryMeasurements(const Trajectory &trajectory) const
Definition: TrajectoryFactoryBase.cc:65
TrajectoryFactoryBase::~TrajectoryFactoryBase
virtual ~TrajectoryFactoryBase(void)
Definition: TrajectoryFactoryBase.cc:35
TrajectoryFactoryBase::ExternalPredictionCollection
std::vector< TrajectoryStateOnSurface > ExternalPredictionCollection
Definition: TrajectoryFactoryBase.h:28