|
|
Go to the documentation of this file.
56 for (
int itk = 0; itk <= 1; itk++) {
70 std::cout <<
"DTTSS::run: Processing DTTSS number " <<
_n <<
" : ";
81 std::cout <<
"Vector of first tracks in DTTSS: " << std::endl;
82 std::vector<DTTSCand *>::const_iterator
p;
90 if (
first !=
nullptr) {
101 std::vector<DTTSCand *>::const_iterator
p;
102 std::cout <<
"Vector of second tracks (including carry) in DTTSS: " << std::endl;
119 std::vector<DTTSCand *>::iterator
p;
121 DTTSCand *curr = (*p) ? (*p) :
nullptr;
129 if (best ==
nullptr) {
131 }
else if ((*curr) <= (*best)) {
134 }
else if (carry ==
nullptr) {
136 }
else if ((*curr) <= (*carry)) {
143 if (carry !=
nullptr) {
151 inner_or_corr = carry->
isInner();
153 if (
config()->TssGhost1Flag() < 2 && (
154 config()->TssGhost1Flag() == 0 ||
190 std::cout <<
"DTTSS::DTTSSsort2: called with no first track.";
191 std::cout <<
" empty pointer returned!" << std::endl;
203 std::vector<DTTSCand *>::iterator
p;
205 if (!(*p)->isCarry())
211 if (
config()->TssGhost2Flag() == 3) {
213 std::vector<DTTSCand *>::iterator
p;
222 std::vector<DTTSCand *>::iterator
p;
242 inner_or_corr = curr->
isInner();
262 }
else if ((*curr) <= (*
second)) {
275 int ifs = (
cand->isFirst()) ? 0 : 1;
281 if (ifs < 1 || ifs > 2) {
282 std::cout <<
"DTTSS::nTracoT: wrong track number: " << ifs;
283 std::cout <<
" 0 returned!" << std::endl;
286 return _tctrig[ifs - 1].size();
290 if (ifs < 1 || ifs > 2) {
291 std::cout <<
"DTTSS::getDTTSCand: wrong track number: " << ifs;
292 std::cout <<
" empty pointer returned!" << std::endl;
295 if (n < 1 || n >
nTracoT(ifs)) {
296 std::cout <<
"DTTSS::getDTTSCand: requested trigger not present: " <<
n;
297 std::cout <<
" empty pointer returned!" << std::endl;
300 std::vector<DTTSCand *>::const_iterator
p =
_tctrig[ifs - 1].begin() +
n - 1;
305 if (ifs < 1 || ifs > 2) {
306 std::cout <<
"DTTSS::getTracoT: wrong track number: " << ifs;
307 std::cout <<
" empty pointer returned!" << std::endl;
310 if (n < 1 || n >
nTracoT(ifs)) {
311 std::cout <<
"DTTSS::getTracoT: requested trigger not present: " <<
n;
312 std::cout <<
" empty pointer returned!" << std::endl;
320 std::cout <<
"DTTSS::getTrack: requested track not present: " <<
n;
321 std::cout <<
" empty pointer returned!" << std::endl;
324 std::vector<DTTSCand *>::const_iterator
p =
_outcand.begin() +
n - 1;
329 std::vector<DTTSCand *>::const_iterator
p;
346 std::cout <<
"DTTSS::logWord: requested track not present: " <<
n;
347 std::cout <<
" empty string returned!" << std::endl;
unsigned nTracoT(int ifs) const
Return the number of input tracks (first/second)
int nFirstT() const
Return the number of input first tracks.
int isCarry() const
Return the carry bit.
U second(std::pair< T, U > const &p)
int isInner() const
Return Inner/Outer bit.
bool TssGhost2Corr() const
Correlated ghost 2 suppression option in TSS.
DTTSCand * getCarry() const
Return the carry (for debugging)
void setSecondTrack()
Set the first track bit to second track (used for carry)
void addDTTSCand(DTTSCand *cand)
Add a TS candidate to the TSS, ifs is first/second track flag.
int isCorr() const
Return correlation bit.
unsigned dataword() const
Return an uint16 with the content of the data word (for debugging)
const DTTracoTrigData * getTracoT(int ifs, unsigned n) const
Return requested TRACO trigger.
const DTConfigTSPhi * config() const
Configuration set.
DTTSCand * getDTTSCand(int ifs, unsigned n) const
Return requested TS candidate.
int nSecondT() const
Return the number of input second tracks.
int nTracks() const
Return the number of sorted tracks.
DTTSCand * sortTSS2()
Sort 2.
void setBitsTss()
Set the quality bits for DTTSS analysis.
std::vector< DTTSCand * > _outcand
DTTSCand * sortTSS1()
Sort 1.
const DTTracoTrigData * tracoTr() const
Return associated TRACO trigger.
int TcPos() const
Retrun the TRACO position inside the TSS.
DTTSCand * getTrack(int n) const
Return the requested track.
bool TssGhost1Corr() const
Correlated ghost 1 suppression option in TSS.
void run()
Run the TSS algorithm.
int TssGhost2Flag() const
Ghost 2 suppression option in TSS.
std::string logWord(int n) const
Return the requested log word.
Abs< T >::type abs(const T &t)
std::vector< DTTSCand * > _tctrig[2]
int isFirst() const
Return the first/second track bit.