25#define LOG std::cout << "TCS::DisambiguationDetaDPhiIncl3: "
117 const std::vector<TCS::TOBArray *> & output,
122 if( input.size() == 3) {
126 tob1 != input[0]->end() && distance(input[0]->begin(), tob1) <
p_NumberLeading1;
135 tob2 != input[1]->end() && distance(input[1]->begin(), tob2) <
p_NumberLeading2;
151 tob3 != input[2]->end() ;
165 TRG_MSG_DEBUG(
"Decision " << i <<
": " << (accept?
"pass":
"fail") <<
" deltaR13 = " << deltaR13 <<
" deltaR23 = " << deltaR23);
174 output[i]->setAmbiguityFlag(hasAmbiguousInputs);
177 TCS_EXCEPTION(
"DisambiguationDetaDPhiIncl3 alg must have 3 inputs, but got " << input.size());
185 const std::vector<TCS::TOBArray *> & output,
190 if( input.size() == 3) {
194 tob1 != input[0]->end() && distance(input[0]->begin(), tob1) <
p_NumberLeading1;
203 tob2 != input[1]->end() && distance(input[1]->begin(), tob2) <
p_NumberLeading2;
219 tob3 != input[2]->end() ;
224 unsigned int deltaR13 =
calcDeltaR2( *tob1, *tob3 );
225 unsigned int deltaR23 =
calcDeltaR2( *tob2, *tob3 );
233 TRG_MSG_DEBUG(
"Decision " << i <<
": " << (accept?
"pass":
"fail") <<
" deltaR13 = " << deltaR13 <<
" deltaR23 = " << deltaR23);
239 TCS_EXCEPTION(
"DisambiguationDetaDPhiIncl3 alg must have 3 inputs, but got " << input.size());
#define REGISTER_ALG_TCS(CLASS)
Scalar deltaPhi(const MatrixBase< Derived > &vec) const
#define TCS_EXCEPTION(MSG)
const Parameter & parameter(const std::string ¶meterName) const
const std::string & name() const
unsigned int calcDeltaR2BW(const TCS::GenericTOB *tob1, const TCS::GenericTOB *tob2)
unsigned int calcDeltaPhiBW(const TCS::GenericTOB *tob1, const TCS::GenericTOB *tob2)
unsigned int calcDeltaEta(const TCS::GenericTOB *tob1, const TCS::GenericTOB *tob2)
unsigned int calcDeltaEtaBW(const TCS::GenericTOB *tob1, const TCS::GenericTOB *tob2)
void defineParameter(const std::string &name, TCS::parType_t value)
unsigned int calcDeltaR2(const TCS::GenericTOB *tob1, const TCS::GenericTOB *tob2)
unsigned int calcDeltaPhi(const TCS::GenericTOB *tob1, const TCS::GenericTOB *tob2)
data_t::const_iterator const_iterator
void setNumberOutputBits(unsigned int numberOutputBits)
DecisionAlg(const std::string &name)
unsigned int numberOutputBits() const
void setBit(unsigned int index, bool value)
virtual ~DisambiguationDetaDPhiIncl3()
virtual StatusCode initialize()
virtual StatusCode processBitCorrect(const std::vector< TCS::TOBArray const * > &input, const std::vector< TCS::TOBArray * > &output, Decision &decison)
parType_t p_NumberLeading1
DisambiguationDetaDPhiIncl3(const std::string &name)
parType_t p_NumberLeading2
parType_t p_NumberLeading3
virtual StatusCode process(const std::vector< TCS::TOBArray const * > &input, const std::vector< TCS::TOBArray * > &output, Decision &decison)
bool isAmbiguousTruncation(TCS::TOBArray const *tobs, size_t pos, unsigned minEt=0)