CMS 3D CMS Logo

GroupedCkfTrajectoryBuilder.h
Go to the documentation of this file.
1 #ifndef GroupedCkfTrajectoryBuilder_H
2 #define GroupedCkfTrajectoryBuilder_H
3 
7 
10 
12 
13 #include <vector>
14 
16 
23 public:
26 
29 
31  // virtual void setEvent(const edm::Event& event) const;
32 
34  TrajectoryContainer trajectories(const TrajectorySeed&) const override;
35 
37  void trajectories(const TrajectorySeed&, TrajectoryContainer& ret) const override;
38 
40  TrajectoryContainer trajectories(const TrajectorySeed&, const TrackingRegion&) const;
41 
43  void trajectories(const TrajectorySeed&, TrajectoryContainer& ret, const TrackingRegion&) const;
44 
46  // also new interface returning the start Trajectory...
48  TrajectoryContainer& ret,
49  unsigned int& nCandPerSeed,
50  const TrajectoryFilter*) const override;
51 
58  void rebuildSeedingRegion(const TrajectorySeed&, TrajectoryContainer& result) const override;
59 
60  // same as above using the precomputed startingTraj..
61  void rebuildTrajectories(TempTrajectory const& startingTraj,
62  const TrajectorySeed&,
63  TrajectoryContainer& result) const override;
64 
65  // Access to lower level components
66  const TrajectoryStateUpdator& updator() const { return *theUpdator; }
68 
69  // PropagationDirection direction() const {return theDirection;}
70 
72  double chiSquareCut() { return theChiSquareCut; }
73 
75  int maxCand() { return theMaxCand; }
76 
78  float lostHitPenalty() { return theLostHitPenalty; }
79 
80  // /** Tells whether an intermediary cleaning stage should take place during TB. */
81  // bool intermediateCleaning() {return theIntermediateCleaning;}
82 
84  double ptCut() { return theptCut; }
85 
87  double mass() { return theMass; }
88 
89 protected:
90  void setEvent_(const edm::Event& iEvent, const edm::EventSetup& iSetup) override;
91 
92  virtual void analyseSeed(const TrajectorySeed& seed) const {}
93 
94  virtual void analyseMeasurements(const std::vector<TM>& meas, const Trajectory& traj) const {}
95  virtual void analyseResult(const TrajectoryContainer& result) const {}
96 
97 private:
98  // /// no copy constructor
99  // GroupedCkfTrajectoryBuilder (const GroupedCkfTrajectoryBuilder&) = default;
100  //
101  // /// no assignment operator
102  // GroupedCkfTrajectoryBuilder& operator= (const GroupedCkfTrajectoryBuilder&) dso_internal;
103 
104  inline bool tkxor(bool a, bool b) const dso_internal { return (a || b) && !(a && b); }
105  // to be ported later
106 
107  bool advanceOneLayer(const TrajectorySeed& seed,
108  TempTrajectory& traj,
109  const TrajectoryFilter* regionalCondition,
110  const Propagator* propagator,
111  bool inOut,
112  TempTrajectoryContainer& newCand,
113  TempTrajectoryContainer& result) const dso_internal;
114 
115  unsigned int groupedLimitedCandidates(const TrajectorySeed& seed,
116  TempTrajectory const& startingTraj,
117  const TrajectoryFilter* regionalCondition,
118  const Propagator* propagator,
119  bool inOut,
120  TempTrajectoryContainer& result) const dso_internal;
121 
124  TempTrajectory const& startingTraj,
125  TempTrajectoryContainer& result) const dso_internal;
126 
127  //** try to find additional hits in seeding region for a candidate
128  //* (returns number of trajectories added) *
130  const std::vector<const TrackingRecHit*>& seedHits,
131  TempTrajectory& candidate,
132  TempTrajectoryContainer& result) const dso_internal;
133 
134  // ** Backward fit of trajectory candidate except seed. Fit result is returned. invalid if fit failed
135  // * remaining hits are returned remainingHits.
136  TempTrajectory backwardFit(TempTrajectory& candidate,
137  unsigned int nSeed,
138  const TrajectoryFitter& fitter,
139  std::vector<const TrackingRecHit*>& remainingHits) const dso_internal;
140 
142  bool verifyHits(TempTrajectory::DataContainer::const_iterator rbegin,
143  size_t maxDepth,
144  const std::vector<const TrackingRecHit*>& hits) const dso_internal;
145 
147  void groupedIntermediaryClean(TempTrajectoryContainer& theTrajectories) const dso_internal;
148 
150  static inline PropagationDirection oppositeDirection(PropagationDirection dir) {
151  if (dir == alongMomentum)
152  return oppositeToMomentum;
153  if (dir == oppositeToMomentum)
154  return alongMomentum;
155  return dir;
156  }
157 
158 private:
159  TrajectoryFilter* theConfigurableCondition;
160 
161  // typedef deque< const TrajectoryFilter*> StopCondContainer;
162  // StopCondContainer theStopConditions;
163 
164  double theChiSquareCut;
166  double theptCut;
168  double theMass;
179 
180  bool theLockHits;
196 
198 
199  // mutable TempTrajectoryContainer work_; // Better here than alloc every time
201  work_MaxSize_ = 50
202  }; // if it grows above this number, it is forced to resize to half this amount when cleared
203 };
204 
205 #endif
runTheMatrix.ret
ret
prodAgent to be discontinued
Definition: runTheMatrix.py:542
TrajectoryFilter
Definition: TrajectoryFilter.h:28
Visibility.h
BaseCkfTrajectoryBuilder
Definition: BaseCkfTrajectoryBuilder.h:53
GroupedCkfTrajectoryBuilder::theMaxCand
int theMaxCand
Definition: GroupedCkfTrajectoryBuilder.h:170
hfClusterShapes_cfi.hits
hits
Definition: hfClusterShapes_cfi.py:5
ESHandle.h
GroupedCkfTrajectoryBuilder::chiSquareCut
double chiSquareCut()
Definition: GroupedCkfTrajectoryBuilder.h:72
GroupedCkfTrajectoryBuilder::theAlwaysUseInvalid
bool theAlwaysUseInvalid
Definition: GroupedCkfTrajectoryBuilder.h:178
GroupedCkfTrajectoryBuilder::theBestHitOnly
bool theBestHitOnly
Definition: GroupedCkfTrajectoryBuilder.h:181
TempTrajectory
Definition: TempTrajectory.h:40
GroupedCkfTrajectoryBuilder::theKeepOriginalIfRebuildFails
bool theKeepOriginalIfRebuildFails
Definition: GroupedCkfTrajectoryBuilder.h:190
BaseCkfTrajectoryBuilder::theEstimator
const Chi2MeasurementEstimatorBase * theEstimator
Definition: BaseCkfTrajectoryBuilder.h:173
GroupedCkfTrajectoryBuilder::theLostHitPenalty
float theLostHitPenalty
Definition: GroupedCkfTrajectoryBuilder.h:172
oppositeToMomentum
Definition: PropagationDirection.h:4
GroupedCkfTrajectoryBuilder::maxPt2ForLooperReconstruction
float maxPt2ForLooperReconstruction
Definition: GroupedCkfTrajectoryBuilder.h:195
HLT_FULL_cff.maxDepth
maxDepth
Definition: HLT_FULL_cff.py:8669
GroupedCkfTrajectoryBuilder::~GroupedCkfTrajectoryBuilder
~GroupedCkfTrajectoryBuilder() override
destructor
Definition: GroupedCkfTrajectoryBuilder.h:28
fileCollector.seed
seed
Definition: fileCollector.py:127
Propagator
Definition: Propagator.h:44
GroupedCkfTrajectoryBuilder::theRequireSeedHitsInRebuild
bool theRequireSeedHitsInRebuild
Definition: GroupedCkfTrajectoryBuilder.h:183
TrackCandidateProducer_cfi.propagator
propagator
Definition: TrackCandidateProducer_cfi.py:17
BaseCkfTrajectoryBuilder::theUpdator
const TrajectoryStateUpdator * theUpdator
Definition: BaseCkfTrajectoryBuilder.h:170
GroupedCkfTrajectoryBuilder::theptCut
double theptCut
Definition: GroupedCkfTrajectoryBuilder.h:166
GroupedCkfTrajectoryBuilder::theMass
double theMass
Definition: GroupedCkfTrajectoryBuilder.h:168
GroupedCkfTrajectoryBuilder::theLockHits
bool theLockHits
Definition: GroupedCkfTrajectoryBuilder.h:180
b
double b
Definition: hdecay.h:118
GroupedCkfTrajectoryBuilder::lostHitPenalty
float lostHitPenalty()
Definition: GroupedCkfTrajectoryBuilder.h:78
edm::ParameterSet
Definition: ParameterSet.h:47
a
double a
Definition: hdecay.h:119
cmsutils::_bqueue_itr
Definition: bqueue.h:39
jetfilter_cfi.ptCut
ptCut
Definition: jetfilter_cfi.py:6
BaseCkfTrajectoryBuilder::setEvent_
virtual void setEvent_(const edm::Event &iEvent, const edm::EventSetup &iSetup)=0
BaseCkfTrajectoryBuilder::rebuildTrajectories
virtual void rebuildTrajectories(TempTrajectory const &startingTraj, const TrajectorySeed &seed, TrajectoryContainer &result) const
Definition: BaseCkfTrajectoryBuilder.h:83
GroupedCkfTrajectoryBuilder::maxCand
int maxCand()
Definition: GroupedCkfTrajectoryBuilder.h:75
dso_internal
#define dso_internal
Definition: Visibility.h:13
GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder
GroupedCkfTrajectoryBuilder
Definition: GroupedCkfTrajectoryBuilder_cfi.py:6
iEvent
int iEvent
Definition: GenABIO.cc:224
GroupedCkfTrajectoryBuilder::updator
const TrajectoryStateUpdator & updator() const
Definition: GroupedCkfTrajectoryBuilder.h:66
edm::EventSetup
Definition: EventSetup.h:58
PropagationDirection.h
Chi2MeasurementEstimatorBase
Definition: Chi2MeasurementEstimatorBase.h:14
TrajectoryFitter
Definition: TrajectoryFitter.h:19
GroupedCkfTrajectoryBuilder::theMinNrOfHitsForRebuild
unsigned int theMinNrOfHitsForRebuild
Definition: GroupedCkfTrajectoryBuilder.h:185
TrajectoryBuilder::trajectories
virtual TrajectoryContainer trajectories(const TrajectorySeed &) const =0
Trajectory
Definition: Trajectory.h:38
GroupedCkfTrajectoryBuilder::maxDPhiForLooperReconstruction
float maxDPhiForLooperReconstruction
Definition: GroupedCkfTrajectoryBuilder.h:197
BaseCkfTrajectoryBuilder.h
PropagationDirection
PropagationDirection
Definition: PropagationDirection.h:4
EgHLTOffHistBins_cfi.mass
mass
Definition: EgHLTOffHistBins_cfi.py:34
GroupedCkfTrajectoryBuilder::theMinNrOf2dHitsForRebuild
unsigned int theMinNrOf2dHitsForRebuild
Definition: GroupedCkfTrajectoryBuilder.h:188
GroupedCkfTrajectoryBuilder::work_MaxSize_Size_
work_MaxSize_Size_
Definition: GroupedCkfTrajectoryBuilder.h:200
TrajectorySeed
Definition: TrajectorySeed.h:18
TrajectoryBuilder::rebuildSeedingRegion
virtual void rebuildSeedingRegion(const TrajectorySeed &, TrajectoryContainer &result) const
Definition: TrajectoryBuilder.h:35
EventSetup.h
TrackingRegion
Definition: TrackingRegion.h:41
mps_fire.result
result
Definition: mps_fire.py:311
GroupedCkfTrajectoryBuilder::estimator
const Chi2MeasurementEstimatorBase & estimator() const
Definition: GroupedCkfTrajectoryBuilder.h:67
TrajectoryStateUpdator
Definition: TrajectoryStateUpdator.h:14
ParameterSet.h
GroupedCkfTrajectoryBuilder::theIntermediateCleaning
bool theIntermediateCleaning
Definition: GroupedCkfTrajectoryBuilder.h:175
edm::Event
Definition: Event.h:73
BaseCkfTrajectoryBuilder::buildTrajectories
virtual TempTrajectory buildTrajectories(const TrajectorySeed &seed, TrajectoryContainer &ret, unsigned int &nCandPerSeed, const TrajectoryFilter *) const
Definition: BaseCkfTrajectoryBuilder.h:75
GroupedCkfTrajectoryBuilder::theFoundHitBonus
float theFoundHitBonus
Definition: GroupedCkfTrajectoryBuilder.h:173
TempTrajectory.h
edm::ConsumesCollector
Definition: ConsumesCollector.h:45
alongMomentum
Definition: PropagationDirection.h:4
GroupedCkfTrajectoryBuilder
Definition: GroupedCkfTrajectoryBuilder.h:22
DeadROC_duringRun.dir
dir
Definition: DeadROC_duringRun.py:23