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 public:
41  // SM double TSM
42  DTTSM(int);
43 
45  ~DTTSM();
46 
48  inline int number() const { return _n; }
49 
52 
54  void addCand(DTTSCand *cand);
55 
58 
60  void run(int bkmod);
61 
63  // added DBSM
64  DTTSCand *sortTSM1(int bkmod);
65 
67  DTTSCand *sortTSM2(int bkmod);
68 
70  void clear();
71 
73  inline const DTConfigTSPhi *config() const { return _config; }
74 
76  unsigned nCand(int ifs) const;
77 
79  inline int nFirstT() const { return _incand[0].size(); }
80 
82  inline int nSecondT() const { return _incand[1].size(); }
83 
85  DTTSCand *getDTTSCand(int ifs, unsigned n) const;
86 
88  const DTTracoTrigData *getTracoT(int ifs, unsigned n) const;
89 
91  inline int nTracks() const { return _outcand.size(); }
92 
94  DTTSCand *getTrack(int n) const;
95 
96 private:
98 
99  // SM double TSM
100  // identification (as for DTTSS.h)
101  int _n;
102 
103  // input data
104  std::vector<DTTSCand *> _incand[2];
105 
106  // output data
107  std::vector<DTTSCand *> _outcand;
108 
109  // internal use variables
111 };
112 #endif
std::vector< DTTSCand * > _outcand
Definition: DTTSM.h:107
void setConfig(const DTConfigTSPhi *config)
Set configuration.
Definition: DTTSM.h:51
DTTSCand * sortTSM2(int bkmod)
Sort 2.
Definition: DTTSM.cc:179
unsigned nCand(int ifs) const
Return the number of input tracks (first/second)
Definition: DTTSM.cc:263
const DTConfigTSPhi * _config
Definition: DTTSM.h:97
int nFirstT() const
Return the number of input first tracks.
Definition: DTTSM.h:79
Definition: config.py:1
void run(int bkmod)
Run the TSM algorithm.
Definition: DTTSM.cc:64
DTTSM(int)
Constructor.
Definition: DTTSM.cc:38
Definition: DTTSM.h:38
const DTConfigTSPhi * config() const
Configuration set.
Definition: DTTSM.h:73
~DTTSM()
Destructor.
Definition: DTTSM.cc:48
int nTracks() const
Return the number of sorted tracks.
Definition: DTTSM.h:91
int _ignoreSecondTrack
Definition: DTTSM.h:110
int nSecondT() const
Return the number of input second tracks.
Definition: DTTSM.h:82
void ignoreSecondTrack()
Set a flag to skip sort2.
Definition: DTTSM.h:57
void clear()
Clear.
Definition: DTTSM.cc:54
std::vector< DTTSCand * > _incand[2]
Definition: DTTSM.h:104
DTTSCand * getDTTSCand(int ifs, unsigned n) const
Return requested TS candidate.
Definition: DTTSM.cc:273
DTTSCand * sortTSM1(int bkmod)
Sort 1.
Definition: DTTSM.cc:113
int _n
Definition: DTTSM.h:101
DTTSCand * getTrack(int n) const
Return the requested track.
Definition: DTTSM.cc:302
void addCand(DTTSCand *cand)
Add a TSS candidate to the TSM, ifs is first/second track flag.
Definition: DTTSM.cc:256
const DTTracoTrigData * getTracoT(int ifs, unsigned n) const
Return requested TRACO trigger.
Definition: DTTSM.cc:288
int number() const
Return identifier.
Definition: DTTSM.h:48