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  void trackFitKF(Tracklet* tracklet,
34  std::vector<const Stub*>& trackstublist,
35  std::vector<std::pair<int, int>>& stubidslist);
36 
37  // used for propagating tracklet without fitting
38  void trackFitFake(Tracklet* tracklet, std::vector<const Stub*>&, std::vector<std::pair<int, int>>&);
39 
40  std::vector<Tracklet*> orderedMatches(std::vector<FullMatchMemory*>& fullmatch);
41 
42  void execute(std::deque<std::string>& streamTrackRaw,
43  std::vector<std::deque<StubStreamData>>& stubStream,
44  unsigned int iSector);
45 
46  private:
47  std::vector<TrackletParametersMemory*> seedtracklet_;
48  std::vector<FullMatchMemory*> fullmatch1_;
49  std::vector<FullMatchMemory*> fullmatch2_;
50  std::vector<FullMatchMemory*> fullmatch3_;
51  std::vector<FullMatchMemory*> fullmatch4_;
52 
53  unsigned int iSector_;
54 
56  };
57 
58 }; // namespace trklet
59 #endif
std::vector< TrackletParametersMemory * > seedtracklet_
Definition: FitTrack.h:47
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:55
std::vector< Tracklet * > orderedMatches(std::vector< FullMatchMemory *> &fullmatch)
Definition: FitTrack.cc:817
std::vector< FullMatchMemory * > fullmatch4_
Definition: FitTrack.h:51
void addInput(MemoryBase *memory, std::string input) override
Definition: FitTrack.cc:34
unsigned int iSector_
Definition: FitTrack.h:53
~FitTrack() override=default
std::vector< FullMatchMemory * > fullmatch1_
Definition: FitTrack.h:48
std::vector< FullMatchMemory * > fullmatch2_
Definition: FitTrack.h:49
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:50