CMS 3D CMS Logo

DTTSM.h
Go to the documentation of this file.
1 //-------------------------------------------------
2 //
10 //
11 //--------------------------------------------------
12 #ifndef MU_DT_TSM_H
13 #define MU_DT_TSM_H
14 
15 //------------------------------------
16 // Collaborating Class Declarations --
17 //------------------------------------
18 class DTTracoTrigData;
19 class DTTSCand;
20 class DTConfigTSPhi;
21 // added DBSM
22 class DTTrigGeom;
23 //----------------------
24 // Base Class Headers --
25 //----------------------
26 // added DBSM
28 
29 //---------------
30 // C++ Headers --
31 //---------------
32 #include <vector>
33 
34 // ---------------------
35 // -- Class Interface --
36 // ---------------------
37 
38 class DTTSM {
39 
40 public:
42  // SM double TSM
43  DTTSM(int);
44 
46  ~DTTSM();
47 
49  inline int number() const { return _n; }
50 
53 
55  void addCand(DTTSCand *cand);
56 
59 
61  void run(int bkmod);
62 
64  // added DBSM
65  DTTSCand *sortTSM1(int bkmod);
66 
68  DTTSCand *sortTSM2(int bkmod);
69 
71  void clear();
72 
74  inline const DTConfigTSPhi *config() const { return _config; }
75 
77  unsigned nCand(int ifs) const;
78 
80  inline int nFirstT() const { return _incand[0].size(); }
81 
83  inline int nSecondT() const { return _incand[1].size(); }
84 
86  DTTSCand *getDTTSCand(int ifs, unsigned n) const;
87 
89  const DTTracoTrigData *getTracoT(int ifs, unsigned n) const;
90 
92  inline int nTracks() const { return _outcand.size(); }
93 
95  DTTSCand *getTrack(int n) const;
96 
97 private:
99 
100  // SM double TSM
101  // identification (as for DTTSS.h)
102  int _n;
103 
104  // input data
105  std::vector<DTTSCand *> _incand[2];
106 
107  // output data
108  std::vector<DTTSCand *> _outcand;
109 
110  // internal use variables
112 };
113 #endif
std::vector< DTTSCand * > _outcand
Definition: DTTSM.h:108
void setConfig(const DTConfigTSPhi *config)
Set configuration.
Definition: DTTSM.h:52
DTTSCand * sortTSM2(int bkmod)
Sort 2.
Definition: DTTSM.cc:186
DTTSCand * getTrack(int n) const
Return the requested track.
Definition: DTTSM.cc:314
const DTConfigTSPhi * _config
Definition: DTTSM.h:98
Definition: config.py:1
void run(int bkmod)
Run the TSM algorithm.
Definition: DTTSM.cc:64
DTTSCand * getDTTSCand(int ifs, unsigned n) const
Return requested TS candidate.
Definition: DTTSM.cc:285
DTTSM(int)
Constructor.
Definition: DTTSM.cc:38
Definition: DTTSM.h:38
int nTracks() const
Return the number of sorted tracks.
Definition: DTTSM.h:92
unsigned nCand(int ifs) const
Return the number of input tracks (first/second)
Definition: DTTSM.cc:275
int nSecondT() const
Return the number of input second tracks.
Definition: DTTSM.h:83
~DTTSM()
Destructor.
Definition: DTTSM.cc:48
const DTTracoTrigData * getTracoT(int ifs, unsigned n) const
Return requested TRACO trigger.
Definition: DTTSM.cc:300
int nFirstT() const
Return the number of input first tracks.
Definition: DTTSM.h:80
int _ignoreSecondTrack
Definition: DTTSM.h:111
void ignoreSecondTrack()
Set a flag to skip sort2.
Definition: DTTSM.h:58
void clear()
Clear.
Definition: DTTSM.cc:54
std::vector< DTTSCand * > _incand[2]
Definition: DTTSM.h:105
DTTSCand * sortTSM1(int bkmod)
Sort 1.
Definition: DTTSM.cc:117
int _n
Definition: DTTSM.h:102
int number() const
Return identifier.
Definition: DTTSM.h:49
void addCand(DTTSCand *cand)
Add a TSS candidate to the TSM, ifs is first/second track flag.
Definition: DTTSM.cc:268
const DTConfigTSPhi * config() const
Configuration set.
Definition: DTTSM.h:74