CMS 3D CMS Logo

FitTrack.h
Go to the documentation of this file.
1 #ifndef L1Trigger_TrackFindingTracklet_interface_FitTrack_H
2 #define L1Trigger_TrackFindingTracklet_interface_FitTrack_H
3 
9 
10 #include <vector>
11 #include <deque>
12 
13 namespace trklet {
14 
15  class Settings;
16  class Globals;
17  class Stub;
18 
19  class FitTrack : public ProcessBase {
20  public:
21  FitTrack(std::string name, Settings const& settings, Globals* global);
22 
23  ~FitTrack() override = default;
24 
25  void addOutput(MemoryBase* memory, std::string output) override;
26 
27  void addInput(MemoryBase* memory, std::string input) override;
28 
29  // used if USEHYBRID is not defined
30  void trackFitChisq(Tracklet* tracklet, std::vector<const Stub*>&, std::vector<std::pair<int, int>>&);
31 
32  // used if USEHYBRID is defined
33  // tracklet = input track cand, updated with fitted helix info.
34  // returns trackstublist = pointers to Stubs on track.
35  // returns stubidslist = (layer, unique stub index in layer).
36  void trackFitKF(Tracklet* tracklet,
37  std::vector<const Stub*>& trackstublist,
38  std::vector<std::pair<int, int>>& stubidslist);
39 
40  // used for propagating tracklet without fitting
41  void trackFitFake(Tracklet* tracklet, std::vector<const Stub*>&, std::vector<std::pair<int, int>>&);
42 
43  std::vector<Tracklet*> orderedMatches(std::vector<FullMatchMemory*>& fullmatch);
44 
45  void execute(std::deque<std::string>& streamTrackRaw,
46  std::vector<std::deque<StubStreamData>>& stubStream,
47  unsigned int iSector);
48 
49  private:
50  std::vector<TrackletParametersMemory*> seedtracklet_;
51  std::vector<FullMatchMemory*> fullmatch1_;
52  std::vector<FullMatchMemory*> fullmatch2_;
53  std::vector<FullMatchMemory*> fullmatch3_;
54  std::vector<FullMatchMemory*> fullmatch4_;
55 
56  unsigned int iSector_;
57 
59  };
60 
61 }; // namespace trklet
62 #endif
std::vector< TrackletParametersMemory * > seedtracklet_
Definition: FitTrack.h:50
void trackFitKF(Tracklet *tracklet, std::vector< const Stub *> &trackstublist, std::vector< std::pair< int, int >> &stubidslist)
void trackFitChisq(Tracklet *tracklet, std::vector< const Stub *> &, std::vector< std::pair< int, int >> &)
Definition: FitTrack.cc:141
void addOutput(MemoryBase *memory, std::string output) override
Definition: FitTrack.cc:19
static std::string const input
Definition: EdmProvDump.cc:50
TrackFitMemory * trackfit_
Definition: FitTrack.h:58
std::vector< Tracklet * > orderedMatches(std::vector< FullMatchMemory *> &fullmatch)
Definition: FitTrack.cc:817
std::vector< FullMatchMemory * > fullmatch4_
Definition: FitTrack.h:54
void addInput(MemoryBase *memory, std::string input) override
Definition: FitTrack.cc:34
unsigned int iSector_
Definition: FitTrack.h:56
~FitTrack() override=default
std::vector< FullMatchMemory * > fullmatch1_
Definition: FitTrack.h:51
std::vector< FullMatchMemory * > fullmatch2_
Definition: FitTrack.h:52
void execute(std::deque< std::string > &streamTrackRaw, std::vector< std::deque< StubStreamData >> &stubStream, unsigned int iSector)
Definition: FitTrack.cc:876
FitTrack(std::string name, Settings const &settings, Globals *global)
Definition: FitTrack.cc:16
Definition: output.py:1
void trackFitFake(Tracklet *tracklet, std::vector< const Stub *> &, std::vector< std::pair< int, int >> &)
Definition: FitTrack.cc:791
std::vector< FullMatchMemory * > fullmatch3_
Definition: FitTrack.h:53