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:
41 
43  // SM double TSM
44  DTTSM(int);
45 
47  ~DTTSM();
48 
50  inline int number() const { return _n; }
51 
54 
56  void addCand(DTTSCand* cand);
57 
60 
62  void run(int bkmod);
63 
65  // added DBSM
66  DTTSCand* sortTSM1(int bkmod);
67 
69  DTTSCand* sortTSM2(int bkmod);
70 
72  void clear();
73 
75  inline const DTConfigTSPhi* config() const { return _config; }
76 
78  unsigned nCand(int ifs) const;
79 
81  inline int nFirstT() const { return _incand[0].size(); }
82 
84  inline int nSecondT() const { return _incand[1].size(); }
85 
87  DTTSCand* getDTTSCand(int ifs, unsigned n) const;
88 
90  const DTTracoTrigData* getTracoT(int ifs, unsigned n) const;
91 
93  inline int nTracks() const { return _outcand.size(); }
94 
96  DTTSCand* getTrack(int n) const;
97 
98  private:
99 
101 
102 
103  // SM double TSM
104  // identification (as for DTTSS.h)
105  int _n;
106 
107  // input data
108  std::vector<DTTSCand*> _incand[2];
109 
110  // output data
111  std::vector<DTTSCand*> _outcand;
112 
113  // internal use variables
115 
116 };
117 #endif
118 
119 
120 
121 
122 
123 
124 
125 
126 
127 
128 
void setConfig(const DTConfigTSPhi *config)
Set configuration.
Definition: DTTSM.h:53
DTTSCand * sortTSM2(int bkmod)
Sort 2.
Definition: DTTSM.cc:195
DTTSCand * getTrack(int n) const
Return the requested track.
Definition: DTTSM.cc:326
const DTConfigTSPhi * _config
Definition: DTTSM.h:100
Definition: config.py:1
void run(int bkmod)
Run the TSM algorithm.
Definition: DTTSM.cc:70
DTTSCand * getDTTSCand(int ifs, unsigned n) const
Return requested TS candidate.
Definition: DTTSM.cc:295
std::vector< DTTSCand * > _incand[2]
Definition: DTTSM.h:108
DTTSM(int)
Constructor.
Definition: DTTSM.cc:38
Definition: DTTSM.h:38
int nTracks() const
Return the number of sorted tracks.
Definition: DTTSM.h:93
unsigned nCand(int ifs) const
Return the number of input tracks (first/second)
Definition: DTTSM.cc:284
int nSecondT() const
Return the number of input second tracks.
Definition: DTTSM.h:84
~DTTSM()
Destructor.
Definition: DTTSM.cc:49
const DTTracoTrigData * getTracoT(int ifs, unsigned n) const
Return requested TRACO trigger.
Definition: DTTSM.cc:311
int nFirstT() const
Return the number of input first tracks.
Definition: DTTSM.h:81
int _ignoreSecondTrack
Definition: DTTSM.h:114
void ignoreSecondTrack()
Set a flag to skip sort2.
Definition: DTTSM.h:59
void clear()
Clear.
Definition: DTTSM.cc:59
std::vector< DTTSCand * > _outcand
Definition: DTTSM.h:111
DTTSCand * sortTSM1(int bkmod)
Sort 1.
Definition: DTTSM.cc:122
int _n
Definition: DTTSM.h:105
int number() const
Return identifier.
Definition: DTTSM.h:50
void addCand(DTTSCand *cand)
Add a TSS candidate to the TSM, ifs is first/second track flag.
Definition: DTTSM.cc:276
const DTConfigTSPhi * config() const
Configuration set.
Definition: DTTSM.h:75