|
|
Go to the documentation of this file.
56 for (
int itk = 0; itk <= 1; itk++) {
66 std::cout <<
"DTTSM::run: Processing DTTSM: ";
78 std::cout <<
"Vector of first tracks in DTTSM: " << std::endl;
79 std::vector<DTTSCand *>::const_iterator
p;
87 if (
first !=
nullptr) {
99 std::vector<DTTSCand *>::const_iterator
p;
100 std::cout <<
"Vector of second tracks (including carry) in DTTSM: " << std::endl;
117 std::vector<DTTSCand *>::iterator
p;
124 }
else if (bkmod == 0) {
127 std::cout <<
"DTTSM::sortTSM1: bkmod not properly assigned!" << std::endl;
130 if (best ==
nullptr) {
132 }
else if ((*curr) < (*best)) {
135 }
else if (carry ==
nullptr) {
137 }
else if ((*curr) < (*carry)) {
143 if (carry !=
nullptr) {
147 if (
config()->TsmGhost1Corr()) {
150 inner_or_corr = carry->
isInner();
153 if (
config()->TsmGhost1Flag() < 2) {
181 if (
config()->TsmGhost2Flag() == 3)
186 std::cout <<
"DTTSM::sortTSM2: called with no first track.";
187 std::cout <<
" empty pointer returned!" << std::endl;
194 std::vector<DTTSCand *>::iterator
p;
205 std::vector<DTTSCand *>::iterator
p;
215 inner_or_corr = curr->
isInner();
218 if (
config()->TsmGhost2Flag() != 0) {
238 }
else if (bkmod == 0) {
241 std::cout <<
" DTTSM::sortTSM2 bkmod not properly assigned!" << std::endl;
249 }
else if ((*curr) < (*
second)) {
264 if (ifs < 1 || ifs > 2) {
265 std::cout <<
"DTTSM::nCand: wrong track number: " << ifs;
266 std::cout <<
" 0 returned!" << std::endl;
270 return _incand[ifs - 1].size();
274 if (ifs < 1 || ifs > 2) {
275 std::cout <<
"DTTSM::getDTTSCand: wrong track number: " << ifs;
276 std::cout <<
" empty pointer returned!" << std::endl;
279 if (n < 1 || n >
nCand(ifs)) {
280 std::cout <<
"DTTSM::getDTTSCand: requested trigger not present: " <<
n;
281 std::cout <<
" empty pointer returned!" << std::endl;
284 std::vector<DTTSCand *>::const_iterator
p =
_incand[ifs - 1].begin() +
n - 1;
289 if (ifs < 1 || ifs > 2) {
290 std::cout <<
"DTTSM::getTracoT: wrong track number: " << ifs;
291 std::cout <<
" empty pointer returned!" << std::endl;
294 if (n < 1 || n >
nCand(ifs)) {
295 std::cout <<
"DTTSM::getTracoT: requested trigger not present: " <<
n;
296 std::cout <<
" empty pointer returned!" << std::endl;
304 std::cout <<
"DTTSM::getTrack: requested track not present: " <<
n;
305 std::cout <<
" empty pointer returned!" << std::endl;
308 std::vector<DTTSCand *>::const_iterator
p =
_outcand.begin() +
n - 1;
int TsmGhost2Flag() const
Ghost 2 suppression option in TSM.
int TsmGhost1Flag() const
Ghost 1 suppression option in TSM.
int tssNumber() const
Return the DTTSS number.
U second(std::pair< T, U > const &p)
int isInner() const
Return Inner/Outer bit.
int nFirstT() const
Return the number of input first tracks.
unsigned nCand(int ifs) const
Return the number of input tracks (first/second)
void run(int bkmod)
Run the TSM algorithm.
void setSecondTrack()
Set the first track bit to second track (used for carry)
int isCorr() const
Return correlation bit.
void setBitsBkmod()
Set the bits for TSM back-up mode.
static const int NTSSTSM
Constant: maximum number of TSS in input to the TSM.
int nTracks() const
Return the number of sorted tracks.
const DTConfigTSPhi * config() const
Configuration set.
int nSecondT() const
Return the number of input second tracks.
static const int NTCTSS
Constant: number of TRACOs in input to a TSS.
void setBitsTss()
Set the quality bits for DTTSS analysis.
DTTSCand * getDTTSCand(int ifs, unsigned n) const
Return requested TS candidate.
const DTTracoTrigData * tracoTr() const
Return associated TRACO trigger.
DTTSCand * getTrack(int n) const
Return the requested track.
std::vector< DTTSCand * > _incand[2]
int TcPos() const
Retrun the TRACO position inside the TSS.
void addCand(DTTSCand *cand)
Add a TSS candidate to the TSM, ifs is first/second track flag.
bool TsmGhost2Corr() const
Correlated ghost 2 suppression option in TSM.
Abs< T >::type abs(const T &t)
DTTSCand * sortTSM2(int bkmod)
Sort 2.
std::vector< DTTSCand * > _outcand
const DTTracoTrigData * getTracoT(int ifs, unsigned n) const
Return requested TRACO trigger.
DTTSCand * sortTSM1(int bkmod)
Sort 1.