49 const std::vector<TCS::TOBArray *> & output,
53 return process(input,output,decision);
60 const std::vector<TCS::TOBArray *> & output,
64 if(input.size() == 1) {
72 std::vector<TCS::GenericTOB*> TOBvector;
75 tob1 != input[0]->end() && distance( input[0]->begin(), tob1) < nLeading;
84 TOBvector.push_back( *tob1 );
91 if (nmuon == 0 or nmuon == 2) decision.
setBit( 0,
false );
92 if (nmuon == 1 or nmuon > 2) decision.
setBit( 0,
true );
93 if (nmuon < 2 ) decision.
setBit( 1,
false );
94 if (nmuon > 1 ) decision.
setBit( 1,
true );
101 TCS_EXCEPTION(
"Multiplicity alg must have 1 input, but got " << input.size());
#define REGISTER_ALG_TCS(CLASS)
#define TCS_EXCEPTION(MSG)
const Parameter & parameter(const std::string ¶meterName) const
const std::string & name() const
void defineParameter(const std::string &name, TCS::parType_t value)
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)
parType_t p_NumberLeading1
Multiplicity(const std::string &name)
virtual StatusCode initialize()
virtual StatusCode process(const std::vector< TCS::TOBArray const * > &input, const std::vector< TCS::TOBArray * > &output, Decision &decison)
virtual StatusCode processBitCorrect(const std::vector< TCS::TOBArray const * > &input, const std::vector< TCS::TOBArray * > &output, Decision &decison)
const std::string process